Delphi : probleme de IF - Delphi/Pascal - Programmation
Marsh Posté le 08-05-2002 à 16:07:37
ca a l'air d'etre bon...
si tu le passes en debug, ca donne quoi !?
fait peut etre un ShowMessage(Socket.ReceiveText); avant les Ifs pour voir ce que ca contient !
aussi, verifie la casse (min/maj), le = rendra false dans le test text = 'Hello1' si text est egal a 'HELLO1'
Marsh Posté le 08-05-2002 à 16:14:33
JWhy a écrit a écrit : ca a l'air d'etre bon... si tu le passes en debug, ca donne quoi !? fait peut etre un ShowMessage(Socket.ReceiveText); avant les Ifs pour voir ce que ca contient ! aussi, verifie la casse (min/maj), le = rendra false dans le test text = 'Hello1' si text est egal a 'HELLO1' |
avec ShowMessage(Socket...)
c pareil, en fait ShowMessage marche que pour le 1er.
par contre, ya pas écrit 'Hello1' dans la boite, ya rien écrit !?
Marsh Posté le 08-05-2002 à 16:23:00
bon, ben je vais faire comme ca.
au moins, la ca marche :
Citation : procedure TForm1.ServerSocket1ClientRead(Sender: TObject; |
Marsh Posté le 08-05-2002 à 17:32:15
Bon j'étais pas là pour répondre, mais en effet tu ne peux interroger qu'une seule fois ReceiveText si tu veux comparer le texte reçu à plusieurs valeurs, donc la bonne solution est celle de la variable "texte"...
Sinon pour optimiser un peu ton code tu pourrais mettre des else :
if(....) then
show....
else
if(....) then
show....
else
if(....) then
show....;
Et pour la comparaison case-insensitive y a la fonction SameText(texte, 'hello1';
PS : text c'est pas un très bon nom de variable car il s'agit aussi d'un type de variable (handle de fichier texte).
[jfdsdjhfuetppo]--Message édité par antp le 08-05-2002 à 17:34:39--[/jfdsdjhfuetppo]
Marsh Posté le 08-05-2002 à 15:55:04
je comprend pas ce qui se passe.
quand jenvoi avec mon client, le texte 'Hello1', mon serveur maffiche bien 'Hello1' en ShowMessage.
mais si j'envoi Hello2, et Hello3, ca marche pas.
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
if Socket.ReceiveText = 'Hello1' then
ShowMessage('Hello1';
if Socket.ReceiveText = 'Hello2' then
ShowMessage('Hello2';
if Socket.ReceiveText = 'Hello3' then
ShowMessage('Hello3';
end;
en FAIT ya que le 1er IF qui marche. les autres sont pas comptés. me faut rajouter quoi pour que tous les IF soit vérifiés ?
[jfdsdjhfuetppo]--Message édité par jeep05 le 08-05-2002 à 15:59:49--[/jfdsdjhfuetppo]