Inputbox avec chiffre et lettre

Signaler
Messages postés
8
Date d'inscription
jeudi 18 novembre 2010
Statut
Membre
Dernière intervention
11 avril 2014
-
pcpower
Messages postés
8
Date d'inscription
jeudi 18 novembre 2010
Statut
Membre
Dernière intervention
11 avril 2014
-
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

Messages postés
675
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
10
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
Messages postés
675
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
10
Salut
ce serait plus simple à comprendre ton problème si tu nous donnais le morceau de code en question
Cordialement
Dubois77
Messages postés
8
Date d'inscription
jeudi 18 novembre 2010
Statut
Membre
Dernière intervention
11 avril 2014

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;
Messages postés
250
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
2 décembre 2019
5
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
Messages postés
8
Date d'inscription
jeudi 18 novembre 2010
Statut
Membre
Dernière intervention
11 avril 2014

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