PofoWiki

Die ultimative Informationsquelle zum ATARI Portfolio

Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:diy:basic:diy:basic:pbgk:src_cmdlin

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
software:diy:basic:diy:basic:pbgk:src_cmdlin [24/08/2008 14:08] – angelegt uxtsoftware:diy:basic:diy:basic:pbgk:src_cmdlin [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 4: Zeile 4:
 Es gibt keine Befehlszeile in der man mal eben schnell einen Term ausrechnen kann ohne ein Programm schreiben zu müssen.\\ Glücklicherweise bietet PBASIC den Befehl EVAL, mit dem eine beliebige Zeichenkette interpretiert werden kann. Also schrieb ich mir ein "kleines" BASIC-Programm, dass einen Zeileneditor mit Hot-key Funktionen bietet. Die hier entstandene Zeichenkette wird dann mit dem Befehl EVAL ausgeführt und das Programm kehrt zum Zeileneditor zurück.\\ Als ich das Programm schrieb, wusste ich noch nicht wie man Portfolios eingebauten (AES) Zeileneditor programmiert, sonst hätte ich BIOS-CALLS verwendet. In diesem Beispiel wurde alles mit normalen BASIC-Befehlen für Zeichenkettenmanipulation realisiert, dadurch ist es natürlich ein wenig langsam und entspricht nicht zu 100% dem AES Zeileneditor, ich habe aber versucht alles identisch zu machen und bin mit dem Ergebnis recht zufrieden. Es gibt keine Befehlszeile in der man mal eben schnell einen Term ausrechnen kann ohne ein Programm schreiben zu müssen.\\ Glücklicherweise bietet PBASIC den Befehl EVAL, mit dem eine beliebige Zeichenkette interpretiert werden kann. Also schrieb ich mir ein "kleines" BASIC-Programm, dass einen Zeileneditor mit Hot-key Funktionen bietet. Die hier entstandene Zeichenkette wird dann mit dem Befehl EVAL ausgeführt und das Programm kehrt zum Zeileneditor zurück.\\ Als ich das Programm schrieb, wusste ich noch nicht wie man Portfolios eingebauten (AES) Zeileneditor programmiert, sonst hätte ich BIOS-CALLS verwendet. In diesem Beispiel wurde alles mit normalen BASIC-Befehlen für Zeichenkettenmanipulation realisiert, dadurch ist es natürlich ein wenig langsam und entspricht nicht zu 100% dem AES Zeileneditor, ich habe aber versucht alles identisch zu machen und bin mit dem Ergebnis recht zufrieden.
  
-Wozu das ganze? Nun, ich will häufig nur mal eben kurz einen Term lösen und in Abhängigkeit des Ergebnisses die eine oder andere Variable ändern. Natürlich könnte man ein Programm mit dem Editor schreiben und mit ALT_R ausführen. Wenn ich dann aber einen Wert öndern will, muss ich PBASIC wieder verlassen, das Programm ändern und PBASIC erneut aufrufen. Das wird auf dauer lästig und kostet Zeit. Wenn ich mit PBASIC "reden" kann wärend es läuft, geht das schneller.+Wozu das ganze? Nun, ich will häufig nur mal eben kurz einen Term lösen und in Abhängigkeit des Ergebnisses die eine oder andere Variable ändern. Natürlich könnte man ein Programm mit dem Editor schreiben und mit ALT_R ausführen. Wenn ich dann aber einen Wert öndern will, muss ich PBASIC wieder verlassen, das Programm ändern und PBASIC erneut aufrufen. Das wird auf dauer lästig und kostet Zeit. Wenn ich mit PBASIC "reden" kann wärend es läuft, geht das schneller.\\ 
 +Ich starte PBASIC CMDLIN, wenn CMDLIN geladen ist erschient die Titelleiste und eine Zeile darunter das "ok.". CMDLIN ist bereit.\\ 
 + 
 +z.B.: 20 durch 3 Teilen.\\ 
 +   ? 20/3 
 +   6,66666 
 +   ok. 
 +CMDLIN (bzw. PBASIC) liefert das Ergebnis und bestätigt die bereitschaft mit einem "ok."\\ 
 +Na gut, das kann jeder Taschenrechner. Aber was ist, wenn die Aufgabe etwas komplexer ist?\\ 
 +   ? (20/3+5/4)*(20-2/3) 
 +   153,0555560704444 
 +   ok. 
 +wenn ich das mit einem Taschenrechner lösen will, brauche ich wahrscheinlich noch einen Zettel und einen Stift Und sollte ich einen Fehler machen, muss ich von vorn beginnen.\\ 
 +Mit PBasic kann ich mir die Aufgabe nochmal genau ansehen und evtl. ändern, bevor ich die Eingabe-Taste drücke.\\ 
 +Wenn ich einen Wert ändern, oder die Aufgabe erweitern möchte, drücke ich Fn_1, und die Zeile wird wieder dargestellt, mit der Möglichkeit sie zu bearbeiten.\\ 
 +Fn1 
 +   ? (19/3+5/4)*(19-2/3)/
 +   27,80555644444444 
 +   ok. 
 +Es lassen sich natürlich auch Variablen und Funktionen definieren und lange Aufgaben über mehrere Zeilen lösen. Mit dem Befehl EVAL lassen sich Zeichenketten "interpretieren"\\ 
  
 z.B: Ich möchte meine Benzin-Kosten für diesen Monat ermitteln. Die können aber je nach Benzinpreis stark variieren. Ich mache dann ein "Was ist Wenn" -Spiel. z.B: Ich möchte meine Benzin-Kosten für diesen Monat ermitteln. Die können aber je nach Benzinpreis stark variieren. Ich mache dann ein "Was ist Wenn" -Spiel.
  
-Ich fahre jeden Werktagtag 32 Kilometer, mein Wagen verbraucht 7 Liter auf 100 km:\\ Ich starte PBASIC CMDLIN, wenn CMDLIN geladen ist erschient die Titelleiste und eine Zeile darunter das "ok.". CMDLIN ist bereit.\\ Nun tippe ich folgende Zeilen ein:+Ich fahre jeden Werktagtag 32 Kilometer, mein Wagen verbraucht 7 Liter auf 100 km:\\ Ich tippe folgende Zeilen ein:
  
   TERM$="Kosten=(20*32/100)*7*Preis:?Kosten"   TERM$="Kosten=(20*32/100)*7*Preis:?Kosten"
   Preis=1,49   Preis=1,49
   EVAL TERM$   EVAL TERM$
- 
-CMDLIN (bzw. PBASIC) liefert das Ergebnis und bestätigt die bereitschaft mit einem "ok." 
  
 Um die Kosten bei einem höheren Preis zu ermitteln gebe ich z.B Preis=1,52 ein und dann EVAL TERM$. Um die Kosten bei einem höheren Preis zu ermitteln gebe ich z.B Preis=1,52 ein und dann EVAL TERM$.
 Dieses Spielchen kann man so oft wiederholen wie man will, ohne PBASIC zu verlassen. Dieses Spielchen kann man so oft wiederholen wie man will, ohne PBASIC zu verlassen.
  
-Das ist alles.+Es lassen sich nicht nur Rechenaufgaben lösen, fast alle PBASIC Befehle , außer Grafik, lassen sich anwenden, die Befehlszeile hat allerdings eine maximale Länge von 40 Zeichen
  
 Da ich Portfolios Zeileneditor möglichst treu nachahmen wollte, brauchte ich natürlich Hot-Keys um in der Zeile herumspringen zu können. Da ich schon mal dabei war habe ich gleich noch ein paar weitere Hot-Keys als Makros definiert um die Tipparbeit zu reduzieren: Da ich Portfolios Zeileneditor möglichst treu nachahmen wollte, brauchte ich natürlich Hot-Keys um in der Zeile herumspringen zu können. Da ich schon mal dabei war habe ich gleich noch ein paar weitere Hot-Keys als Makros definiert um die Tipparbeit zu reduzieren:
Zeile 42: Zeile 60:
 |Alt_F|FILES, listet alle Dateien im aktuellen Verzeichnis| |Alt_F|FILES, listet alle Dateien im aktuellen Verzeichnis|
 |Alt_M|MENU, öffnet ein Menü mit allen *.BAS Dateien im aktuellen Verzeichnis.| |Alt_M|MENU, öffnet ein Menü mit allen *.BAS Dateien im aktuellen Verzeichnis.|
 +|Alt_N|NEW, löscht den Speicher (verlässt und lädt CMDLIN erneut)|
  
 CMDLIN kann keine Grafik, sollten sie versehentlich SCREEN 8 eingeben wird der Bildschirm unlesbar, bzw. CMDLIN kann nicht richtig ausgeführt werden.\\ Vermeiden sie es irgendeinen der folgenden Befehle zu verwenden:\\  CMDLIN kann keine Grafik, sollten sie versehentlich SCREEN 8 eingeben wird der Bildschirm unlesbar, bzw. CMDLIN kann nicht richtig ausgeführt werden.\\ Vermeiden sie es irgendeinen der folgenden Befehle zu verwenden:\\ 
Zeile 58: Zeile 77:
   *SCREEN n  kein Grafik-Modus   *SCREEN n  kein Grafik-Modus
  
-Der Befehl MENU wird von CMDLIN anders genutzt (siehe Alt_M). Obwohl CMDLIN keine Grafik unterstützt, können PGC-Files im Menü angezeigt werden, der Befehl schaltet selbständig zwischen den Bildschirm-Modi hin und her.\\ CMDLIN hat einen Befehl den PBASIC nicht hat"FILES(siehe Alt_F). Hier werden Dateien wie mit Microsofts BASICA aufgelistet.+\\ Der Befehl MENU wird von CMDLIN anders genutzt (siehe Alt_M). Obwohl CMDLIN keine Grafik unterstützt, können PGC-Files im Menü angezeigt werden, der Befehl schaltet selbständig zwischen den Bildschirm-Modi hin und her. 
 + 
 +CMDLIN hat zwei eigene Befehledie nicht von PBASIC stammen: 
 +  *FILES (siehe Alt_F). Dateien werden wie mit Microsofts BASICA aufgelistet. 
 +  *NEW (siehe Alt_N). Alle Daten werden gelöscht (tatsächlich wird CMDLIN.BAS beendet un neu gestartet) 
 +\\ 
  
 Tasten zum editieren der Zeile: Tasten zum editieren der Zeile:
software/diy/basic/diy/basic/pbgk/src_cmdlin.1219582561.txt.gz · Zuletzt geändert: (Externe Bearbeitung)