Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Label Print? (https://www.delphipraxis.net/171-label-print.html)

Privateer3000 16. Jun 2002 12:41


Label Print?
 
Hallo Leuts,

lässt sich eine Komponente wie Label auch drucken.
Mit RichEdit gehts,weiss ich...aber auch die Caption eines Labels??
Und weil wir dabei sind :lol: gehts mit Shapes auch???

Schönen Sonntag!!!

TOOOOOOOOOOOOOOOR für Spanien

Daniel B 16. Jun 2002 12:45

Hi,

es kommt drauf an wie du Druckst.
Aber schonmal
Code:
WriteLn(Printfile, Label1.Caption);
probiert?

Grüsse, Daniel :)

Privateer3000 16. Jun 2002 12:57

Danke,
ich versuch es das erste Mal.
Also keine Ahnung wie und wo deine Zeile verwendet werden muss.
Such grad Tuts darüber....bisher noch nichts

Daniel 16. Jun 2002 13:00

Hallo Privateer,

Du könntest Deine Druck-Ausgabe selber formatieren. Über die Unit "Printers" und das Object "TPrinter" holst Du Dir ein Handle auf die Zeichenfläche (Canvas) des Druckers. Dort kannst Du dann mit TextOut(...) und DrawRect(...) etc. jegliche Form von Krativität austoben. Ist allerdings ein wenig aufwendiger.


Grüße,
Daniel

Daniel B 16. Jun 2002 13:03

Aaahh, dein Problem ist das du grundsätzlich nicht Drucken kannst.
Du könntest ja einfach Print; schreiben, aber das ist nicht das was du willst.

Du kannst nämlich sachen so Drucken, als würdest du eine normale Textfile beschreiben.

Indem du eine Datei mit AssignPrn(tf, 'LPT1'); öffnest und somit einfach nur WriteLn(blabla); benutzt.
Printers in die uses aufnehmen.
Das findet man sogar in der OH. Ich hab aber zur Zeit kein Dlephi, kann somit nicht nachsehen nach welchen Befehlen du suchen müsstest. Aber unter Printer, Printers, findest du bestimmt was. AssignPrn auch.

Grüsse, Daniel :)

Privateer3000 16. Jun 2002 15:41

Habs mir anders überlegt...

Ich möchte die Labels lieber vorher in eine Datei speicher..
diese kann ich wenns erforderlich immer noch ausdrucken.

Also nochmal:

Ich möchte sprichwörtlich die Labels "einsammeln" (sind Label1..Label12)
und sie untereinander in einem Textfile abspeichern..
nimmt man da nun
write
SaveToFile
oder sonstwas

wäre Dankbar für Hilfe

Daniel 16. Jun 2002 16:07

Alle Labels eines Fensters könntest Du folgendermassen einsammeln:
Code:
Procedure ScanLabels( aForm : TForm );
var index : Integer;
Begin
  For index:= 0 To aForm.ComponentCount-1 Do
  Begin
    If (aForm.Component[index] is TLabel) Then
      With TLabel(aForm.Component[index]) Do
        WriteToFile( aForm.Name+'.'+Name+'.Caption:= '+Caption);
  End;
End;
Und die Prozedur WriteToFile könnte folgendermaßen aussehen:
Code:
Procedure WriteToFile( aString : String );
var aFile : TextFile;
Begin
  AssignFile( aFile, 'C:\DATA.TXT' );
  Reset( aFile );
  WriteLn( aFile, aString );
  CloseFile( aFile );
End;
Ich habe weder die eine noch die andere Methode getestet, aber das Prinzip sollte in jedem Fall funktionieren.


Grüße,
Daniel

Privateer3000 16. Jun 2002 16:49

Danke Daniel,

Componet ist ein undef. Bezeichner

was muss ich noch machen???

Daniel 16. Jun 2002 16:54

Sorry. Es muss jeweils .Components lauten. Das 's' am Ende ist wichtig. :roll:

Grüße,
Daniel

Privateer3000 16. Jun 2002 16:55

Dankeschön...

PS:sieh mal unter Fragen/Anregungen nach


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:14 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz