Delphi-PRAXiS
Seite 2 von 2     12   

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

Himmel, jetzt ist es WriteToFile

habs aber inder Class und als procedure hinzugefügt

MrSpock 16. Jun 2002 17:20

Hallo Privateer3000,

Zitat:

Himmel, jetzt ist es WriteToFile
Was ist WriteToFile? Meldet der Compiler einen Fehler? Wenn ja, welchen?

Privateer3000 16. Jun 2002 17:22

undefinierter Bezeichner..

HAAAAAAALLOOOOOO Spocki !

MrSpock 16. Jun 2002 17:27

Hallo Privateer3000,

wenn du es als Methode in die Klassendefinion geschrieben hast, musst du die Procedure wie folgt definieren:

Zitat:

Procedure TForm1.WriteToFile( aString : String );
Wobei TForm1 durch den Namen deines Formulars ersetzt werden muss.

Privateer3000 16. Jun 2002 17:38

Danke Spocki...jetzt kommt keine Fehlermeldungen mehr...

Aber wie kann ich das Schreiben kontrolliert starten?

als durch Button beispielsweise??

jetzt sind es ja "normale" procedure'n

sakura 16. Jun 2002 17:38

Ich bin mir nicht sicher, obs hilft, aber Du kannst auch das komplette Form mit

Form1.Print;

ausdrucken. (Wenns mal mehr als ein Label sein soll).

MrSpock 16. Jun 2002 18:20

Hallo Privateer3000,

es kommt darauf an, wann du die Label - Captions drucken möchtest. Auf Knopfdruck, beim Beenden des Programms oder bei welchem Ereignis.

Der Aufruf ist dann einfach:
Code:
   ScanLabels(Self)
Wenn du aber sowieso die Methode ScanLabels als Methode der Klasse deiner Form deklariert hast, könntest du den Parameter aForm auch weglassen und dafür im Programmcode anstelle von aForm die Variable self verwenden. Außerdem hat die Procedure WriteToFile einen festeingestellten Programmnamen. Ich würde diesen als Parameter übergeben. Dann sähe das Ganze wie folgt aus:

Code:
Procedure TForm1.ScanLabels(datNam : String );
var index : Integer;
Begin
  For index:= 0 To Self.ComponentCount-1 Do
  Begin
    If (Self.Component[index] is TLabel) Then
      With TLabel(Self.Component[index]) Do
        WriteToFile( aForm.Name+'.'+Name+'.Caption:= '+Caption, datNam);
  End;
End;
und
Code:

Procedure TForm1.WriteToFile( aString, datNam : String );
var aFile : TextFile;
Begin
  AssignFile( aFile, datNam );
  Reset( aFile );
  WriteLn( aFile, aString );
  CloseFile( aFile );
End;
Der Aufruf würde dann lauten:
Code:
ScanLabels('C:\Delphi\Test\Labels.Txt');
oder wie immer die Datei heißen soll.

Privateer3000 16. Jun 2002 18:45

Auf Spocki ist, wie immer, Verlass !

Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:22 Uhr.
Seite 2 von 2     12   

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