Trouver le nombre de caractere dans une chaine (LEN) et création d'une petit pro

Résolu
cs_Jerem_ Messages postés 14 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 9 février 2006 - 29 nov. 2004 à 17:53
cs_Jerem_ Messages postés 14 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 9 février 2006 - 29 nov. 2004 à 18:31
Salut à tous !

Je suis débutant en Delphi et j'ai deux petit problemes :(

1] J'aimerais trouver le nombre de caractéres se trouvant dans une chaîne par exemple, comme le Len() en VB et le $Len() en mIRC Scripting.

J'ai asseyer ces petits code mais sans résultats :( ;

Edit1.Text := Len('Jerem');
-
Edit1.Text := Length('Jerem');

Auncun des deux ne marche ..

2] Mon seconde probleme, c'es que je ne parvient pas à crée une procédure qui va me "répondre".
Voici un exemple pour que se soie plus clair ;

Edit1.Text := La_jolie_precedure('Jerem');

J'aimerais que cette procédure place "Jerem" suivit de "123" dans mon edit (C'es sans interret mais c'es un exemple !).

Voila, j'ai asseyer d'être le plus clair possible dans mes questions (Et ca n'as pas été facil :P).

Merci pour vos futures réponses :)

A+

2 réponses

Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
29 nov. 2004 à 18:27
Bonjour Jerem_,

pour répondre à ta première question, la réponse est dans la question. Pour avoir le nombre de caractère contenu dans une chaine de caractère il faut utilisé Length. Le seul problème c'est que tu prends pas en compte le type de retour de cette fonction. Pour l'afficher dans un TEdit il faut le formater en String et non utiliser la valeur brut de retour car c'est un entier.

exemple :
  Edit1.Text := IntToStr(Length('Jerem'));


pour ce qui est de ta deuxième question, il est tout a fait normal de ne rien récupérer en valeur de retour d'une procedure. Si tu souhaites récupérer une valeur de retour tu as deux possibilités.

sois tu utilises une function.

exemple :
function La_jolie_precedure(sName : string) : string;
begin
  Result := sName + '123';
end;

Edit1.Text := La_jolie_precedure('Jerem');


sois tu utilises une procedure.

exemple :
procedure La_jolie_precedure(sName : string; var sNameResult : string);
begin
  sNameResult := sName + '123';
end;

La_jolie_precedure('Jerem', sName);

Edit1.Text := sName;


Tu comprendras que la function est mieux adapté à ton besoin.

Bonne Prog, ;)

Olivier

PS : Lorsqu'une réponse vous convient, n'oubliez pas de la valider.
3
cs_Jerem_ Messages postés 14 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 9 février 2006
29 nov. 2004 à 18:31
Merci pour tes réponse, tout marche impacablement :P

A+
0
Rejoignez-nous