Avatar billede lytzen Nybegynder
05. august 2001 - 15:40 Der er 6 kommentarer og
2 løsninger

Udskrift på printer ?

Hvordan laver man en udskrift til printeren i delphi ? Jeg skal lave en side hvor der står nogle faste labels og nogle variable-informationer.
Kan nogen komme med et eksempel ?
Avatar billede jelzin101 Praktikant
05. august 2001 - 15:42 #1
uses CommDlg;

{$IFNDEF WIN32}
const MAX_PATH = 144;
{$ENDIF}

procedure TForm1.Button1Click(Sender: TObject);
var
  Pd : TPrintDlg;
  DocInfo: TDocInfo;
begin
  FillChar(Pd, sizeof(Pd), #0);
  Pd.lStructSize := sizeof(Pd);
  Pd.hWndOwner := Form1.Handle;
  Pd.Flags := PD_RETURNDC;
  if PrintDlg(pd) then begin
    FillChar(DocInfo, sizeof(DocInfo), #0);
    DocInfo.cbSize := SizeOf(DocInfo);
    GetMem(DocInfo.lpszDocName, 32);
    GetMem(DocInfo.lpszOutput, MAX_PATH);
    lStrCpy(DocInfo.lpszDocName, \'My Document\');
  {Add this line to print to a file }
    lStrCpy(DocInfo.lpszOutput, \'C:\\Download\\Test.doc\');
    StartDoc(Pd.hDc, DocInfo);
    StartPage(Pd.hDc);
    TextOut(Pd.hDc, 100, 100, \'Page 1\', 6);
    EndPage(Pd.hDc);
    StartPage(Pd.hDc);
    TextOut(Pd.hDc, 100, 100, \'Page 2\', 6);
    EndPage(Pd.hDc);
    EndDoc(Pd.hDc);
    FreeMem(DocInfo.lpszDocName, 32);
    FreeMem(DocInfo.lpszOutput, MAX_PATH);
  end;
end;
Avatar billede jelzin101 Praktikant
05. august 2001 - 15:43 #2
Avatar billede lytzen Nybegynder
05. august 2001 - 16:25 #3
Hmm, jeg er ikke sikker på at det er det jeg skal bruge. Er der ikke noget med, at jeg kan via en Form definere felter/variabler/labels osv , og så printe den Form ud ?
Avatar billede zardic Nybegynder
05. august 2001 - 17:15 #4
Lave et Trichedit felt og put all felter/variabler/labels osv in i det og print det ud
Avatar billede lytzen Nybegynder
05. august 2001 - 17:23 #5
kan du komme med et eksempel ? Evt. på hvordan man printer følgende, hvor sName er en variabel. Og på hvordan selve TRichEdit-feltet printes ud :

Overskrift
----------
Navn på person: sName
Avatar billede zardic Nybegynder
05. august 2001 - 17:59 #6
OK lav it TRichEdit-feltet med navnet
RichEditPrint

procedure TForm1.Button1Click(Sender: TObject);
var    StringTest :string;
    IntegerTest :integer;
begin
StringTest := \'String Test til print\';
IntegerTest := 1;
RichEditPrint.Lines.Add(StringTest);
RichEditPrint.Lines.Add(inttostr(IntegerTest));
RichEditPrint.Lines.Add(\'Eller test here\');
RichEditPrint.Print(\'Test Print\');
end;
Avatar billede lytzen Nybegynder
05. august 2001 - 18:13 #7
Jeg mener jeg har set en anden måde at bruge TRichEdit feltet. Kan jeg ikke få en visuel oversigt af hvordan feltet kommer til at se ud ? Noget med at man på TRichedit-feltet kan trække labels rundt for at få dem til at passe
Avatar billede zardic Nybegynder
05. august 2001 - 18:17 #8
Hvordan vil du have det til at se ud?
I TRichedit-feltet kan du få det til at se ud som du vil can du give mig et exempel?

Zardic
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