PofoWiki

Die ultimative Informationsquelle zum ATARI Portfolio

Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:diy:basic:pbgk

Dies ist eine alte Version des Dokuments!


PBASIC - Der Basic Interpreter für den ATARI Portfolio

PBASIC ist ein Freeware BASIC-Interpreter, den B.J.Gleason speziell für den Portfolio geschrieben hat. Es ist ein reiner Interpreter der BASIC-Programme ausführt, die mit Portfolios Text-Editor geschrieben wurden. Eine Befehlszeile wie bei BASICA oder GW-BASIC gibt es nicht.

Die letzte Version ist PBASIC 5.0 und besteht aus folgenden Programmen:

NameGrößeDatumBeschreibung
PBASIC.EXE 44.176 16.01.93 18:06 Der Interpreter selbst
PBDOC.EXE 20.795 21.01.93 17:21 PBASIC Handbuch
ALTR.COM 273 31.12.92 17:05 TSR um PBASIC in der Textverarbeitung aufzurufen
SPB.EXE 10.944 31.12.92 17:05 Schrumpft PBASIC-Dateien (entfernt Umbrüche, Kommentare…)
PBCOMP.EXE 17.842 31.12.92 17:05 Komprimiert PBASIC Dateien und macht sie uneinsehbar.
PBE.EXE 29.508 01.12.91 01:50 PBASIC-Editor für den PC

FIXME

Quellcode

Einsteiger Kurs

Für alle, die schon immer einmal programmieren wollten, sich aber immer vor Dingen wie Eingabe, Ausgabe, Variablen, Objektorientiert oder anderen Dingen die mit der Programmierung zu tun haben, gefürchtet haben dann ist dieser Kurs genau das Richtige für Sie!

Programmiersprachen gibt es eine ganze Menge, größtenteils laufen diese auch auf dem Portfolio™. Ich möchte aber, der Einfachheit halber mit Basic beginnen, da diese Sprache dem Programmierer die größten technischen Variationen bietet.

Das dies nicht immer Vorteile hat werden wir noch sehen…
Ein Beispiel: Man kann bei Basic die Befehle entweder alle mit Kommas getrennt hintereinander oder aber alle in einzelne Zeilen schreiben, letzteres ist natürlich weit übersichtlicher, braucht aber auch viel mehr Speicher. Die erste Methode mag zwar sparsamer sein, hat aber den entscheidenden Nachteil, daß von nach spätestens drei Wochen nicht mehr weiß, wo welcher Programmteil sitzt. Wie ergeht es nun erst denen, die den Code lesen und sich damit beschäftigen sollen? Damit wäre schon ein wichtiger Punkt geklärt! Man spricht bei dem chaotischen Code von „Spaghetticode“. Für den Portfolio gibt es nur zwei diskutable Basic Dialekte, der eine ist PBASIC von Bj. Gleason, ein Interpreter (frei kopierbar) oder das Portfolio Power Basic von Robert S. Zale welches übrigens kompatibel zu der PC Version ist. Wir werden aber mit dem PBASIC arbeiten, da sich dieses Basic jeder sehr einfach besorgen kann!

Dieser Kurs setzt PBASIC 5.0 voraus; fürs erste genügt auch eine ältere Version.

Beim Portfolio™ werden die Programme für Basic im Editor eingegeben. Die Bedienung des Editors setze ich an dieser Stelle voraus und werde darauf nicht näher eingehen. Die erstellten Dateien werden mit der Endung .bas gespeichert. Und können dann mit der Eingabe pbasic [datei] gestartet. Die Endung muß nicht angegeben werden, sofern sie .bas lautet.

Zuerst beschäftigen wir uns mit der Ausgabe von Daten auf dem Bildschirm. Im Basic gibt es da einen zentralen Befehl.

PRINT

Mit Print wird dem Programm die Möglichkeit gegeben dem Anwender eine Meldung zu übermitteln. Die Zeile:

PRINT "Hallo"

ergibt die Meldung Hallo auf dem Bildschirm.

Damit können Sie jetzt ein wenig herum experimentieren bevor sie weiterlesen…

INPUT

Input fragt einen Wert (Text oder Zahen) vom Benutzer ab und legt diese in einer Variablen ab.

Bevor nun aber näher auf die Eingabe eingegangen wird, möchte ich noch etwas zu Variablen sagen. Anders als bei der Mathematik gibt es in der Programmierung unterschiedliche Arten von Varablen. Die einen können nur Zahlen verarbeiten, die anderen nur Buchstaben/Worte. Es gibt da noch weitere, auf die werde ich nun aber nicht näher eingehen. Im BASIC werden diese beiden Variablentypen durch einen Buchstaben1) bei den Numerischen Variablen und einem Buchstaben2) gefolgt von dem Zeichen „$“ (z.B. a$). Ich empfehle allen, bei Variablen einen Namen zu verwenden, dessen Bedeutung auch noch nach 4 Wochen erkennbar ist.

So, zurück zu der Eingabe.

Die Zeile

INPUT "Name";a$

ergibt die folgende Zeile auf dem Bildschirm:

Name? _

Wird statt des „;“ in der INPUT… Zeile ein „,“ gesetzt, so ergibt dies folgendes:

Name _

Komma oder Semikolon entscheiden, ob ein Fragezeichen gesetzt wird oder nicht.

Wie Sie bemerkt haben, ist die Wahl der Variablen für den Namen zu kurz. Besser wäre hier „name$“ gewesen.

