Trouver et modifier le caractere ds 1 Edit ou Label [Résolu]

Messages postés
87
Date d'inscription
samedi 28 août 2004
Statut
Membre
Dernière intervention
30 janvier 2014
- - Dernière réponse : Cirec
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
- 11 janv. 2008 à 11:02
Bon jour à tous,
Je cherche sans succès sur le net et je ne trouve pas ce qui pourrait m’aider,

et c’est pour ça que je recours a qui peut m’aider…
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??> 

voila je cherche et je trouve le caractere ds une chaîne avec

 

if (copy(ldescrip, 3,3) = '.') then

 

Maintenant je veux changer le ‘.’ Par ‘_’

 

quelque chose du genre

 

(ldescrip, 3,3) := ‘_’

 

je bloque là dessus

 

Merci de votre aide

810mcu
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
87
Date d'inscription
samedi 28 août 2004
Statut
Membre
Dernière intervention
30 janvier 2014
3
Merci
Salut tout le monde,

Toutes vos suggestions sont valables et m’ont inspirer


Super et merci a tous

@+
810mcu

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 211 internautes nous ont dit merci ce mois-ci

Commenter la réponse de 810mcu
Messages postés
298
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011
0
Merci
Bonjour ;-)


 


Voilà, je vous propose une petite idée:



procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key in ['.'] then key:='_';
end;

Cette procedure vous permet de remet tous les . en _ dans un TEdit

Bonne chance et bonne programmation.



haftari.fouad
Commenter la réponse de HAFTARIFOUAD
Messages postés
152
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
21 mars 2016
0
Merci
Bonjour 810mcu,


Je te propose une solution toute bête, un peu dans le même genre que celle de haftarifouad.

procedure TForm1.ChangeDotToUnderscore(Msg: ShortString)
var
  i: Byte; // si la chaîne contient au plus 255 caractères
begin
  for i := 1 to Length(Msg) do
  begin
    if Msg[i] = '.' then
      Msg[i] := '_';
  end; // for
end; // procedure

Bonne prog'.
Commenter la réponse de zwyx
Messages postés
298
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011
0
Merci
Salut Monsieur ZWYX

Trés bonne votre idée merci pour l'exemple et bonne prog

haftari.fouad
Commenter la réponse de HAFTARIFOUAD
Messages postés
900
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
30 juillet 2009
3
0
Merci
@ HAFTARIFOUAD et zwyx:

hum.....

et "AnsiReplaceStr" ? Regardez l'aide, juste FYI.

bonne lecture,

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
Commenter la réponse de cs_Loda
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
32
0
Merci
Salut,

voici une fonction que je viens d'écrire pour toi
et en plus elle est ultra rapide ce qui ne gâche rien

ce qui n'est pas le cas de  AnsiReplaceStr et toute la clique

Function ReplaceChar(Const S : String; Const OldChar, NewChar : Char): String;
Var P, PR : PByte;
    OldByte : Byte Absolute OldChar;
    NewByte : Byte Absolute NewChar;
    Size : Integer;
Begin
  P := PByte(S);
  Size := Length(S);
  SetLength(Result, Size);
  PR := PByte(Result);
   While P^ <> $0 Do Begin
    If P^ = OldByte Then Pr^ := NewByte
       Else Pr^ : = P^;
    Inc(Pr);
    Inc(P);
  End;
End;
<center>Highlighted with Pas2HTML</center>

 
@+
Cirec

<hr siz="" />
Commenter la réponse de Cirec
Messages postés
298
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011
0
Merci
Salut Monsieur  LODA ;-)

Les méthodes se diffèrent et la solution et une seule. Qu'est ce qu'on doit faire si la touche F1 sa marche pas lol.

donc on choisira le moindre cout, effort pour une solution meilleure.

Merci pour l'idée et bonne programmation.
haftari.fouad
Commenter la réponse de HAFTARIFOUAD
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
32
0
Merci
Et si il vous faut un exemple :

Edit1.Text := 'Ed.it1.test.1.2.3.';

  Edit2.Text := ReplaceChar(Edit1.Text, '.', '_');
//renvoi : Edit2.Text := 'Ed_it1_test_1_2_3_'

@+
Cirec

<hr siz ="" />
Commenter la réponse de Cirec
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
32
0
Merci
Juste un petit truc ...

c'est la (ou les) réponse qui te convient qu'il faut accepter et non la tienne (qui au passage n'est pas une réponse mais un remerciement)

Merci

 
@+
Cirec

<hr siz="" />
Commenter la réponse de Cirec