Autore Topic: gb.searchbox  (Letto 7408 volte)

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: gb.searchbox
« Risposta #60 il: 11 Novembre 2010, 22:01:27 »
spero che questa sia l'ultima volta che riscrivo sto pezzo di codice.... mmiiiiii che palle

Codice: vb.net [Seleziona]
Private RecComuni as Result    
  
Public Sub CaricoLista()      
Dim Nx As Integer    
  
RecComuni = MiaConn.Exec("Select * From Comuni;")    
For Nx = 0 To RecComuni.Max    
  RecComuni.MoveTo(Nx)    
  Me.SearchBox1.List[Nx] = RecComuni["Comune"] & ", " & RecComuni["Provincia"]    
Next    
  
End    
  
Public Sub SearchBox1_Found()    
  
RecComuni.MoveTo(CInteger(Val(Me.SearchBox1.Key)))    
Me.TextBox1.Text = RecComuni[quellochevuoi]    
'ecc ecc ecc    
  
End  

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: gb.searchbox
« Risposta #61 il: 11 Novembre 2010, 22:38:26 »
Non so perché ma se non aggiungevo un... Me.SearchBox1.List.Clear ...prima del ciclo di Nx, mi restituiva dei record duplicati.  ???

Ora però c'è un problema... Io di solito apro una connessione e la chiudo subito dopo aver eseguito le operazioni (ed il risultato lo ottengo con Return).
In questo modo la variabile RecComuni result viene anch'essa chiusa e quindi quando è chiamata nell'evento _Found il programma va in errore.
Potrei a questo punto farmi restituire il result direttamente dalla Sub?

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: gb.searchbox
« Risposta #62 il: 11 Novembre 2010, 22:42:03 »
mmm...  :rolleyes:

prova a passarmi il codice, se non ti fa niente... magari io la vedo in un modo (e la scrivo anche male  :P) magari c'e' qualcosa che a me sfugge...


Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: gb.searchbox
« Risposta #63 il: 11 Novembre 2010, 22:43:14 »
Non so perché ma se non aggiungevo un... Me.SearchBox1.List.Clear ...prima del ciclo di Nx, mi restituiva dei record duplicati.  ???

Perchè per quanto il componente è intelligente non può capire da solo che si deve ripulire prima di riempirlo.... ;)
« Ultima modifica: 11 Novembre 2010, 22:49:09 da Ceskho »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: gb.searchbox
« Risposta #64 il: 11 Novembre 2010, 22:45:05 »
Bhe si certo... se richiami per due volte la sub CaricaLista e' ovvio che ti duplica i record

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: gb.searchbox
« Risposta #65 il: 11 Novembre 2010, 22:51:03 »
E' stata sofferta ma l'abbiamo fatta...  :2birre:

In pratica mi faccio restituire il RecComuni dalla Sub... e poi posso tranquillamente cercare i dati che mi servono nell'evento _Found...

Poi quando ho finito e RecComuni non mi serve più la annullo con RecComuni = Null. Non so se quest'ultima operazione è sensata, ma se non lo faccio mi da l'idea che la variabile rimane in memoria e può crearmi dei brutti scherzi dopo...

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: gb.searchbox
« Risposta #66 il: 11 Novembre 2010, 22:58:28 »
In teoria, quando chiudi il form, Gambas dovrebbe eliminare tutti gli oggetti e variabili dalla memoria... poi non so, magari sto dicendo castronerie... del retroscena non me ne intendo tanto  :-\

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: gb.searchbox
« Risposta #67 il: 11 Novembre 2010, 23:04:10 »
In teoria, quando chiudi il form, Gambas dovrebbe eliminare tutti gli oggetti e variabili dalla memoria... poi non so, magari sto dicendo castronerie... del retroscena non me ne intendo tanto  :-\

Effettivamente è così...ha differenza di altri linguaggi più "profondi" che prevedono che il programmatore liberi lo spazio allocato, gambas gestire tutto con la propria mappatura di memoria...

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: gb.searchbox
« Risposta #68 il: 11 Novembre 2010, 23:08:44 »
Allora dico bene, o dico giusto?  :P

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: gb.searchbox
« Risposta #69 il: 11 Novembre 2010, 23:25:00 »
Allora dico bene, o dico giusto?  :P

Diciamo che dici esatto... ;D

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: gb.searchbox
« Risposta #70 il: 11 Novembre 2010, 23:29:07 »
Nel mio dubbio ...all'evento _LostFocus della searchbox do un RecComuni = Null.  :)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: gb.searchbox
« Risposta #71 il: 15 Novembre 2010, 13:21:10 »
Per gli oggetti e le variabili create, è possibile fare pulizia anche nel metodo nascosto _free().

Ma attenzione ai NULL, o agli oggetti invalidi!!!

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: gb.searchbox
« Risposta #72 il: 18 Novembre 2010, 14:08:16 »
Zio Milio,

mi sono studiato i sorgenti della tua SearchBox e me ne sono settata una personalizzata... niente di ché... ho solo aggiunto un evento pressione_tasti (NoListKeypress) quando non è visibile la lista , e poi ho messo predefiniti i colori di found, notfound e popup. Infine ho sistemato settato il background: giallo quando riceve il focus, default quando lo perde...

Se ho capito, con lo stesso criterio vorrei realizzarmi una TextBox personalizzata, con già predefinito il background quando si riceve o meno il focus. Poi nella SearchBox gli faccio caricare quella personalizzata, anziché la TextBox.
In più vorrei inventarmi qualcosa con la pressione dei tasti...
E poi vorrei metterci delle proprità tipo:
- sulla formattazione dei caratteri (Tutto maiuscolo, Tutto Minuscolo, Prime lettere di ogni parola in Maiuscolo...)
- sui caratteri possibili (solo numeri, solo lettere, ecc.)
- formato maschera inserimento
- ecc... se ci viene in mente qualcos'altro  ;)
Una specie di ValueBox, però con più settaggi...

 :2birre:

PS. Sto pensando di inserire queste piccole modifiche come proprietà, tipo Highlight True/False, ecc.
« Ultima modifica: 18 Novembre 2010, 14:17:46 da perseo »