Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
Delphi 10.3 Rio
|
Re: Welche DB soll ich verwenden ?
25. Sep 2008, 09:06
Oder... und Schneller geht es nicht... (Wofür war die 713) ?
Delphi-Quellcode:
type
Str6 = String[6];
Str20 = String[20];
Str60 = String[60];
Str80 = String[80];
TCooledaten = record
Nachname : Str80;
Vorname : Str80;
Strasse : Str80;
PLZ : Str6;
Ort : Str60;
frei : array[1..713] of byte; // Denksportaufgabe woher kommt die 713?
end;
TCoolerIDX = record
Nachname : Str20;
SeekNr : longint;
end;
TAlleDaten = array[0..1023] of TCooledaten;
TAlleIDX = array[0..1023] of TCoolerIDX;
var
fd_dat : file of TCooledaten;
fd_dat2 : file of TAlledaten;
fd_idx : file of TCoolerIDX;
fd_idx2 : file of TCoolerIDX;
Path : array[0..Max_Path] of char;
Cooldaten : TCooledaten;
CoolIDX : TCoolerIDX;
AlleDaten : TAlleDaten;
AlleIDX : TAlleIDX;
i : integer;
begin
SHGetFolderPath(0,CSIDL_PERSONAL,1,0,@Path[0]); // Vista!
if {Alles im Speicher}
then begin
Assignfile(fd_dat2,Path+'\Meinprogramm\Daten\Coolbase.dat');
Assignfile(fd_idx2,Path+'\Meinprogramm\Daten\Coolbase.idx');
end;
else begin
Assignfile(fd_dat,Path+'\Meinprogramm\Daten\Coolbase.dat');
Assignfile(fd_idx,Path+'\Meinprogramm\Daten\Coolbase.idx');
end;
{$I- }
reset(fd_dat);
if IOResult <> 0 then
Rewrite(fd_dat);
{$I+}
if {Alles im Speicher}
then begin
Blockwrite(fd_Dat2,AlleDaten);
Blockwrite(fd_idx2,AlleIDX);
end
else begin
for i:=0 to 1023 do
begin
Blockwrite(fd_dat,Cooldaten);
CoolIDX.Name := copy(Cooldaten,1,20);
CoolIDX.SeekNr := i;
Blockwrite(fd_idx,Coolidx);
end;
end;
Closefile(fd_dat);
Closefile(fd_IDX);
|
|
Zitat
|