Gambas-it

Gambas3 => Programmazione => Topic aperto da: Murduk - 07 Febbraio 2018, 01:37:45

Titolo: TextBox.MaxLength. Vorrei creare un allert quando raggiungo un certo limite di c
Inserito da: Murduk - 07 Febbraio 2018, 01:37:45
Salve. E' da tanto che non programmo, premetto che uso da molti anni le distro di linux. Fedora, Debian, Gentoo e da quasi 3 anni Ubuntu. Con Win programmavo in VB6 ed ero riuscito a fare dei lavori che mi erano utili. Volendo rimettermi per puro diletto a programmare ho scoperto che Gambas può essere un buon approccio per me. Infatti già in due giorni ho capito come muovermi o quasi, infatti sto creando un piccolo programma che mi permette di poter utilizzare  SQLITE3 per archiviare dei dati. Pian Piano che vado avanti nella programmazione incominciano i problemucci che cerco sforzandomi di leggere gli esempi anche se in "Spagnolo" e di risolverli. Ma questo problema che ho adesso non riesco a risolverlo. Mi spiego. Voglio creare un controllo in una textbox che permetta tramite una MessageBox di avvisave che si è arrivati al munero di caratteri massimo che ho impostato con la proprietà MaxLength io ho fatto  la seguente:
Public Sub TextBox1_Change()

if TextBox1.MaxLength > 25 Then
    Message.Info("Hai raggiunto il limite massimo di caratteri", "OK")
TextBox1.SetFocus
EndIf

ma non funziona  non si visualizza l'allert e il numero dei caratteri inseriti supera i 25.
potreste aiutarmi a capire dove sbaglio?
Grazie. :hard:

Titolo: Re:TextBox.MaxLength. Vorrei creare un allert quando raggiungo un certo limite di c
Inserito da: vuott - 07 Febbraio 2018, 02:04:25
La proprietà " .MaxLength " dell'Oggetto TextBox, non ritorna il numero di caratteri sino ad allora immessi, bensì ritorna il numero massimo di caratteri inseribili, impostato con la medesima proprietà precedentemente.
Raggiunto il numero massimo, semplicemente non sarà più possibile inserire ulteriori caratteri nel "TextBox".

Esempio pratico:
Codice: [Seleziona]
Private b As Byte

Public Sub Form_Open()

  TextBox1.MaxLength = 10   '  Imposto "preliminarmente" il numero massimo di caratteri inseribili nel TextBox

  Print TextBox1.MaxLength   ' Verifico il numero massimo di caratteri inseribili nel TextBox, da me precedentemente impostato

End


Public Sub TextBox1_Change()   ' Evento sollevato quando inserisco (o tolgo) un carattere nel TextBox

   Inc b
   Print b; "° carattere"

End


Volendo ottenere il risultato da te desiderato, dovrai invece utilizzare solo la proprietà " .Length " dell'Oggetto "TextBox".
Esempio:
Codice: [Seleziona]
Public Sub TextBox1_KeyRelease()   ' Evento sollevato quando inserisco un carattere nel TextBox con la tastiera

  If TextBox1.Length > 25 Then
    Message.Info("Hai raggiunto il limite massimo di caratteri", "OK")
    TextBox1.SetFocus
  Endif

End
Titolo: Re:TextBox.MaxLength. Vorrei creare un allert quando raggiungo un certo limite di c
Inserito da: Murduk - 07 Febbraio 2018, 07:54:07
Grazie. Sapresti dirmi dove posso trovare una guida esaustiva per le proprietà? possibilmente in Italiano. ;)
Titolo: Re:TextBox.MaxLength. Vorrei creare un allert quando raggiungo un certo limite di c
Inserito da: kicco - 07 Febbraio 2018, 08:22:28
Ciao Murduk, benvenuto.
Sono di corsa, poi magari qualcuno ti risponderà con più calma.
Se cerchi nel forum troverai la risposta alla tua domanda, perchè, se non ricordo male, non molto tempo fa proprio Vuott ha esaustivamente proposto un elenco di testi e info su questo tema.
 :ciao:
Titolo: Re:TextBox.MaxLength. Vorrei creare un allert quando raggiungo un certo limite di c
Inserito da: Gianluigi - 07 Febbraio 2018, 09:31:14
 :ciao: Benarrivato,
probabilmente kicco si riferisce a questo post (http://www.gambas-it.org/smf/index.php?topic=6061.msg43010#msg43010).
Titolo: Re:TextBox.MaxLength. Vorrei creare un allert quando raggiungo un certo limite di c
Inserito da: kicco - 07 Febbraio 2018, 12:59:07
 :ok: