Question idiote ??

Signaler
Messages postés
833
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
3 novembre 2005
-
Messages postés
833
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
3 novembre 2005
-
Hello !!

J'aurais besoin d'un petit coup de main :
J'essaye d'utiliser des sockets, et en particulier de recevoir correctement le texte envoyé puis de le mettre dans un TMemo... Seulement j'arrive pas à "reconnaître" si la touche [ENTREE] a été pressée...

Pour être plus clair, voici ce que je voudrais faire :
If Socket.ReceiveText = ?? Then Memo.Lines.Add('')

Ca doit vraiment être un truc tout bête, mais je vois pas... :blush) J'ai essayé plusieurs soluces et rien ne marche, alors j'espère que l'un de vous pourra m'aider !!

Merci d'avance :big)
Bestiol.

3 réponses

Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Euh...et :
Memo1.Lines.AddStrings(Socket.ReceiveText)

çà fonctionne ?
La propriété Receivetext est de type TStrings de même que la propriété Lines de Memo1.

Je l'ai simulé avec 2 composants mémo, ce là fonctionne, alors pourquoi pas avec un socket.

Le type TStrings découpe les chaines dès qu'il détecte un caractère CrLf et construit automatiqement un tableau de chaînes qu'il suffit d'affecter à Memo pour le visualiser.

May Delphi be with you.
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Et d'un j'ai dû mal comprendre la question :
La touche entrée a comme code ASCII 13 :

If Pos(#13, Socket.ReceiveText) > 0 then
Then Memo.LLines.Add('');

et de deux; la propriété ReceiveText n'est pas de type TStrings mais de type String ! Tu peux donc l'ajouter quand même mais d'une autre façon :

Memo.lines.add(Socket.ReceiveText).

May Delphi be with you.
:blush)
Messages postés
833
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
3 novembre 2005
1
Merci pour ta réponse, Delhpiprog !!

Ce que tu me propose me paraît intéressant, mais je crois que moi même avait fait une petite erreur...

Mon problème principal était surtout d'envoyer le saut de ligne... Mais j'ai [enfin] la solution !! Il suffisait de faire
If Key = VK_RETURN Then Server.Socket.Connections[0].SendText(#13#10);

Merci encore, je vais essayer ta soluce pour la "réception" !!
Bestiol.