So, jetzt können wir die beiden Befehle auch miteinander verknüpfen. Der Befehl PRINT kann nämlich auch den Inhalt einer Variablen ausgeben.

PRINT "Ein kleiner Test"
INPUT "Name";name$
PRINT "Ihr Name ist ";name$

Probieren Sie es einfach aus.

Wie Sie gesehen haben, ist vor dem Anführungszeichen in der letzten Zeile eine Leertaste. Diese ist wichtig, da das Semikolon vor „name$“ angibt, daß der Inhalt der Variablen direkt hinter den Anführungszeichen ausgegeben wird. Wird anstelle ein Komma eingesetzt, wird ein Platz gelassen.

Hinter der Variablen in der letzten Zeile muß aber nicht Schluß sein.

PRINT "Guten Tag ";name$;", wie geht es?"

Versuchen Sie mal ein paar Variationen.

Noch ein Beispiel3)

PRINT "Namensabfrage!"
INPUT "Geben Sie Ihren Namen ein: ",name$
CLS
PRINT "Die Eingabe war: ";name$

Möchten Sie in Ihrem Programmen Anmerkungen einfügen, die nicht auf dem Bildschirm erscheinen sollen, so können Sie dazu den Befehl REM benutzen.

REM Abfrageroutine

Das Wort „Abfrageroutine“ erscheint zwar im Programmcode nicht jedoch auf dem Bilschirm. Als Abkürzung kann man auch das Zeichen „’“ verwenden.

print "Hallo" ' Abfrageroutine

So, als nächstes beschäftigen wir und mit Sprungmarken. Im PBASIC werden diese durch Zeilennunmmern kenntlich gemacht. Der dazugehörige Befehl lautet GOTO.

GOTO

Ohne lange Vorerklärung, tippen sie das folgende Programm einfach einmal ab. Sie werden sehen!

10 PRINT "Hallo"
GOTO 10

Nun, damit hätten wir unsere erste Endlosschleife programmiert. Doch keine Angst! Drücken Sie einfach ATARI solange bis auf dem Bildschirm BREAK IN xxx erscheint. Diese Break-Taste funktioniert übrigens immer und kann auch nicht durch einen Befehl abgeschaltet werden.

Wandeln wir das Programm minimal ab!

10 PRINT "Hallo",
GOTO 10

Erklärung:

Das Komma hinter dem Anführungszeichen von PRINT verhindert, daß ein Zeilenumbruch durchgeführt wird. Hier wird dann, wie bereits unter dem INPUT-Befehl beschrieben, ein Platz gelassen. Natürlich könnte anstatt des Kommas auch wieder ein Semikolon gesetzt werden. Dann wird kein Platz gelassen und der Text direkt hintereinander geschrieben.

So, zum Schluß wollen wir uns dann noch mit einer kontrollieren Schleife beschäftigen. Es soll ja nicht immer die BREAK-Taste gedrückt werden. Vor allem, weil ja sonst das Programm danach nicht weiterlaufen könnte.

Die erste und wahrscheinlich am häufigsten verwende Schleife im Basic ist die IF THEN ELSE-Schleife.

INKEY$

Bevor wir aber loslegen muß ich noch die Variable INKEY$ erklähren. Diese enthhält immer das zuletzt über die Tastatur eingegebene Zeichen. INKEY$ kann allerdings nur einmal ausgelesen werden.

Ein Beispiel:

30 IF INKEY$<>"x" THEN GOTO 30
Der Befehl GOTO wird in diesem Programm nicht zwingend benötigt und kann auch weggelassen werden.

Diese Schleife wird solange durchlaufen, bis X gedrückt wird. Mit einer solchen Schleife können aber noch weitere Tasten abgefragt werden. Dazu wird allerdings ein weiterer Befehlt benötigt.

Dazu in einem anderen Kapitel…

So, jetzt ein komplettes Programm!

10 CLS
REM Abfrageroutine
INPUT "Name ";name$
INPUT "Straße ";str$
INPUT "PLZ ";plz
INPUT "Ort ";ort$
PRINT
PRINT "Sind die Eingaben korrekt (j/n)?"
20 ANTW$=INKEY$
IF ANTW$="" then 20
IF ANTW$="j" then 50
IF ANTW$="n" then 10
GOTO 20
 
50 CLS
PRINT "Guten Tag ";name$
PRINT "Sie wohnen in ";plz;"";ort$
END

Die Variable für die Straße wurde nicht wieder verwendet. Das können Sie aber gerne noch nachtragen. Mit END wird das Programm beendet.

Arbeiten wir mit ELSE, so könnte ein Programm so aussehen:

IF ANTW$="n" then 10
ELSE goto 20
ENDIF

Wichtig ist, daß hier der ENDIF-Befehl gesetzt wird. Andernfalls kommt das Programm total durcheinander.

FAQs

Handbuch

englisches Handbuch zum herunterladen:
MANUAL.ZIP

1)
Oder eine Buchstabenkombination von bis zu 8 Buchstaben
2)
Oder einer Kombination mit bis zu 8 Zeichen
3)
Achtung! Neuer Befehl CLS taucht auf, der dazu verwendet wird um das Display zu löschen und den Cursor in die erste Zeile und erste Spalte des Display zu setzen.
software/diy/basic/pbgk.1219574287.txt.gz · Zuletzt geändert: 24/08/2008 00:08 (Externe Bearbeitung)