Das ASL-Requester ist eine wichtige Komponente bei der GUI-Entwicklung. Man kommt oft an den Punkt, wo es einfach notwendig ist, Pfade oder Dateien auszuwählen. Zum laden, speichern, oder was auch immer. Dafür sind diese Requester da und wie es funktioniert zeige ich in diesem Video.
Das benötigte Material findet ihr wie immer unter https://amiga.projekt-hirnfrei.de
Menüs sind bekanntlich ein wichtiges Element bei der Entwicklung von Programmen. Deshalb zeige ich in diesem Video, wie man Menüs erstellt und die dann auch noch funktionsfähig macht.
Das benötigte Material findet ihr wie immer unter https://amiga.projekt-hirnfrei.de
Das heisst, wir müssen jetzt nichts weiter machen, als den Heimweg anzutreten. Tja. Nichts weiter ist gut. Denn irgendwie scheint Tag der #Leedsichthys zu sein! Überall liegen die dämlichen Viehcher rum, aber seht selbst.
Bei der Version 0.3 lief nicht alles nach Plan. Das erste Menü war zwar schnell eingebaut, aber danach war irgendwie der Wurm drin.
Erstes starten von phED, läuft. Beim nächsten Mal dann ein Absturz, der auch gleich das ganze Gerät abgeschossen hat. Prima! Nur, wo liegt der Fehler?
Bedingt durch Zeitmangel musste ich dann das erste Video unverrichteter Dinge beenden. Eine Woche musste vergehen und siehe da, einfach einmal mit dem Debugger drüber, der in StormC echt super funktioniert und schon findet man den Fehler. Wenn man ein Objekt anlegt, dann sollte man das am Ende auch schliessen! Schliesslich sind wir anständige Programmierer und denken daran, dass das AmigaOS keinen Speicherschutz hat, welcher uns das Leben hätte erleichtern können. Das hat aber dann wieder den Vorteil, kein Speicherschutz, dann muss man sich um solche Fehler auch kümmern!
Gut. Weiter also mit den Menüs und da wir zwischenzeitlich auch die ASL-Requester behandelt haben, können wir die auch gleich mit einbauen und siehe da, am Ende sieht die Sache so aus:
Erledigt in Version 0.3
Fehler aus Video 0.3-1 behoben
Menü “Projekt” hinzugefügt
ASL Requester implementiert
Funktion zu Menüpunkt “Neu” implementiert
Funktion zu Menüpunkt “Laden …” implementiert
Funktion zu Menüpunkt “Speichern” implementiert
Funktion zu Menüpunkt “Speichern als …” implementiert
Funktion zu Menüpunkt “Beenden” implementiert
Planung für Version 0.4
Titel dem Dateinamen anpasst
Bei Änderung “*” hinter den Dateinamen
Menüpunkt für Zeilennummer einfügen
Wer das Projekt clonen will der schaut einfach auf dem Git-Server vorbei.
Glaubt man das? Zweiter #Argentaivs erfolgreich gezähmt? Damit heisst es eigentlich nur noch zweite #Kryokapsel bauen und dann machen wir uns schon auf den Heimweg!
Mit Version 0.2 haben wir wieder ein paar Fortschritte erzielt. So haben wir zum Beispiel beim laden und speichern jetzt dafür gesorgt, dass die Variablen korrekt terminiert werden. Darüber hinaus, haben wir auch Variablen raus geworfen, die wir nicht gebraucht haben und noch ein paar Kleinigkeiten. Der Optimierung/Verbesserung, wie sie für 0.2 angestrebt war, haben wir damit also Rechnung getragen.
Als Ziel bleibt Optimierung/Verbesserung, oder kurz Fehlerkorrektur, bestehen. Es gibt immer etwas zu verbessern, oder Fehler auszumerzen, die sich erst zeigen werden.
Grosser Punkt war natürlich das Requester am Ende. Entdeckt phED beim beenden, dass der Text verändert wurde, bekommt man dies nun gemeldet, inklusive von drei Auswahlmöglichkeiten. Man kann speichern, nicht speichern, oder den Vorgang abbrechen. Das haben wir getestet und es funktioniert soweit tadellos.
Dann noch der Dateiname im Titel. Wenn wir also phED mit einem Parameter starten und damit eine Datei zum editieren öffnen, wird der Dateiname nun im Titel angezeigt. Startet man phED leer, steht banal nur phED da.
Einzig das markieren im Titel hinter dem Dateinamen mittels eines * bei verändertem Text hat nicht mehr geklappt. Ich habe es zwar schon eingebaut, aber es funktioniert nicht. Da muss ich mich noch genauer schlau machen.
Wer es sich anschauen, oder damit rum spielen will, ihr findet das Projekt auf meinem Git-Server.
Wie geht es weiter?
Für Version 0.3 stecke ich folgende Ziele:
Optimieren, verbessern, Fehlerkorrektur (insofern etwas auffällt)
Anzeige eines Stern hinter dem Dateinamen, wenn der Text verändert wurde
Einführen von Menüs. Laden, speichern, speichern unter, beenden sowie Über
Wobei das vielleicht ein bisschen übertrieben ist. Ich wurde einfach um etwas gebeten und bin, wie ich es in den Videos ja immer wieder erwähne, mit Freunden darauf eingegangen. Ein Button mit Bild, anstatt Text, sollte es werden. Bitteschön.
Ich wurde gebeten zu zeigen, wie man einen #Button mit einem #Bild, anstatt #Text ausstattet. Wie ich ja schon oft gesagt habe, freut mich so etwas immer sehr, da es ja Interesse an meiner Arbeit bekundet. Also, hier kommt nun der Button mit Bild zusammen mit einem schönen Gruss an das a1k-Forum.
Ziel der Mission ist es ja, mit einem männlichen und einem weiblichen #Argentavis zurück zukommen. Also heisst es, wir müssen noch einen finden, zähmen, eine #Kryokapsel dafür bauen und und und. Alles kein Problem.
Nur, wo sind eigentlich die ganzen #Dinos hin? Da waren doch kürzlich noch so viele und auf einmal sind alle weg?