Delphi-Quellcode:
procedure TFormstart.ButtonPWspeichernClick(Sender: TObject);
begin
// ...
for i:=1 to length(editPWeingabe.text) do
begin
// Hier fügst du (mit jedem Durchlauf der Schleife) eine leere Zeile in die Memo ein
FormStart.Memo2.Lines.Add('');
// ... und speicherst sie mit in die Datei (... auch bei jedem Durchlauf)
FormStart.Memo2.Lines.SaveToFile('pw1.txt');
end;
showmessage('Passwort erfolgreich geändert!');
end;
Delphi-Quellcode:
procedure TFormStart.ButtonPWladenClick(Sender: TObject);
// ...
begin
// ...
while not eof(tf) do
begin
readln(tf,zeile);
a:=strtoint(zeile); //<-- Hier wird der Fehler angezeigt, ... weil er versucht, leere Zeilen (die du oben beim Speichern eingefügt hast) in einen Integer zu konvertieren.
z:=chr(a-s);
neu:=neu +z;
end;
// ...
end;
1) Breakpoints, Debugger, F7, F8, ... Dann wären dir die meisten Probleme deines Codes schon vorher aufgefallen.
2) Deine Code-Einrückung ist furchtbar.
3) Warum speicherst du oben die Datei bei JEDEM Durchlauf der for-Schleife?
4) Warum fügst du bei JEDEM Durchlauf der for-Schleife eine leere Zeile ein?
FormStart.Memo2.Lines.Add('');