Det du ser for dig er en database.
Men prøv engang at holde øje med diskforbruget for en stor databasefil mens der tilføjes eller fjernes en række. De bruger helt sikker 2-filer metoden. for at undgå den forskrækkelige situation hvor noget går galt midti så de mister hele resten af databasen.
Med en index-sekventiel fil (det findes helt sikkert i pascal(delphi) ved ikke med C++) kan du skrive til de enkelte blokke i en fil. og hvis filen så er 'formatteret' på en måde der er til at hitte ud af kan du evt gøre det direkte.
Formateringen kunne fx bestå af headers foran hver datagruppe i filen hvor headeren fortæller hvor stor næste gruppe er og hvad type data der er i den. så tilføjer du blot en datatype for 'slettet' som du så kan indskrive når noget skal fjernes. Data ligger der stadig, men bliver ignoreret.
Hvis man må forvente at der sker mange ændringer i den fil, kan det dog gå hen og ende med at filen selv bliver uacceptabelt lang fordi den efterhånden bliver helt fuld af 'døde' data.
prøv at lede på 'index sekvential' om det kan bruges. fx:
http://www.dcs.gla.ac.uk/~iain/keith/data/concepts/142.htmmvh JakobA