![]() |
benutzen von objektnamen in eigenen prozeduren!
wieso kann man in einer eigenen prozedur nicht die farbe von z.B. einem panel ändern?
ich bräuchte diese funktion aber damit ich mir einiges an quelltext sparen kann!
Delphi-Quellcode:
torley
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; procedure farbwechsel(Farbe: integer); var Form1: TForm1; implementation {$R *.dfm} procedure farbwechsel(Farbe: integer); begin if Farbe = 1 then panel1.color:= clred; if Farbe = 2 then panel1.color:= clblue; end; procedure TForm1.Button1Click(Sender: TObject); begin farbwechsel(1); end; |
Re: benutzen von objektnamen in eigenen prozeduren!
Hallo Torley,
wenn du FarbWechsel() zu einer Methode deiner Form machst, dann kannst du deine Panel problemlos ansprechen. Grüße vom marabu |
Re: benutzen von objektnamen in eigenen prozeduren!
In Ergänzung zu Marabu ....
Delphi-Quellcode:
TForm1 ... procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private-Deklarationen } procedure farbwechsel(Farbe: integer); public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.farbwechsel(Farbe: integer); begin if Farbe = 1 then panel1.color:= clred; if Farbe = 2 then panel1.color:= clblue; // else ???? end; procedure TForm1.Button1Click(Sender: TObject); begin farbwechsel(1); end; |
Re: benutzen von objektnamen in eigenen prozeduren!
Oder du übergibst der Methode, welches panel gefärbt werden soll:
Delphi-Quellcode:
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; procedure farbwechsel(Panel: TPanel; Farbe: integer); var Form1: TForm1; implementation {$R *.dfm} procedure farbwechsel(Panel: TPanel; Farbe: integer); begin if Panel = nil then Exit; // Panel ist nicht initialisiert if Farbe = 1 then Panel.color:= clred; if Farbe = 2 then Panel.color:= clblue; end; procedure TForm1.Button1Click(Sender: TObject); begin farbwechsel(panel1, 1); end; |
Re: benutzen von objektnamen in eigenen prozeduren!
dankeschön fünktioniert prächtig!
|
Re: benutzen von objektnamen in eigenen prozeduren!
Kleiner Verbesserungsvorschlag:
Delphi-Quellcode:
procedure farbwechsel(Panel: TPanel; Farbe: integer);
begin if Panel = nil then Exit; // Panel ist nicht initialisiert case Farbe of 1: Panel.color:= clred; 2: Panel.color:= clblue; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 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