Hallo erstmal...
Folgendes Problem ich bin grad dabei ein kleines Login Programm zu schreiben wo das Programm erst Username und Passwort an einen Server sendet dieser diese entweder bestätigt oder ablehnt...
Der Client muss sich alle 10 min wieder authentifiezieren sonst schliesst sich das programm er sendet deshalb 2 verschiedene Strings einmal:
'1'+Username+';'+Password << beim erstenmal
'2'+Username+';'+Password << sonst
nun soll der server den string auswerten vom 2ten buchstaben bis zum ; username rest password und das kriege ich nich hin-.-
hier mein ansatz wo ich als ergebniss nur die ersten 2 Buchstaben kriege:
Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
s:String;
User:String;
Password:String;
Text:String;
i:Integer;
j:Integer;
k:Integer;
endstr:Integer;
Beginstr:Integer;
begin
k:=0;
j:=0;
s:=Socket.ReceiveText;
if s<>''
then begin
for i:=1 to length(s) do begin
if s[1] = '1'
then begin
if s[i] = ';'
then begin inc(j);
end
else
if s[1] = '2'
then begin
if s[i] = ';'
then inc(k);
end
end;
if j =1 then endstr:=j;
if k =1 then endstr:=k;
beginstr:=0;
s:=copy(s,beginstr,endstr-beginstr+1);
Label2.Caption:=s;
Socket.SendText(Text);
Label3.Caption:=Text;
end;
end;
end;
Naja wahrscheinlich nich nur falsch sondern auch sehr umständlich aber ich bräucht n bissl hilfe komm seit 2 tagen nich weiter...
Danke schonmal für jede form der hilfe...