Herunterladen Inhalt Inhalt Diese Seite drucken

Atari XF551 Bedienungshandbuch Seite 41

Inhaltsverzeichnis

Werbung

1
REM
DEMO
FUER
DIE
ANWEISUNG
NOTE
2 REM
DIESES PROGRAMM LIEST
ZEILEN MIT
DATEN
3
REM
VON
TASTATUR EIN UND SPEICHERT
4 REM SIE UNTER D
:DATEI
.DAT AUF DISKETTE
5
REM ZEIGER WERDEN UNTER
D:
ZEIGER.DAT
GESPEICHERT
20
DIM A$
(
40)
25 OPEN #1,8,0,
"D :DATEI
.DAT"
27 OPEN
#2,8,0,
"D:ZEIGER.DAT"
30 REM LIEST
ZEILEN MIT
DATEN VON TASTATUREINGABEN
40 INPUT A$
41 PRINT A$
42 REM RETURN OHNE EINGABE= STOP
45 IF LEN(A$ )=0 THEN 100
50 NOTE
#1 ,X,
Y
55REMSPEICHERTZEILEMITDATEN
60 PRINT
#1 ,A$
61 REM SPEICHERT ZEIGER AM ANFANG DER DATEN-ZEILE
65 PRINT
#2,X,",", Y
70 PRINT "SEKTOR#="
,X, "BYTE#=",
Y
90 GOTO 40
95 REM ANZEIGE DATEIENDE
100 PRINT
#2,
0," , ", 0
110 END
Die Ausführung des Beispielprogrammes erfolgte auf einer Diskette, auf der sich
die Dateien DOS.SYS, DUP.SYS und MEM.SAV befanden. ln Ihrem Programmlauf
könnten die Angaben der Sektoren- und Byte-Zahlen unterschiedlich sein. Die
Zahleneingaben im Beispiel lauteten 45, 55, 75, 80, 90, I 00 und I
I
0.
45
SEKTOR
=#=
= 145
SEKTOR=#== 145
75
SEKTOR
=#=
=
145
80
SEKTOR=#== 145
90
SEKTOR=#== 145
100
SEKTOR=#== 145
110
SEKTOR
=#=
=
145
POINT (P.)
BYTE
=#=
= 9 55
BYTE=#== 12
BYTE=#==
15
BYTE=#== 18
BYTE
=#=
= 21
BYTE=#== 24
BYTE
=#=
= 28
Format:
POINT
=#=IOCB,
Arith.Var.,Arith.Var.
Beispiel: I 00 POINT =#=2,A,B
74
_:)
c:
::>
c:
1:1
c::
r:J
c:
:;i
c.:
I;;J
~
r;;
I
~
"
I
"
I
J
"
I
"'
I
"
I
"
I
c;;
I
c;.
I
J
c;.. I
c;.
I
:J
~
I
:J
c;.
t
:J
c;.
r
~
~
c;.
~
c;..
c:.
:J
c::
~
c::.
::4
c=.
_:)
c
::4
c=.
:4
c
~
c=.
:J
c=.
'
~
c
:J
c::~
J
c.
:I
c;:,
:;)
c.
~
c:;,
:J
c:,
c;
'~
c;
67'\
'
~
POINT
ist
das Gegenstück zu
NOTE.
Mit diesem Befehl wird der Dateizeiger
auf einen beliebigen Wert gesetzt, der über die arithmetischen Variablen be-
stimmt wird. POINT wird benutzt, wenn spezifizierte Datei-Positionen (Sektor
und Byte) ins RAM gelesen werden sollen. Die erste arithmetische Variable
spezifiziert (bzw. zeigt auf) die Sektor-Kennziffer, die zweite arithmetische
Variable gibt die Byte-Zahl an, in die das nächste Byte gelesen bzw. geschrieben
werden soll. Wie auch bei dem Befehl NOTE gilt für die Sektor-Kennziffer ein
Bereich von
I
bis 719 bei single density Disketten
und I
bis
I
023 bei enhanced
density Disketten. Der Bereich
für
die Byte-Zahlen liegt zwischen 0 und
124.
Wenn Sie den Zeiger auf einen Bereich außerhalb einer geöffneten Datei richten,
erhalten Sie eine Fehlermeldung
"Dateinummer
nicht übereinstimmend". Im
nachfolgenden Programmbeispiel sehen Sie, wie mit dem Befehl POINT Daten
gelesen werden können, die von dem zuvor erstellten Beispielprogramm für
NOTE generiert wurden.
Bei der Programmausführung werden die Tastatureingaben für Sektoren und
Bytes in entgegengesetzter Reihenfolge ausgegeben, in der sie auf Diskette
geschrieben
wurden.
Nachdem Sie die Beispielprogramme für NOTE und POINT eingegeben haben,
starten Sie zuerst das Programm NOTE, und danach das Programm POINT, ohne
zwischenzeitlich einen Diskettenwechsel vorzunehmen.
1 REM DEMO FUER DIE ANWEISUNG POINT
2 REM DIESES PROGRAMM LIEST DIE
MIT
DEM NOTE-PROGRAMM
3 REM ERSTELLTE DATEI EIN UND GIBT DIE ZEILEN IN
4
REM UMGEKEHRTER REIHENFOLGE AUS 10 DIM B ( 20, 1)
20 DIM A$ ( 40)
25 REM OEFFNEN DER DATEN-DATEI
30 OPEN
#1,4,0,
"D:DATEI.DAT"
35 REM OEFFNEN DER ZEIGER-DATEI
40 OPEN
#2
,4, 0, "D:
ZEIGER.DAT"
45 REM LIEST
ZEIGER
IN EIN ARRAY EIN
50 FOR I=O TO 20
60 INPUT
#2,X,
Y
7
0 B ( I , 0
)
=X: B
(
I
,
1 ) =Y
80
IF
X=O
AND Y=O THEN LAST=!: 1=20
90
NEXT I
95 REM GIBT DATEI IN UMGEKEHRTER FOLGE AUS
100 FOR I=LAST-1 TO 0 STEP -1
110
X=B (I,
0)
:
Y=B (I, 1)
120 POINT
#1 ,X,
Y,
130 PRINT "SEKTOR*=
II
,X,
"BYTE*="'
y
140 INPUT
#1 ,A$
150 PRINT A$
160 NEXT I
75

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis