AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Memo text ausdrucken

Ein Thema von Finki · begonnen am 2. Jul 2013 · letzter Beitrag vom 4. Jul 2013
Antwort Antwort
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Memo text ausdrucken

  Alt 2. Jul 2013, 17:15
Gut du hast es versucht dafür bin ich dir schon dankbar. Also vielen vielen dank.
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Memo text ausdrucken

  Alt 2. Jul 2013, 17:55
also hier ist mal der code wie es aktuell ist wobei der besagte fehler auftritt

die uses

Code:
uses
  Classes, SysUtils, FileUtil, PrintersDlgs, Forms, Controls, Graphics, Dialogs,
  StdCtrls, ComCtrls, Buttons, EditBtn, ExtCtrls, PopupNotifier, Printers, Windows,
  Menus, Grids;
die procedure

Code:
   
type

  { TForm1 }

  TForm1 = class(TForm)
  PrintDialog1: TPrintDialog;
  btnPrint: TSpeedButton;  
  procedure btnPrintClick(Sender: TObject);
der button btnPrint

Code:
procedure TForm1.btnPrintClick(Sender: TObject);
begin

Drucken(Memo.Lines);

end;
und die procedure Drucken

Code:
procedure TForm1.Drucken(sl: TStrings);
var zeile, x, y: integer;
breite, hoehe, randlinks, randoben: integer;
begin
if PrintDialog1.Execute then
begin
   Printer.BeginDoc; //Druckjob beginnen
   SetMapMode(Printer.Canvas.Handle, MM_LOMETRIC); //Umstellen auf 1/10 mm

   //Schrift-Einstellungen:

   Printer.Canvas.Font.Name:='Courier New';
   Printer.Canvas.Brush.Color:=clWhite;
   Printer.Canvas.Font.Height:=50; //5 mm

   //Blattgöße in 1/10 mm ermitteln:
   breite:=GetDeviceCaps(Printer.Canvas.Handle, HORZSIZE)*10;
   hoehe:=GetDeviceCaps(Printer.Canvas.Handle, VERTSIZE)*10;
   randlinks:=60; //0,6 cm
   randoben:=150; //1,5 cm
   x:=randlinks;
   y:=randoben*-1;
   for zeile:=0 to sl.Count-1 do
     begin
       if -y>(hoehe-2*randoben) then
          begin
          y:=randoben*-1;
          Printer.NewPage;
          end;
       if y=-randoben then
          begin
          Printer.Canvas.Font.Style:=[fsbold];
          Printer.Canvas.TextOut(x, y, 'Seite '+
          IntToStr(Printer.PageNumber));
          Printer.Canvas.Font.Style:=[];
          y:=y-Printer.Canvas.TextHeight(sl[zeile]);
          end;
     Printer.Canvas.TextOut(x, y, sl[zeile]);
     y:=y-Printer.Canvas.TextHeight(sl[zeile]);
     end;
   Printer.EndDoc;
end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von MrMooed
MrMooed

Registriert seit: 18. Feb 2012
101 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Memo text ausdrucken

  Alt 2. Jul 2013, 17:58
Da hast du dir echt einen tollen "Fehler" ausgesucht

Es sollte genügen, wenn du die TPrintersDialog Komponente (unter dem Reiter 'Dialoge') auf das Formular ziehst (nur 'PrintersDlgs' in die uses einzufügen klappt irgendwie nicht )
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Memo text ausdrucken

  Alt 2. Jul 2013, 18:02
Es sollte genügen, wenn du die TPrintersDialog Komponente (unter dem Reiter 'Dialoge') auf das Formular ziehst
hab ich gemacht!!

(nur 'PrintersDlgs' in die uses einzufügen klappt irgendwie nicht )
logisch weiß ich doch
  Mit Zitat antworten Zitat
Benutzerbild von MrMooed
MrMooed

Registriert seit: 18. Feb 2012
101 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Memo text ausdrucken

  Alt 2. Jul 2013, 18:15
Also .. bei mir klappt es wie's Brezelbacken

habe deinen Code 1:1 übernommen und ihm ein Memo1.Lines übergeben - Drucker Auswahl erschienen und ich konnte drucken.
An welcher Stelle kommt denn der Fehler genau? einfach mal einen Brakepoint nach dem Begin setzen (in die Zeile klicken, F5 drücken) und dann durch den Code bewegen (F8)
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Memo text ausdrucken

  Alt 3. Jul 2013, 06:20
Kann es evtl daran liegen das meine memo componente erst während dem ausführen des Programms erstellt wird?
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Memo text ausdrucken

  Alt 3. Jul 2013, 08:54
Schau eventl. mal hier (ganz unten).

MfG
Thomas
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Memo text ausdrucken

  Alt 3. Jul 2013, 17:57
An welcher Stelle kommt denn der Fehler genau? einfach mal einen Brakepoint nach dem Begin setzen (in die Zeile klicken, F5 drücken) und dann durch den Code bewegen (F8)
Sobald der im Befehl Printer.BeginDoc is komisch oder
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Memo text ausdrucken

  Alt 3. Jul 2013, 18:04
An welcher Stelle kommt denn der Fehler genau? einfach mal einen Brakepoint nach dem Begin setzen (in die Zeile klicken, F5 drücken) und dann durch den Code bewegen (F8)
Sobald der im Befehl Printer.BeginDoc is komisch oder
Wenn du in deinem Code stehen hast
Delphi-Quellcode:
var
  Printer : TPrinter;
und dann irgendwo danach
Printer.BeginDoc; dann ist es doch mehr als logisch, dass dir da eine Zugriffsverletzung um die Ohren gehauen wird.
Oder hast du irgendwo in deinem Code der Variablen eine Instanz zugewiesen?

Automatisch passiert das nämlich nicht.

Diese Printer-Variable muss weg, definitiv
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz