Moinzen...
irgendwie starr ich hier die ganze zeit auf nen
fehlerfreien code und doch klappt es nicht, wie ich es mir vorstelle...
kurz dazu gesagt: das ganze ist ein Codegenerator für mein internetcafe system...
das ding holt sich ein
html template und setzt dabei zufallcodes ein.
Wenn man aber nun mehr als eine seite von diesen Codes erstellt,
dann hat man praktisch mehrmals die identische seite...
ich mache das ganze so.. ich hab ein array das 540 felder hat.
ich nehme dann eine for schleife und weise jeden der 540 einen zufallscode zu
dann habe ich einen couter der immer eins höher zählt und somit einen anderen code in das leere feld reindrückt...
nur setzt sich der counter nach jedem for aufruf der variable seite auf 0 zurück
hier ist der code um mir evtl. besser helfen zu können...
Delphi-Quellcode:
procedure TForm1.generierenClick(Sender: TObject);
var
datei, ordner, sect, ag: String; seiten, vorgang1, vorgang2, vorgang3, codeg, counter: Integer;
code : array[1..540] of String;
begin
ordner := '.\codeliste\' + getdate + '-' + gettime;
mkdir(pchar(ordner));
counter := 0;
tpl.Clear;
try
tpl.Lines.LoadFromFile('.\code.tpl');
except
application.MessageBox('Konnte das Code Template nicht finden!'+#10#13+'Das Programm wird beendet!', 'Fehler!', 16);
halt;
end;
tpl.Text := StringReplace(tpl.Text,'[titel]',kartenname.Text,[rfIgnoreCase]);
randomize;
for codeg := 1 to 540 do
begin
code[codeg] := inttostr(random(9)) + inttostr(random(9)) + inttostr(random(9)) + inttostr(random(9)) + inttostr(random(9)) + inttostr(random(9)) + inttostr(random(9)) + inttostr(random(9));
end;
for seiten := 1 to anzahl.Value do
begin
for vorgang1 := 1 to 27 do
begin
counter := counter + 1;
tpl.Text := StringReplace(tpl.Text,'ccfg',code[counter],[rfIgnoreCase]);
if st.ItemIndex = 1 then
begin
sect := 'teeny';
ag := 'ST';
end else
begin
sect := 'codes';
ag := '';
end;
codeini.WriteString(sect, code[counter], inttostr(zeit.Value));
end;
for vorgang2 := 1 to 27 do
begin
tpl.Text := StringReplace(tpl.Text,'[z]',inttostr(zeit.Value)+' Minuten ' + ag,[rfIgnoreCase]);
end;
for vorgang3 := 1 to 27 do
begin
tpl.Text := StringReplace(tpl.Text,'krtn',kartenname.Text,[rfIgnoreCase]);
end;
datei := 'Seite' + inttostr(seiten) + '_' + inttostr(zeit.Value) + 'Min.html';
tpl.Lines.SaveToFile(ordner + '\' + datei);
end;
application.MessageBox('Codes erfolgreich generiert!', 'Info', 64);
shellexecute(0, 'open', pchar(dir + ordner), nil, nil, 1);
end;
MFG
EDIT: Code war unvollständig