Zitat von
DJ-SPM:
Kann mir da keiner Helfen??
Du brauchst einen kleinen Grundkurs.
Also, wenn du eine Datei hast, kannst du nicht einfach aus der Mitte oder Anfang ein Stück
herausschneiden, ohne dass du einen relativ grossen (Kopier-)Aufwand hast.
Deshalb wird bei einer "richtigen" Datenbank ein
Flag verwendet, das angibt, ob der Datensatz
gültig oder gelöscht ist. Beim DBase-Format ist dies z.B. das 1. Zeichen eines Record (' '=OK, '*'=Gelöscht).
Mit der Zeit enthält deine Datei immer mehr Löcher mit gelöschten Datensätzen.
Dann ist es an der Zeit die Datei zu komprimieren. Dazu braucht die Komprimierfunktion
nur die Satzlänge zu kennen.
Luckie gab den Vorschlag:
"... und kopiere den letzten Datensatz an die Stelle des zu löschenden Datensatzes und fertig". (Zusätzlich muss man die Datei noch mit Truncate um einen Satz kürzen)
Dies ist relativ effektiv, allerdings wird die Reihenfolge der Datensätze geändert.