Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Paint Parser - Kleines Zeichenprogramm mit Scriptsprache (https://www.delphipraxis.net/82887-paint-parser-kleines-zeichenprogramm-mit-scriptsprache.html)

Tormentor32 21. Dez 2006 13:07


Paint Parser - Kleines Zeichenprogramm mit Scriptsprache
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Leute

Ich habe ein Programm geschrieben, welches sich mit dem Prinzip der Turtle-Grafik befasst, dazu habe ich eine kleine Scriptsprache mit 7 Befehlen entwickelt

Anleitung:

Jede Zeile entspricht einem Befehl, Zeilen, die mit keiner der Folgenden Anweisungen beginnen werden ignoriert,
Leerzeilen werden ignoriert. Groß- und Kleinschreibung wird ignoriert.
Es werden immer nur die ersten beiden Worte einer Zeile interpretiert, das heißt

Code:
<Befehl> <Wert>
bedeutet das Gleiche wie
Code:
<Befehl> <Wert> Irgendwas
Die Anzahl der Leerzeichen ist ebenfalls unbedeutend:
Code:
<Befehl> <Wert>
bedeutet das Gleiche wie
Code:
     <Befehl>         <Wert>    Irgendwas
Die Befehle:

Code:
maydraw true
maydraw false
Sagt, ob der Stift auf der Zeichenfäche ist oder nicht, es sind nur die Werte 'true' und 'false' erlaubt
Code:
reset true
reset
Setzt den Stift zurück auf die Mitte des Bildes und richtet ihn wieder nach oben aus, wird der Parameter 'true' übergeben, dann wird außerdem die Zeichenfläche gelöscht, alle anderen Parameter, sowie keiner, bewirken nur das zurücksetzen des Stifts.
Code:
go 50
goback 50
Bewegt den Stift um 50 Pixel nach vorne, bzw um 50 Pixel nach hinten, es sind alle Gleitkommawerte erlaubt, aber es muss ein Wert angegeben werden. ("go -50" = "goback 50")
Code:
rotateL 45
rotateR 45
Dreht die Zeichenrichtung um 45° nach links, bzw nach rechts, es sind alle ganzzahligen Werte erlaubt, aber es muss ein Wert angegeben werden. ("rotatel 45" = "rotateR -45")
Code:
draw
Zeichnet das alles was gezeichnet wurde auf das Bild, es werden keine Parameter benötigt

Was noch fehlt:

Eine art Schleifenanweisung, mit der man das untere Beispiel besser machen kann.

Beispiel:

Code:
reset true
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
draw
Erzeugt ein gleichseitiges Achteck mit der Seitenlänge 20.

Ich würde mich über Kritik, Verbesserungsvorschläge, Bug-Reports freuen...

Bis dahin

Richard


Neue Version!

3 Neue Befehle hinzugefügt

Code:
color
oder
Code:
color r
ändert die Farbe in einen Zufallswert ('color r' verwenden, wenn noch ein Kommentar in der Zeile steht, da sonst das erste Wort des Kommentars als Wert interpretiert wird)
Code:
color 255,0,0
ändert die Farbe in den den RGB-Wert "255 0 0", also rot. Es dürfen keine Leerzeichen zwischen den Werten sein.

Code:
neck
zeichnet ein N-Eck mit den Parametern in den Spin-Edits

Code:
ybaum
zeichnet den Y-Baum mit den Parametern in den Spin-Edits

Das Speichern und Laden von Scripten, sowie das Speichern des Bildes ist jetzt möglich!

Tormentor32 4. Jan 2007 06:27

Re: Paint Parser - Kleines Zeichenprogramm mit Scriptsprache
 
Also den vielen Antworten nach zu schließen :pale: ist mein Programm entweder perfekt oder völlig uninteressant :?:

uwewo 4. Jan 2007 06:34

Re: Paint Parser - Kleines Zeichenprogramm mit Scriptsprache
 
Hallo Richard,

ganz so krass würde ich das jetzt nicht sehen, aber anscheinend besteht derzeit kein Bedarf daran.

Nur so als Tipp, hast Du Dir schon einmal Gedanken darüber gemacht CNC Daten auf diese Art zu visualisieren?

Uwe

Tormentor32 4. Jan 2007 06:43

Re: Paint Parser - Kleines Zeichenprogramm mit Scriptsprache
 
Hi Uwe

Wie meinst du das jetzt? Praktisch den "Fräs-Plan" für eine CNC-Fräse? Als Vektorgrafik? Oder das man dem Programm sagen kann "So jetzt bitte eine Linie von A nach B mit derundder Dicke und derundder Tiefe"?

Gruß

uwewo 4. Jan 2007 06:58

Re: Paint Parser - Kleines Zeichenprogramm mit Scriptsprache
 
Hi,

ein CNC Programm enthält in jeder Zeile x,y Koordinaten usw.
Interessant wäre es doch ein solches Programm von einem Parser abarbeiten zu lassen, und dies Grafisch darzustellen. Somit könnte man Kollisionen an der Maschine vermeiden, oder wenn Du noch eine Bemaßung in der Zeichnung einfügst sehen ob das Programm zum gewünschten Ergebnis kommt.

Hatte mal eine Zeit beruflich damit zu tun, deshalb fiel mir diese Idee jetzt spontan ein.

Achtung die Umsetzung ist nicht ganz so einfach.

Hier mal ein Link zur Veranschaulichung von CNC Programmen.

Uwe

Tormentor32 4. Jan 2007 07:22

Re: Paint Parser - Kleines Zeichenprogramm mit Scriptsprache
 
*pfeif*
Huiuiui das ist aber schon recht kompliziert... Ich werde erstmal ein kleines Physik-Bauplan-Tool schreiben, das dürfte auch schon recht kompliziert werden mit verzweigten Stromkreisen etc...
Danke für die Anregung, ich werde (viel?) später darauf zurückkommen...

Gruß

PS: Ist mein Programm denn Bugfrei?

uwewo 4. Jan 2007 08:53

Re: Paint Parser - Kleines Zeichenprogramm mit Scriptsprache
 
Habe es nur überflogen, will Dich aber nicht im Regen stehen lassen :wink:

So hier einige Verbesserungsvorschläge:

1. Man kann mehrer Kommas in die Edit Felder eingeben z.Bsp: 10,2,3,4
2. Benutze vielleicht ein SynEdit Memo für Syntax Highlight, Bessere Erkennung wenn man einen Befehl falsch schreibt.
3. Erstelle eine ComboBox in der alle Befehle enthalten sind, ein Editfeld für Zahleneingaben und ein Button zum übernehmen der Werte. Oder erstelle Schaltflächen für jeden Befehl.

Damit kann man sich Tipparbeit sparen!

4. Damit erhalte ich eine Zugriffsverletzung (Also Bug)
reset true
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20


Denke das reicht vorerst :lol:

Uwe

toms 4. Jan 2007 09:26

Re: Paint Parser - Kleines Zeichenprogramm mit Scriptsprache
 
wie wär's mit einem Befehl color?

z.B: Color red

Tormentor32 4. Jan 2007 10:50

Re: Paint Parser - Kleines Zeichenprogramm mit Scriptsprache
 
Zitat:

Zitat von uwewo
Habe es nur überflogen, will Dich aber nicht im Regen stehen lassen :wink:

4. Damit erhalte ich eine Zugriffsverletzung (Also Bug)
reset true
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20


Uwe

also bei mir klappt das... er zeigts nicht an weil da kein draw steht, aber ich bekomme keine Zugriffsverletzung. :|

Zitat:

Zitat von toms
wie wär's mit einem Befehl color?

z.B: Color red

läuft :-D

Neu Version kommt gleich...

[edit]Neu Version on...
@uwewo: Schau mal, ob du die Zugriffsverletzung immer noch kriegst
@toms: Befehl Color ist drin, siehe erstes Posting
[/edit]

toms 4. Jan 2007 15:14

Re: Paint Parser - Kleines Zeichenprogramm mit Scriptsprache
 
Neuer Vorschlag: Scripte laden und speichern


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:59 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz