also prinzipiell kannst du zum speichern auch ne ini datei verwenden, ist halt nur mehr aufwandt (finde ich)
sollte dann ca so aussehen
Delphi-Quellcode:
type info = record user,company,entry:String[255];end;
var testinfo:array[0..100] of info;
...
for i:=0 to usermax do begin
try
ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+ '\IniFiles\' + 'Informationen.ini');
Ini.ReadString(testinfo[i].entry, 'Name', Testinfo[i].user);
Ini.ReadString(testinfo[i].entry, 'Firma', Testinfo[i].company);
finally
Ini.Free;
end;
end;
..
bzw zum schreiben:
Delphi-Quellcode:
for i:=0 to usermax do begin
try
ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+ '\IniFiles\' + 'Informationen.ini');
Ini.WriteString(testinfo[i].entry, 'Name', Testinfo[i].user);
Ini.WriteString(testinfo[i].entry, 'Firma', Testinfo[i].company);
finally
Ini.Free;
end;
end;
oder du machst das mit ner Stringlist,
Delphi-Quellcode:
type info = record user,company:String[255];end;
var testinfo:array of info;
sl:TStringlist;
..
sl:=TStringlist.create;
sl:=loadfromfile('{Pfad/Dateiname}');
setlength(testinfo,sl.count-1);
...
for i:=0 to sl.count-1 do begin //lesen
testinfo[i].user:=copy(sl[i],1,pos(';',sl[i])-1);
testinfo[i].company:=copy(sl[i],pos(';',sl[i])+1,length(sl[i])-pos(';',sl[i])-1);
end;
{lass dich von dem ganzen zeug nicht irritieren, das nur zum unterscheiden zw. name und firma (also einmal text bis zum semikolen, bzw. von da bis zum ende}
..
sl.clear; //bzw schreiben
for i:=0 to usermax do
sl.append(testinfo[i].user+';'+testinfo[i].company);
sl.savetofile('{Pfad/Dateiname}');
...
in beiden varianten hast du nun die liste der namen und firmen in nem array stehen, lediglich das dateiformat unterscheidet sich, die Stringlist file sieht wie folgt aus:
name1;firma1
name2;firma2
name2;firma3
und die inifile:
[Testinfo[1].entry]
Name = name1
Firma= firma1
[Testinfo[2].entry]
Name = name2
Firma= firma2
[Testinfo[3].entry]
Name = name3
Firma= firma3
was du im endeffekt nimmst ist egal, die version mit der TStringlist hat den vorteil, das du das array nicht beschränken musst (dynamic array) , bei der inifile weißt du nicht im vornherein, wieviele einträge drinne stehen.
noch ne idee wäre das in ner data file zu speichern, du deklarierst deine einträge in nem record und speicherst das record in ne *.dat datei, mit der kannste auch arbeiten, musst dich aber ein bissel reinfuchsen, funnzt aber auch mit normalen pascal, also das ist so die grundlage schlecht hin, aber nicht sehr benutzerfreundlich, und die datei ist im endeffekt schlecht gegliedert und kann schlecht bearbeitet werden