Autore Topic: TextBox.MaxLength. Vorrei creare un allert quando raggiungo un certo limite di c  (Letto 339 volte)

Offline Murduk

  • Gamberetto
  • *
  • Post: 6
    • Mostra profilo
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:


Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.264
  • Ne mors quidem nos iunget
    • Mostra profilo
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
« Ultima modifica: 07 Febbraio 2018, 02:20:22 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Murduk

  • Gamberetto
  • *
  • Post: 6
    • Mostra profilo
Grazie. Sapresti dirmi dove posso trovare una guida esaustiva per le proprietà? possibilmente in Italiano. ;)

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.700
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
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:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.150
  • Tonno verde
    • Mostra profilo
 :ciao: Benarrivato,
probabilmente kicco si riferisce a questo post.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.700
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)