Newsgroup: it.comp.lang.delphi
Titolo: QuickReport

Passando da D7 a delphi2007, ho scaricato QuickReport che sembrava 
funzionare, ma la stampa non veniva fuori. Ho scoperto che se ho la laser in 
linea, non stampa, mentre se ho la normale stampante a getto, si.
C'è qualcosa che posso fare perchè funzioni anche la laser ? O per 
controllare con quale stampante si stampa ? 

Stark ha scritto:

quickreport1.printersetup o qualcosa di simile. Ma serve solo a capire
quale stampante stai usando.
-- 
http://www.kiva.org
Per il ng it.comp.lang.delphi: astenersi perditempo e lamer.
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Anche io ho avuto problemi di questo tipo, prova ad usare il print e il 
printbackground e vedere quali dei due risponde. Io devo prima mandare 
in stampa qualcosa con il Rave e poi usare il quick.
Dan.

 in stampa qualcosa con il Rave e poi usare il quick.
???
A.

 linea, non stampa, mentre se ho la normale stampante a getto, si.
Ma non dai alcuni dati essenziali..
Ad esempio, la inkjet e' collegata tramite usb o cosa?
E la laser e' via usb oppure usi una porta tcp/ip?
A.

COME HO GIA' DETTO PIU VOLTE IN PASSATO, MI INFASTIDISCE CHE MI SI
RISPONDA IN PRIVATO A QUESITI RELATIVI AL NG.
MI SONO SEMPRE AFFIDATO ALLA EDUCAZIONE, ALLA NETIQUETTE E AL BUON
SENSO ALTRUI EVITANDO DI METTERE UN INDIRIZZO EMAIL FALSO.
A.

 ha scritto nel messaggio 
news:836e581c-4127-4cb1...@u26g2000yqu.googlegroups.com...

Mi scuso, è stato fatto per errore. Invece di Rispondi al gruppo, ho premuto 
il bottone Rispondi !!!!!!!!!!!! 

 ha scritto nel messaggio 
news:836e581c-4127-4cb1...@u26g2000yqu.googlegroups.com...

Ripropongo al gruppo:
Entrambe sono collegate via usb. Definendo preferita la inkjet, quickreport
stampa, altrimenti fa tutto, sembra che stampi perchč viene fuori un
pannellino "printing..", ma poi la stampa non viene fuori e non c'č nemmeno
in coda.

 in coda.
Hai provato a selezionare la stampante tramite quickreport1.printersetup?



OK, ma non è la soluzione del problema. Posso selezionare la stampante 
inkJet, ma la domanda è: perchè non posso stampare con la laser ? 

 inkJet, ma la domanda č: perchč non posso stampare con la laser ?
Non si capisce nulla dalle risposte che dai nei tuoi post.
Ripeto: hai provato a selezionare la stampate attraverso
quickreport1.printersetup? Si o no?


Prova a guardare qui e vedere se ti puo' essere di aiuto il codice
scaricabile in fondo alla pagina.
http://www.techtricks.com/delphi/selprint.php



Sarò più chiaro. Si, seleziono la stampante nel dialog TPrinterSetup. Ne ho 
due: La inkjet e la laser. Se scelgo la laser, stampa comunque sulla inkjet. 
Adesso però per qualche ragione incompresa, stampa! Il codice non è 
cambiato. L'unica cosa è che passo per il setup ... 

"la mente elastica "® ©"" <lamente...@hifideli.ty> ha scritto nel 
messaggio news:i12eu6$hv8$1...@news.newsland.it...

Ho scaricato il software di esempio e mi sono messo a provarlo. In quel 
momento però operavo con un nome utente senza privilegi di amministratore e 
su una versione di Delphi che non indirizzava QuickReport. Allora ho 
aggiunto il path per vedere QuickReport, ma non funzionava. La faccio corta: 
funzionava solo se avviavo Delphi come amministratore.
A questo punto ho abbandonato la sessione e mi sono loggato con il nome 
utente amministratore come di solito. Ho avviato Delphi noirmalmente e ho 
ripreso il codice esempio. La compilazione però falliva con il messaggio 
"unable to create process". Anche in questo caso riaprendo Delphi come 
amministratore, anche la compilazione è andata ...
Sono talmente confuso che non so nemmeno che domanda devo fare. Cosa posso 
aver fatto perchè Delphi mi chieda di presentarmi come amministratore?
PS: lo so che non c'entra niente con il mio problema originario, ma questo è 
subentrato inaspettatamente. 

Stark, nel tuo codice devi inserire quickreport.printersetup, non il
printersetup preso dal tabulatore Dialogs.
Nel mio codice uso una roba tipo questa:
with quickreport1 do
begin
  PrinterSetup;    <--- seleziono la stampante
  if Tag=0 then
    begin
    Prepare;    <--- questo ce lo metto di default
    PreviewWidth        := Screen.Width-48;
    PreviewHeight       := Screen.Height-48;
    PreviewInitialState := wsNormal;
    PreviewModal; <--- dal previewmodal lancio la stampa
end;
Dal printersetup seleziono la stampantante
La stampa la lancio dal pulsante di stampa presente sul preview.
Ho trovato questo appunto:
//  QuickRep1.PrinterSetup;
//  case QuickRep1.Tag of
//  0: ShowMessage('premuto pulsante OK');
//  1: ShowMessage('premuto pulsante Annulla');
//  end;
//Printer.PrinterIndex:=Printer.PrinterIndex;
Questa ultima riga era stata introdotta perche' c'erano problemi ad
individuare correttamente la stampante, mi sembra. Se cerchi con google
qualcosa dovrebbe saltare fuori.
Su quanto riferisci nell'altro mex manco voglio indagare.


"la mente elastica "® ©"" <lamente...@hifideli.ty> ha scritto nel 
messaggio news:i14t7l$ir1$1...@news.newsland.it...

L'ultima riga che citi sembra essere la chiave di tutto. Nell'esempio che ho 
scaricato dal sito che mi hai segnalato, questa istruzione è inserita 
nell'evento OnBeforePrint del QuickReport. Ho provato a metterla nel mio 
report e funziona. Senza, il setup non funziona, o meglio, probabilmente 
viene perso il riferimento alla stampante scelta quando si stampa e la 
istruzione sopra lo risistema.

 istruzione sopra lo risistema.
Ricordo che qulla riga mi aveva risolto un qualche problema, ma adesso non
la uso piu', infatti e' rimasta come appunto nel codice. Quarda anche la
pagina che ti ho postato c'e' codice che serve ad associare la
printerindex di QR con quello della Printers.
Nel OnBeforePrint e negli altri eventi dei report non metto mai nulla.
Quello che ho scritto e' sempre nella unit che apre i report.


"la mente elastica "® ©"" <lamente...@hifideli.ty> ha scritto nel 
messaggio news:i152np$uk4$1...@news.newsland.it...

Hai ragione. Ho riprovato ad usare il QuickReportxx.PrinterSetup e funziona 
(nel senso che la scelta della stampante rimane determinata e non è 
necessaria la routine nell'onBeforePrint.
Quindi il problema era nel dialog PrinterSetup di Delphi ! Allora anche 
l'esempio del sito è da buttare ... 

 l'esempio del sito è da buttare ...
A me funzionava, per quello te l'ho indicata, anche come soluzione
alternativa alla mia.


Allora, io uso la versione 4 di QuickReport, perchè ho Delphi 2007 e la 4 mi 
pare sia l'ultima gratis che funziona fino al D2007.
Per ciò che concerne l'esempio, mi funziona, ma richiede quel paio di 
istruzioni nell'evento OPnBeforePrint. Quindi mi pare che la tua soluzione 
sia meglio