AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Memo text ausdrucken

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

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

AW: Memo text ausdrucken

  Alt 3. Jul 2013, 12:39
Also gut? Reicht der code?


Text_U

Code:


unit Text_U;


//Scrollen Hinzufügen
//Drucken


{$mode objfpc}{$H+}

interface

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

type

* { TForm1 }

* TForm1 = class(TForm)
*** btn1: TButton;
*** btnNeu: TSpeedButton;
*** ColorDialog1: TColorDialog;
*** Image1: TImage;
*** Memo: TMemo;
*** OpenDialog1: TOpenDialog;
*** btnEinfuegen: TSpeedButton;
*** OpenDialog2: TOpenDialog;
*** PopUp: TPopupNotifier;
*** PrintDialog1: TPrintDialog;
*** SaveDialog1: TSaveDialog;
*** btnOeffnen: TSpeedButton;
*** btnTxtFarbe: TSpeedButton;
*** btnSave: TSpeedButton;
*** btnPrint: TSpeedButton;
*** TabCon: TTabControl;
*** TBar: TToolBar;
*** procedure btn1Click(Sender: TObject);
*** procedure btnEinfuegenClick(Sender: TObject);
*** procedure btnNeuClick(Sender: TObject);
*** procedure btnOeffnenClick(Sender: TObject);
*** procedure btnSaveClick(Sender: TObject);
*** procedure btnTxtFarbeClick(Sender: TObject);
*** procedure FormCreate(Sender: TObject);
*** procedure btnPrintClick(Sender: TObject);
*** procedure TabConChange(Sender: TObject);

* private
*** { private declarations }
* public
* procedure Drucken(sl: TStrings);
*** { public declarations }
* end;

var
* Form1: TForm1;
* MyDataFile : string ;
* MyDataFile2 : string ;
* merk : boolean;
* Memo: TMemo;
* Printer: TPrinter;
implementation
uses
* Frage_U;
{$R *.lfm}

{ TForm1 }


//ERSTELLEN

procedure TForm1.FormCreate(Sender: TObject);
begin

* merk:=false;

* Memo.Caption := '';
* Memo.SetBounds(0,TabCon.Height,Form1.Width,Form1.Height-TabCon.Height);
//TabCon
* TabCon.SetBounds(0,0,Form1.Width,73);
* TBar.SetBounds(0,0,Form1.Width,40);
//btn1
* btn1.SetBounds(100,100,50,50);
* btn1.Visible:=false;
//btnTxtFarbe
* btnTxtFarbe.SetBounds(0,0,75,38);
* btnTxtFarbe.Visible:=false;
* btnTxtFarbe.Caption:='Farbe';
//btnEinfügen
* btnEinfuegen.SetBounds(0,0,75,38);
* btnEinfuegen.Visible:=false;
* btnEinfuegen.Caption:='Bild';
//btnSave
* btnSave.SetBounds(btnNeu.BoundsRect.Right+1,0,75,38);
//btnÖffnen
* btnOeffnen.SetBounds(btnSave.BoundsRect.Right+1,0,75,38);
* btnOeffnen.Caption:='Öffnen';
//btnPrint
* btnPrint.SetBounds(btnOeffnen.BoundsRect.Right+1,0,75,38);
* btnPrint.Caption:='Drucken';

end;
//DRUCKEN
procedure TForm1.btnPrintClick(Sender: TObject);
begin

Drucken(Memo.Lines);

end;


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;

//LEISTE

procedure TForm1.TabConChange(Sender: TObject);
begin

* btnSave.Visible:=false;
* btnNeu.Visible:=false;
* btnEinfuegen.Visible:=false;
* btnOeffnen.Visible:=false;
* btnTxtFarbe.Visible:=false;
* btnPrint.Visible:=false;

** case TabCon.TabIndex of
** 0: begin
****** btnNeu.Visible:=true;
****** btnOeffnen.Visible:=true;
****** btnSave.Visible:=true;
****** btnPrint.Visible:=true;
***** end;
** 1: begin
****** btnEinfuegen.Visible:=true;
***** end;
** 2: begin
****** btnTxtFarbe.Visible:=true;
***** end;
** end;
end;

//NEU

procedure TForm1.btnNeuClick(Sender: TObject);
var
* Form2: TForm;
begin
//Form2 Erstellen
Form2 := TForm2.Create(Self);
try
* //Wenn Memo vorhanden
* if merk=false then

**** begin
******** Form2.ShowOnTop;
******** Form2.SetBounds(840-200,525-50,400,100);
******** Form1.Enabled:=false;
**** end
* //Wenn Memo nicht vorhanden
* else
*** begin
* merk:=false;
* Memo.Caption := '';
* Memo.SetBounds(0,TabCon.Height,Form1.Width,Form1.Height-TabCon.Height);
*** end;
finally
end;
end;

//ÖFFNEN

