Newsgroup: it.comp.lang.visual-basic
Titolo: Controllo dei tasti di una ImpuBox...

Salve,
come da subject, come faccio a controllare la pressione del tasto Ok e
del tasto Annulla in una ImputBox?
Aspetto nes, grazie.
Saluti, ciao ciao.

Ciao,
Potresti se puoi usare la msgbox allora devi dichiarare una var. long, e poi
scrivere:
Dim Risposta As Long
Risposta = MsgBox("Messaggio", vbOKCancel)
In questo modo fai comparire all'utente una finestra con Ok e Cancel
se ritorna il valore 1 allora si č premuto Ok, se ritorna 2 allora l'utente
ha premuto Cancel.
Bye
--
Tango
www.af.mil
ICQ: 35463931

 ha scritto

iNput box...
hai presente, imput/aupput :)
per il resto, guarda un po' che fa tmp.
per la gioia dei tuoi test, c'e' anche un bel listview :)
ciao, a.
Private Sub RenameFile()
    On Error GoTo errman
    If LV.SelectedItem = "" Then Exit Sub
    Dim tmp As String, oName As String, nName As String, oExt As String
    oName = LV.SelectedItem
    oExt = LV.SelectedItem.SubItems(1)
    'MyValue = InputBox(Message, Title, Default)
    tmp = InputBox("Rename File", oName, oName)
    If tmp = "" Then Exit Sub
    nName = LCase(tmp)
    If MsgBox("Rename" & vbCrLf & _
        oName & "." & oExt & vbCrLf & _
        "as" & vbCrLf & _
        nName & "." & oExt, vbYesNoCancel) <> vbYes Then Exit Sub
    Name MainPath & oName & "." & oExt As MainPath & nName & "." & oExt
    Exit Sub
errman:
    MsgBox Error
End Sub

 Aspetto nes, grazie.
Come mai "subject" ti e` venuto cosi` bene?... ;-))))
Quelli che chiami tasti "noi" li chiamiamo "pulsanti"; siccome "pulsano" a
comando, quando abbiamo tempo li chiamiamo "pulsanti di comando". Con
"tasti" intendiamo quelli della tastiera. Questi tu come li chiami? ;-))
Sia il pulsante "Ok" che quello "Annulla" chiudono la finestra ed assegnano
alla variabile (a sinistra del segno uguale che precede l'istruzione
"InputBox") il valore stringa presente nella casella di testo della
finestra, se e` stato premuto il pulsante "Ok", o il valore stringa nulla
(""), nel caso sia stato premuto il pulsante "Annulla". Quindi puoi solo
"dedurre" (non "controllare") quale pulsante sia stato premuto: "testando"
il valore assunto dalla variabile di cui si diceva.
    Option Explicit
    Dim var As String
    <...>
    var = InputBox( <...>
    If Len(var) = 0 Then
      ' E` stato premuto il pulsante "Annulla"
      ' o il tasto "Esc".
    Else
      ' E` stato premuto il pulsante "Ok"
      ' o il tasto "Invio".
    End If
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------

 Ma perchè mi esce o sempre da una parte o sempre dall' altra??
se la risposta e' sbagliata, forse la domanda e' impossibile.
se la pasta e' scotta, non e' sostituendo il ragu' col pesto che la fai al
dente :):)
cfr double bind, comma 22, e magari altri esempi (non vb).
ciao, a.

per la gioia dei tuoi test, c'e' anche un bel listview :)
Che è tmp? Ma poi scusa...ma che ci faccio con un ListView? Prima di
vedere quello che hai scritto te, di cui hp capito bene poco, ti
faccio vedere un attimo quello che ho scritto io :))
	strNome = InputBox(strMessaggio, strTitolo)
	If strNome = vbOK Then
	        MsgBox ("premuto ok")
	Else
	        MsgBox ("premuto annulla")
	End If
Se strNome lo dichiaro come stringa, come avevo fatto all' inizio,
perchè mi serviva solo che li dentro ci finisse il testo che scrivevo
nella casella della InputBox. quando arriva alla IF giustamente si
blocca perchè vbOK è un valore nunerico.
Allora ho cambiato strNome da stringa a variant, così si becca
qualunque cosa gli passo, ma dalla IF mi esce sempre per ELSE, sia che
spingo Ok o Annulla mi visualizza sempre "premuto annulla".
Mo, in tutto questo, mi spieghi che c' entra la ListView? :))


    End If
Perfetto, l' esempio, l' ho usato, semplice e funzionante, però non
puoi essere sicuro che quello che hai dedotto è quello che è successo
veramente. Mi spiego meglio; se ho capito bene, il risultato che ho
dalla iNputbox :)) è solo una stringa vuota o una piena, giusto? Ok,
se io nella casella di testo non scrivo niente e poi spingo Ok, mi
ritorna una stringa vuota, l' istruzine Len mi da 0 e dalla IF esco
per "premuto pulsate Annulla" quando in realtà non ho riempito il
campo. Se non scrivo niente nell' area di testo per lui sarà sempre
"Annulla" sia che spingo uno che l' altro pulsante.
Alla mia domanda in parte hai risposto, volendo così con un po di
fortuna riesco a beccare quello che si spinge, però non posso fare
nessun controllo sul testo che uno scirve/non scrive nell' area di
testo...o almeno devo mettere...bhò, mi ci penso.
Però è una cavolata che questo controllo non prevada niente per
testate la pressione di uno dei due tasti.
Vabbè, grazie mille :))
Saluti, ciao ciao.
PS: Perchè non dai uno sguardo anche all' altro mio post sul Visual
Data Manager..daaai che la sai la risposta!! ;))

dente :):)
Ehhh...questa è una metafora sottile, è da capire...non rispondo per
sicurezza...
Comunque grazie mille :))


 daaai che la sai la risposta!! ;))
--


 sicurezza...
fai pure. l'importante e' che diminuisci il tempo di cottura. non usare il
timer di vb.

 d'altronde non ho praticamente mai usato visdata.
Manco io ma... sei andato poi a vedere cosa domandava quell'impunito di
SKUNK? Io gli ho risposto senza aggiungere una riga di commento senno' sai
che fine facevano la boccia e il pallino che mi hai passato? E di mio
aggiungevo la stecca. Ma si puo', caro SKUNK, arrivare a fare domande
simili? Che un qualsiasi cliccator cortese saprebbe rispondere. Mi sa che da
adesso in poi oltre a dire: Hai premuto F1? Hai premuto F2? dovremo
aggiungere: Hai fatto clic col pulsante destro? Mah!... 'sti giovani!...
Alle soglie del nuovo millennio!...


 Alle soglie del nuovo millennio!...
che quello che nell'mpeg sbatte violentemente la tastiera sul collega e poi
lo prende a calci fosse un risponditore del ng esasperato ? :)