Avatar billede cope21 Nybegynder
27. januar 2000 - 21:24 Der er 8 kommentarer

Hjælp med printer... scor 60 point.. hehe

Jeg har en masse info i DB om firmaer, og skal ud fra disse printe fakturaer ud. Der skal printes både en faktura, og en faktura-kopi til virksomheden.

Hvordan sætter jeg en side op ved brug af infos i DB (MS Access), og hvordan printer jeg begge sider ved tryk på ButtonUdskriv?

JEg har hørt noget om man kan sætte det op i en richedit ved brug af spaces, men også at der er et component der hedder QReport man kan bruge. Hvad er det nemmeste, og er der en endnu nemmere måde?
Avatar billede sjensen Nybegynder
27. januar 2000 - 21:47 #1
Cope21,

Udskrifter fra Windows er absolut ikke det letteste. I windows arbejder man med pixels på en printercanvas, og textout/textwidht o.s.v. Absolut ikke for begyndere.

Derfor er der nogle produkter på markedet der tilbyder at hjælpe og gøre det let:

- ReportPrinter Pro (http://www.nevrona.com) som jeg selv bruger og er glad for,
- QuickReport der følger med Delphi,
- Crystal Reports, der også kan bruges men er lidt tung at danse med efter min mening og

flere andre.

Hvis du selv vil prøve med canvassen og textout har borland en glimrende unit du kan Cut/Paste fra deres hjemmeside under http://www.borland.com/devsupport/techtips  (så vidt jeg husker lige nu)

At bruge en Richedit component er en mulighed, men så kan du også bruge en forms indbyggede print or scale metoder, og så dynamisk oprette en form med et font der passer og så påføre dine data som labels på formen. Herefter kan du med print metoden printe den. Det er dog ikke den bedste vej. Men da du skal printe en formular der er fast i sin opbygning, er en form en mulighed. Det er faktisk det Qreport anvender. Ved at designe formen så den ligner en faktura der er udskrevet (husk størrelsesforhold skærm/printer) kan du overføre data til hhv. felter og labels på den pågældende form, og istedet for at vise den, udskriver du den. D.v.s ikke Form2.showmodal men form2.print

QuickReport (Qreport) som fulgte med Delphi (3 og 4, men ikke 5 mener jeg) kan sagtens bruges men hvis du vil have fuld, programmatisk, kontol over udskrifterne er det et produkt som ReportPrinter Pro du skal bruge. Der findes også andre tilsvarende produkter der sikkert er ligeså gode, skal jeg lige sige. Det skal jo helst ikke lyde som en reklame.

sjensen
Avatar billede canman Nybegynder
28. januar 2000 - 17:24 #2
Jeg har i lang tid forsøgt at få quickreport til at skrive i duplex men uden succes. Hvis man søger i nyhedsgrupperne så kan man se at det er et generelt problem. Så jeg vil nok skippe QReports hvis jeg var dig.
Avatar billede kim_bille Nybegynder
28. januar 2000 - 22:13 #3
Jeg synes nu det er relativt nemt at arbejde med printer.canvas, i hvertfald hvis man har arbejdet med form.canvas før.
Hvis det er fakturar har man somregel styr over hvorlang en string er, så man ikke skriver noget udenfor papiret.

mht
pixels er der jo Printer.PixelsPrInch

der imod synes jeg at QReport er meget svær at bruge!

Kim

ps. Søren har hjulpet mig med  udskrivning på matrix-printer, men de fleste at de ting der står der virker på alle printer http://www.eksperten.dk/spm.asp?id=9877
Avatar billede cope21 Nybegynder
29. januar 2000 - 13:39 #4
En der gider sende ReportPrinter til mig på Cope@partyline.dk? Jeg kan ikke komme ind på nevrona.com :(

Desuden har jeg hørt at ReportBuilder på www.digital-metaphors.com er rigtig god til det, men den koster $495, såe... nogen der har en cracked? ssh det sagde jeg ikke hehe :))
Avatar billede cope21 Nybegynder
04. februar 2000 - 16:39 #5
Jeg har brugt ReportPrinter, som jeg synes er ganske fortræffelig, indtil videre i hvert fald.

Men er der ingen dokumentation til? Og hvordan højre/venstre justerer jeg teksten? Det er som sagt til at skive fakturaer ud, så jeg er nødt til at kunne styre placeringen af teksten på siden.

Hvordan?!?!
Avatar billede sjensen Nybegynder
05. februar 2000 - 23:48 #6
Cope21,

For hver tekst du skal skrive angiver du en boks (i rp kaldet en tab). Den angives med en startpos og en bredde. Inden for denne vil den tekst du skriver blive vist (så meget der nu er pladstil) og for hver tab kan du hhv. højre/venstre justere og centrere (du kan endda angive at teksten skal fylde det hele mend et kræver at du bruger propertionalskrift).

Justeringskomandoerne er som følger:

pjleft
pjright,
pjcenter og
pjblock

Eks:

settab(startpos+trunc(marginleft), pjleft,boksbredde,5,BOXLINENONE,0);

herefter bruger du Printtab(tekst);

Som du kan se findes der en var der hedder Marginleft (og tilsvarende -right,-top og Marginbottom) du kan sætte som globale variable for hele siden.

sjensen
Avatar billede cope21 Nybegynder
07. februar 2000 - 21:10 #7
Jeg kan fint compile dit eksempel der sjensen, men når jeg printer ud sker der ikke noget på papiret. Hvad står de forskellige parametre for? Og hvilke værdier kan du anbefale?

Det jeg har brugt ser sådan ud:

SetTab(20+trunc(marginright), pjleft,200,5,BOXLINENONE,0);
PrintTab('JOWJOW');
Avatar billede cope21 Nybegynder
11. februar 2000 - 19:56 #8
HALLO??!??!?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB