Basic-Erweiterungen

Disk-Basic – programmieren Sie Ihre eigene Datenverwaltung!

Disk-Basic ergänzt das magere Basic V 2.0 um einige Befehle zum komfortablen Programmieren von sequentiellen und relativen Dateien.

Disk-Basic ist entstanden, um beispielsweise eine leistungsfähige Dateiverwaltung miteinfachen Befehlen zu programmieren. Das ist natürlich nur eines der denkbaren Anwendungsgebiete von Disk-Basic, denn sein umfangreicher Befehlsvorrat erleichtert generell das Arbeiten mit dem 1541-Floppy-Laufwerk. Disk-Basic hat das Ziel, nichtmehrmitspektakulären Kommandokombinationen die Laufwerke zum Arbeiten zu animieren, sondern mit Klartextbefehlen. Damit trägt es dem Prinzip einer Hochsprache wie Basic, komfortabel Daten zu verarbeiten, Rechnung.

Nach dem fehlerfreien Eingeben (verwenden Sie bitte den MSE) und Abspeichern des Programms (siehe Listing) kann Disk-Basic mit SYS 49152 gestartet werden. Die Befehlssyntax aller neuen Befehle richtet sich nach der altbewährten Methode: Sonderzeichenerkennung — Befehlsidentifizierung — Ausführung. Bevor nun die Wirkung der einzelnen Befehle erläutert wird, noch einige andere allgemeine Hinweise.

Es ist dabei ohne Belang, ob die Floppy-Laufwerke eingeschaltet sind oder nicht. Da der Befehl RUN alle Kanäle schließt, muß am Programmanfang immer mit INIT initialisiert werden. Der Grund für diese Forderung ist, daß während des Arbeitens mit relativen Dateien an den Zuständen der Kanäle nichts verändert werden darf.

Die 38 Befehle des Disk-Basic unterteilen sich in zwei Gruppen:

Die eigentlichen DOS-Befehle und allerlei Hilfsbefehle, zum Beispiel zur Aufbereitung von Datensätzen.

Folgendes zur Erklärung:

Steht »dr« in Klammern, so bedeutet das, daß die Geräte-Nummer weggelassen werden kann. Dabei wird angenommen, daß es sich um Gerät 8, das Floppy-Laufwerk handelt.

”…” bedeutet, daß weitere Parameterkombinationen angehängt werden können.

Befehle für die Laufwerksbedienung

£CATALOG (.’’Parameter”) (,dr)
Ausgabe des Directorys. Als Parameter sind Standardjoker (siehe 1541-Handbuch Seite 11) einsetzbar.
£COLLECT (,dr)

