FMX.Dialogs.InputQuery

De Appmethod Libraries
Aller à : navigation, rechercher

Object Pascal

function InputQuery(const ACaption: string; const APrompts: array of string; var AValues: array of string; const ACloseQueryFunc: TInputCloseQueryFunc = nil): Boolean;
function InputQuery(const ACaption: string; const APrompts: array of string; var AValues: array of string; const ACloseQueryEvent: TInputCloseQueryEvent; AContext: TObject = nil): Boolean;
function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean;
procedure InputQuery(const ACaption: string; const APrompts: array of string; const ADefaultValues: array of string; const ACloseQueryProc: TInputCloseQueryProc);

C++

extern DELPHI_PACKAGE bool __fastcall InputQuery(const System::UnicodeString ACaption, System::UnicodeString const *APrompts, const int APrompts_High, System::UnicodeString *AValues, const int AValues_High, const _di_TInputCloseQueryFunc ACloseQueryFunc = _di_TInputCloseQueryFunc())/* overload */;

Propriétés

Type Visibilité  Source Unité  Parent
function public
FMX.Dialogs.pas
FMX.Dialogs.hpp
FMX.Dialogs FMX.Dialogs


Description

Affiche une boîte de dialogue contenant plusieurs champs de saisie.

Utilisez InputQuery pour afficher une boîte de dialogue contenant un nombre de contrôles TEdit égal au nombre de chaînes dans <APrompts>.

InputQuery attend les paramètres suivants :

  • <ACaption> représente le titre de la boîte de dialogue.
  • <APrompts> représente les libellés situés sur le côté gauche des contrôles TEdit.
  • <AValues> ou <ADefaultValues> sont les valeurs texte par défaut des contrôles TEdit.
  • <ACloseQueryProc> est une méthode anonyme exécutée par InputQuery à la fermeture de la boîte de dialogue.
Remarque : La longueur de <AValues> doit être supérieure ou égale à la longueur de <APrompts>.

Si l'utilisateur clique sur le bouton OK, InputQuery renvoie True ; dans le cas contraire, InputQuery renvoie False. Si vous fournissez le paramètre <ACloseQueryProc>, InputQuery ne renvoie aucune valeur ; l'argument <AResult> transmis à la méthode <ACloseQueryProc> détermine ce sur quoi l'utilisateur a cliqué.

Les valeurs entrées dans les champs de saisie de la boîte de dialogue seront stockées dans <AValues>. Si vous fournissez le paramètre <ACloseQueryProc>, InputQuery transmet les valeurs à la méthode <ACloseQueryProc> à la place.

Si un appel à InputQuery n'inclut pas le paramètre <ACloseQueryProc>, l'appel bloquera sur toutes les plates-formes. Ce qui signifie que InputQuery ne renvoie rien tant que la boîte de dialogue ne se ferme pas. Android ne prend pas en charge ces appels bloquants. Vous pouvez uniquement utiliser InputQuery sur Android si vous fournissez le paramètre <ACloseQueryProc>.

Les appels à InputQuery qui incluent le paramètre <ACloseQueryProc> sont également bloquants sur des plates-formes de bureau, mais ils sont non bloquants sur des plates-formes mobiles. Ce qui signifie que sur les plates-formes mobiles, tout code placé après un appel à InputQuery est exécuté avant la fermeture de la boîte de dialogue. Si vous devez exécuter du code après la fermeture de votre boîte de dialogue, utilisez le paramètre <ACloseQueryProc> de InputQuery pour définir une méthode anonyme qui exécute ce code. Voir :

Support de la plate-forme

Le tableau suivant récapitule la prise en charge des appels à InputQuery sur les différentes plates-formes et indique si ces appels sont bloquants ou non bloquants :

Plate-forme Sans <ACloseQueryProc> Avec <ACloseQueryProc>
Windows Bloquant Bloquant
Mac OS X Bloquant Bloquant
IOS Bloquant Non bloquant
Android Non bloquant

Voir aussi