[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