Comment obtenir le resultat du premier coup ?

Comment obtenir le resultat du premier coup ? - Delphi/Pascal - Programmation

Marsh Posté le 24-07-2004 à 20:53:48    

Bonsoir à tous ,  
 
j'ai fais une procedure, mais elle ne marche pas correctement.La procedure doit afficher , en cas de mauvais chiffre, le  premier chiffre superieur à celui entrer dans l'edit qui est divisible par 3 : la voici  
 

Code :
  1. procedure TForm1.TesterClick(Sender: TObject);
  2. var
  3.   Chiffre: Integer;
  4.    begin
  5.   Chiffre := StrToInt(Edit1.Text);
  6.      if (Chiffre mod 3 ) = 0 then exit
  7.   else
  8.   begin
  9.     inc(Chiffre , 1);
  10.   end;
  11.      Edit1.Text := IntToStr( Chiffre);
  12. // ShowMessage(inttostr(chiffre));
  13.        end;
  14. end.


 
le probleme , comment afficher le bon chiffre du premier coup en cliquant qu'une fois sur le bouton .Si je rentre le chiffre "13" par exemple , il m'affiche "14" , je reclique et il m'affiche "15". mais comment lui faire afficher "15" sans recliquer ?  :??:  
 
Merci :sol:

Reply

Marsh Posté le 24-07-2004 à 20:53:48   

Reply

Marsh Posté le 24-07-2004 à 22:40:55    

procedure TForm1.TesterClick(Sender: TObject);
var
  Chiffre: Integer;
begin
  Chiffre := StrToInt(Edit1.Text);
  Inc(Chiffre, Chiffre mod 3);
  Edit1.Text := IntToStr(Chiffre);
end;


Message édité par antp le 24-07-2004 à 22:41:41

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 25-07-2004 à 00:03:42    

j'ai failli crier de joie :cry:  .
 Si je rentre le chiffre "11" il me met "13" au lieu de "12" . Si je mets "13" il met "14" , je reclique et il passe à "16" .
 
Merci

Reply

Marsh Posté le 25-07-2004 à 00:09:55    

Ha ouais j'ai fait le truc à l'envers.
Il faut ajouter ce qu'il manque pour en faire un multiple de 3, et non pas ajouter ce qu'il a de plus que le multiple inférieur
 
var
  Chiffre: Integer;
begin
  Chiffre := StrToInt(Edit1.Text);
  if (Chiffre mod 3) <> 0 then
    Inc(Chiffre, 3 - (Chiffre mod 3));
  Edit1.Text := IntToStr(Chiffre);
end;


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 25-07-2004 à 14:26:47    

:jap:  :jap:  chapeau bas . tant dans l'optimisation que dans la competence du code  :jap:

Reply

Marsh Posté le 25-07-2004 à 14:27:46    

oups , j'oubliais ,  
 
Merci antp

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed