Autore Topic: Evento change in listbox  (Letto 3420 volte)

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Evento change in listbox
« Risposta #15 il: 18 Luglio 2010, 23:54:05 »
@ milio :
L'ho già scaricato, ma quest'ora devo creare una nuova classe  :sleepy:
Lo vedrò domani.
Grazie, se non capirò ti  :coder: di nuovo.
Buona notte!
:ciao:

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Evento change in listbox
« Risposta #16 il: 18 Luglio 2010, 23:58:12 »
@Akrobaticone

Scusa ma ho fatto un po' di casino riprendendo un progetto che avevo usato come prova, e ho cancellato il Module1 senza poi, prima di creare il pacchetto sorgenti, ricompilare il tutto...
Comunque l'esempio funziona lo stesso, basta che lo ricompili tu...
La classe che ti interessa si chiama CListBox

@Picavbg

Buona notte

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re: Evento change in listbox
« Risposta #17 il: 19 Luglio 2010, 00:05:30 »
Ok tutto chiaro
Buonanotte
"e il naufragar m'è dolce in questo mar"

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Evento change in listbox
« Risposta #18 il: 19 Luglio 2010, 00:10:01 »
E buonanotte anche a te  :sleepy:

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Evento change in listbox
« Risposta #19 il: 19 Luglio 2010, 00:28:46 »
@ milio :
Codice: [Seleziona]
INHERITS ListBox  
EVENT NewItem  
Interessante. Potresti spiegare brevemente il meccanismo INHERITS e se vi siano altri casi pratici in cui convenga usarlo?
Ricordo di avere letto qualcosa su una guida quando ho cominciato ad approcciarmi con Gambas, ma, inutile dirti che non l'ho capito; questa potrebbe essere l'occasione per fare un salto di qualità conoscitiva.
Grazie anticipate. :)

http://www.gambas-it.org/wiki/index.php/INHERITS

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Evento change in listbox
« Risposta #20 il: 19 Luglio 2010, 22:32:52 »
@ Milio:
Ho guardato il codice che hai allegato alla rispo n.10, ma Non ho trovato la funzione INHERITS, però lanciando il programma vedop che fa esattamente quello che hai detto e, francamente non riesco a collegare la pratica con la teoria.
 ???
Ciao.
:ciao:

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re: Evento change in listbox
« Risposta #21 il: 19 Luglio 2010, 23:00:28 »
la   definizione INERITHS la trovi nella classe CListBox
da quanto ho capito permette di derivare da una classe esistente una nuova classe nella quale aggiungo metodi o eventi personalizzati
nel caso in oggetto costruisco una nuova classe CListBox derivata dalla classe ListBox aggiungendo l'evento NewItem
Non so come è strutturata al suo interno tale classe, ma alle funzionalità già presenti ne affianco una nuova.
Correggetemi se sbaglio

"e il naufragar m'è dolce in questo mar"

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Evento change in listbox
« Risposta #22 il: 20 Luglio 2010, 00:00:13 »
...
da quanto ho capito permette di derivare da una classe esistente una nuova classe nella quale aggiungo metodi o eventi personalizzati
...

;)...è proprio così! Bravissimo!

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re: Evento change in listbox
« Risposta #23 il: 20 Luglio 2010, 00:03:09 »
...
da quanto ho capito permette di derivare da una classe esistente una nuova classe nella quale aggiungo metodi o eventi personalizzati
...

;)...è proprio così! Bravissimo!

:2birre: :2birre:
"e il naufragar m'è dolce in questo mar"

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Evento change in listbox
« Risposta #24 il: 20 Luglio 2010, 00:08:52 »
Bravo, sei riuscito a capirne il concetto nonostante io sia un cane come docente  ;D

Meno male che c'e' Ceskho  :2birre:

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Evento change in listbox
« Risposta #25 il: 20 Luglio 2010, 14:06:19 »
I complimenti a "cesko", che ha fatto il suo dovere di webmaster... :-)

Scherzi a parte, ragazzi, perchè non leggete? Poi magari, se le cose non sono chiare si domanda, e magari è utile per migliorare il nostro wiki...

