~
TEXAS INSTRUMENTS
DATEIKATALOG
Durch den Zugriff auf de n Datei-lndex auf einer Diskette kann man
mit Hilfe von TI BASIC einen Katalog des Disketteninhaltes lesen.
Die Disketten-lndex (oderKatalog) -Datei ist eine nicht bezeichne-
te Datei i m INTERNAL-Format mit fester Datensatzl;!inge. Nachste-
hend sehen Si e das Beispiel eines OPEN-statements, das de n Zu-
griff auf den Katalog vom Antrieb 1 ermOglicht:
100 OPEN *1:"DSK1.".1NPUT,RELATIVE,INTERNAL
Anmerkung:
Der Dateiname ist weggelassen, da der Katalog eine
nicht bezeichnete Datei ist.
Jeder Dateisatz in der Katalogdatei enthalt 4 Positionen: einen
String und d rei numerische Werte i m INTERNAL-Format. Di e Datei
enthalt genau 128 S;!itze, die von O bis 127 nummeriert sind.
Satz
O enthalt lnformationen O ber die Diskette. Der String (max.)
10 Zeichen lang) gibt de n Namen der Diskette an, und di e numeri-
schen Werte beinhalten folgende lnformationen:
e
Satztyp (immer O fOr Datensatz
0)
e
Gesamtzahl der Sektoren auf der Diskette (358 oder 313)
e
Anzahl der verfOgbaren Sektoren auf der Diskette.
Di e Satze 1 bis 127 enthalten lnformationen O ber di e entsprechen-
den Dateien i m lndex. Der String ist der Dateiname, und di e nume-
rischen Werte erkl;!iren sich wie folgt:
•
Dateityp (negativer Wert fOr geschOtzte Dateien)
1 = DISPLAY/RXED
2 = DISPLAYNARIABLE
3 = INTERNALNARIABLE
5 =BASIC-Programm oder andere speicher-orientierte Daten
e
Gesamtzahl der Sektoren fOr die Datei
e
Gesamtzahl der Bytes pro Datensatz
Bei einer Datei vom Typ 5 betr;!igt die Gesamtzahl der Bytes immer
O, da sich dieses MaB nicht auf die speicher-orientierten Date n be-
zieht.
Ein Musterprogramm, das am Ende dieses Abschnitts aufgelistet
ist, veranschaulicht, wie man einen Diskettenkatalog anzeigen
kann.
MUSTERPROGRAMME
Drei Programm sind in diesem Abschnitt enthalten. Das erste zeigt
einige Techniken fOr di e Dateiverwaltung, wie man eine Datei erOff-
net, wie man Datens;!itze einschreibt und ausliest. l m zweiten Pro-
gramm wird demonstriert, wie man den lnhalt des Bildschirms auf
einer Datei speichert und sp;!iter wieder auf den Schirm bringen
kann. Dies ist vor allem dann vorteilhaft, wenn Sie ein Grafikbild zu-
sammengestellt haben und es speichern und spater wieder aufru-
fen wollen. Das dritte Programm gibt an, wie man mit Hilfe von TI
BASIC den Katolog einer Diskette lesen kann.
ALLGEMEINES PROGRAMM - Das folgende Programm zeigt all-
gemeine Datenverarbeitungs-Techniken fOr eine Datei mit wahl-
freièm Zugriff.
Der erste Abschnitt, Zeile 100 bis 130 gibt die Eingabeanweisun-
gen:
1 00 CALL CLEAR
11 O OPEN *10:DSK1.DATEIGEM"
,RELATIVE 50,1NTERVAL
120 PRINT "EINGABE MIT EEE BEENDEN"
130 PRINT
33
0
PHP 1240
Der n;!ichste Abschnitt, Zeile 140 bis 220, erlaubt die Eingabe von
bis zu 50 Datens;!itzen, die von O bis 49 numeriert sind. In Zeile 180
wird geprOft, ob der letzte Datensatz eingegeben ist. Sind 50 Satze
eingegeben, informiert Zeile 220 den Anwender, daB di e Datei voli
i st.
140 REM *****EINGABE****
150 FOR SATZ1 =O TO 49
160 PRINT "SATZ"; SATZ1;
170 INPUT X$
180 IF X$ = "EEE" THEN 230
190 PRINT
*
10,REC SATZ1 :X$
200 NEXT SATZ1
21 O REM *****DA TE l VOLL **
220 PRINT "DIE DATEIIST VOLL"
Die Zeilen 230 bis 340 ermOglichen dem Programmanwender zu
wahlen, was er tun mOchte.
230 REM *****STEUERUNG**
240 PRINT
250 PRINT "'S' = SEQUENTIELL ANZEIGEN"::
260 PRINT "'K' = KORRIGIEREN/ERGAENZEN"::
270 PRINT "'Z' = EINEN SATZ ANZEIGEN"::
280 PRINT "'E' = PROGRAMM BEENDEN"
290 PRINT
300 INPUT "IHRE WAHL: "Y$
310 IF Y$ = "S" THEN 410
320 IF Y$ = "K" THEN 490
330 IF Y$ = "E" THEN 590
340 IF Y$ <> "Z" Then 230
lm nachsten Abschnitt, Zeile 350 bis 430, wird ein spezieller Da-
tensatz ausgedruckt. In Zeile 370 wird geprOft, ob der gewahlte
Datensatz wirklich existiert.
350 REM ***ANZEIGE EINES SATZES**
360 INPUT "WELCHER SATZ? ":SATZ2
370 IF SATZ2>SATZ1-1 THEN 570
380 INPUT* 10,REC SATZ2:X$
390 PRINT "SATZ";SATZ2;"1ST ";X$,
400 GOTO 230
Mit den Zeilen 410 bis 480 wird die gesamte Datei in sequentieller
Folge ausgedruckt.
41 O REM *****SEQUENZ****
420 PRINT "DIES SINO DIE SAETZE:"
430 RESTORE
10
440 FOR SATZ2 =O TO SATZ1-1
450 INPUT*10:X$
460 PRINT SATZ2:X$
470 NEXT SATZ2
480 GOTO 230
lm n;!ichsten Programmteil, Zeile 490 bis 560, kann man einen Da-
tensatz andern oder erganzen. In der Zeile 510 wird geprOft, ob di e
zu ;!indernde oder zu erg;!inzende Zeile nicht auBerhalb der mo-
mentanen Datei ist.
490 REM *****SATZAENDERUNG**
500 INPUT "WELCHER SATZ?":SATZ2
510 IF SATZ2 >SATZ1 THEN 570
520 INPUT "NEUER WERT?";X$
530 PRINT*10,REC SATZ2:X$
540 IF SATZ2 <SATZ1 THEN 230
550 SATZ1 = SATZ2
+
1
560 GOTO 230
570 PRINT "DER SATZ EXISTIERT NICHT"
580 GOTO 230
Zeile 590 schlieBt die Datei am Ende des Programms ab.
590 CLOSE
*
10