Récupérer des caractéres [Résolu]

Signaler
Messages postés
7
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
8 décembre 2010
-
Messages postés
7
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
8 décembre 2010
-
stl,
j'ai par exemple un champ edtext qui contient les caractères :'abcd+efgh+ijkl'
je veut récupérer les caractères 'abcd' dans un champ edit1 et 'efgh' dans edit2 et 'ijkl' dans edit3.
comment faire ça

3 réponses

Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
fonction GetStrPart : http://www.codyx.org/snippet_extraction-chaine-caracteres-partir-occurence-separator_131.aspx#619


edit1.Text := GetStrPart(S, '+', 1);
edit2.Text := GetStrPart(S, '+', 2);
edit3.Text := GetStrPart(S, '+', 3);

________________________________________________________
besoin de câbles audio, vidèo, informatique pas cher ?
Messages postés
302
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
17 septembre 2013
1
Voir la fonction Copy dans l'aide, vous savez la touche F1 !
Sans un svp, ça coûte un café...
Messages postés
7
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
8 décembre 2010

j'ai fait une solution
mais votre solution est bonne et meilleur monsieur foxi
//---ma solution-------------------
a.Text:=A.text+'#';
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
i:=1;
while (a.Text[i]<>'+') do
begin
edit1.Text:= edit1.Text+a.Text[i];
i:=i+1;
end;
i:=length(edit1.Text)+2;
while (a.Text[i]<>'+') do
begin
edit2.Text:= edit2.Text+a.Text[i];
i:=i+1;
end;
edit3.MaxLength:=length(edit1.Text);
i:=length(edit1.Text)+length(edit2.Text)+3;
while (a.Text[i]<>'+')and(a.Text[i]<>'#') do
begin
edit3.Text:= edit3.Text+a.Text[i];
i:=i+1;
end;

end;
//-----------
Merci pour vos efforts.