Ich bins wieder
mancher mag sich vllt noch an mich erinnern
Es ist wieder relativ viel Quellcode aber ich bemühe mich nur das wichtigste zu schreiben den rest werd ich mit ... "rauskommentieren" und kurz schreiben was das macht
Das Problem ist das in der Datei 'hunter.dat' am ende immer nur der zuletzt eingefügte Datensatz steht und ich nicht weiß warum
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var users:
file Of Thunter;
hilf:
array of Thunter;
Bots:
file of Tbot;
bot:
array of Tbot;
tmpbot: Tbot;
acc:
string[40];
c,fa,
fb:boolean;
i,k,j,p,l:integer;
hs,hs2:
string;
begin
Button1.Enabled:=false;
i:=0;
c:=true;
if Fileexists(ExtractFilePath(ParamStr(0))+'
bots.dat')
then
Begin
// ... einlesen der vorhandenen Daten aus den Files das sollte eigentlich stimmen drum lass ich das hier weg ;) anzahl der Einträge in den Botlisten in k gespeichert
Try
If memo1.Lines.Count=2
then //Beginn einlese algorythmus aus dem Memo
Begin
hs:=memo1.lines[0];
hs:=trim(hs);
Acc:=hs;
hs:=memo1.Lines[1];
hs:=trim(hs);
if hs[length(hs)]<>'
;'
then
hs:=hs+'
;';
fa:=true;
repeat
// ... Die im Memo stehenden Daten werden zerlegt und in tmpbot abgespeichert
for I := 0
to high(hilf)
do
Begin
if ansilowercase(hilf[i].Acc)=ansilowercase(acc)
then
Begin
fa:=false;
hilf[i].Score:=hilf[i].Score+haddbot(tmpbot,hilf[i].botl);
end
ELSE
Begin
if (i=high(hilf))
and fa
then
Begin
setlength(hilf,high(hilf)+2);
fa:=false;
hilf[i].Acc:=acc;
hilf[i].Botl[0]:=tmpbot;
case hilf[i].Botl[0].Botlvl
of
0..90:hilf[i].Score:=1;
91..94:hilf[i].Score:=2;
95..96:hilf[i].Score:=4;
97:hilf[i].Score:=6;
98:hilf[i].Score:=10;
99:hilf[i].Score:=20;
end;
end;
end;
end;
c:=addbot(tmpbot,bot);
I:=0;
if c
then inc(k);
until hs='
';
end;
//ende des einlese algorythmus in Botlisten
assignfile(bots,ExtractFilePath(ParamStr(0))+'
bots.dat');
Sortierb(bot);
rewrite(bots);
i:=0;
while (i<=high(bot))
do
Begin //hier is dann halt das speichern der Daten die in den Arrays stecken in die Dateien
if bot[i].botname<>'
'
then Write(bots,bot[i]);
inc(i);
end;
Closefile(bots);
//ende Botliste
AssignFile(users,ExtractFilePath(ParamStr(0))+'
hunter.dat');
Rewrite(users);
sortierH(hilf);
i:=0;
while (i<=high(hilf))
do
Begin
if hilf[i].Acc<>'
'
then
Write(users,hilf[i]);
inc(i);
end;
closefile(users);
Memo1.Text:='
';
Button1.Enabled:= true;
Except
//Fehlerbehandlung (bei exceptions) die klappt auch ganz gut :D
end;
end;
Bitte schimpft nicht zu sehr mit mir weil das schon wieder so viel Quelltext ist aber die Liste der Hunter will einfach immer nur den zuletzt gespeicherten behalten
und das Forum is einfach SUPI