Trouver et modifier le caractere ds 1 Edit ou Label

Résolu
810mcu Messages postés 86 Date d'inscription samedi 28 août 2004 Statut Membre Dernière intervention 30 janvier 2014 - 10 janv. 2008 à 10:21
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 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

9 réponses

810mcu Messages postés 86 Date d'inscription samedi 28 août 2004 Statut Membre Dernière intervention 30 janvier 2014
10 janv. 2008 à 16:40
Salut tout le monde,

Toutes vos suggestions sont valables et m’ont inspirer


Super et merci a tous

@+
810mcu
3
HAFTARIFOUAD Messages postés 256 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 6 janvier 2011
10 janv. 2008 à 11:56
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
0
zwyx Messages postés 146 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 21 mars 2016
10 janv. 2008 à 12:17
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'.
0
HAFTARIFOUAD Messages postés 256 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 6 janvier 2011
10 janv. 2008 à 12:22
Salut Monsieur ZWYX

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

haftari.fouad
0

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

Posez votre question
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
10 janv. 2008 à 12:35
@ 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.
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
10 janv. 2008 à 12:42
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="" />
0
HAFTARIFOUAD Messages postés 256 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 6 janvier 2011
10 janv. 2008 à 12:45
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
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
10 janv. 2008 à 12:54
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 ="" />
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
11 janv. 2008 à 11:02
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="" />
0
Rejoignez-nous