»Aufräumen« führt eine Disk-Garbage-Collection durch (entspricht dem Validate.
£COPY,”neufile=altfile,…” (,dr)
Kopieren von Files
£CLALL

schließt alle Kanäle und öffnet die Kommandokanäle sofort wieder
£OPEN,fn,”filename,x,y”
öffnet Kanal fn.

x = s sequential
p program
u user
y = w write
r read
a append
m Lesen einer nicht gechlossenen Datei

fn muß zwischen 2 und 14 liegen
£ERROR,dr,ds (,ds$) (,tr) (,se)
dr muß angegeben werden. Fehlerkanal wird gelesen £FORMAT,”diskname,id” (,dr) formatieren einer Disk
£RENAME,”neuname=altname” (,dr)
umbenennen von Dateien
£SCRATCH,”filename,…” (,dr)
löschen von Dateien
£CHANGE,neue nr, alte nr
Die Gerätenummer des »alten« Floppy-Laufwerks wird umgeändert.
£INIT (,dr)
Das betreffende Laufwerk wird initialisiert
£CHAIN,”Programmname” (,dr)
Aneinanderhängen von Programmen mit Variablenschutz; darf nur bei fertig entwickelten Programmen verwendet werden, da das Programm im Speicher nach Ende oder Abbruch nicht mehr ordnungsgemäß zu listen und zu starten ist. £SYSTEM,”Programmname” (,dr) die Erweiterung wird gespeichert
£FETCH,fn,az,er$,…
vom File fn werden az Zeichen in er$ eingelesen
£TRANS, Sendedatei-Nr., Empfangsdatei-Nr.
beide Dateien müssen geöffnet sein. Die Daten können zwischen allen Peripheriegeräten ausgetauscht werden.
£RANDOM,fn,”Name”,le,az (,dr)
fn = Kanalnummer
le = Länge eines Records
az = die Anzahl derfreigemachten Records (record az wird mit CHR$(255) beschrieben)
£CLEAR
löscht den Datenpuffer für relative Dateien
£PUT,fn,rn,az (,dr)
schreibt az Byte des Puffers in den Record rn
£GET,fn,rn,az (,dr)
liest az Byte des Records rn in den Puffer
£WRITE,pos,x$,az,…
schreibt az Zeichen des Strings x$ ab pos (Position) in den Puffer.
Ist der String zu kurz, wird mit CHR$(O) aufgefüllt.
£READ,Pos,az,x$… liestab Pos (Position) az: Zeichen des Puffers in x$

Andere Befehle:

£COMRa,a$,…
wandelt die Zahl a (integer oder real) in den äquivalenten String. Real 5 Zeichen, Integer 2 Zeichen.
£RECOMP,a$,a,…
Umkehrung von COMP
£BEEP
Ausgabe eines Signaltones
£CSET,x,y
Cursorpositionierung
x = Zeile, y = Spalte
£CREAD,x,y
Cursorabfrage
gibt aktuelle Cursorposition aus (x = Zeile, y = Spalte)
£RESTORE, Ausdruck
Positioniert den Lesezeiger für Daten auf Zeile »Ausdruck«
£INSTR$,a$,b$,Pos,erg,…
durchsucht a$ ab Pos nach b$. Ist erg = 0, dann nicht vorhanden
£STORE,adresse,”XXYYXXYYXXYY…” …
speichert Hexbytes ab Adresse (ideal für Sprites)
£STR$,”XXYYXXYYXXYY”,a$…
wandelt Hexbytes in ASCII-Zeichen und speichert sie in a$
£STRING,a Zeichen,er$ …
erzeugt einen a Zeichen langen String aus
£COLOUR,f1,f2
verändert die Bildschirmfarben
£GOTO,Ausdruck
GOTO wird »berechenbar«
£HEX,z,h$…
wandelt z in h$ (hexadezmalzahl) um
£DEZ,h$,z…
wandelt h$ (hexadezimal) in z (dezimal) um
£LINPUT,a$
Übernimmt eine ganze Zeile mit allen Zeichen
£SYS,adresse,akku,xreg,yreg…
SYS mit Parameterübergabe der 6510-Register
akku = Akkumulator
xveg = X-Register
yveg = y-Register
£QUIT
verlassen des Interpreters

(Harald Großauer/aw)
PROGRAMM : DISK BASIC S.15 C000 C8C5
-----------------------------------
C000 : 20 3E C0 A2 00 BD 11 C0   77
C008 : F0 06 20 D2 FF E8 D0 F5   D4
C010 : 60 0D 90 12 20 44 49 53   4D
C018 : 4B 2D 42 41 53 49 43 20   7F
C020 : 20 28 43 29 20 42 59 20   04
C028 : 47 52 4F 53 53 41 55 45   F6
C030 : 52 20 48 41 52 52 59 20   2A
C038 : 20 38 35 20 0D 00 A9 6E   1A
C040 : A0 C0 8D 08 03 8C 09 03   63
C048 : A9 00 48 20 BD FF A9 0F   A8
C050 : A2 08 A8 20 BA FF 20 C0   D2
C058 : FF A9 FF 8D 8A 02 68 20   78
C060 : BD FF A9 10 A2 09 A0 0F   9C
C068 : 20 BA FF 4C C0 FF 20 73   E2
C070 : 00 C9 5C F0 03 4C E7 A7   0B
C078 : A0 00 84 A7 20 73 00 F0   AE
C080 : 0E C9 3A F0 0A C9 2C F0   A1
C088 : 06 99 C8 C9 C8 D0 ED A0   D2
C090 : 00 B9 C5 C0 F0 06 C8 D0   FA
C098 : F8 4C 08 AF A2 00 E6 A7   C3
C0A0 : A9 28 C5 A7 F0 F3 C8 B9   09
C0A8 : C5 C0 F0 09 DD C8 C9 D0   17
C0B0 : E0 C8 E8 D0 F2 A6 A7 CA   E1
C0B8 : BD 85 C1 85 A8 BD AB C1   03
C0C0 : 85 A9 6C A8 00 00 43 41   DA
C0C8 : 54 41 BC 00 43 4F 4C 4C   64
C0D0 : 45 43 54 00 54 52 41 4E   45
C0D8 : 53 00 43 4F 50 59 00 43   3C
C0E0 : 4C 41 4C 4C 00 9F 00 45   F1
C0E8 : 52 52 B0 00 52 AF 4F 4D   0A
C0F0 : 00 81 4D 41 54 00 43 4C   17
C0F8 : 45 41 52 00 52 45 4E 41   7E
C100 : 4D 45 00 53 43 52 41 54   CF
C108 : 43 48 00 50 55 54 00 A1   B5
C110 : 00 43 48 41 4E 47 45 00   20
C118 : 57 52 49 54 45 00 87 00   E8
C120 : 49 4E 49 54 00 43 4F 4D   5F
C128 : 50 00 52 45 43 4F 4D 50   3A
C130 : 00 43 48 41 49 4E 00 9E   50
C138 : 54 45 4D 00 46 45 54 43   E9
C140 : 48 00 42 45 45 50 00 43   1F
C148 : 53 45 54 00 8C 00 49 4E   DE
C150 : C4 00 53 A4 52 45 00 48   5E
C158 : 45 58 00 44 45 5A 00 4C   12
C160 : 85 00 89 00 9E 00 C4 00   45
C168 : 43 4F 4C 4F 55 52 00 53   DE
C170 : 54 52 49 4E 47 00 51 55   6E
C178 : 49 54 00 43 87 00 00 00   CC
C180 : 00 00 00 00 00 22 97 E8   C2
C188 : E0 08 54 11 78 B1 DE E4   FE
C190 : D9 EA 00 24 16 5D A7 8C   67
C198 : A3 E8 C6 92 C5 EA FB 8B   6E
C1A0 : ED 63 1B 16 3A 9D 35 8E   4B
C1A8 : 56 49 76 C3 C3 C3 C3 C4   AC
C1B0 : C4 C4 C4 C3 C4 C3 C3 C4   83
C1B8 : C5 C4 C5 C5 C3 C5 C5 C5   16
C1C0 : C5 C6 C6 C6 C6 C7 C7 C8   CE
C1C8 : C8 C7 C7 C8 C8 C8 C7 C7   00
C1D0 : C7 20 DF C1 98 A6 22 A4   68
C1D8 : 23 20 BD FF 4C E8 C1 20   CE
C1E0 : FD AE 20 9E AD 4C 82 B7   C7
C1E8 : A9 08 85 BA 20 79 00 C9   AF
C1F0 : 2C D0 05 20 78 C2 86 BA   F7
C1F8 : 60 20 CC FF 20 79 00 C9   FD
C200 : 3A D0 03 4C 07 A8 4C BE   51
C208 : A7 20 FD AE 20 8A AD 20   62
C210 : F7 B7 A5 14 85 FB A5 15   C8
C218 : 85 FC 60 48 A6 BA E8 E8   F2
C220 : E8 E8 E8 E8 E8 86 AB 20   85
C228 : C9 FF 68 F0 0F 85 FD A0   7F
C230 : 00 B9 C8 C9 20 D2 FF C8   A2
C238 : C4 FD D0 F5 A9 0D 20 D2   17
C240 : FF 4C CC FF A9 50 8D C8   7D
C248 : C9 A5 A7 8D C9 C9 A5 FB   F9
C250 : 8D CA C9 A5 FC 8D CB C9   68
C258 : A9 01 8D CC C9 A9 05 4C   15
C260 : 1B C2 20 78 C2 86 A7 20   33
C268 : 09 C2 20 78 C2 86 AA 20   35
C270 : E8 C1 20 44 C2 A6 A7 60   8A
C278 : 20 FD AE 4C 9E B7 20 FD   F0
C280 : AE 20 8B B0 85 49 84 4A   80
C288 : 20 A3 B6 A5 AB 20 75 B4   D7
C290 : A0 02 B9 61 00 91 49 88   8F
C298 : 10 F8 C8 60 20 FD AE 20   4F
C2A0 : 8B B0 85 A8 85 49 84 A9   02
C2A8 : 84 4A A2 05 A5 0E C9 80   8E
C2B0 : D0 02 A2 02 86 AB 60 48   42
C2B8 : 98 48 20 9C C2 68 A8 68   F3
C2C0 : A2 00 86 0D 85 62 84 63   EA
C2C8 : A2 90 38 20 49 BC A5 AB   2D
C2D0 : C9 05 F0 03 4C C4 A9 4C   E2
C2D8 : D0 BB B1 22 20 EF C2 0A   D7
C2E0 : 0A 0A 0A 18 85 AB C8 B1   B1
C2E8 : 22 20 EF C2 05 AB 60 C9   31
C2F0 : 3A 08 29 0F 28 90 02 69   3C
C2F8 : 08 60 85 AB 4A 4A 4A 4A   BC
C300 : 20 0B C3 C8 A5 AB 29 0F   2A
C308 : 4C 0B C3 18 69 F6 90 02   62
C310 : 69 06 69 3A 99 C8 C9 60   E6
C318 : 20 79 00 38 C9 2C F0 01   C0
C320 : 18 60 A9 08 85 BA 20 79   75
C328 : 00 C9 2C D0 06 20 D1 C1   5E
C330 : 4C 40 C3 A9 24 85 A7 A9   23
C338 : 01 A2 A7 A0 00 20 BD FF   80
C340 : A9 60 85 B9 20 D5 F3 A5   7E
C348 : BA 20 B4 FF A5 B9 20 96   15
C350 : FF A9 00 85 90 A0 03 84   F8
C358 : A8 20 A5 FF 85 A9 A4 90   D3
C360 : D0 2F 20 A5 FF A4 90 D0   8E
C368 : 28 A4 A8 88 D0 E9 A6 A9   68
C370 : 20 CD BD A9 20 20 D2 FF   6A
C378 : 20 A5 FF A6 90 D0 12 AA   6D
C380 : F0 06 20 D2 FF 4C 78 C3   A1
C388 : A9 0D 20 D2 FF A0 02 D0   C9
C390 : C6 20 42 F6 4C F9 C1 A9   C5
C398 : 56 8D C8 C9 20 E8 C1 A9   C4
C3A0 : 01 20 1B C2 4C F9 C1 20   AC
C3A8 : E7 FF 20 3E C0 A9 49 D0   7F
C3B0 : E8 A9 4E 8D C8 C9 A9 3A   A8
C3B8 : 8D C9 C9 20 DF C1 84 A7   0E
C3C0 : A0 00 B1 22 99 CA C9 C4   B2
C3C8 : A7 F0 03 C8 D0 F4 C8 C8   2B
C3D0 : 98 48 20 E8 C1 68 4C A1   85
C3D8 : C3 A9 53 8D C8 C9 D0 D6   C2
C3E0 : A9 43 D0 F7 A9 52 D0 F3   B6
C3E8 : 20 78 C2 20 C6 FF 20 78   D7
C3F0 : C2 20 C9 FF 20 CF FF 48   46
C3F8 : 20 B7 FF D0 07 68 20 D2   E8
C400 : FF 4C F4 C3 68 4C F9 C1   2F
C408 : 20 E7 FF 20 3E C0 4C F9   2F
C410 : C1 20 E8 C1 A9 00 20 1B   A5
C418 : C2 20 FD AE A6 AB 20 AD   E3
C420 : AB 4C F9 C1 20 78 C2 86   86
C428 : A7 20 E8 C1 A2 00 BD 4E   0F
C430 : C4 9D C8 C9 E8 E0 06 D0   7D
C438 : F5 18 A5 A7 69 20 8D CE   03
C440 : C9 18 A5 A7 69 40 8D CF   E2
C448 : C9 A9 08 4C A1 C3 4D 2D   39
C450 : 57 77 00 02 20 78 C2 86   81
C458 : A7 20 DF C1 84 AA 20 E8   2F
C460 : C1 A5 A7 A8 A6 BA 20 BA   29
C468 : FF A5 AA A6 22 A4 23 20   CD
C470 : BD FF 20 C0 FF 4C F9 C1   1B
C478 : 20 78 C2 86 A7 20 DF C1   D4
C480 : 84 AA A5 22 A6 23 85 A8   F2
C488 : 86 A9 20 78 C2 86 AB 20   49
C490 : 09 C2 20 E8 C1 A5 A7 A8   59
C498 : A6 BA 20 BA FF A0 00 B1   63
C4A0 : A8 99 C8 C9 C4 AA F0 03   EB
C4A8 : C8 D0 F4 A9 2C 99 C8 C9   91
C4B0 : 99 CA C9 C8 A9 4C 99 C8   2F
C4B8 : C9 C8 C8 E6 AB A5 AB 99   BE
C4C0 : C8 C9 C8 98 A2 C8 A0 C9   38
C4C8 : 20 BD FF 20 C0 FF 20 44   E0
C4D0 : C2 A6 A7 20 C9 FF A9 FF   16
C4D8 : 20 D2 FF 4C F9 C1 A0 00   1B
C4E0 : 98 99 C4 C8 C8 D0 FA 4C   27
C4E8 : F9 C1 20 62 C2 20 C9 FF   6B
C4F0 : A0 00 B9 C4 C8 20 D2 FF   70
C4F8 : C8 C4 AA D0 F5 4C F9 C1   14
C500 : 20 62 C2 20 C6 FF A0 00   F5
C508 : 20 CF FF 99 C4 C8 C8 C4   82
C510 : AA D0 F5 4C F9 C1 20 78   48
C518 : C2 86 A7 20 DF C1 84 AA   7F
C520 : A5 22 A6 23 85 A8 86 A9   EF
C528 : 20 78 C2 86 AB E0 00 F0   A9
C530 : 24 A4 AA F0 20 A6 A7 A0   86
C538 : 00 B1 A8 9D C4 C8 E8 F0   07
C540 : 14 C8 C4 AB F0 0F C4 AA   4F
C548 : D0 EF A9 20 9D C4 C8 E8   73
C550 : C8 C4 AB D0 F7 20 18 C3   E8
C558 : B0 BC 4C F9 C1 20 78 C2   3D
C560 : 86 A7 20 78 C2 86 AB 20   20
C568 : 7E C2 A6 A7 BD C4 C8 91   2E
C570 : 62 E8 F0 07 C8 C4 61 F0   7D
C578 : 0B D0 F1 A9 20 91 62 C8   47
C580 : C4 61 D0 F9 20 18 C3 B0   9B
C588 : D4 4C F9 C1 20 9C C2 20   6B
C590 : 7E C2 B1 A8 91 62 C8 C4   CA
C598 : AB D0 F7 20 18 C3 B0 EC   E9
C5A0 : 4C F9 C1 20 DF C1 84 AA   D1
C5A8 : A6 22 A5 23 86 FB 85 FC   85
C5B0 : 20 9C C2 A0 00 B1 FB 91   84
C5B8 : A8 C8 C4 AB D0 F7 20 18   E8
C5C0 : C3 B0 E0 4C F9 C1 20 E7   9B
C5C8 : FF 20 D1 C1 A6 BA A9 01   6D
C5D0 : A8 20 BA FF A9 00 A2 C0   DD
C5D8 : 85 A8 86 A9 A2 C4 A0 C8   EC
C5E0 : A9 A8 20 D8 FF 4C F9 C1   CE
C5E8 : 20 26 B5 20 D1 C1 A9 01   60
C5F0 : A6 BA A8 20 BA FF A0 04   58
C5F8 : B6 30 96 68 88 D0 F9 38   E0
C600 : A5 69 E9 01 85 69 A5 6A   03
C608 : E9 00 85 6A 38 A5 6B E9   D2
C610 : 01 85 6B A5 6C E9 00 85   84
C618 : 6C B1 69 91 6B A5 2D C5   0D
C620 : 69 90 DC A5 2E C5 6A 90   99
C628 : D6 A9 00 20 D5 FF 38 A5   60
C630 : AE E5 2D 85 6D A5 AF E5   5B
C638 : 2E 85 6E A5 AE 85 2D 85   50
C640 : 69 A5 AF 85 2E 85 6A 38   42
C648 : A5 AE E5 6B A5 AF E5 6C   73
C650 : 90 03 4C 35 A4 A5 2F 65   1B
C658 : 6D 85 2F A5 30 65 6E 85   FB
C660 : 30 18 A5 31 65 6D 85 31   66
C668 : A5 32 65 6E 85 32 A0 00   BA
C670 : B1 6B 91 69 E6 69 D0 02   69
C678 : E6 6A E6 6B D0 02 E6 6C   4C
C680 : A5 6B C5 33 90 EA A5 6C   82
C688 : C5 34 90 E4 20 8E A6 4C   D2
C690 : AE A7 20 78 C2 20 C6 FF   71
C698 : 20 78 C2 86 AB 20 7E C2   B1
C6A0 : 20 CF FF 48 20 B7 FF D0   12
C6A8 : 0A 68 91 62 C8 C4 AB D0   9A
C6B0 : EF F0 0A 68 A9 00 91 62   4D
C6B8 : C8 C4 AB D0 F9 20 18 C3   70
C6C0 : B0 D0 4C F9 C1 A9 00 AA   E9
C6C8 : 9D 00 D4 E8 E0 19 D0 F8   C3
C6D0 : A9 0F 8D 18 D4 A9 09 8D   41
C6D8 : 05 D4 A9 11 8D 04 D4 8D   3B
C6E0 : 00 D4 A9 64 8D 01 D4 4C   0E
C6E8 : F9 C1 20 78 C2 86 FD 20   72
C6F0 : 78 C2 18 A4 FD 20 F0 FF   09
C6F8 : 4C F9 C1 20 09 C2 A5 2B   49
C700 : A6 2C 20 17 A6 38 A5 5F   29
C708 : E9 01 A4 60 B0 01 88 85   E7
C710 : 41 84 42 4C F9 C1 20 CC   75
C718 : FF A0 00 20 CF FF C9 0D   AA
C720 : F0 06 99 C8 C9 C8 D0 F3   A1
C728 : 84 AB 20 7E C2 B9 C8 C9   0A
C730 : 91 62 C8 C4 61 D0 F6 4C   CE
C738 : F9 C1 A2 00 86 14 86 15   08
C740 : 20 09 C2 20 A3 A8 4C F9   3E
C748 : C1 A9 E4 A2 A7 8D 08 03   78
C750 : 8E 09 03 4C 86 E3 20 78   A6
C758 : C2 86 AB 20 DF C1 A0 00   DB
C760 : B1 22 48 20 7E C2 68 91   FB
C768 : 62 C8 C4 61 D0 F9 20 18   19
C770 : C3 B0 E3 4C F9 C1 38 20   DC
C778 : F0 FF 86 FD A9 00 48 20   C5
C780 : B7 C2 68 A4 FD 20 B7 C2   8C
C788 : 4C F9 C1 20 DF C1 84 AA   B9
C790 : A0 00 B1 22 99 C8 C9 C8   7A
C798 : C4 AA D0 F6 20 DF C1 A5   18
C7A0 : 22 A6 23 85 FB 86 FC 84   80
C7A8 : AB 20 78 C2 86 FD A0 00   B5
C7B0 : BD C8 C9 D1 FB F0 07 E8   B3
C7B8 : E4 AA D0 F4 F0 18 86 A7   FD
C7C0 : A0 00 BD C8 C9 D1 FB D0   A5
C7C8 : 08 E8 C8 C4 AB F0 0B D0   1F
C7D0 : F1 E8 A0 00 F0 DA A0 FF   C6
C7D8 : 84 A7 A4 A7 C8 A9 00 20   68
C7E0 : B7 C2 20 18 C3 B0 03 4C   6A
C7E8 : F9 C1 4C 8B C7 20 09 C2   6D
C7F0 : 20 DF C1 84 AA A0 00 A2   F6
C7F8 : 00 20 DA C2 9D C8 C9 E8   30
C800 : C8 C4 AA D0 F4 86 FD A0   AC
C808 : 00 B9 C8 C9 91 FB C8 C4   F6
C810 : FD D0 F6 20 18 C3 B0 D5   45
C818 : 4C F9 C1 20 DF C1 A0 00   64
C820 : 20 DA C2 48 C8 20 DA C2   E5
C828 : A8 68 20 B7 C2 20 18 C3   18
C830 : B0 E9 4C F9 C1 20 DF C1   47
C838 : 84 AA A0 00 A2 00 20 DA   9A
C840 : C2 9D C8 C9 E8 C8 C4 AA   79
C848 : D0 F4 86 AB 20 7E C2 A0   EC
C850 : 00 B9 C8 C9 91 62 C8 C4   71
C858 : 61 D0 F6 20 18 C3 B0 D5   F1
C860 : 4C F9 C1 20 09 C2 A0 00   46
C868 : A5 FC 20 FA C2 C8 A5 FB   F4
C870 : 20 FA C2 A0 04 84 AB 20   25
C878 : 7E C2 A0 00 B9 C8 C9 91   AC
C880 : 62 C8 C4 61 D0 F6 20 18   19
C888 : C3 B0 D8 4C F9 C1 20 78   82
C890 : C2 8E 20 D0 20 78 C2 8E   A9
C898 : 21 D0 4C F9 C1 20 09 C2   3A
C8A0 : 20 78 C2 86 AB 20 78 C2   A1
C8A8 : 86 FD 20 78 C2 86 AA A9   A2
C8B0 : 4C 85 A7 A5 AB A6 FD A4   8E
C8B8 : AA 20 A7 00 20 18 C3 B0   8F
C8C0 : DC 4C F9 C1 FF            50
Listing »Disk-Basic«. Bitte beachten Sie die Eingabehinweise auf Seite 8.
15 rem----- schreiben der records ----
20 \init
25 print" Daten eingeben Abbruch mit *"
30 \random,2,"test1",30,50
40 input"vorname";vo$:ifvo$="*"then120
50 input"familienname";fa$
60 input"recordnr";rn
70 \clear
80 \write,0,vo$,10,10,fa$,20
100 \put,2,rn,30
110 goto40
120 close2
130 rem------ lesen der records ------
135 print"{down} Daten lesen abbruch mit 100{down}{down}"
140 \random,2,"test1",30,50
150 input"recordnr";rn:ifrn>50then220
160 \clear
170 \get,2,rn,30
180 \read,0,10,vo$,10,20,fa$
200 print vo$,fa$
210 goto150
220 close2
300 rem------ normale files ---------
310 print" demonstration von trans und fetch"
320 \open,3,"@:test2,s,w"
330 fora=0to100:print#3,a:next
340 close3
350 \open,3,"test2,s,r"
360 open1,3  :rem bildschirm
370 \trans,3,1
380 \clall
390 \open,3,"test2,s,r"
400 \fetch,3,150,a$
410 print a$
420 close3
440 rem------ binaer-files -----------
450 print" schreiben von 1000 zufallszahlen
460 \open,3,"@:test3,s,w":ti$="000000"
470 fora=1to1000
480 z=rnd(1):\comp,z,z$
490 print#3,z$;
500 next:close3:printti$" sec"
510 print" lesen von 1000 zufallszahlen
520 \open,3,"test3,s,r":ti$="000000"
530 fora=1to1000
540 \fetch,3,5,z$ :rem  5=laenge eines real-'strings'
550 \recomp,z$,z
560 next:close3:printti$" sec"
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →