[Allegro] Scheinbare Register oder Register-Maskerade

Thomas Berger ThB at Gymel.com
Mo Dez 17 23:08:45 CET 2012



Am 17.12.2012 22:48, schrieb Heinrich Allers:
> Ich habe es immer noch mit dem gleichen Thema!  :-((

Nein! Anderes Thema.

> 
> Folgendes Experiment habe ich in der Demo-Datenbank durchgeführt:
> 
> In cat.api habe ich unten im Fußabschnitt (hinter 'F') eingefügt:

voellig irrelevant.


> Dann habe ich einem beliebigen Titel die Signatur
> 
> #90 PH 60/100
> 
> verpaßt.
> 
> Schließlich habe ich auf die Datenbank folgende FLEX-Datei losgelassen:
> 
> var "|8 PH 60/100?"\find\var l\mes
> var "|8 PH 60/10?"\find\var l\mes
> var "|8 PH 6?"\find\var l\mes
> var "|8 PH ?"\find\var l\mes
> 
> Vier Treffermeldungen kommen dann: erstens 0, zweitens 1, drittens 0 und viertens 1 Treffer!
> 
> Da stimmt doch etwas nicht!?
> 
> Was tun? Feststellen, daß derzeit in "scheinbaren Registern" keine 'find'-Befehle angewandt werden 
> können oder dürfen? Oder bis auf weiteres auf Register-Maskerade komplett verzichten?

Die Umcodierung der Suchbegriffe im Register 8 erfolgt mit demselben
Unterprogramm #(O wie auch die Aufbereitung der Signaturen. Hierbei
werden (gewisse) numerische Anteile auf 5 Stellen rechtsbuendig
ausgerichtet.

Damit ist aber
PH 60/100   => |8ph   60/100
PH 60/10    => |8ph   60/10
PH 6        => |8ph    6
PH          => |8ph

d.h. "PH 6?" als Suchbegriff kann aufgrund der speziellen Aufbereitung des
Registers keine bzw. nicht die richtigen Treffer liefern.

Hingegen liefert "PH 60/100?" durchaus einen Treffer (Registermaskerade
hin oder her, die ist ja ohnehin nicht beteiligt, es haette aber ein
Fehler in a99 sein koennen).

Also: Man darf nicht trunkiert suchen in Registern, die pseudonumerisch
sortieren! (und wenn sie echt numerisch sortieren wuerden, duerfte man
es auch nicht)

viele Gruesse
Thomas Berger




Mehr Informationen über die Mailingliste Allegro