Recuperer se qu'il y a entre...

Résolu
shell13010 Messages postés 73 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 12 mai 2013 - 1 avril 2009 à 20:33
shell13010 Messages postés 73 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 12 mai 2013 - 2 avril 2009 à 13:12
Bonsoir a tous ,

j'aurais aimer savoir comment recuperer un mot dans un richedit?

 il y a par exemple jjj_ici_le_mot_jjj comme vous l'avez compris c'est entre jjj...jjj  que j'aimerais récuperer le mot.

voila en esperant avoir etais comprehensible..

merci pour votre aide...

Cordialement..

7 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
2 avril 2009 à 00:17
uses StrUtils;





function GetStrPart(const Str, Delimiter: String; const Index: cardinal = 1): String;
var I,P1,P2 : integer;
begin
  Result := '';
  if (posex(Delimiter,Str[1]) = 1) and (Index <= 1) then exit;
  P1 := 1;
  for I := 1 to Index-1 do begin
      P1 := posex(Delimiter, Str, P1);
      if P1 = 0 then exit
      else P1 := P1 + length(Delimiter);
  end;
  P2 := posex(Delimiter, Str, P1);
  if P2 = 0 then P2 := length(Str) + 1;
  Result := copy(Str, P1, P2 - P1);
end;












<hr size="2" width="100%" />
3
shell13010 Messages postés 73 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 12 mai 2013 1
2 avril 2009 à 07:16
f0xy merci 1000 fois le code marche tres bien j'ai rechercher et j'ai trouver un poste ou tu donner un exemple 
pour sa a qui sa interesserais avec la recherche en direct dans le richedit

function GetStrPart(const Str, Delimiter: String; const Index: cardinal = 1): String;
var I,P1,P2 : integer;
begin
  Result := '';
  if (posex(Delimiter,Str[1]) = 1) and (Index <= 1) then exit;
  P1 := 1;
  for I := 1 to Index-1 do begin
      P1 := posex(Delimiter, Str, P1);
      if P1 = 0 then exit
      else P1 := P1 + length(Delimiter);
  end;
  P2 := posex(Delimiter, Str, P1);
  if P2 = 0 then P2 := length(Str) + 1;
  Result := copy(Str, P1, P2 - P1);
end;

procedure TForm2.Button4Click(Sender: TObject);
begin
   edit8.Text:=GetStrPart(richedit1.text, 'jjj', 2); //recherche dans le richedit tout se qui commence par jjj et renvoie le resultat dans un Tedit,il recupere se qu'il y a entre jjj
end;

merci encore..
3
shell13010 Messages postés 73 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 12 mai 2013 1
1 avril 2009 à 21:57
salut et merci pour ton aide..

ou c'est a peut pres se que je cherche mais le probleme reside que j'aimerais recuperer se qu'il y a entre les jjj...jjj mais que le mot  peut etre aleatoire

en gros si je fait avec le code que tu as citer sur le lien bien il me recuperera que les 3 premier jjj aurez tu une autre idée?

merci d'avance pour ta reponse .
0
shell13010 Messages postés 73 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 12 mai 2013 1
1 avril 2009 à 22:05
en revoyant le code j'ai essayer de rajouter

begin
 SChaine := 'jjj'+' '+'jjj';                       //j'ai essayer comme ceci mais c'est pas bon
  IdX := Pos(AnsiLowerCase(SChaine), AnsiLowerCase(Chaine));
  If Idx > 0  Then
    Label9.Caption := Copy(Chaine, Idx, Length(SChaine))
  Else
    Label9.Caption := 'sous-chaine ' + SChaine + ' non trouvée';
0

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

Posez votre question
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
2 avril 2009 à 00:10
cherche aprés ma fonction GetStrPart sur codyx ou dans mes sources, elle est prevue exactement pour ce genre de choses.

S := GetStrPart('jjj', 1); renvois ce qu'il y a avant
S := GetStrPart('jjj', 2); renvois ce qu'il y a entre
S := GetStrPart('jjj', 3); renvois ce qu'il y a aprés

<hr size="2" width="100%" />
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
2 avril 2009 à 09:42
ouai, désolé, pour une raison que j'ignore, la declaration function a disparue lors du copier coller ...

<hr size="2" width="100%" />
0
shell13010 Messages postés 73 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 12 mai 2013 1
2 avril 2009 à 13:12
merci pas de souci, ,sa incite les gens a comprendre le code
0
Rejoignez-nous