Die Suche ergab 238 Treffer

von bbock
19.01.2022, 17:57
Forum: Programmierung
Thema: Vektorgrafik für die Joyce
Antworten: 61
Zugriffe: 237722

TinySVG v0.27

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.

TinySVG_v0.27.zip
TinySVG v0.27
(140.55 KiB) 1821-mal heruntergeladen
kingtut.zip
Tutanchamun
(51.37 KiB) 1866-mal heruntergeladen
von bbock
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
VECREAD31_src.zip
VECREAD3 v3.1 Source
(2.31 KiB) 1818-mal heruntergeladen
VECREAD31_com.zip
VECREAD3 v3.1 ausführbare COM-Datei
(10.77 KiB) 1817-mal heruntergeladen
von bbock
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... :lol:
TinySVG_0.26.jar.zip
TinySVG v0.26
(140.23 KiB) 1721-mal heruntergeladen
von bbock
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
FORMS24.zip
Die Include-Dateien von FORMS v2.4 und das Testprogramm test3
(7.83 KiB) 1887-mal heruntergeladen
FORMS24_Doku.zip
Dokumentation zu FORMS v2.4
(118.17 KiB) 1882-mal heruntergeladen
von bbock
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" ?
von bbock
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. :)

FORMS23.zip
Die Include-Dateien von FORMS v2.3
(6.73 KiB) 1888-mal heruntergeladen
FORMS23_Doku.zip
Dokumentation zu FORMS v2.3
(116.14 KiB) 2021-mal heruntergeladen
von bbock
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.

FORMS22.zip
Die Includedateien von FORMS v2.2
(6.01 KiB) 1902-mal heruntergeladen
FORMS22_Doku.zip
Dokumentation zu FORMS v2.2
(108.22 KiB) 1818-mal heruntergeladen
von bbock
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
  1. die Include-Dateien einbinden
  2. das Formular per InitFormElements-Prozedur definieren
  3. InitForm und ProcessForm aufrufen
  4. die Benutzereingaben auslesen und ggf. konvertieren
Näheres - u.a. ein Beispielprogramm - ist der Dokumentation zu entnehmen.

FORM21.zip
Die Include-Dateien
(5.94 KiB) 1972-mal heruntergeladen
FORMS2_Doku.zip
Dokumentation als PDF-Datei
(106.07 KiB) 1970-mal heruntergeladen

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
von bbock
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.

APFELM20_src.zip
Quellcode von V2.0
(10.41 KiB) 1887-mal heruntergeladen
APFELM20_com.zip
Ausführbares COM-Programm V2.0
(10.37 KiB) 1847-mal heruntergeladen
von bbock
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:
  • 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.
Als Dezimalzeichen ist das Komma einzugeben.

x: 0,435396403 bis 0,451687191<br />y: 0,367981352 0,380210061<br />max. It.: 150
x: 0,435396403 bis 0,451687191
y: 0,367981352 0,380210061
max. It.: 150
apfelm_2.png (134.38 KiB) 38917 mal betrachtet
APFELM10_com.zip
Ausführbares COM-Programm V1.0
(9.02 KiB) 1951-mal heruntergeladen
Standard-Apfelmännchen
Standard-Apfelmännchen
apfelm_1.png (58.53 KiB) 38917 mal betrachtet
APFELM10_src.zip
Quellcode von V1.0
(6.14 KiB) 1981-mal heruntergeladen