In SVG-Pfaden werden horizontale und vertikale Linien mit H/V oder h/v kodiert. Normalerweise folgt ein einzelner Parameter, der den Endpunkt festlegt: die X-Koordinate bei horizontalen Linien bzw. die Y-Koordinate bei vertikalen Linien. Die Spezifikation erlaubt aber auch mehrere Koordinaten anzugeben, was eigentlich keinen Sinn macht, denn man kann mehrere aneinandergrenzende horizontale Linien auch durch eine einzige horizontale Linie darstellen - man gibt einfach gleich den letzten Endpunkt an. Entsprechendes gilt für vertikale Linien.
Trotzdem gibt es SVG-Dateien, in denen so ein Unsinn enthalten ist, und die haben die bisherigen TinySVG-Versionen nicht korrekt dargestellt. Version 0.27 behebt das.
Die Beispielgrafik zum Ausprobieren zeigt die Maske des wohl bekanntesten Pharaos: Tutanchamun.
Die Suche ergab 238 Treffer
- 19.01.2022, 17:57
- Forum: Programmierung
- Thema: Vektorgrafik für die Joyce
- Antworten: 61
- Zugriffe: 237722
- 15.01.2022, 17:51
- Forum: Programmierung
- Thema: Vektorgrafik für die Joyce
- Antworten: 61
- Zugriffe: 237722
VECREAD v3.1
Die Version 3.1 des Vektorgrafik-Anzeigeprogramms umfasst folgende Änderungen gegenüber der Vorversion 3.0:
- Die Pause zwischen Bildern im Diashow-Modus beträgt standardmäßig 4 Sekunden.
- Es können jetzt bis zu 100 Dateien in der Diashow angezeigt werden (wenn man so viele auf die Diskette bekommt); vorher waren es 40.
- Über die Kommandozeile kann die Pause verändert werden. Wenn man z.B. eine Pause von 10 Sekunden haben möchte, dann ruft man das Programm folgendermaßen auf: vecread3 d 10
- 15.01.2022, 10:39
- Forum: Programmierung
- Thema: Vektorgrafik für die Joyce
- Antworten: 61
- Zugriffe: 237722
TinySVG v0.26
Es hat lange gedauert, bis die Änderungen glattgezogen waren, aber jetzt ist die Version 0.26 fertig. Folgende Neuerungen sind enthalten:
- Der größte Brocken war die Bestimmung der min./max. Koordinaten um eine bessere Abschätzung der benötigten Liniensegmente für Kurven und Bögen zu erreichen. Die sehen jetzt viel besser aus.
- VE2-Konfigurationseinstellungen werden jetzt korrekt gespeichert.
- Die Voreinstellung "Schneider Joyce" verwendet jetzt standardmäßig das neuere (und effizientere) VE2-Format statt VEC.
- In der Konfiguration gibt es jetzt unter "Ausgabedateien" eine Schaltfläche "Profil", in dem angegeben werden kann, welche Grafikobjekte erzeugt werden sollen. Sie ersetzt die VE2-Details, die nur auf VE2-Dateien beschränkt war. Standardmäßig sind alle Grafikobjekte ausgewählt, und meist wird man das wohl auch so belassen; es ist wohl eher eine "Experten-Einstellung".
- Ein paar weitere Bugfixes, die mir gerade nicht einfallen...
- 31.12.2021, 20:54
- Forum: Programmierung
- Thema: Formulareingabe mit Turbo Pascal
- Antworten: 7
- Zugriffe: 57418
Re: Formulareingabe mit Turbo Pascal
Danke für die Unterstützung, Paul. Ich habe daraufhin den Code noch etwas erweitert:
- Wenn Felder bereits einen Text enthalten, d.h. wenn sie vorbelegt sind, dann wird der Text beim Aufruf von ProcessForm auch angezeigt.
- Der Cursor steht jetzt bei Feldern, die bereits Text enthalten, hinter dem Text. Das fand ich so natürlicher.
- Für die einfache Vorbelegung von Feldern gibt es jetzt eine Prozedur: SetFieldText
- 28.12.2021, 19:13
- Forum: Programmierung
- Thema: Formulareingabe mit Turbo Pascal
- Antworten: 7
- Zugriffe: 57418
Re: Formulareingabe mit Turbo Pascal
Hallo Paul,
danke für den Hinweis bzgl. der vorbelegten Daten; das sehe ich mir mal in Ruhe an. Was mir direkt aufgefallen ist:
Bei for j := ord(txt^) to fieldLength do Write('_'); kann ord(txt^) auch 0 sein (das ist es standardmäßig auch zu Beginn bei leeren Feldern). Fehlt da evtl. ein "+ 1" ?
danke für den Hinweis bzgl. der vorbelegten Daten; das sehe ich mir mal in Ruhe an. Was mir direkt aufgefallen ist:
Bei for j := ord(txt^) to fieldLength do Write('_'); kann ord(txt^) auch 0 sein (das ist es standardmäßig auch zu Beginn bei leeren Feldern). Fehlt da evtl. ein "+ 1" ?
- 27.12.2021, 19:31
- Forum: Programmierung
- Thema: Formulareingabe mit Turbo Pascal
- Antworten: 7
- Zugriffe: 57418
Re: Formulareingabe mit Turbo Pascal
Version 2.3 unterstützt Pflichtfelder, Buttons werden nach Funktion unterschieden (Ok, Cancel, Other), es gibt weitere Hilfsfunktionen, darunter eine Funktion zur Prüfung, ob das Formular mit einem Cancel Button abgebrochen wurde.
Die Bedienung der Eingabefelder wurde um eine Taste erweitert: ein Druck auf CAN (bzw. Bild^ im Emulator CP/M Box) leert das aktuelle Feld komplett.
Der Funktionsumfang ist für meine Wünsche nun komplett. Nützliche Ergänzungen wären vielleicht noch Auswahl- und Optionsfelder - mal sehen, wann ich Zeit dafür habe.
Die Bedienung der Eingabefelder wurde um eine Taste erweitert: ein Druck auf CAN (bzw. Bild^ im Emulator CP/M Box) leert das aktuelle Feld komplett.
Der Funktionsumfang ist für meine Wünsche nun komplett. Nützliche Ergänzungen wären vielleicht noch Auswahl- und Optionsfelder - mal sehen, wann ich Zeit dafür habe.

