· Text 3437 · w8 · inlagg
Jag tyckte att ett eget registerprogram med ISAM betedde sig
lite underligt och hämtade programmet Isamchek från
programbanken.
Som väntat spottade Isamchek ut en massa förbannelser över
ordningen i min ISM-fil, varför jag reorganiserade registret en
natt (för tillfället drygt tusen poster med fyra nycklar).
Sedan körde jag igång Isamchek igen, och fann att ordningen
** inte ** ansågs bättre trots att jag byggt upp ISAM-filerna
från scratch.
Outputen från programmet begriper jag väl inte så mycket av, men
att det bara var INTEGER-indexen som var angripna, det begrep
jag. Och så började jag bygga upp en kopia till av registret,
men swappade fälten med Integer-nycklar och angav dem som BINÄRA
fält - och si, nu hade Isamchek inget att klaga över.
Jag har inte hunnit kolla om registerprogrammet beter sig lika
egendomlig fortfarande.
Vad som hände var att jag ville gå igenom alla poster som hade
nyckeln ROT = 0 och i vissa fall ändra nyckeln, och sedan
fortsätta med nästa post.
MEN i stället för nästa post fick jag tillbaka den första posten
hela tiden.
ISAM READ # A¤ INDEX 'ROT' NEXT
WHILE
ISAM READ # B¤ INDEX 'ROT' NEXT
! bearbetar A¤ to Ut¤
ISAM UPDATE # A¤ TO UT¤ ! Index ROT ändrat.
ISAM READ # A¤ INDEX 'ID' KEY LEFT¤(B¤)
WEND
Isamcheks ogillande kan väl bero på två saker:
1/ Bugg i Isamchek avseende regler för t ex halvfyllda
sektorer med Integer-nycklar
2/ Bugg i ISAM (min version kommer från Systemskiva vers 6.3
Är det någon som vet ???
--- vänliga hälsningar!