Mi dispiace di avere poco tempo per continuare a scrivere sul wiki, ma il lavoro già fatto mi sembra quantomeno sprecato se nessuno lo legge.

Leggete...leggete...e moltiplicatevi... (ops, forse la frase era un'altra...) :-)

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Evento change in listbox
« Risposta #26 il: 21 Luglio 2010, 15:58:07 »
Benissimo! Ho riletto il Wiki.Inherits e probabilmente ho capito qualcosina in più. Volendo metterlo in pratica, potrebbe aiutarmi a gestire più semplicemente la seguente casistica:
Nella Form allegata al presente post ho segnato con una freccia la frame contenente le caselle di digitazione del dettaglio della resta di Cassa giornaliera.
Devo anche dire che nel mio programma non é necessario  che le giornate contabili siano obbligatoriamente consecutive, né come data né come successione di Entrate e Uscite. Inoltre posso registrare i movimenti di una giornata ad una certa data, lasiarla aperta o chiuderla, indifferentemente,  e nel frattempo registrare i movimenti di un'altra giornata di un altra settimana, un altro mese un altro anno.
Esiste solamente una necessità logica: Devo sempre avere od ottenere il saldo alla chiusura precedente con la corrispondente resta di cassa, dettagliata.

Spero di essere riuscito a rendere comprensibile  il mio concetto, estremamente contabile e tecnico allo stesso tempo.

Se il mio ragionamento risulta chiaro, si dovrebbe intuire chedentro la frame di cui parlo potrei dovere inserire le voci di dettaglio della Resta di cassa a fine della giornata contabile corrente, oppure quelle della giornata contabile logicamente immediatamente precedente a quella corrente. Potrei perciò utilizzare per l'una condizione (Es. la fine della giornata contabile corrente) la frame della Form, nella sua impostazione nativa, mentre per l'altra condizione (Es. la ripresa della resta chiusura della giornata contabile precedente) potrei creare una classe INHERIT. Infatti nel primo caso le funzioni al suo interno punterebbero alle variabili ed alle tabelle di DB per la gestione dei dati di chiusura della giornata corrente, mentre, nel secondo caso, le funzioni all'interno della classe INHERIT punterebbero  alle variabili ed alle tabelle di DB per la rilevazione dei dati di chiusura della giornata immediatamente precedente.

Se ho capito, intanto, datemi un segno, e poi mi chiedo: Ma tutto questo non é più dispendioso di energie per memoria e righe scritte, rispetto a procedere con test di riconoscimento della condizione digitativa negli eventi interessati delle singole caselle?  ???
 :( :(
:ciao:

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Evento change in listbox
« Risposta #27 il: 22 Luglio 2010, 10:43:30 »
Premetto che dal tuo discorsetto non ci ho capito un'acca, ma potrei essere io con l'età che avanza... :-)

Come scritto nel wiki, l'uso di INHERIT, ti permette di creare classi simili da un template con funzionalità generiche. Le classi derivate vengono poi specializzate, inserendogli funzionalità aggiuntive, in aggiunta a quelle ereditate dal template.
Il come usarle poi, è dipendente dalla logica che vuoi applicare, ma è necessario fare bene attenzione, e capire bene al concetto, prima di mettersi a scrivere codice confuso.

COme ho detto, poco ho capito di quello che vuoi fare, ma penso di averne un'idea... Penso che il tuo bel programmino faccia uso di un db, per cui l'analisi e l'estrazione di dati, con particolari condizioni (vedi totale resta giorno attuale, o giorni precedenti) si possa fare tranquillamente con delle query apposite, che nulla hanno a vedere con il concetto di ereditarietà di classe.

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Evento change in listbox
« Risposta #28 il: 22 Luglio 2010, 17:35:20 »
Come scritto nel wiki, l'uso di INHERIT, ti permette di creare classi simili da un template con funzionalità generiche.
 Le classi derivate vengono poi specializzate, inserendogli funzionalità aggiuntive, in aggiunta a quelle ereditate dal template.
Il come usarle poi, è dipendente dalla logica che vuoi applicare, ma è necessario fare bene attenzione, e capire bene al concetto, prima di mettersi a scrivere codice confuso.
A me risulta purtroppo difficile capire il funzionamento dell'insieme 'ingranaggi'  del tipo, Classi, Inherit, Template. Per cui per andare avanti più speditamente sarei portato ad inserire nei singoli controlli deviatori logici da interrogare per scoprire la gestione del flusso di programma.
Il codice, come ben sai, é solamente il carburante di cui ha bisogno  il motore per trattare i dati, per cui, é necessario conoscere bene i singoli componenti del motore stesso che nel nostro caso si chiama Gambas. Leggerne il funzionamento non é conoscerlo; per conoscerlo, bisogna studiarne nella pratica i componenti associandoli ai compiti che sono chiamati a svolgere e riscontrandone possibilmente i comportamenti.
Purtroppo, in questa fase sto facendo fatica a capire gli argomenti suddetti.
Da qualche giorno ho più chiaro il concetto di classe e del passaggio di dati fra classi diverse; Ho messo in pratica quello che ho capito e riesco  a masticarle senza perdere la dentiera. :D
Ora sto cercando di capire Inherit ed il concetto di Template, tutti e due, a me, e sufficientemente ostici. Da quello che hai indicato nella tua rispota, quando parli di Template, credo che ti riferisca ad una sorta di oggetto-scheletro, che può essere una casella del Form, una griglia, ..., una frame con tutti gli oggetti definiti al suo interno, un pannello, oppure lo stesso Form.
Poi bisognerebbe ricorrere alle Classi conteneti l'istruzione Inherit che utilizzano lo stesso scheletro, ma costruendoVi attorno il corpo di funzioni che permettono di fargli assumere sembianze diverse.

Citazione
... Penso che il tuo bel programmino faccia uso di un db, per cui l'analisi e l'estrazione di dati, con particolari condizioni (vedi totale resta giorno attuale, o giorni precedenti) si possa fare tranquillamente con delle query apposite, che nulla hanno a vedere con il concetto di ereditarietà di classe.
Si, certo, ma ciascun controllo della frame dovrà gestire a seconda delle necessità, all'apertura della Form, la digitazione  dei componenti  della resta di cassa di una giornata precedente a quella corrente ed alla fine, per la quadratura della giornata corrente, i componenti  della resta di cassa propri della giornata corrente , quindi la ricerca e l'inserimento nel DB dei dati appartenenti alle stesse tabelle utilizza parametri con contenuti diversi.

Ora se quanto capito sul concetto di Inherit, é in linea di massima corretto, dovrò capire se é utile applicarlo alla Form che sto sviluppando, oppure se gestendo opportunamente le query posso evitare di fare ginnastica-mentale, specialmente in questo perido di caldo afoso. ;D
 :( :(
:ciao:

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Evento change in listbox
« Risposta #29 il: 23 Luglio 2010, 00:15:49 »
Ti faccio un esempio nella speranza di farti capire Inherit.

Immagina di dover descrivere una situazione famigliare con le classi: hai una classe di nome Padre. Da essa vogliamo derivare una classe Figlio. Facciamo finta che questo figlio, quando nasce, eredita tutto (ma proprio tutto) del padre: colore degli occhi, altezza, colore capelli, difetti fisici, etc.....

Questo figlio sa anche fare tutto quello che fa il padre: leggere, camminare, scrivere, parlare, etc....

Bene! il bambino è nato già tutto formato e tale e quale al padre (mistero dela fede... :D) però pare che questo bambino, a differenza del padre, sappia anche nuotare.

È qui che entra in gioco Inherit. Noi creeremo una classe di nome figlio, all'inizio dichiareremo Inherit Padre (ovvero eredità tutto ciò che è possibile da padre) e dopo dichiareremo le cose in più, come ad esempio una funzione di nome Nuotare!

Spero che il mio esempio serva e sia esplicativo anche se veramente stupido e banale!