Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

delphi - stampanje forme i RichEditBoxa

[es] :: Pascal / Delphi / Kylix :: delphi - stampanje forme i RichEditBoxa

[ Pregleda: 2514 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

.:Marvin:.
Taurunum

Član broj: 36626
Poruke: 94
213.244.197.*



Profil

icon delphi - stampanje forme i RichEditBoxa15.10.2004. u 16:29 - pre 237 meseci
Hocu da odstampam sve podatke koji se nalaze na formi, ali imam problem.
Stampam pomocu form.Print, ali RichEdit i ComboBoxevi se ne odstampaju.
Odnosno stampa se okvir, ali njihov sadrzaj ne.
Stavio sam uses Printers, pomocu toga podesavam orijentaciju. Ali ne mogu da
ga nateram da stampa sadrzaje pomenutih kontrola.
Mogao bih to da resim tako sto bih izmedju BeginDoc i EndDoc naveo svaki tekst
/caption koji se nalazi u svim kontrolama i labelama, ali to mi deluje kao
pesacki posao. Metoda print sa forme mi bas cini posao, ali ne do kraja pa
me zanima da li je to moguce nekako resiti?
 
Odgovor na temu

morlic
Milos Orlic
Beograd

Član broj: 6081
Poruke: 735
*.74.eunet.yu.



+1 Profil

icon Re: delphi - stampanje forme i RichEditBoxa15.10.2004. u 21:43 - pre 237 meseci
Problem je u nacinu na koji se vrsi stampa sa Form.Print. Tada sve kontrole na formi dobijaju poruku WM_PAINT sa handle-om bitmape u memoriji na koju ce se iscrtati (umesto na ekran) pa se ta bitmapa salje na stampanje. Problem je sto se ComboBox ne odaziva kako treba u ovoj situaciji. Za richedit nisam siguran.

U svakom slucaju ako tako vrsis zamenu za neku vrstu report-a predlazem ti da uradis alternativi pristup. Iskoristi QuickReport ili Rave (Zavisi koji Delphi imas) i napravi pravi sablon sa kojim neces imati tih problema. Mislim da je podrzan i richedit.
 
Odgovor na temu

.:Marvin:.
Taurunum

Član broj: 36626
Poruke: 94
*.smin.sezampro.yu.



Profil

icon Re: delphi - stampanje forme i RichEditBoxa15.10.2004. u 22:53 - pre 237 meseci
Pokusacu sa Qreportom (Delphi6). Samo nikad se nisam sreo sa tim, pa mi je jako konfuzno. Moze samo mala pomoc kako da ubacim tekst iz bar jedne kontrole u report. Posle cu se valjda snaci...
 
Odgovor na temu

morlic
Milos Orlic
Beograd

Član broj: 6081
Poruke: 735
*.163.EUnet.yu.



+1 Profil

icon Re: delphi - stampanje forme i RichEditBoxa16.10.2004. u 00:08 - pre 237 meseci
Napravis novu formu i na nju stavis TQuickRep (prva na liniji komponenti za QR), Zatim kliknes na komponnetu QRBand i Delphi je automatski stavi na formu u okviru QuickRep-a i postavice da taj band bude tipa title. Ti uzmi pa produzi taj band da ide do dna stranice, tj. da ispuni ceo quickrep. Sada na to stavi potrebne komponente (label, richedit) ali sa liste quickrep komponenti (nemoj da stavis obican label ! ).

Sada iz forme ciji sadrzaj stampas uradis sledeci poziv (racunam da formu sa reportom nazoves ReportForm i da je autocreate):

Code:

...
with ReportForm do 
begin
   QRLabel1.Text := Label1.Text;
   QRLabel2.Text := Edit1.Text;
   ...
   QuickRep1.Print
end;
...
 
Odgovor na temu

.:Marvin:.
Taurunum

Član broj: 36626
Poruke: 94
*.smin.sezampro.yu.



Profil

icon Re: delphi - stampanje forme i RichEditBoxa17.10.2004. u 23:08 - pre 237 meseci
Hvala Miki!

Uglavnom sve radi, samo sto Qreport ne mogu da nateram da se kod stampanja razvuce na celu stranu. Kod forme je bila opcija print scale (ili nesto slicno) ali kod reporta toga nema, odnosno na ReportForm ako se to i stavi ne funkcionise jer ga verovatno Qreport prevazidje nekim svojim podesavanjima.
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
217.119.242.*



+62 Profil

icon Re: delphi - stampanje forme i RichEditBoxa18.10.2004. u 12:46 - pre 237 meseci
A da se ti vratis na printanje forme? Pogledaj u helpu primer za PaintTo(); trebalo bi da radi ako mu prosledis Printer.Canvas.Handle kao aDC. Samo jos treba doraditi skaliranje.

Rajko
 
Odgovor na temu

morlic
Milos Orlic
Beograd

Član broj: 6081
Poruke: 735
*.247.EUnet.yu.



+1 Profil

icon Re: delphi - stampanje forme i RichEditBoxa19.10.2004. u 15:38 - pre 237 meseci
Nema sta kod QReport-a da ispravljas za skaliranje. Postavi komponente i podesi im velicinu u odnosu na stranicu i to je to - fiksno. Mozes da probas i Rajkovo resenje samo da ne prosledjujes Printer.Canvas.Handle vec da napravis svoju bitmapu i prosledis njen Handle, a onda nju preko StretchDIBits mozes da posaljes na printer u kakvom god skaliranju zelis.
 
Odgovor na temu

.:Marvin:.
Taurunum

Član broj: 36626
Poruke: 94
*.smin.sezampro.yu.



Profil

icon Re: delphi - stampanje forme i RichEditBoxa21.10.2004. u 22:17 - pre 237 meseci
Ali velicine svih kontrola su date u pikselima, nije valjda da ne moze da se menja dpi? Tj moze kod forme, ali mi to ne pomaze... :(
 
Odgovor na temu

morlic
Milos Orlic
Beograd

Član broj: 6081
Poruke: 735
*.105.EUnet.yu.



+1 Profil

icon Re: delphi - stampanje forme i RichEditBoxa24.10.2004. u 00:41 - pre 237 meseci
Mislim da ipak moras da kazes zasto zelis da stampas celu formu, kako bi mogli da procenimo koji tip stampe treba uraditi.
 
Odgovor na temu

.:Marvin:.
Taurunum

Član broj: 36626
Poruke: 94
80.96.78.*



Profil

icon Re: delphi - stampanje forme i RichEditBoxa28.10.2004. u 17:19 - pre 237 meseci
Radim softver u kojem se unose podaci sa radnog naloga. Potrebno je da postoji mogucnos da se taj radni nalog i odstampa. to sam pokusao na vise nacina, ali nijedan nije dao 100% rezultate (verovatno zbog toga sto bas i nisam extra delfi strucnjak)

Uradio sam sve ok pomocu Qreporta, ostalo mi je samo da promenim rezoluciju stampe, ali mi ne ide. ako ne budem nasao odgovor uradicu pesacki da promenim velicinu komponenti na Qreportu.

Hvala u svakom slucaju
 
Odgovor na temu

morlic
Milos Orlic
Beograd

Član broj: 6081
Poruke: 735
*.177.eunet.yu.



+1 Profil

icon Re: delphi - stampanje forme i RichEditBoxa29.10.2004. u 21:47 - pre 237 meseci
Kao sto vec rekoh: komponente imaju svoje dimenzije i polozaj u mm. Znaci pomeras i podesavas velicinu u odnosu na dimenzije papira, nikakve rezolucije se tu ne koriste. QReport ti prikazuje npr. A4 format i tacno vidis kolika ce komponenta biti na papiru. Naravno, imas da podesis i font i debljine linija. To je to. Kao sto u word-u vidis koliki je tekst ili neka slika na papiru na ekranu, tako ti i Qreport prikazuje stvari.
 
Odgovor na temu

.:Marvin:.
Taurunum

Član broj: 36626
Poruke: 94
*.smin.sezampro.yu.



Profil

icon Re: delphi - stampanje forme i RichEditBoxa02.11.2004. u 09:38 - pre 237 meseci
Ali zar nije velicina komponenti u piskelima? Onda rezolucija i te kako ima smisla...

 
Odgovor na temu

morlic
Milos Orlic
Beograd

Član broj: 6081
Poruke: 735
*.59.EUnet.yu.



+1 Profil

icon Re: delphi - stampanje forme i RichEditBoxa02.11.2004. u 17:30 - pre 237 meseci
Nikakva rezolucija nema smisla jer ako pogledas u object inspector-u komponenta ima property size koji daje dimenzije u mm. Ne treba da gledas piksele jer su oni nebitni. Zasto je to uopste tako? Zato sto je prirodno da covek upisuje dimenzije u jedinici mere na koju je navikao (jer nisu svi programeri), kao sto npr. Word prikazuje ince ili milimetre, jer je to nezavisno od uredjaja na kome se prikazuje sadrzaj.

Ekran ima rezoluciju izmedju 72 i 96dpi (tacaka po incu) u zavisnosti od velicine ekrana i rezolucije. Laserski stampac ima npr. 600dpi rezoluciju. Znaci ako ti stavis da ti je neka komponenta dugacka 100 piksela na ekranu, tj. oko 2,5 cm, ona bi po tim dimenzijama u pikselima bila dugacka 0,42 cm na stampacu. Zato se postavlja dimenzija u mm (ili metrima ili incima, itd.) pa se prilikom stampanja to pretvara u piksele u odnosu na rezoluciju uredjaja.

Ovako: Ako zelis da nesto sto je siroko 5cm prikazes na ekranu koji ima 96dpi u prirodnoj velicini (bez skaliranja) onda to radis po sledecoj formuli (sa odsecanjem):

SirinaPx := Trunc((5/2.54) * 96)

tj. SirinaPx = 188 piksel

Ako to isto zelis da stampas na stampacu:

SirinaPx := Trunc((5/2.54) * 600)

tj. SirinaPx = 1181 piksel

Ako se zeli zumiranje onda se SirinaPx mnozi nekim brojem x koji je:

0 < x < n

gde je n bilo koji broj sa kojim ima smisla mnoziti da bi se dobio razuman rezultat u kontekstu uredjaja na kom se prikazuje slika. Za 100% X = 1, za 50% X = 0.5, za 200% X = 2, itd. Znaci ako zelis da zumiras na 50% onda bi gornja formula bila:

Zoom := 0.5;
SirinaPx := Trunc(((5/2.54) * 96) * Zoom);

Za velicinu fontova se koristi drugacija kalkulacija.

E sada, sve ovo QReport radi za tebe tako da ti efikasnije odradis svoj deo posla.


 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: delphi - stampanje forme i RichEditBoxa

[ Pregleda: 2514 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.