[Allegro] Vb.316: V39.3 ist da
Sibylle Koczian
Sibylle.Koczian at t-online.de
Sa Nov 16 16:29:32 CET 2019
Lieber Herr Eversberg, liebe Liste,
ich bin endlich dazu gekommen, das korrigierte "fetch rec"
auszuprobieren; eine Kleinigkeit findet sich da immer noch, wohl eher
eine Ungenauigkeit in der Dokumentation:
Am 07.11.2019 um 14:56 schrieb Bernhard Eversberg:
> FLEX-Befehl fetch rec
> ----------------------
> Dieser liest einen Datensatz aus der vorher mit open ... geöffneten Datei.
> Dazu eignen sich vier Typen von Dateien, die jeder allegro-Anwender hat.
> Jetzt liefert der Befehl für alle 4 Typen das gleiche Ergebnis. Der Satz landet
> immer zuerst in der iV, nicht sofort im Arbeitsspeicher. Dort hinein kriegt
> man den Satz nur, wenn man nach dem "fetch" noch schreibt:
> new 0 [neuen, leeren Satz im Arb.Speicher anlegen]
> insert [den eingelesenen Satz aus der iV in den Arb.Speicher kopieren]
>
> Für jeden Typ folgt hier ein Befehl, den man nur bei der DemoBank
> eingeben muß, um es mal sofort auszuprobieren:
> (Statt .a kann es jeweils auch .p oder .m oder sonst ein Konfig-Buchstabe sein)
>
> 1. .alg = Grunddatei exportiert mit i-1. at pr
> z.B. output.alg
> Befehl: x open output.alg\fet rec\ansi\sho IV
>
> 2. .adt = Externdatei, exportiert mit e-1. at pr
> z.B. output.adt
> Befehl: x open output.adt\fet rec\ansi\sho IV
>
Wenn man daraus eine Schleife macht, müsste die laut Dokumentation ja
ungefähr so aussehen:
open output.adt
:loop
fetch rec
if cancel jump ende
ansi
show IV
message Weiter // nur, damit der Satz nicht sofort weg ist
jump loop
end
:ende
message Fertig
Das klappt aber nicht. Es erscheint am Ende "-1" im Anzeigefenster und
die Meldung "Weiter" kommt in einer Endlosschleife. Mit
if ="-1",
wie beim Befehl "fetch b" beschrieben, kommt die Schleife zu ihrem
regulären Ende.
Beste Grüße,
Koczian
Mehr Informationen über die Mailingliste Allegro