Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Lazarus kann nicht drucken (https://www.delphipraxis.net/49095-lazarus-kann-nicht-drucken.html)

andreas2004 5. Jul 2005 14:27


Lazarus kann nicht drucken
 
Hallo ,
habe ein Problem bei Lazarus zu Drucken.
habe folgendes Prgramm erstellt
und möchte nun die variablen
(nummer bis waage)
an einer bestimmten Stelle auf Papier bringen
(ausfüllen eines vordruckes)
doch mach ich wohl etwas falsch da sich beim start das Prg immerwieder aufhängt !
? was mache ich hier nicht richtig ??
(sollte auch unbedinngt sagen das ich selbst Programmier Anfänger bin)

Delphi-Quellcode:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons,
  StdCtrls , SynMemo, CheckLst;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Label1: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label2: TLabel;
    Label20: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Memo1: TMemo;
    Memo2: TMemo;
    OpenDialog1: TOpenDialog;
    procedure ApplicationProperties1Exception(Sender: TObject; E: Exception);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);


  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

uses printers;

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
var
f : TextFile;
a, b : string;
nummer, datum, zeit, gewicht, einheit, waage : string;
zaehler, atmp : integer;
begin
  //AssignFile(f, 'z:\waage-daten\waage1.txt');
  AssignFile(f, 'd:\waage3.txt');
  Reset(f);
  Memo1.Lines.clear;
  zaehler := 0;
 While not eof(f) do begin
  Readln(f, a);
  Memo1.Lines.add(a);
  // ermitteln der vorletzen Zeile
   b := Memo1.Lines[Memo1.Lines.Count - 2];
    Memo2.Lines.clear;
    Memo2.Lines.add(b);
  // ausschneiden der einzelnen werte
    nummer := copy(b, 1, 6);
    datum := copy(b, 8, 8);
    zeit := copy(b, 17, 5);
    gewicht := copy(b, 24, 6);
    einheit := copy(b, 31, 2);
    waage := copy(b, 34, 2);
  // hier die werte auf den Labels zeigen
  Label1.caption := (nummer);
  Label2.caption := (datum);
  Label3.caption := (zeit);
  LAbel4.caption := (gewicht);
  Label5.caption := (einheit);
  Label6.caption := (waage);
 end;
  CloseFile(f);


end;



procedure TForm1.ApplicationProperties1Exception(Sender: TObject; E: Exception);
begin
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
  application.terminate;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  printer.begindoc;
  with Printer.Canvas do begin
    //Font.Size := 21;
    TextOut(50, 2, 'Überschrift');
    TextOut(50, 150, '------------ ');
    //font.size := 14;
    TextOut(50, 500, 'nummer');
    TextOut(1250, 500, 'waage ');
  end;
  printer.enddoc;
end;

procedure TForm1.Button4Click(Sender: TObject);

   var tf: TextFile;
begin
  AssignFile(tf, 'LPT1');
  Rewrite(tf);
  WriteLn(tf, '<STX>L');
  WriteLn(tf, 'D11<CR>');
  WriteLn(tf, '1A00000001501000123456789<CR>');
  WriteLn(tf, '121100000000100Barcode A<CR>');
  WriteLn(tf, 'E');
  CloseFile(tf);
end;




initialization
  {$I unit1.lrs}

end.
wenn ich nun versuche zu drucken bekomme ich ein Warnfenster mit der Meldung
Project1 raised exception class External SIGSEGV

und die Class Printers wird mir an dieser Stelle markiert angezeigt

Delphi-Quellcode:
//Raise error if Printer.Printing is not Value
procedure TPrinter.CheckPrinting(Value: Boolean);
begin
  [b]if Printing<>Value then[/b]
  begin
    if Value then
      raise EPrinter.Create('Printer not printing')
    else
      raise Eprinter.Create('Printer print');
  end;
end;
[edit=Admin]Delphi-Tags eingefügt. Künftig bitte selber machen. ;-) Danke. Mfg, Daniel[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:04 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