La fonction SEND

Résolu
Utilisateur anonyme - 22 oct. 2005 à 21:01
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 - 23 oct. 2005 à 19:43
Bonjour à tous,


Voila j'ai 2 petites questions :

*on réalise un socket entre un serveur et un client.

Le serveur envoye le message "adressemail" au client par un send puis une adresse mail genre FRANCKY@blabla.fr

Quand le client recoit le message "adressemail" il comprend qu'il va recevoir un autre message (l'adresse mail) sous forme de texte, qu'il va devoir définir un array of byte nommé adresmail et faire adresmail=prochain message recu apres "adressemail".

Comment faire ???????

*Deuxième question :

Quelles sont les différentes de la fonction send.text ????
Si vous voulez on peut envoyer autre chose que du texte et si oui comment faire alors ??

Merci d'avance

9 réponses

ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
23 oct. 2005 à 12:57
Tu peux tout envoyer dans un seul message avec un caractère de séparation, ce serait plus pratique.

Par exemple, le serveur envoie :

MailAddress|francky@blabla.fr



Ensuite, le client découpe le message :

var

line : string;



line := [message reçu] ;

if Copy(line, 1, Pos('|', line)-1 ) = 'MailAddress' then

ShowMessage( 'Adresse mail reçue : ' + Copy(line, Pos('|', line)+1, Length(line)) );

@+


Nico { http://www.ni69.new.fr/ }






<hr size="2" width="100%">

N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
3
Utilisateur anonyme
23 oct. 2005 à 14:01
Merci Ni69 c'est exactement ce que je voulais.

Cependant peux tu m'éclaircir sur certains points stp :

if Copy(line, 1, Pos('|', line)-1 ) = 'MailAddress'

quelle est la signification précise du 1, du 'l' et donc de Copy(line, 1, Pos('|', line)-1 )
et Length(line) stp ?????
merci
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
23 oct. 2005 à 14:13
Petite explication de ces fonctions :


<li>la fonction Copy( Str , a , b ) renvoie une chaîne de caractères présente dans une chaîne principale Str à partir du caractère numéro a, et de longueur b. Donc par exemple : Copy( 'abcdefgh' , 2 , 3) renverra 'bcd'</li>
<li>la fonction Pos(SubStr, Str) renvoie la position de la sous-chaîne SubStr dans la chaîne Str. Si la sous-chaîne n'est pas trouvée, la fonction renvoie 0. Par exemple : Pos('e', 'abcdefgh') renvoie 5</li>
<li>Length( Str ) renvoie le nombre de caractères de la chaîne Str</li>
<li>le caractère '|' est
le caractère que j'ai choisi comme caractère de séparation. Tu peux en
prendre un autre si tu veux, mais celui-là est pratique car il n'est
pas utilisé dans les adresses mail et pratiquement jamais dans les
autres types d'infos.

</li>

@+

Nico { http://www.ni69.new.fr/ }




<hr size="2" width="100%">

N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
0
Utilisateur anonyme
23 oct. 2005 à 15:28
*Explication parfaite

*Maintenant sans vouloir trop abusé. Est ce que l'on peut transferer le contenu d'un mémo du serveur au client par la commande SEND et si oui comment ??

Promis après je te laisse tranquille.

Merci pour tout
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
23 oct. 2005 à 16:21
Pourquoi ne pas transférer le contenu du memo sous forme de chaîne ?

Memo.Lines.Text

@+

Nico { http://www.ni69.new.fr/ }




<hr size="2" width="100%">

N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
0
Utilisateur anonyme
23 oct. 2005 à 17:17
Bah en fait je veux transferer le mémo du serveur au client et qu'il s'affiche chez le client en mémo.

Concrètement je ne sais pas comment on fait pour transférer le contenu du memo sous forme de chaîne

Merci pour ton aide
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
23 oct. 2005 à 18:51
Ben tu envoies Memo.Lines.Text de la même manière que tu enverrais n'importe quelle variable string, étant donné que Memo.Lines.Text renvoie une string !




Si tu comptes utiliser mon principe, il te faudra envoyer ceci par ton serveur :

( 'MemoText|' + Memo.Lines.Text )


Pour la réception, il suffira de modifier légèrement mon code du dessus :

var
line : string;

line := [message reçu] ;
if Copy(line, 1, Pos('|', line)-1 ) = 'MemoText' then

Memo.Lines.Text := Copy(line, Pos('|', line)+1, Length(line));

@+

Nico { http://www.ni69.new.fr/ }




<hr size="2" width="100%">

N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
0
Utilisateur anonyme
23 oct. 2005 à 19:17
Merci pour tout
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
23 oct. 2005 à 19:43
de rien

@+

Nico { http://www.ni69.new.fr/ }




<hr size="2" width="100%">

N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
0
Rejoignez-nous