Hi Mwerk,
das format ist *.ddb und das ist einfach nur die Dateiendung die ich ausgesucht habe, soweit ich weiss ist die vollkommen gleichgültig, die Datenbank ist einfach eine Typisierte Datei in die ich nichts weiter mache, als Variablen als record zu speichern, und für jede variable einen fest definierten Platz zu reservieren. Die Records werden dann auch genau so wieder ausgelesen. Das ist alles. Wenn das flasch/zu oberflächlich war dann bitte ich um Entschuldigung, mehr weiss ich nicht *schäm*. Bin halt noch ein relativer noob, programmiere erst seit wenigen Monaten und nur unregelmässig in Delphi, da ich viel als Webdesigner zu arbeiten habe im Moment.
Das Verhalten bei vielen Datenmengen kenne ich nicht aus Erfahrung, denn wie du siehst beansprucht meine Datenbank nur wenig Daten, aber ich nehme an, dass die Grösse der Datenbank dann sehr schnell in die Höhe geht, da ja, wie ich bereits vorher erwähnte immer ein fester Speicherplatz für jede Variable reserviert wird, egal wie gross diese nun ist, aber für meine Zwecke reichte diese Art Datenbank vollkommen aus. Der Quelltext zum schreiben einer datei ist ganz einfach:
Code:
function tDatenobjekt.DateiEnde:integer;
var f:File of tUrlaub;
begin
Datei:='Dateiname';
assign(f,Datei);
if not fileexists('Dateiname') then begin
rewrite(f);
close(f);
end;
reset(f);
Dateiende:=filesize(f);
close(f);
end;
Dies ist ein Ausschnitt aus meinem Programm, in dem ich das Ende der Datei ermittle, gleichzeitig erstelle ich die Datei, falls sie noch nicht existiert. Um einen Datensatz zu schreiben:
Code:
procedure tdatenobjekt.schreiben;
var f : file of tUrlaub;
begin
ps:=DateiEnde;
Datei:='Dateiname';
assign(f,Datei);
reset(f);
seek(f,ps);
write(f,Karte);
close(f);
end;
Wobei ps der Dateizeiger ist und Karte eine Variable von einem selber erstellten record-Objekts ist.
Ich hoffe ich konnte dir weiterhelfen.
Gruss
jan