PDA

View Full Version : [VB6] If con InputBox


wingman87
20-01-2007, 20:15
Ho un pezzo di codice che dice così:
Do While Len(temp) = 0
temp = InputBox("Inserire risposta")
Loop
Oltre a ripetere la richiesta nel caso in cui non sia stato scritto niente xò vorrei anche poter uscire dal ciclo premendo il tasto annulla. Probabilmente è una cavolata ma non mi viene in mente una soluzione..

mynos79
21-01-2007, 09:15
La funzione InputBox, premendo il pulsante ANNULLA, restituisce una stringa di lunghezza ZERO ... quindi il tuo loop sarà infinito; e non si può nemmeno confrontare il risultato con le costanti del VB quali VbOK o VbCancel come per il MsgBox.

Ti consiglio di cambiare il ragionamento e non considerare il tasto annulla, ma magari per fare annullare far scrivere "annulla" nell' inputbox e fare un controllo con IF a posteriori dentro al DO-LOOP ...
Oppure crearti una inputbox personalizzata.

wingman87
21-01-2007, 12:53
Grazie mille!

dvbman
31-01-2007, 22:18
se non ricordo male, la costante è VbCancel

mynos79
31-01-2007, 23:56
se non ricordo male, la costante è VbCancel
InputBox non ammette controlli con le costanti del vb quali VbOk, VbCancel, etc etc come invece si può fare con MsgBox ...

dvbman
01-02-2007, 00:08
InputBox non ammette controlli con le costanti del vb quali VbOk, VbCancel, etc etc come invece si può fare con MsgBox ...
hai ragione, ricordavo male (qua (http://msdn2.microsoft.com/it-it/library/6z0ak68w(VS.80).aspx)) :)