+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 3 su 3

Discussione: findcomponent e variabili at runtime

  1. #1
    Monti non è in linea Scolaretto
    Luogo
    Lecce
    Post
    90

    findcomponent e variabili at runtime

    buongiorno a tutti,
    ho una certa quantità di variabili (currency) create at Runtime
    codice:
    procedure TProspMensVendForm.ElaboraProspMensVenduto(Sender: TObject);
    var
       TjanA1,TjanA2,TfebA1,TfebA2,TmarA1,TmarA2,TaprA1,TaprA2,TmayA1,TmayA2,TjunA1,TjunA2,
       TjulA1,TjulA2,TaugA1,TaugA2,TsepA1,TsepA2,ToctA1,ToctA2,TnovA1,TnovA2,TdecA1,TdecA2,
       ta1,ta2,
    
       Tian1A1, Tian2A1, Tian3A1, Tian4A1, Tian5A1, Tian6A1, Tian7A1, Tian8A1, Tian9A1, Tjan10A1,
       Tjan11A1, Tjan12A1, Tjan13A1, Tjan14A1, Tjan15A1, Tjan16A1, Tjan17A1, Tjan18A1, Tjan19A1, Tjan20A1,
       Tjan21A1, Tjan22A1, Tjan23A1, Tjan24A1, Tjan25A1, Tjan26A1, Tjan27A1, Tjan28A1, Tjan29A1, Tjan30A1,
       Tjan31A1,
       Tian1A2, Tian2A2, Tian3A2, Tian4A2, Tian5A2, Tian6A2, Tian7A2, Tian8A2, Tian9A2, Tjan10A2,
       Tjan11A2, Tjan12A2, Tjan13A2, Tjan14A2, Tjan15A2, Tjan16A2, Tjan17A2, Tjan18A2, Tjan19A2, Tjan20A2,
       Tjan21A2, Tjan22A2, Tjan23A2, Tjan24A2, Tjan25A2, Tjan26A2, Tjan27A2, Tjan28A2, Tjan29A2, Tjan30A2,
       Tjan31A2: Currency;
    begin
    dovendo assegnare a tutte lo stesso valore di partenza, onde evitare:
    codice:
    Tjan1A1 := 0;
    Tjan2A1 := 0;
    etc
    etc
    e visto che il metodo 'FindComponent' funziona solo con i componenti presenti fisicamente sulla Form
    (almeno credo !!!)
    che tipo di ciclo posso usare a tale scopo ?

    Cordialmente Buona Pasqua....

  2. #2
    L'avatar di _alka_
    _alka_ non è in linea Very Important Person
    Luogo
    Reggio Emilia
    Post
    1,157
    Non so qual è l'utilizzo finale di quelle variabili, anche se dai nomi sembrano far riferimento a mesi e giorni dell'anno, tuttavia credo che la prima cosa da sanare sia evitare l'uso di una simile quantità di variabili, passando a una singola struttura (una classe o un record) che memorizzi in modo più organizzato le stesse informazioni, oppure - se i nomi delle variabili hanno un significato - usare un dizionario dove il nome della variabile diventi la chiave associato a un valore di tipo Currency.

    Il metodo FindComponent, come hai detto tu, ha un'altra finalità e sarebbe comunque una scelta inefficiente per questo tipo di esigenza.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Homepage | Blog | Delphi Podcast | Delphi Succinctly (e-book)

  3. #3
    Monti non è in linea Scolaretto
    Luogo
    Lecce
    Post
    90
    In effetti hanno lo scopo di memorizzare dei dati riguardanti la produzione e vengono 'raccolti'
    scrollando una tabella contenente i valori iniziali pratica per pratica, infine, una volta totalizzati i valori per giorno e
    per mese dell'anno vengono memorizzati in record per poi essere visualizzati con un TDBChart.

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi