Bonjour,
Est ce que vous avez une idée sur comment définir un timeout pour la fonction input, càd, si l'utilisateur au bout de 5 secondes, par exemple, n'introduit aucune entrée, la fonction input s’arrête.
Bonjour,
Est ce que vous avez une idée sur comment définir un timeout pour la fonction input, càd, si l'utilisateur au bout de 5 secondes, par exemple, n'introduit aucune entrée, la fonction input s’arrête.
Je ne maitrise pas vraiement le sujet mais il me semble qu'il existe une fonction timer permettant de faire cela.
Je ne sais pas si c'est possible mais ça m'intéresse de savoir si cela fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part doc timer
![]()
Merci,
J'ai déjà essayé ça mais ça marche pas![]()
Il est effectivement possible d'utiliser la fonction timer.
Essayes avec ce code la :
A voir si dans l'utilisation que tu veux en faire, cela peut fonctionner
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 function varargout = timeoutDlg(dlg, delai, varargin) % dlg : fonction de dialogue (ex:@inputdlg) % delai : temps avant la fermeture de la boite de dialogue en secondes % varargin : arguments de la fonction de dialogue % Récuperation des figures f1 = findall(0, 'Type', 'figures'); % Configuration du timer t = timer('TimerFcn', {@closedlg f1}, 'StartDelay', delai); start(t); % Fonction de dialogue Valeurs = dlg(varargin{:}); if numel(Valeurs) == nargout varargout = Valeurs(:); else varargout = cell(1, nargout); end % Suppression du timer if strcmp(t.Running, 'on') stop(t); end delete(t); function closedlg(src, event, f1) disp('Temps écoulé'); % Récupération des figures f2 = findall(0, 'Type', 'figure'); fnew = setdiff(f2, f1); if ishandle(fnew); close(fnew); end
Merci, J'ai essayé avec ce code, mais ça marche pas:
Je pense que ça concerne des objets type figure, dans ce cas vaut mieux utiliser uiwait
Code : Sélectionner tout - Visualiser dans une fenêtre à part timeoutDlg(@input, 2, 'Entrer votre nom')
C'est effictivement appliqué aux objets de type figure (inputdlg questdlg...)
Si tu ne veux pas ce type d'objet il suffit d'arranger les fonctions pour cela
Partager