Thema: Delphi Fehler in Schleife...

Einzelnen Beitrag anzeigen

billi

Registriert seit: 11. Sep 2003
Ort: Darmstadt
127 Beiträge
 
Delphi 5 Standard
 
#1

Fehler in Schleife...

  Alt 27. Jan 2004, 20:25
Hallo,
ich hab folgende Schleife:
Delphi-Quellcode:
  j := 0;
  while j <= high(Dateinamen) do
    begin
      // Schreiben
      try
        test := Dateinamen[j];
        ausg := StringReplace(str, vari1, Dateinamen[j], [rfReplaceAll, rfIgnoreCase]);
      except
        ausg := StringReplace(str, vari1, 'f1', [rfReplaceAll, rfIgnoreCase]);
      end;
      try
        test := Dateinamen[j+1];
        ausg := StringReplace(ausg, vari2, Dateinamen[j+1], [rfReplaceAll, rfIgnoreCase]);
      except
        ausg := StringReplace(str, vari2, 'f2', [rfReplaceAll, rfIgnoreCase]);
      end;
      try
        test := Dateinamen[j+2];
        ausg := StringReplace(ausg, vari3, Dateinamen[j+2], [rfReplaceAll, rfIgnoreCase]);
      except
        ausg := StringReplace(str, vari3, 'f3', [rfReplaceAll, rfIgnoreCase]);
      end;
      try
        test := Dateinamen[j+3];
        ausg := StringReplace(ausg, vari4, Dateinamen[j+3], [rfReplaceAll, rfIgnoreCase]);
      except
        ausg := StringReplace(str, vari4, 'f4', [rfReplaceAll, rfIgnoreCase]);
      end;
     Write(datei, ausg);
     j := j+4;
    end;
"vari1" enthält "{name1}", "vari2" enthält "{name2}", usw.

Wenn die Anzahl der Einträge in dem Array "Dateinamen" keine Vielfache von "4" ist, sieht die AUsgegebene Zeile so aus: {name1}{name2}{name3}f4
{name1} und {name2} hätten aber durch die letzten beiden Arrayelemnete ersetzt werden müssen und {name3} durch "f3".

Was hab ich da falsch gemacht?
gruß
billi

[edit=FuckRacism]Delphi-Syntax hinzugefügt, nimm bein nächsten Mal doch anstatt der Code-Syntax einfach die Delphi-Syntax. Mfg, FuckRacism[/edit]
  Mit Zitat antworten Zitat