Inputbox avec chiffre et lettre

pcpower Messages postés 8 Date d'inscription jeudi 18 novembre 2010 Statut Membre Dernière intervention 11 avril 2014 - 7 déc. 2010 à 15:50
pcpower Messages postés 8 Date d'inscription jeudi 18 novembre 2010 Statut Membre Dernière intervention 11 avril 2014 - 8 déc. 2010 à 12:57
Bonjour à tous,

Je me permet de poster ce message afin de solliciter votre aide.

J'ai pour un projet, une boucle, qui me permet de de faire varier une variable (nommé "c") par des nombre et voudrais quitter ma boucle en entran 'FIN' mais impossible a réaliser pour le moment.

Si j'indique until c:=0; sa fonctionne correctement mais avec un texte, je ne trouve pas la synthaxe. Pour info, je fais modifier la valeur de 'c' via une inputbox.

Merci d'avance,

5 réponses

dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
8 déc. 2010 à 12:35
Bonjour
Yanb a été plus rapide 'et meilleurs je pense) car j'avais conconté :
Procedure TFormExtremaN.BtnCommencerClick(Sender: TObject); 
VAR A,Max,Min:REAL; C:variant; Z:string;
Begin 
Max:=STRTOINT(INPUTBOX('Saisie du nombre','Veuillez introduire une valeur','')); 
Min:=STRTOINT(INPUTBOX('Saisie du nombre','Veuillez introduire une valeur','')); 
if Min>Max then   // sinon
   begin
   A := Max
   Max := Min;  //on inverse
   Min := A;  //on inverse
   end;
Repeat 
   C:=STRTOINT(INPUTBOX('Saisie du nombre','Veuillez introduire une valeur','')); 
   Z := C;
   if uppercase(Z)='FIN' 
      then C:=0
      else begin
           IF (C>Max) then Max:=C 
           IF (C<Min) then Min:=c; 
           end;
Until C=0; 
EditMaxima.Text:=FloatToStr(Max); 
EditMinima.Text:=FloatToStr(Min) 
end; 

Cordialement
Dubois77
1
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
7 déc. 2010 à 17:59
Salut
ce serait plus simple à comprendre ton problème si tu nous donnais le morceau de code en question
Cordialement
Dubois77
0
pcpower Messages postés 8 Date d'inscription jeudi 18 novembre 2010 Statut Membre Dernière intervention 11 avril 2014
7 déc. 2010 à 19:42
Merci pour la reponse.

Voici la partie du code en question:

procedure TFormExtremaN.BtnCommencerClick(Sender: TObject);
VAR

A,B,C,Max,Min:REAL;

Begin
Begin

A:=STRTOINT(INPUTBOX('Saisie du nombre','Veuillez introduire une valeur',''));
B:=STRTOINT(INPUTBOX('Saisie du nombre','Veuillez introduire une valeur',''));
IF (A>=B) then
Begin
Max:=A;
Min:=B;
End
Else
Begin
Max:=B;
Min:=A;
End;

Repeat

C:=STRTOINT(INPUTBOX('Saisie du nombre','Veuillez introduire une valeur',''));
IF (C>Max) then
Max:=C

Else
IF (C<Min) then
Min:=c;

Until
C=0;
EditMaxima.Text:=FloatToStr(Max);
EditMinima.Text:=FloatToStr(Min)




end;
0
cs_yanb Messages postés 271 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 7 juillet 2022 13
8 déc. 2010 à 08:43
Salut,
procedure TFormExtremaN.BtnCommencerClick(Sender: TObject);
var
    A,B,C,
    Max,Min : Real;
    T       : string;
    Value   : Extended;
begin
    ...    
    repeat
        T := InputBox('Saisie du nombre','Veuillez introduire une valeur','');
        if TryStrToFloat(T, Value) then
        begin
            C := StrToFloat(T);
            if (C > Max) then
                Max := C
            else
            if (C < Min) then
                Min := C;
        end;
    until UpperCase(T) = 'FIN';
    ...
end;

@+yanb
0

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

Posez votre question
pcpower Messages postés 8 Date d'inscription jeudi 18 novembre 2010 Statut Membre Dernière intervention 11 avril 2014
8 déc. 2010 à 12:57
Super,

Un grand grand merci pour vos reponses, fonctionne parfaitement, juste ce qu'il me fallait. (je ne connaissais pas certaines commandes, je pensais juste qu'il fallait changer la chaine de carractère. Il me restera plus qu'a lire encore quelques tuto).

Tout grand merci
0
Rejoignez-nous