Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ericmaicon

Login + clientsocket

Recommended Posts

Olá galera, bom...eu comecei a pouco no delphi e procurei aqui e em vários lugares mas não achei o que eu quero...

 

bom..eu estou fazendo um server com login...ai eu fiz um login via mysql( usei um tuto)..ele funcionou de boa....agora eu queria implementar colocando para que ele verificasse se está conectado ao server primeiro..usei um tuto tb...só que ele não mostra essa parte..

 

procedure Tfrm_cliente.bt_okClick(Sender: TObject);varsenha: string;nome: string;begintcp_cliente.Open;if tcp_cliente.Active = False then  begin	Sleep(1);	Application.MessageBox('Fail to connect into the server! Please, Try again later!','',MB_ICONERROR+MB_OK);	Application.ProcessMessages;	Application.Terminate;  endelse  begin	if(cmp_id.Text = '') then	 begin	  Application.MessageBox('Please, Fill the field ID!','',MB_ICONERROR+MB_OK);	  tentativas := tentativas+1;	  if tentativas > 3 then		begin		  Application.MessageBox('You try access the server 3 times! The server will turn off!','',MB_ICONERROR+MB_OK);		  Application.Terminate;		end	  else		begin		  cmp_password.Text := '';		  cmp_id.SetFocus;		  Abort;		end;	end;  if(cmp_password.Text = '') then	begin	  Application.MessageBox('Please, Fill the field Password!','',MB_ICONERROR+MB_OK);	  tentativas := tentativas+1;	  if tentativas > 3 then		begin		  Application.MessageBox('You try access the server 3 times! The server will turn off!','',MB_ICONERROR+MB_OK);		  Application.Terminate;		end	  else		begin		  cmp_id.Text := '';		  cmp_password.Text := '';		  cmp_id.SetFocus;		  Abort;		end;	end;	senha := cmp_password.Text;	With dt_modulo.query_sql do	  begin		close;		SQL.Clear;		SQL.Add('SELECT usuario, senha FROM user WHERE usuario ='''+cmp_id.Text+'''');		Open;		if IsEmpty then		  begin			Application.MessageBox('This user doesn''t exist!','',MB_ICONWARNING+MB_OK);			tentativas := tentativas+1;			if tentativas > 3 then			  begin				Application.MessageBox('You try to access the server 3 times! The server will turn off!','',MB_ICONERROR+MB_OK);				Application.Terminate;			  end		   else			  begin			   cmp_id.Text := '';			   cmp_password.Text := '';			   cmp_id.SetFocus;			   Abort;			 end;	  end		else		  senha := fieldbyname('senha').AsString;		  nome := fieldbyname('usuario').AsString;		end;		if senha <> cmp_password.Text then		  begin			Application.MessageBox('This user doens''t exist! Try to create a new account!','',MB_ICONWARNING+MB_OK);			tentativas := tentativas+1;			if tentativas > 3 then			  begin				Application.MessageBox('You try to access the server 3 times! The server will turn off!','',MB_ICONERROR+MB_OK);				Application.Terminate;			  end			else			  begin				cmp_password.Text := '';				cmp_id.Text := '';				cmp_password.SetFocus;				Abort;			  end;			end		else		  begin			frm_char.showmodal;			tcp_cliente.Socket.SendText('Um usuário conectou:'+nome);		  end		end;  end;

 

meio grande...hehe...bom, essa é a parte que testa se está conectado:

 

if tcp_cliente.Active = False then

begin

Sleep(1);

Application.MessageBox('Fail to connect into the server! Please, Try again later!','',MB_ICONERROR+MB_OK);

Application.ProcessMessages;

Application.Terminate;

end

 

bom..nao sei se está certo!

 

Espero que possam me ajudar!

 

Obrigado,

Eric Maicon

 

Edit: bom, queria saber tb que se eu já estiver conectado ao pc(via outro..pelo tcp) ele já considera o mysql como se fosse local...se eu não preciso usar o ip no mysql..entenderam?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poderia explicar melhor o que deseja fazer ? você mencionou socket, mas no seu fonte não tem nada relacionado. Se é conexão com mysql, isto é outro coisa, tente explicar e detalhar melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.