Edit

Résolu
belaid52 Messages postés 68 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 23 juin 2011 - 20 juil. 2008 à 21:06
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 - 26 juil. 2008 à 09:54
Comment peut on inserer un blanc dans un edit pendant la saisie dans cet edit et au bout du 3eme chiffre.
 exemple : 123 678 999
merci

12 réponses

JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
23 juil. 2008 à 20:27
Bon je la refais :

Voila une (cf. mon post du dessus, et retouchée) fonction de formatage (n'hésites pas à la modifier) :
function Formatage(Valeur : String) : String;
var i, p : Integer;
    Minus, DecPresent: Boolean;
    Int, Dec: string;
begin
  p := 0;
  i := 3;
  DecPresent:= False;
  Int:= Valeur;
  if pos('.', Valeur)>0 then
  begin
    DecPresent:= True;
    Int:= Copy(Valeur,0,Pos('.', Valeur)-1);
    Dec:= Copy(Valeur,Pos('.', Valeur)+1, Length(valeur));
  end;

  Minus:= Pos('-', Valeur)>0;
  if Minus then
    Int:= IntToStr(Abs(StrToInt(Int)));
  while i + p < Length(Int) do
  begin
    Insert(' ', Int, Length(Int) - (i + p)+ 1);
    Inc(p);
    Inc(i, 3);
  end;
  Result:= Int;
  if Minus then
    Result:= '-'+Int;
  if DecPresent then
    Result := Result+'.'+Dec;
end;

Puis poses un TEdit et un TButton, sur le bouton mets un simple :
Edit1.Text:= Formatage(Edit1.Text);

Tu peux ajouter une vérification basique des touches enfoncées dans le TEdit, mets ça dans son OnKeyPress :
if not (Key in ['0'..'9', DecimalSeparator, '-', Chr(VK_BACK), Chr(VK_DELETE), chr(13)]) then key :=#0;

Et ça devrait fonctionner ...
3
nethacker Messages postés 288 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 12 octobre 2011
21 juil. 2008 à 06:59
interdire la saisie de 4 et 5 ?
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
21 juil. 2008 à 08:53
@nethacket : ho mon dieu ...

@belaid : Commence déjà par "BONJOUR", puis pense à utiliser un TMaskEdit au lieu de penser à bidouiller du code.
0
belaid52 Messages postés 68 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 23 juin 2011 1
21 juil. 2008 à 19:06
Bonjour,
je m'excuse pour le salut.
je reformule ma question :
je saisis des nombres dont le nombre de chiffres est different des uns et des autres exemples :
       Pendant la saisie les chiffres se presenteront comme suit :

         N1=      1969,51----->      1 969,51 
         N2=  125308,78 ----> 125 308,78
         N3=             2,78---->            2,78
   Les chiffres s'ecriront de droite a gauche comme dans les langages de programmation sous DOS

Merci      
0

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

Posez votre question
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
21 juil. 2008 à 19:24
function Formatage(Valeue : Int64) : String;
var i : Integer;
    p : Integer;
begin
  p := 0;
  i := 3;
  Result := IntToStr(Abs(Valeur));
  while i + p < Length(Result) do
  begin
    Insert(' ', Result, Length(Result) - (i + p)+ 1);
    Inc(p);
    Inc(i, 3);
  end;
  if Valeur<0 then Result := '-'+Result;
end;
0
nethacker Messages postés 288 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 12 octobre 2011
22 juil. 2008 à 05:54
@ JulioDelphi : faut poser les bonnes questions pour avoir les bonnes réponses ! j'ai su que c'était flou !
0
belaid52 Messages postés 68 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 23 juin 2011 1
22 juil. 2008 à 22:01
bonjour,


Mr Juliodelphi, si je savais poser des questions meilleurs que celles que j'ai posees, je l'aurai fait.


Je reformule ma question.
    j'ai un edit, je saisis des nombres.
    ce que je veux : la saisie des chiffres se fera de droie a gauche et a
                            chaque mille on insere un blanc.
je pense que je suis plus explicite.

Merci


 


 




 
0
nethacker Messages postés 288 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 12 octobre 2011
22 juil. 2008 à 23:59
ah ok
bah il t'a dit Tmaskedit !
0
belaid52 Messages postés 68 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 23 juin 2011 1
23 juil. 2008 à 18:57
Bonjour,


j'ai essaye d'utiliser Tmaskedit mais en vain.


je n'arrive pas a mettre en application ce que j'ai dit dns ma question.


merci 
0
nethacker Messages postés 288 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 12 octobre 2011
23 juil. 2008 à 19:03
Bonjour,
euh ca sera du genre !  _ _ _   _ _ _   _ _ _ je vais voir comment pourrais je t'expliquer plus !

a+
0
belaid52 Messages postés 68 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 23 juin 2011 1
25 juil. 2008 à 23:11
Mr Juliodelphi,


Excellent travail,
je vous remercie pour ce code.Il repond exactement a ce que je veux.


Mais maintenant que le sujet est bien compris, est il possible de faire la meme chose pendant la saisie au lieu de cliqueter sur le bouton?


Merci 


 
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
26 juil. 2008 à 09:54
Pendant non, mais tu peux le faire sur le "OnExit" du TEdit, dès que la personne quitte le TEdit, la procédure fait son boulot.
0
Rejoignez-nous