Hallo,
Dieses Low und High kennt mein Compiler nicht, was bedeutet
das überhaupt? Sind das Variablen? Wenn ja, als was muss ich
die Deklarieren?
Das sind Funktionen, welche die Indizes des ersten und des letzten Elements eines Arrays zurückgeben. Kann sein, dass das dein Pascal-Compiler (noch) nicht kennt. Wenn du genau weißt, dass dein Array von zB. [1] bis [50] geht, dann kannst du statt „low(array)“ auch direkt „1“ und statt „high(array)“ direkt „50“ angeben.
Hier mal ein Teil meines Codes:
ASSIGN(zahl,‚C:\Zufall~1\zahl.txt‘);
REWRITE(zahl);
WRITELN(zahl,zusammen[i]);
CLOSE(zahl);
Wo ist die Schleife, die eine TAN nach der anderen schreibt?
Ich nehme an, „zusammen“ ist das Array mit den TAN’s. dann müsste der Code so aussehen (die fehlende Schleife habe ich fett geschrieben):
ASSIGN(zahl,'C:\Zufall~1\zahl.txt');
REWRITE(zahl);
**FOR i := 1 TO 50 DO** WRITELN(zahl,zusammen[i]);
CLOSE(zahl);
Es ist ja logisch, dass hier immer der nächste TAN den
vorherigen überschreibt,
Kann es sein, dass du den gesamten o.g. Code INNERHALB der Scleife aufrufst? Das wäre blöd, weil REWRITE(zahl) dann JEDESMAL die alte Datei löscht/überschreibt.
aber wie stelle es an, dass er
einfach in die nächste Zeile springt und dort den nächsten
speichert?
Mit WRITELN. Das „LN“ am Ende heißt „LINE“, also „schreibe einen Text und springe in die nächste Zeile“. Ein weiterer Aufruf von WRITELN (OHNE!! zuvor die Datei zu schließen und wieder zu öffnen!!) schreibt den nächsten Text automatisch in die nächste Zeile.
Oder so ähnlich …
Genau so.
LG
Jochen