Autore Topic: Modificare proprietà di una form  (Letto 2174 volte)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Modificare proprietà di una form
« Risposta #15 il: 11 Febbraio 2009, 21:00:47 »
direi che il trasporto della larghezza del form funziona con questo metodo che hai utilizzato ora .

a occhio e croce mi sembra che tu ti stia complicando molto la vita ..gambas è + semplice!

ho notato (se non erro ) che non c'è ancora un metodo per creare le tabelle nel db e poterci quindi iserire i dati percui ho provato a modificare il valore di i_lun nel modulo  Leg_Dt_Autom() e il form viene ridimensionato correttamente


fai attenzione questo codice
Codice: [Seleziona]
 

FOR i_Ind = 0 TO i_NumElem - 1
        $StriMia = NomeRec!DtCoGGAp
        i_Mese = Val(Mid$($StriMia, 5, 2)) - 1    'il valore stringa viene trasformato in valore numerico per prelevare il mese in chiaro dalla Combobox "DtContMM"
        Form1.ListGGAp.i_Ind = [Right$($StriMia, 2) & "-" & Form1.DtContMM.i_Mese & "-" & Left$($StriMia, 4)]
        NomeRec.MoveNext
        INC i_Ind
      NEXT

non funziona correttamente : non devi mette INC i_ind altrimenti salverai solo un dato ogni 2 infatti for....next incrementa in automati il valore della varabile i_ind

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Modificare proprietà di una form
« Risposta #16 il: 12 Febbraio 2009, 00:20:59 »
Citazione

fsurfing ha scritto:
1) direi che il trasporto della larghezza del form funziona con questo metodo che hai utilizzato ora .

2) a occhio e croce mi sembra che tu ti stia complicando molto la vita ..gambas è + semplice!

3) ho notato (se non erro ) che non c'è ancora un metodo per creare le tabelle nel db e poterci quindi iserire i dati percui ho provato a modificare il valore di i_lun nel modulo  Leg_Dt_Autom() e il form viene ridimensionato correttamente
........................................
4) non devi mette INC i_ind altrimenti salverai solo un dato ogni 2 infatti for....next incrementa in automati il valore della varabile i_ind


Faccio riferimento alle chiamate per rispondere puntualmente:

1) L'utilizzo del modulo per il passagio dei valori fra la Form1.class e la CercaDtContAutom.class l'ho messo in pratica solo poco prima di leggere il tuo post, ma non é quello che volevo fare. Mi sembra una soluzione elementare che mi obbliga fra l'altro a tenere variiabili sempre attive in memoria, con ovvio impegno di byte. Pensavo infatti che potesse esserci un metodo per il passaggio di dati fra classi meno dispendioso in termini di RAM. Se la soluzione messa in pratica però é l'unica percorribile per le mie modestissime conoscenze, va bene così.

2) Non capisco a cosa ti voglia riferire. Forse alla mia ricerca di una soluzione diversa da quella del l'utilizzo di moduili per il passaggio di dati fra classi?

3) Il metodo a cui ti riferisci riguarda l'utilizzo di tecnica rozza nell'inserimento di dati nel DB, oppure, semplicemente, parli di attività elaborativa non ancora affrontata? Se, come ho capito, ti riferisci a quest'ultima, é chiaro che ancora non é arrivato il momento di scrivere dati sul DB e quindi non ho affrontato il lavoro di programmazione.

4) Ti ringrazio per la segnalazione. Non avevo riflettuto sul comportamento di Gambas; infatti nella mia testolina quell' " INC i_Ind " era il corrispondente di "NEXT i_Ind " di VB. Codesto passo di programma non é stato ancora eseguito, quindi mi hai risparmiato la fatica di capirlo da solo più avanti nel test del programma.

Tutto sommato sono contento.  :-)  Hai trovato un solo errore blu. :-D

 :ciao:  :ciao:
:ciao:

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Modificare proprietà di una form
« Risposta #17 il: 12 Febbraio 2009, 12:49:13 »
Citazione
2) a occhio e croce mi sembra che tu ti stia complicando molto la vita ..gambas è + semplice!


probabilmente era solo una mia impressione aprima vista ..non farci caso

se vuoi utilizzare il ridimensionamento di form1 da codice di una classe non puoi trattare form1 come una classe dinamica(non sono sicuro di quel che dico) ma solo come classe statica ..mi spiego sempre male lo so! :-o

cmq ti ho modificato il file per utilizzare form 1 come un form statico invece di una classe

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Modificare proprietà di una form
« Risposta #18 il: 12 Febbraio 2009, 13:00:18 »
Citazione
Tutto sommato sono contento.  Hai trovato un solo errore blu.

a dire il vero ho vosto qualche altra cosa strana ..ma non mi sbilancio a dire che sia un errore ..potrebbe essere un modo diverso di fare la stessa cosa :-?

cmq complimenti bel programmino , mi piace la cura che metti nel fare le cose passo passo ,

io invece faccio tutto subito in modo grossolano e poi vado ad affinare e modificare per renderlo presentabile  :lol:
probabilmente sarà dovuto al fatto che non sono un programmatore professionista  ma un dilettante allo sbaraglio! :-x

happy coding!

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Modificare proprietà di una form
« Risposta #19 il: 12 Febbraio 2009, 17:15:30 »
Mi ha fatto piacere il discorso sul "risparmio di memoria", che ho a cuore, nonostante l'andazzo generale del "tanto ormai le macchine hanno un botto di memoria, perchè preoccuparmi ?".

Riguardo al discorso dei parametri, e dell'uso o meno di variabili, posso dire che la cosa dipende dalla situazione. Non ho modo al momento di leggere il tuo codice, e visti i complimenti che ti ha fatto fsurfing, immagino sia scritto con criterio.
Ad ogni modo, ritornando alla questione memoria, sull'uso dei parametri contro l'uso di variabili publiche, è sicuramente il mezzo migliore per costruire un programma migliore, modulare e più gestibile.
Su questo punto, quindi, mi trovi perfettamente d'accordo ma, e dico ma, la logica può imporre condizioni tali da mischiare le due condizioni.
Nella programmazione ad oggetti, è ovvio pensare all'esistenza di variabili, che devono essere mantenute, almeno a livello privato di una classe; ovviamente, se l'utilizzo è a solo scopo di gestire una singola situazione (una procedura, o un metodo), allora sicuramente vale il discorso dei parametri, perchè inutile salvarsi un valore, se questo viene utilizzato solo in un punto. Stesso discorso per le variabili temporanee, definite all'interno di una funzione, che muoiono al termine della stessa.
La classe stessa (o l'oggetto), è un componente (o contenitore) che occupa memoria, e più è piccolo e meglio è. Anche qui è ovvio pensare ad una gestione ottimizzata dell'oggetto, se utilizzato in un contenitore (o classe) più grande.

Vabbè, termino qui, perchè ho poco time.

Buon lavoro!!!

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Modificare proprietà di una form
« Risposta #20 il: 13 Febbraio 2009, 15:20:48 »
E' stata una battaglia lunghetta ma, alla fine, é stata vinta. :-D  Ringrazio tutti per il supporto ricevuto:
@fsurfing  per avermi illuminato con la soluzione “Form1.show” che da solo non avrei mai immaginato; per me “.show” serviva solo a fare espolodere una form a video, ma non credevo che potesse costruirsi una “PUBLIC SUB Form_Show()”, diventando così un evento scatenato con scrittura di codice. Così facendo inoltre la “Form1.class” é diventata statica e quindi impegnerà un pò più di memoria, ma é servito per fare funzionare la valorizzazione da classi esterne di campi di controlli in maniera semplice.
@md9327 per avermi suggerito diverse soluzioni che purtroppo non ho saputo cogliere per la mia scarsa conoscenza di Gambas e l'assoluta mancanza di notiozie su c++ e altri linguaggi. E' vero che il concetto di risparmiare memoria va conciliato con il compito da affidare ad un programma, per cui alla fine vale il principio del risultato da raggiungere e bisogna pertanto arrivare ad un compromesso fra utilitrà e qualità di esecuzione. Codesto é un tassello chiave nella costruzione di un programma, grande o piccolo che sia.
Grazie ancora a tutti, anche a chi non ho citato, ciò perché non sempre occorre una risposta mirata all'argomento che si propone come nuova discussione; basta l'aiuto indiretto di quanto é stato già scritto in altre discussioni. Questo é il bello di una comunità informatica. A volte fa bene anche rileggere proprie riflessioni che, nel lungo o breve ternmine sono andate parcheggiate in uno scantinato del cervello; quelle riflessioni rilette producono spolvero ed ecco che la lampadina si accende e l'ostacolo prima insormontabile ora scompare.

 :-)  :-)  :ciao:  :ciao:
:ciao: