Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Delphi] Ottenere valori campi da FreeReport

    Sto utilizzando Freereport per creare dei report. Nel mio modello c'è una casella di testo priva di testo ma con uno script molto semplice: "Text := [Fattura.Spese]*3+1000000".
    Se eseguo un preview con la variabile [Fattura.Spese] pari a 0 sulla casella di testo vedo "1000000" come giusto che sia.
    Ora ho la necessità di accedere al valore della casella di testo (nel nostro esempio "1000000") dopo aver eseguito il preview del report e quindi lo script.

    Pensavo di usare questo codice:

    var
    t: TfrMemoView;
    begin
    t := TfrMemoView(frReport1.FindObject('Memo24'));
    Memo1.Lines.Add(t.Memo.Text);
    end;

    Tuttavia non funziona in quanto mi restituisce una stringa vuota e come se dopo aver eseguito lo script il valore calcolato e mostrato a video non fosse inserito nella proprietà Memo.Text del Memo24.

    Qualcuno mi può aiutare? Come si fa ad estrarre il risultato di uno script?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Si tratta di FreeReport o di FastReport?

    Comunque sia, non credo che tu stia seguendo un approccio corretto: i tool di reporting dovrebbero avere il solo compito di generare stampe, e non di effettuare calcoli, salvo quelle eccezioni in cui hai bisogno di calcolare un valore solo per mostrarlo nella stampa e il tool ti viene in aiuto consentendoti di farlo senza passare quel valore calcolato dall'esterno.

    Detto questo, secondo me, se quel valore calcolato ti serve anche nel programma, è più opportuno che tu sposti la sua elaborazione all'interno del programma principale, magari ripetendolo anche nel report oppure sfruttando il valore che calcoli all'esterno di esso.

    In breve, non penso sia un approccio corretto sfruttare il tool di reporting per ottenere i valori calcolati di alcune espressioni.

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

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    OK ma il mio problema è il seguente. Nel mio programma l'utente ha a disposizione 5 parametri, questi parametri sono senza nome ovvero sono generici nel senso che l'utente può associare ad ogni parametro un significato ad esempio il parametro 1 potrebbe essere l'IVA, il 2 il CAP (mi rifersisco al report di una fattura).
    L'utente poi generando con un editor il proprio modello può utelizzare questi 5 parametri (che il mio programma passa al report) come vuole attraverso l'uso di script interni al modello stesso.
    Da qui l'esigenza di estrerre il valore dal report.
    Se riesco nel mio intento il mio software sarebbe molto più versatile. Se invece faccio fare i conti al softwre e poi li passo al report (cosa che attualmente fa il mio programma), l'utente non ha modo di intervenire direttamente sui conti della fattura (si tratta comunque di operazioni elementari).
    Sebbene quindi non sia il metodo più ortodosso mi piacerebbe sapere se sia possibile.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.