Avatar billede decko Nybegynder
04. august 2003 - 09:41 Der er 6 kommentarer og
1 løsning

Memo og print

Hvordan udskirver man indholdet af en memo
Avatar billede TRoXa Novice
04. august 2003 - 09:46 #1
procedure PrintTStrings(Lst : TStrings) ;
var
  I,
  Line : Integer;
begin
  I := 0;
  Line := 0 ;
  Printer.BeginDoc ;
  for I := 0 to Lst.Count - 1 do begin
    Printer.Canvas.TextOut(0, Line, Lst[I]);

    {Font.Height is calculated as -Font.Size * 72 / Font.PixelsPerInch which returns
    a negative number. So Abs() is applied to the Height to make it a non-negative
    value}
    Line := Line + Abs(Printer.Canvas.Font.Height);
    if (Line >= Printer.PageHeight) then
      Printer.NewPage;
  end;
  Printer.EndDoc;
end;


med denne funktion skriver du fx PrintTStrings(memo1.lines);

du skal dog huske at lave en global variabel som er:

Printer : TPrinter;

som skal stå oppe hvor der står
Form1 : TForm1 eller noget i den retning :)
Avatar billede bananjoe Nybegynder
04. august 2003 - 14:44 #2
Det ville dog være nemmere hvis du brugte richedit for den understøtter allerede print funktionen (ligger under win32 fanebladet)

richedit1.lines.print
Avatar billede baxos Nybegynder
04. august 2003 - 16:03 #3
memo1.lines.print  - virker det ikkke???  ( skal sidde i knappens kode )
Avatar billede decko Nybegynder
04. august 2003 - 19:00 #4
Fatter hat.
Hvor skal "procedure PrintTStrings(Lst : TStrings) ;" osv...
stå henne?
Avatar billede bananjoe Nybegynder
04. august 2003 - 19:50 #5
brug richedit istedetfor den har indbygget print funktion
Avatar billede decko Nybegynder
04. august 2003 - 21:04 #6
Kan jeg sætte dato og klokkeslæt ind i en rich edit?
Hvordan?
Avatar billede stone Forsker
05. august 2003 - 20:40 #7
her en kortere udgave:

Husk at skrive Printers under uses foroven..

koden indsætter du i en buttons event eller et menupunkt eller andet.


var
Line:Integer;
PrintText:System.Text;
begin
if PrintDialog1.Execute then
begin
AssignPrn(PrintText);
ReWrite(PrintText);
Printer.Canvas.Font := History.Font;
for Line :=0 to History.Lines.Count - 1 do
Writeln(PrintText, History.Lines[Line]);
System.Close(PrintText);
end;
end;
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