Che sono messo male, a dirmelo sei il secondo, il primo sono io stesso che me lo dico...
Il programmare "d'istinto" non è tua peculiarità, anche io butto giù quello che ho in testa e ci lavoro direttamente sopra mano mano. Il mettere prima qualcosa su carta, o studiato prima mi viene a noia, oltre che mi porta fuori strada. E' ovvio che questo comporta molto più lavoro, ma ti fà conoscere meglio le cose, fronteggiandole e risolvendole al volo.
Inoltre, la "buona programmazione" è un concetto, ma difficilmente attuabile nella realtà. E poi dipende anche da gusti e opinioni personali, a mio avviso, e non si può decidere con una legge divina come scrivere un programma. Spesso e volentieri sei legato anche ad aspetti non dipendenti dalla tua volontà o dalle tue conoscenze. Un esempio è proprio Gambas, che non si può dire che sia un linguaggio perfetto, come anche altri più blasonati, per cui devi sottometterti a certe condizioni... Però mi piace anche per questo, perchè mi costringe a pensare a sotterfugi per raggiungere lo scopo, che magari sarebbe più semplice con un altro linguaggio.
Ad ogni modo...
Grazie a te ho potuto approfondire il discorso sui componenti, e l'avevo pure adottato, ma in questo progetto ho desiderio di mantenere raggruppato il codice, per cui...
Creare componenti, o comunque classi ad-hoc può essere un aiuto. In particolare avrei la necessità di integrare un oggetto che potesse permettere di interagire con un database. Magari l'integrazione con il programma si può vedere in seguito, ma lavere una form, o un pannello, che integrasse le funzionalità base per poter interrogare, creare query e/o modificare anche dati (se possibile), sarebbe una bella cosetta da aggiungere al programma. Io avevo già buttato giù qualcosa di funzionante, ma ha funzionalità limitate, e allo scopo di creare una vista integrando vari campi e/o tabelle da un db.
Se può interressarti, anche la libreria grafica che ho creato potrebbe essere appliata e perfezionata, e già un'idea o un concetto diverso dal mio potrebbe essere utile.
Per quanto possibile, nell'ultima versione che stò scrivendo, stò cercando di utilizzare logiche e codice il più avanzato possibile, e anche cercando di strutturare la cosa il più possibile vicino al concetto di oggetto. Non tanto perchè è bello, ma soprattutto per raggiungere le massime possibilità della nuova versione di Gambas3.
Detto questo, ho anche dato un'occhio al tio codice, e in effetti hai usato il sistema che avevo usato a suo tempo con la prima versione di pgDesigner. Ho poi abbandonato il discorso in quanto ho riscontrato alla lunga dei limiti, per cui sono ritornato alla grafica pure. Il fatto poi che in Gambas3 hanno finalmente apportato quei miglioramenti che mi aspettavo in questo ambito, mi hanno convinto e per cui ho intrapreso questa strada. Tieni conto che mi ero messo a studiare a fondo le OpenGL, iche poi ho abbandonato ma mi è servito un mucchio nello studio dei concetti di base della grafica pura.
Insomma, se hai modo, il tuo aiuto sarebbe un bel "aiuto" per me...
(e questo vale anche per andy...)