![]() |
Delphi-Version: 5
Komponente (?) an Funktion übergeben
Hallo,
Ich habe, wie schon zu erwarten, eine Frage zu Delphi. In Delphi bin ich zwar ein Neuling, habe allerdigns schon einiges an Erfahrung in anderen Programmiersprachen gesammelt. Ich habe ein Projekt, dass dass aus einer Kreuzung mit 4 Ampeln besteht, die aufeinander abgestimmt sind. Die Ampeln bestehen aus jeweils 3 TShapes, die unterschiedlich gefärbt werden. Jetzt will ich eine Funktion basteln, die eine Ampel in die nächste Phase bringt. Das ist auch kein problem, allerdings möchte ich der Funktion übergeben, wie die Ampel "heisst". ich versuche das mal in Code zu fassen, dass es leichter verständlich ist:
Code:
Ampel kann eben Ampel1, Ampel2, usw. sein, also dass ich mit einer Funktion unterschiedliche Ampeln ansprechen kann.
function naechstePhase(Ampel)
Ampel.brush.color := red; Ich hoffe ihr wisst was ich meine !? Viele Grüße & schoneinmal Danke! Jan |
AW: Komponente (?) an Funktion übergeben
Wie machst du das denn, wenn du eine Integer Zahl übergeben willst?
Delphi-Quellcode:
Und mit einem String?
procedure TuWas( i : integer );
Delphi-Quellcode:
Wen wundert es dann, wenn eine Komponente/Objekt so übergeben wird:
procedure TuWas( s : string );
Delphi-Quellcode:
;)
procedure TuWas( Ampel : TAmpel );
(Ich gehe jetzt mal davon aus, dass die Ampel-Klasse tatsächlich auch TAmpel heisst - bietet sich ja irgendwie an) Bei Objekten (dazu zählen auch die Komponenten) werden so nur die Referenzen auf das Objekt übergeben (was zum Arbeiten mit diesem Objekt auch völlig ausreicht). |
AW: Komponente (?) an Funktion übergeben
Ah, ok, danke. Dann kann aber das ganze ja nur Ampel1 sein, ich möchte ja aber auch Ampel1, Ampel2, usw. übergeben, weil das ja alles verschiedene Dinger sind, von denen ich die Farbe ändern möchte. Das würde ja so nicht gehen, oder?
Du meintest etwas von Klasse, ich meine aber so ein "Objekt" aus dem Design Teil, in diesem Fall ein Shape. Viele Grüße |
AW: Komponente (?) an Funktion übergeben
Zitat:
|
AW: Komponente (?) an Funktion übergeben
Zitat:
In etwa so:
Delphi-Quellcode:
procedure FaerbeAmpel(Ampel: TAmpel; Farbe: TColor);
begin Ampel.Brush.Color := Farbe; end; procedure TForm1.Button1Click(Sender: TObject); begin FaerbeAmpel(Ampel1, clRed); FaerbeAmpel(Ampel2, clGreen); // etc end |
AW: Komponente (?) an Funktion übergeben
Achso. Ja super, dankeschön! Ging echt schnell ^^
lg |
AW: Komponente (?) an Funktion übergeben
Zitat:
Beispiel:
Delphi-Quellcode:
type
TForm7 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Button1: TButton; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } procedure MakeItReal(ALabel : TLabel; Cap : String); end; var Form7: TForm7; implementation {$R *.dfm} procedure TForm7.Button1Click(Sender: TObject); begin MakeItReal(Label1, 'erste Beschriftung'); end; procedure TForm7.Button2Click(Sender: TObject); begin MakeItReal(Label2, 'zweite Beschriftung'); end; procedure TForm7.Button3Click(Sender: TObject); begin MakeItReal(Label3, 'dritte Beschriftung'); end; procedure TForm7.MakeItReal(ALabel : TLabel; Cap : String); begin ALabel.Caption := Cap; end; end. |
AW: Komponente (?) an Funktion übergeben
Perfekt! Vielen Dank nochmal!!!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 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 by Thomas Breitkreuz