Oppure

Loading
01/11/09 16:47
Ragioniere
Buonasera a tutti.
E' possibile impostare il numero massimo di caratteri da inserire in un'InputBox?

Grazie:D
aaa
01/11/09 17:15
ruggy94
Direttamente nell'InputBox forse puoi farlo solo con le API.
Altrimenti puoi usare un semplice Form.
aaa
01/11/09 17:22
GrG
con la proprietà MaxLength... se impostata a 0 (che è il valore di default) accetta una stringa di "qualsiasi" lunghezza (in realtà dopo un certo numero di caratteri la textbox non riesce più a contenerli, quindi in realtà è cmq limitata) se invece cambi il valore in x (numero intero e positivo) la textbox conterrà massimo x caratteri
aaa
01/11/09 18:34
theprogrammer
GrG ... si parla di InputBox non di TextBox ...

Comunque, in effetti, puoi creare una tua InputBox "personalizzata" usando una Text box in cui usi la MaxLength ...
aaa
01/11/09 18:45
GrG
Postato originariamente da theprogrammer:

GrG ... si parla di InputBox non di TextBox ...


ooops! non avevo visto bene :asd:

Comunque, in effetti, puoi creare una tua InputBox "personalizzata" usando una Text box in cui usi la MaxLength ...


bella idea :D
aaa
01/11/09 19:21
Ragioniere
Ok, vorrà dire che creerò un form ad hoc.
Grazie comunque.
aaa
02/11/09 17:28
Louis
Ciao Ragioniere,
ho fatto un tentativo ... parrebbe funzionare, l'unica cosa é che considera anche gli spazi tra le lettere.
Naturalmente puoi variare il numero max di spazi, ora pari a 9.
Il codice è migliorabile ... Se a tuo avviso "il gioco vale la candela" possiamo anche approfondire ...
Private Sub Command1_Click()

'Variabili di InputBox:
    Dim MessageINx, TitleINx, DefaultINx
    Dim ValoreINx As Variant, Num As Variant, Contr As Variant
    
    ValoreINx = "Prova fun."
    
    Do
        If Len(ValoreINx) > 0 And Len(ValoreINx) > 9 Then
            MsgBox "Inserire massimo 9 caratteri (compresi gli spazi)."
            ElseIf ValoreINx = Empty Or Len(ValoreINx) <= 9 Then
            Exit Do
        
        End If
    'Imposta il messaggio:
        MessageINx = "Immettere ..... Max 9 caratteri."
    'Imposta il titolo:
        TitleINx = "Prova ...."
    'Imposta il valore predefinito:
        DefaultINx = "Prova fun."
    'Visualizza il messaggio, il titolo e il valore predefinito:
        ValoreINx = InputBox(MessageINx, TitleINx, DefaultINx)
    Loop Until Contr = Len(ValoreINx)
         
         Num = (ValoreINx)
 End Sub

Ultima modifica effettuata da Louis 02/11/09 17:47
aaa
02/11/09 20:50
Ragioniere
Ciao Louis
grazie per l'aiuto ma come dici anche tu non credo che ne valga la pena.
Ad ogni modo se vuoi approfondire la cosa per qualcuno che ne potrebbe avere bisogno in futuro ti do carta bianca.

Grazie ancora :k:
aaa