[Allegro] acon: if Del ... nach fetch record
Thomas Berger
ThB at Gymel.com
Di Jun 15 21:16:22 CEST 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Lieber Herr Eversberg,
>> inwiefern ist "if Deleted" davon verschieden?
>>
> "if del" bezieht sich auf den aktuellen, regulär geladenen Satz. Das
> darf nicht mit dem per "fetch rec" gelesenen vermengt werden.
ah, ich dachte er sei geladen, nur halt unter Verzicht des
Ausbreitens der Kategorien in den Arbeitsspeicher.
Dann sollte man das evtl. ganz getrennt lassen:
1. "fetch record" parkt den gelesenen Satz in der iV2 (die kennt acon doch
auch?), und in der iV werden einige Meta-Informationen plaziert: Status,
interne Satznummer, Anzahl Kategorien, Laenge in Bytes oder so
(als Liste, genutzt werden die CString-codes, die ein regulaerer Satz
haette:
n, iR=n, k0=n, jf=n, jp=n
[bislang war es stets ein Problem, dass man zwar die interne Satznummer
wusste, aber keine Ahnung hatte, an welcher Stelle der Datei der
Kandidat sass, bei Inkonsistenzen kam man ja z.B. ueber die regulaere
Bearbeitung nicht dran. Also: Es gibt im Zusammenhang mit dem sequentiellen
Lesen von Saetzen aus Dateien eine Vielzahl an Informationen, die
nuetzlich sein koennten. jp gibt angeblich die Laenge in Bytes an,
ich koennte mir noch ein weiteres Kuerzel vorstellen, dass die fetch-
record-Vorgaenge seit Oeffnen der jeweiligen Datei mitzaehlt]
2. wg. #u1 @@@@@ bzw. #u1 ####nnn etc. bin ich mir nicht ganz schluessig:
in Grunddateien ist es eine legale Kategorie, in der Datenbank nicht,
d.h. entweder beim "ins" oder beim "put" muessen sie vernichtet werden.
Aus Gruenden der SRCH-Kompatibilitaet waere letzteres besser.
3. Ein neuer, universell nutzbarer set -Subbefehl erlaubt das explizite
Setzen der aktuellen Satznummer (in Bezug auf die ueber -b stets
spezifizierte Datenbank), ixadd kennt etwas aehnliches.
4. Ein neuer CString reflektiert die Theorie von acon, ob es gerade eine
.alg, .ald, .adt oder .log-Datei einliest (bislang muss man separat
die Extension der gerade geoeffneten Datei auswerten und wehe man
kommt zu einem anderen Schluss als acon selbst)
damit saehe ein Export nicht viel anders als jetzt aus
fetch record
if "9" jump naechster // geloeschter Satz
new
// die folgenden beiden Zeilen sind dann noetig, wenn man #nr in
// Exporten benoetigt oder den Satz mit "put" gezielt in
// die Datenbank schreiben will
var (b"iR=" e",") // Original-Satznummer
set xyz // dem aktuellen Satz zuweisen
// jetzt sollte der Effekt erreicht sein, den wir auch so haetten
// bekommen koennen, nur viel aufwendiger:
// Satznr. ermitteln, Satz mit find aus der Datenbank holen
// alle Kategorien loeschen
var $ // iV2 -> iV
ins // nun sind die Kategorien im Satz
...Tests...
export
...
viele Gruesse
Thomas Berger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iJwEAQECAAYFAkwX0YYACgkQYhMlmJ6W47OiVQQAqWT/QH2oyMKCaFioAHvgfn4e
qo40QK3bkZgH6qXJkmOzavh04O0gRmp0fxWVbLDH7XJ6Cgpy+wZFMmPNSIN6ASeq
XpmpQ/bWzH+PtNbAhYtWAyCDbkyACftM+znoP40P7frg6HLANeprKhPCrU+r2O8W
vtDGQ7MAbvUBKFfYLTA=
=/6Y0
-----END PGP SIGNATURE-----
Mehr Informationen über die Mailingliste Allegro