procedure TForm1.btnOeffnenClick(Sender: TObject);
begin
//Nur .txt Dateien werden angezeigt
OpenDialog2.Filter := 'Text|*.txt' ;
//Öffnen befehl

if OpenDialog2.Execute then
** begin
MyDataFile2 := OpenDialog2.FileName ;
** end;

//Memo wird erstellt
Memo.SetBounds(0,Form1.Top-TabCon.BoundsRect.Bottom,Form1.Width,Form1.Height-TabCon.Height);
Memo.Lines.LoadFromFile(MyDataFile2);
merk:=false;
end;

//SAVE

procedure TForm1.btnSaveClick(Sender: TObject);
begin
* SaveDialog1.Execute;
* Memo.Lines.SaveToFile( Form1.SaveDialog1.Filename + '.txt');
end;

//FARBE

procedure TForm1.btnTxtFarbeClick(Sender: TObject);
begin
* ColorDialog1.Execute;
*// Memo.Font.Color:=ColorDialog1.Color;
end;

//BILD EINFÜGEN

procedure TForm1.btnEinfuegenClick(Sender: TObject);
var
* Image: TImage;
begin
* OpenDialog1.Filter := 'Bilder|*.jpg;*.png;*.jpeg;*.bmp' ;
* if OpenDialog1.Execute then
**** begin
* MyDataFile := OpenDialog1.FileName ;

* Image:=TImage.Create(Self);
* Image.Parent := Self;
* Image.AutoSize:=true;
* Image.Picture.LoadFromFile(MyDataFile);
* Image.Enabled:=true;
**** end;
end;

//SINNLOSER BUTTON

procedure TForm1.btn1Click(Sender: TObject);
begin

//PopUp

* { if klaus=true then
***** begin
******* PopUp.Destroy;
******* klaus:=false;
***** end
** else
** begin

** PopUp.ShowAtPos(Form1.BoundsRect.Left+btn1.BoundsRect.Right-5,Form1.BoundsRect.Top+btn1.BoundsRect.Top-50);
** PopUp.Text:='dieser Button hat keinen Sinn :D';
** PopUp.Title:='Hilfe zu' + ' ' + btn1.Name;
** klaus:=true;
** end; }
end;

end.


{var
* Button: TButton;
begin
* Button:=TButton.Create(Self);
* Button.Parent := Self;
* Button.Caption := 'Alter Titel';
* Button.Left := 100;
* Button.Top := 100;
* Button.OnClick := Button2Click;
end;*** }
Frage_u

Code:


unit Frage_u;

{$mode objfpc}{$H+}

interface

uses
* Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, Buttons, EditBtn, ExtCtrls;
type

* { TForm2 }

* TForm2 = class(TForm)
*** btnNein: TSpeedButton;
*** btnJa: TSpeedButton;
*** procedure btnJaClick(Sender: TObject);
*** procedure btnNeinClick(Sender: TObject);
*** procedure FormCreate(Sender: TObject);
* private
*** { private declarations }
* public
*** { public declarations }
* end;

var
* Form2: TForm2;
* lblSpeichern: TLabel;

implementation
* uses
*** Text_U;
{$R *.lfm}

{ TForm2 }

procedure TForm2.FormCreate(Sender: TObject);
begin
** Form2.SetBounds(840-200,525-50,400,100);
//** Form2.SetBounds(840-200,525-50,400,100);
** Form2.Caption:='Speichern?';

** lblSpeichern:=TLabel.Create(Self);
** lblSpeichern.Parent := Self;
** lblSpeichern.SetBounds(30,25,350,25);
** lblSpeichern.Caption:='Sie hab noch ein Dokument offen. Wollen sie dieses zuerst speichern?';

** btnJa.SetBounds(135,60,60,30);
** btnJa.Caption:='&Ja';

** btnNein.SetBounds(btnJa.BoundsRect.Right+10,60,60,30);
** btnNein.Caption:='&Nein';

end;

procedure TForm2.btnNeinClick(Sender: TObject);
begin
//** Form1 := TForm1.Can;
** Form1.Enabled:=true;
** Form1.ShowOnTop;
** Close;
* // Form2.Visible:=false;

end;

procedure TForm2.btnJaClick(Sender: TObject);
var
* var1: integer;
begin

** for var1:=1 to 1 do
** begin
**** Form1.SaveDialog1.Execute;
**** Form1.Memo.Lines.SaveToFile( Form1.SaveDialog1.Filename + '.txt');
**** merk:=true;
** end;

**** Form1.Memo.Caption:='';
**** Form1.Enabled:=true;
**** Form1.ShowOnTop;

**** merk:=false;
* {** Form1.Memo:=TMemo.Create(Self);
**** Form1.Memo.Parent := Form1;

**** Form1.Memo.Caption := '';* }
**** Form1.Memo.SetBounds(0,Form1.TabCon.Height,Form1.Width,Form1.Height-Form1.TabCon.Height);

**** Close;
end;

end.
  Mit Zitat antworten Zitat
 

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 17:30 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