- 25.12.2021, 14:41
- Forum: Programmierung
- Thema: Formulareingabe mit Turbo Pascal
- Antworten: 7
- Zugriffe: 57418
Re: Formulareingabe mit Turbo Pascal
Version 2.2 unterstützt auch Laufwerksangaben im Dateinamen (Feldtyp FTFileName); die Datumseingabe wurde ebenfalls etwas verbessert: man kann jetzt nicht mehr den 43.12.2021 eingeben.
Die wichtigste Neuerung ist aber die Änderung im Aufruf von InitFormElements und InitForm: die beiden Prozeduren haben jetzt einen Formulaindex-Parameter, wodurch in einem Programm mehrere Formulare verwendet werden können. Das Beispielprogramm test3 in der Dokumentation wurde entsprechend erweitert, um die neue Funktion zu demonstrieren.

Die wichtigste Neuerung ist aber die Änderung im Aufruf von InitFormElements und InitForm: die beiden Prozeduren haben jetzt einen Formulaindex-Parameter, wodurch in einem Programm mehrere Formulare verwendet werden können. Das Beispielprogramm test3 in der Dokumentation wurde entsprechend erweitert, um die neue Funktion zu demonstrieren.
- 23.12.2021, 16:09
- Forum: Programmierung
- Thema: Formulareingabe mit Turbo Pascal
- Antworten: 7
- Zugriffe: 57418
Formulareingabe mit Turbo Pascal
Für eine komfortable Eingabe sind die Standardprozeduren von Turbo Pascal zu rudimentär. Ich habe mir die Mühe gemacht, eine Formular-Erweiterung zu schreiben, die ohne viel Aufwand per Include-Dateien in eigene Programme eingebunden werden kann. Eine Herausforderung war dabei, das Ganze möglichst als "black box" zu realisieren, obwohl Pascal keine gute Unterstützung für Modularisierung bietet.
Um Formulare zu verwenden, muss man nur
Es stehen bereits weitere Ergänzungen auf der TODO-Liste:
Um Formulare zu verwenden, muss man nur
- die Include-Dateien einbinden
- das Formular per InitFormElements-Prozedur definieren
- InitForm und ProcessForm aufrufen
- die Benutzereingaben auslesen und ggf. konvertieren
Es stehen bereits weitere Ergänzungen auf der TODO-Liste:
- Dateinameneingabe mit Laufwerksbuchstaben (bisher geht z.B. nur HELLO.TXT, aber nicht B:HELLO.TXT)
- Unterstützung der ESC-Taste um Änderungen in einem Feld zu verwerfen
- Pflichtfelder
- 22.12.2021, 20:00
- Forum: Programmierung
- Thema: Wann habt ihr zuletzt ein Apfelmännchen programmiert?
- Antworten: 21
- Zugriffe: 171922
Re: Wann habt ihr zuletzt ein Apfelmännchen programmiert?
Version 2.0 vereinfacht die Eingabe benutzerdefinierter Ausschnitte durch den Einsatz eines neu entwickelten Formular-Moduls. Man kann nun zwischen den Eingabefeldern hin- und herwechseln und es werden nur zulässige Tastendrücke akzeptiert. Zur Bestätigung drückt man Return, wenn der Cursor sich auf der OK-Schaltfläche befindet, zum Stornieren drückt man Return auf der Abbrechen-Schaltfläche. Details zum neuen Formular-Modul kommen demnächst hier im "Programmierung"-Forum.
- 13.11.2021, 15:33
- Forum: Programmierung
- Thema: Wann habt ihr zuletzt ein Apfelmännchen programmiert?
- Antworten: 21
- Zugriffe: 171922
Apfelmännchen mit TurboPascal
Das Berechnen von Apfelmännchen-Grafiken benötigt auf 8-Bit-Rechnern viel Zeit und Geduld. So kann es nicht schaden, wenn man eine Compiler-Programmiersprache verwendet, mit der man schneller zum Ziel kommt als mit einem BASIC-Interpreter. Daher habe ich ein Apfelmännchen-Programm in TurboPascal entwickelt.
APFELM10 ist die Version 1.0 des Programms; es bietet folgende Features:
APFELM10 ist die Version 1.0 des Programms; es bietet folgende Features:
- Zeichnen des Standard-Apfelmännchens (x: -2.05 bis 0.75, y: -0.9625 bis 0.9625) mit geschwindigkeitsoptimierter Iteration.
- Zeichnen eines benutzerdefinierten Ausschnitts. Hierbei werden die x- und y-Bereiche und die maximale Iterationstiefe angegeben.
- Umschalten zwischen normalem und Vorschau-Modus. Im Vorschau-Modus sind die Punkte 4x4 Pixel groß, d.h. das Bild hat eine wesentlich niedrigere Auflösung, wird dafür aber auch wesentlich schneller berechnet.