Avatar billede supernewbie Nybegynder
19. juni 2003 - 11:13 Der er 13 kommentarer

Udskriv tekst i memo

Hvordan laver jeg en simpel funktion der udskriver indholdet i en memo ?

Knappen hedder Udskriv1
Avatar billede supernewbie Nybegynder
19. juni 2003 - 11:15 #1
Altså når jeg trykker på en knap der hedder Udskriv1 så udskriver dne indholdet i en label ?
Avatar billede snowball Novice
19. juni 2003 - 11:18 #2
Vil du have det rigtig udskrevet, altså til en printer, eller vil du bare have indholdet af din memo over i en label !?

Udskriv til printer:

http://www.eksperten.dk/spm/5050
http://www.eksperten.dk/spm/150120

"Udskriv" til label:

Skriv følgende kode i din knps OnClick procedure:

Label1.Caption := Memo1.text;

Snowball
Avatar billede supernewbie Nybegynder
19. juni 2003 - 11:20 #3
printer.begindoc;
printer.canvas.textuot();
printer.enddoc;


er det så nok ?
Avatar billede supernewbie Nybegynder
19. juni 2003 - 11:21 #4
procedure TForm1.Udskriv1Click(Sender: TObject);
begin
if Printdialog1.Execute then
memo1.Print();

end;

Jeg har dte kode?? Hvorfor virker det ikke??
Avatar billede snowball Novice
19. juni 2003 - 11:25 #5
Prøv og brug nedenstående i stedet for.

procedure TForm1.Udskriv1Click(Sender: TObject);
const TopMargen=20;
const LeftMargen=20;
const mellemrum=5;
var y,i:integer;
begin
  with Printer do
  begin
    BeginDoc;
    y:=0;
    //Print alle linierne
    for i:=0 to Memo1.Lines.Count-1 do begin
      //Tjek for side skift
      if y+Canvas.TextHeight(Memo1.Lines[i])+mellemrum>PageHeight Then begin newpage;y:=0;end;
      //udskriv
      Canvas.TextOut(LeftMargen,TopMargen+y,Memo1.Lines[i]);
      //Flyt til næste linie
      y:=y+Canvas.TextHeight(Memo1.Lines[i])+mellemrum;
    end;
    EndDoc;
  end;
End;

Snowball
Avatar billede supernewbie Nybegynder
19. juni 2003 - 11:31 #6
[Error] Unit1.pas(80): Undeclared identifier: 'Printer'
[Error] Unit1.pas(82): Undeclared identifier: 'BeginDoc'
[Error] Unit1.pas(87): Undeclared identifier: 'PageHeight'
[Error] Unit1.pas(87): Undeclared identifier: 'newpage'
[Error] Unit1.pas(93): Not enough actual parameters

De fejl får jeg :S
Avatar billede Slettet bruger
19. juni 2003 - 11:54 #7
Brug richedit istedet memo:

  if PrintDialog1.execute then begin
    TRichEdit1.Print('Title på dokument');
  end;
Avatar billede snowball Novice
19. juni 2003 - 11:58 #8
supernewbie: Du har sikkert glemt at tilføje Printers under Uses !

Snowball
Avatar billede supernewbie Nybegynder
19. juni 2003 - 12:01 #9
Hvordan tilføjer jeg den ?? Jeg har ikke programmeret ret længe :P
Skal ned og låne bog idag ;)
Avatar billede snowball Novice
19. juni 2003 - 12:11 #10
Du kan tilføje den 2 steder:

1) I toppen af din kode har du en unit, interface og uses del. Under Uses står der allerede ting som f.eks. Windows, Messages, SysUtils og Classes. Her tilføjer du så bare bare Printers.

2) Lidt længere nede i din kode har du en implementation del. Lige uder implementation kan du skrive Uses Printers; - så er den også tilføjet.

Snowball
Avatar billede supernewbie Nybegynder
19. juni 2003 - 12:12 #11
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    MainMenu1: TMainMenu;
    Filer1: TMenuItem;
    bn1: TMenuItem;
    Gemsom1: TMenuItem;
    N1: TMenuItem;
    Afslut1: TMenuItem;
    Om1: TMenuItem;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    Udskriv1: TMenuItem;
    PrintDialog1: TPrintDialog;


Det er min top vil du ikke lige lave det??
Avatar billede supernewbie Nybegynder
19. juni 2003 - 12:33 #12
har fået det til at virke men kan man ikek lave så den ikke printer ud i bedste kvalitet??
Avatar billede stone Forsker
09. august 2003 - 11:29 #13
delphi udprinter efter de indstillinger der sat på din printer.

Har du sat din printer til at udskrive i bedste kvalitet.

ellers brug en printersetupdialog.
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