Newsgroup: it.comp.lang.delphi
Titolo: Stampa di più report...

Ho una trentina di report che devono essere stampati uno di seguito
all'altro. Il mio problema è che la prima stampa viene effettuata, e le
successive non me le fa... probabilmente per il tempo che ci impiega a
mandare il report alla stampante... c'è una qualche funzione che mi permette
di sapere quando il report è stao definitivamente stampato? Avete altre
soluzioni?
Grazie
Paolo

Dear Paolo, aiutaci ad aiutarti.
sii + preciso e mirato quando poni le domande e sopratutto dai qualche dettaglio in piu'.
Se tu avessi scritto:
"Stampando 30 reports con fastReport, il primo esce ma gli altri no..."
invece di
"Ho una trentina di report che devono essere stampati uno di seguito
all'altro. Il mio problema è che la prima stampa viene effettuata, e le
successive non me le fa..."
non sarei ora costretto a chiederti:
Cosa usi per stampare? Crystal report? Tprinter? FastReport? O cosa?
Inoltre, a parte i tools che usi, la coda di stampa di Windows non soffre di amnesia che "dimentica" le stampe in coda quando sono troppo lente.
Se tu mandi 100 stampe lui le mette in coda e le dovresti vedere aprendo le proprietà della stampante.
magari usciranno il mese prossimo, ma a meno che tu non apri le proprietà della stampante e azzeri le stampe in attesa di esecuzione, quelle restano li e nessuno le muove.
Errore classico degli utenti inesperti:
1) scrivono un qualcosa in Word 
2) lo mandano in stampa
3) non esce
4 riparti dal punto 2
Cosi', dopo n tentativi vi sono n stampe in coda che aspettano di essere eseguite.
Poi, arriva il genio (??) dell ufficio e si accorge che manca la carta o che la stampante è spenta.
Mette la carta, accende e... 
Miracoloooo!
Escono n copie della stessa stampa e l'utente inesperto si chiede cosa è successo....
Scusami, ma lo dico x te.... :))
AS
-- 
Posted from 
ammi.mclink.it
 [195.110.128.1] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Non penso di essere stato cosě poco chiaro in merito... ho solamente chiesto
se esisteva un'istruzione che mi diceva se una stampa era stata eseguita
oppure no... comunque uso Quick Reports...
Proviamo a spiegarci meglio:
Ho una form che contiene una trentina di checkbox collegati a entrambi
Reports. Se seleziono tutti i ckbox dovrebbe farmi 30 stampe, solo se premo
sul pulsante print, oppure dovrebbe farmi 30 anteprima ,se premo sul
pulsante Preview. Purtroppo mi stampa solo un repors o mi visualiizza in
anteprima 1/2 reports? Mi sono spiegato?


Proviamo a spiegarci meglio:

anteprima 1 o 2 reports su 30. Mi sono spiegato?
Bye

 ha scritto nel messaggio
news:qI4W6.1008$uE.2...@news2.tin.it...

Prova ad usare il componente QRCompositeReport, vedi anche esempi dei report
dentro demos.
Ciao, Angelo Diego Crabolu.

Non volevo essere scortese.
Se lo sono stato mi scuso.
Solo che, in qualsiasi contesto dove sorge un problema, avere il max di info č fondamentale per trovare una soluzione, non trovi?
Tornando a bomba al tuo problema...
QR lo uso poco xche lo odio quasi quanto Crystal report che ti auguro di non usare MAI....
Riguardo le checkbox, io fare in altro modo.
1) Ogni checkBox ha un suo handle: 30 chk, 30 handle.
2) Se aggiungi qualche stampa devi smanettare parecchio sul form.
Io invece userei una dual listbox.
Con la prop Items  di tipo TStrings puoi:
a) Assegnare il nome o la descrizione della stampa al item vero e proprio
b) Assegnare un qualcosa nella prop Object associata all'item.
Poi, basta fare una scansione di tutti gli elementi della ListBox che contiene le stampe selezionate dall'utente e, per ognuno degli item, eseguire un cast sull'object associato all'item stesso.
Esempio
ListBoxSorgente.AddObject( 'Stampa 1', ActionStampa1);
ListBoxSorgente.AddObject( 'Stampa 2', ActionStampa2);
ListBoxSorgente.AddObject( 'Stampa 3', ActionStampa3);
ListBoxSorgente.AddObject( 'Stampa 4', ActionStampa4);
....
ActionStampa č un oggetto di Classe TAction incluso in un oggetto ActionList.
Poi, sempre nel form, metti un radiobutton con 2 item: Stampa e Anteprima.
Poi, due pulsanti: Ok, Annulla.
Pulsante OK:
for Conta:=0 to ListBox2.Items.Count -1 do
begin
  (ListBox2.Item[Conta].Object As TAction).Execute
end;
procedure ActionStampa1.Execute(Sender: tObject);
begin
if RadioButton1.ItemIndex = 0 then
  previewStampa1
else
  PrintStampa1
end;
Cosě non ti tocca cambiare l'impostazione del form ogni volta che devi aggiungere una nuova stampa o eliminarne una gia presente.
E' solo un suggerimento, poi vedi tu... :))


Non volevo essere scortese.
Potresti (e te lo chiedo gentilmente per la TERZA volta)
impostare il tuo newsreader con una larghezza massima di 72
caratteri ?
G R A Z I E 
--
Andrea Laforgia - walkietalkie(at)
libero.it
#exclude <windows.h>

Dear Paolo, aiutaci ad aiutarti.
Potresti (te l'ho gia' chiesto un'altra volta) limitare il numero
di colonne dei tuoi messaggi a non + di 72 ? 
Grazie.


Sorry!
Sono mortificato.
Io non uso un newsreader, ma un programma di posta.
Se non do io l'invio lui mi fa anche righe di 1000 caratteri.
A volte me ne dimentico e preso dalla fretta, non controllo
i messaggi prima di inviarli.
cerchero' di stare + attento.
Saluti
