25. januar 2001 - 17:25Der er
19 kommentarer og 1 løsning
Udskrivning i Delphi
Hej...
Jeg vil gerne have lidt hjælp til at finde ud af hvordan jeg udskriver bestemte informationer fra min form.
Jeg har været inde i Paradox 7 og lavet en tabel med 40 felter til en database. Når de er indsat på formen og der er blevet indtastede en masse informationer i dem, skal jeg selv kunne vælge hvad for nogle ting der skal kunne udskrives.
Fx hvis der er indtastede: fornavn, efternavn, adresse, postnumre, by, telefonnumre osv. Skal jeg kunne vælge om jeg kun vil udskrive fornavn og efternavn eller om det skal være postnumre og by.
Det skulle gerne være sådan at når jeg går op i menulisten ok flikker på \"Filer > Udskriv\" skal der komme en form frem med 40 \"DBCheckBoxe eller CheckBoxe\" der skal det være sådan at jeg skal kunne vælge hvad jeg vil have udskrevet (De markerede CheckBoxe).
Det skal laves i en \"Quick Report Master/Delail eller Quick Report list\".
Hvordan gør jeg og hvad skal jeg skrive i min unit for at få den til at gøre dette???
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg er ikke helt med på hvad du mener. Du har 40 forskællige data om hver person og så vil du kan vælge hvike der skal udskrives? Du kender godt TPrinter ikke? når du bruger TPrinter så har du jo en canvas du kan tegne på. Så er det jo bare op til dig hvordan det skal se ud.
Som jeg forstår dit spørgsmål er det nemmeste nok at du laver en quickreport med dine database felter. Hvor efter du laver en form hvor på du kan spørge brugeren om hvilke felter han ønsker udskrevet ved hjælp af checkbox og hvis han checker en af bliver denne udskrevet. Hvis dette er hvad du mener burde det være til at gå til. Men du burde nok overveje at normalisere denne database hvis ikke du allerede har gjort dette.
så er problemet bare at hvis der er skal udskrives 7 forskellige dataer om alle personerne for så skal 7 af checkboxene markeres og så skal alle 7 imformationer stå på samme side (Dat samme hvis alle 40 informationer skal udskrives)
Kan du ikke placere disse quickreport felter dynamisk altså noget i retning af if checkbox1.checked then begin placer felt på quickreport end;
Problemet er bare at du har 40 felter så det vil uden tvivl blive en lang kode du kommer ud i. Men du kunne måske lave grupper i stedet for altså f.eks. 4 grupper hvor der indgår 10 felter i hver.
Jeg kan da prøve. Men som sagt så vil det nok blive lidt en vil kode hvis du vil kunne gøre det med alle 40 felter. Jeg har desværre ikke tiden til det nu da jeg skal på arbejde de næste par dage men skal nok prøve.
Jeg har lige lavet et eks. hvor jeg bruger 3 checkboxe, 3 dbediter til quickreport og en knap. her er koden til det lille eksempel procedure TForm1.PrintClick(Sender: TObject); begin
if checkbox1.Checked then begin QRDBText1.visible := true; end; if checkbox2.Checked then begin QRDBText2.visible := true; end; if checkbox3.Checked then begin QRDBText3.visible := true; end;
QuickRep1.Preview;
end;
Du kan måske udfra dette selv finde udaf hvordan du ønsker at gøre det. Det er så absolut ikke den eneste måde det kan gøres på. Og igen det bliver f.. en lang kode hvis du skal lave det med 40 felter.
Jeg har desværre ikke fået det til at virke endnu... Jeg har prøvet lidt forskelligt medn det virkede ikke... Hvor er det jeg skal indsætte dit eksempel. Jeg bruger to forme Form1 med en knap der hedder Udskriv. Når man trykker på den kommer form2 frem med Checkboxene på (der markere man dem) Der efter er der en knap Print så skal QuickRep1 vises (det var på denne knap jeg prøvede at indsætte ideen, men virkede ikke)...
Hvad forventer du der skal ske. Hvis du har en quickreport og kører en preview på denne skulle der gerne komme et preview af dit print hvis ikke der gør det så er dette nok et godt sted at starte med at finde fejlen. Men specificer lige problemet lidt mere.
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.