Wenn im Edit_Benutzername.Text 'Haus' steht, dann steht auch 'Haus' in der Stringliste und im Memofeld.
Es wird aber immer wieder ein neuer Nutzer erstellt, bzw. die Textdatei überschrieben. Ich möchte ja, dass die Textdatei nicht überschrieben wird.
Zitat:
Zunächst einmal kann dieser Code nicht funktionieren, also nehme ich an daß es sich hierbei um einen Extrakt handelt. Nur ist dieser Extrakt wenig aussagekräftig, da Du pos auf eine leere Stringliste anwendest. Da wird niemals eine Message angezeigt.
Gruß
K-H
Doch da steht was drinne, siehe hier:
https://gyazo.com/43beb118f53398fa28cc602e76d46b8a
Delphi-Quellcode:
procedure TFormReg.ImageREGISTRIERUNGClick(Sender: TObject);
var
i, a, s, anz, index: integer;
fpw: array [1..100] of integer;
z: char;
tf: textfile;
sl: Tstringlist;
passw, neu, zeile :string;
begin
if (Edit_Benutzername.Text = '')
or (Edit_Loginname.Text = '')
or (Edit_PW.Text = '')
or (Edit_PW.Text = '')
or (Edit_Benutzername.Text = ' Benutzername')
or (Edit_Loginname.Text = ' Loginname')
or (Edit_PW.Text = ' Passwort')
or (Edit_PW_1.Text = ' Passwort wiederholen')
then
begin
showmessage('Bitte überprüfen Sie alle Ihre Eingaben!');
Edit_Benutzername.Text := ' Benutzername';
Edit_Loginname.Text := ' Loginname';
Edit_PW.Text := ' Passwort';
Edit_PW_1.Text := ' Passwort wiederholen';
Edit_PW_1.PasswordChar := #0;
Edit_PW.PasswordChar := #0;
Edit_Loginname.PasswordChar := #0;
end
else
begin
if (Edit_Benutzername.Text) = (Edit_Loginname.Text) then
begin
showmessage('Der Benutzername darf nicht mit dem Loginnamen gleich sein, da der Loginname als Passwort dient!');
Edit_Benutzername.Text := ' Benutzername';
Edit_Loginname.Text := ' Loginname';
Edit_PW.Text := ' Passwort';
Edit_PW_1.Text := ' Passwort wiederholen';
Edit_PW_1.PasswordChar := #0;
Edit_PW.PasswordChar := #0;
Edit_Loginname.PasswordChar := #0;
end
else
if (Edit_PW.Text <> Edit_PW_1.Text) and (Edit_PW.Text <> ' Passwort')
and (Edit_PW_1.Text <> ' Passwort wiederholen') then
begin
showmessage('Die Passwörter stimmen nicht überein!');
Edit_Benutzername.Text := ' Benutzername';
Edit_Loginname.Text := ' Loginname';
Edit_PW.Text := ' Passwort';
Edit_PW_1.Text := ' Passwort wiederholen';
Edit_PW_1.PasswordChar := #0;
Edit_PW.PasswordChar := #0;
Edit_Loginname.PasswordChar := #0;
end
else
begin
Benutzername := Edit_Benutzername.Text;
sl := tstringlist.Create;
sl.Sort;
Memo_Stringlist.Lines := sl;
// for i := 0 to Memo_Stringlist.Lines.Count-1 do
if pos(Benutzername,Memo_Stringlist.Text) > 0 then begin showmessage('true');
showmessage('Es existiert bereits ein Benutzer mit diesem Namen!');
Edit_Benutzername.Text := ' Benutzername';
Edit_Loginname.Text := ' Loginname';
Edit_PW.Text := ' Passwort';
Edit_PW_1.Text := ' Passwort wiederholen';
Edit_PW_1.PasswordChar := #0;
Edit_PW.PasswordChar := #0;
Edit_Loginname.PasswordChar := #0;
end
else
begin
s:=strtoint(Edit_pw.text);
for i:=1 to length(edit_Loginname.text) do
begin
fpw[i] :=ord(edit_Loginname.text[i]);
Memo_Login.Lines.Add(inttostr(fpw[i]+s));
end;
Memo_Login.Lines.SaveToFile('\Memory\Benutzer\'+Benutzername+'.txt');
sl.Insert(random(sl.Count),Benutzername);
Memo_Stringlist.Lines := sl;
showmessage('Ihr Account wurde erfolgreich bei uns registriert.');
FormLogin.Show;
FormReg.Close;
Edit_Benutzername.Text := ' Benutzername';
Edit_Loginname.Text := ' Loginname';
Edit_PW.Text := ' Passwort';
Edit_PW_1.Text := ' Passwort wiederholen';
Edit_PW_1.PasswordChar := #0;
Edit_PW.PasswordChar := #0;
Edit_Loginname.PasswordChar := #0;
end;
end;
end;