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

Signaler
Messages postés
87
Date d'inscription
samedi 28 août 2004
Statut
Membre
Dernière intervention
30 janvier 2014
-
Messages postés
3811
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
15 juin 2020
-
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

9 réponses

Messages postés
87
Date d'inscription
samedi 28 août 2004
Statut
Membre
Dernière intervention
30 janvier 2014

Salut tout le monde,

Toutes vos suggestions sont valables et m’ont inspirer


Super et merci a tous

@+
810mcu
Messages postés
256
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011

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
Messages postés
152
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
21 mars 2016

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'.
Messages postés
256
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011

Salut Monsieur ZWYX

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

haftari.fouad
Messages postés
814
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
30 juillet 2009
3
@ 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.
Messages postés
3811
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
15 juin 2020
30
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="" />
Messages postés
256
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011

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
Messages postés
3811
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
15 juin 2020
30
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 ="" />
Messages postés
3811
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
15 juin 2020
30
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="" />