Bonjour à tous
Bien que InputBox() possède un bouton 'Cancel' ce dernier est sans effet. :(
Pièce jointe 226517
Ya t-il un moyen d'annuler son exécution ?
Version imprimable
Bonjour à tous
Bien que InputBox() possède un bouton 'Cancel' ce dernier est sans effet. :(
Pièce jointe 226517
Ya t-il un moyen d'annuler son exécution ?
Salut,
Linux/Laz1.4/FPC2.6.2, ça fonctionne très bien, exactement comme décrit par l'infobulle d'aide :
Étant entendu que function InputBox(const ACaption, APrompt, ADefault : String) : String;Citation:
If the user selects the OK button, the text in the text box is returned.
If the user selects the Cancel button, the default string is returned.
Bonjour
Effectivement, le code suivant fonctionne sous (W7 32 Laz 1.6), mais on perdra la valeur par défaut qui est la plus souvent utilisée. :aie:
j'aurai souhaité qu'il possédait des 'TMsgDlgButtons' comme 'MessageDlg', la tâche serait plus facile.Code:
1
2
3
4
5
6
7
8
9 procedure TForm1.Button1Click(Sender: TObject); var str:string; begin str:=InputBox('caption','prompt','0'); if str='0' then Abort else showmessage(str) end;
merci Jipété.Code:messagedlg ( const Message : string; DialogType : TMsgDlgType; Buttons : TMsgDlgButtons; HelpContext : Longint ) : Integer;
Bonjour
malheureusement c'est pas la valeur(0) qui devrait être pas défaut, car cette valeur d'annulationCitation:
Et pourquoi donc ?
Puisque c'est elle qui est renvoyée si tu cliques sur "Annuler".
est rarement utilisée, mais une autre différente qui est souvent utilisée. ;)
Conclusion : ne pas utiliser une InputBox, mais une fiche avec un TEdit et les boutons que tu souhaites, afin de créer le comportement que tu vises.
Rebonjour
AMHA le bouton 'Annuler' doit exécuter systématiquement un 'Abort'.
@tourlourou
Good idea :plusser:
Merci beaucoup
Je ne sais pas si c'est moi qui ne comprend rien mais je ne capte pas ce que vous racontez, ou alors ça ne fonctionne pas sous Windows et ça fonctionne bien (pour une fois !) sous Linux ?
Le code et son exécution :
Pièce jointe 226559
Si clic sur Annuler :
Pièce jointe 226560
Si saisie de quelque chose et Ok :
Pièce jointe 226561
Qu'est-ce qui ne va pas dans ce que je décris ? Qu'est-ce qu'il faut de plus ?
EDIT : le forum a l'air toujours cassé en ce qui concerne les images insérées, :aie:
EDIT du EDIT : ça a l'air réparé, ouf !
Rebonjour
@Jipété
Actuellement les images envoyées sont réduites en icônes à cause d'un faible débit.
Je reverrai ton explication plus tard. ;)
@ThWilliam :plusser: :plusser: :plusser:
Merci de m'avoir compris.
et merci pour la réponse.
Rebonjour
donc voilà un exemple:
Code:
1
2
3
4
5
6
7
8
9
10 procedure TForm1.Button1Click(Sender: TObject); var Str: Ansistring ; begin Str:='6'; if InputQuery('L''introduction d''un nombre', 'Taper un nombre S.V.P',False,Str) then ShowMessage(Str) else Abort end;