Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eigener Prozedur Eigenscahften (propertys) zuweisen (https://www.delphipraxis.net/60061-eigener-prozedur-eigenscahften-propertys-zuweisen.html)

maddin4u 2. Jan 2006 14:25


Eigener Prozedur Eigenscahften (propertys) zuweisen
 
Hi

Ich wollte wissen, ob es möglich ist einer selbsterstellten Prozedur, Eigenschaften zu zu weisen.

Ich Stelle mir das wie folgt vor:

Delphi-Quellcode:
procedure tuewas(myID: integer)
begin

  // Wenn LabelCaption als Poperty gewählt ist
  // Label mit der ID myID suchen und Caption setzen
 
end;
Und der Aufruf

Delphi-Quellcode:
 tuewas(5).LabelCaption := 'Horst';
In diesem Beispiel soll also die Caption des Labels mit der ID 5 in Horst umgewandelt werden.

Jetzt ist die Frage wie ich dieses ".LabelCaption" realisieren kann?

Viel Dank!

Dax 2. Jan 2006 14:35

Re: Eigener Prozedur Eigenscahften (propertys) zuweisen
 
Öhm.. Das geht nicht. Was du suchst ist eine Funktion, die ein Objekt zurückgibt.

Grundsätzlich: Eine Prozedur gibt nichts zurück ;)

tomsel 2. Jan 2006 14:47

Re: Eigener Prozedur Eigenscahften (propertys) zuweisen
 
Was du meinst, wäre z.Bsp. eine Funktion vom Typ TControl, die das über ID angesprochene Label liefert. Etwa so:

Delphi-Quellcode:
function MyControl(ID:integer):TControl;
begin
  result := TControl(Form1.Finde_Das_Label_Mit_Nr(ID));
end;
Finde_Das_Label_Mit_Nr muss natürlich geeignet implementiert sein. Bei einem derartigen Konstrukt besteht aber die Gefahr einer AV, sofern kein entsprechendes Control gefunden wird. Realisiere das Ganze besser anders. Wenn du etwas mehr Einblick in dein Prog gestattest, könte man evtl. weiterhelfen.

maddin4u 2. Jan 2006 16:04

Re: Eigener Prozedur Eigenscahften (propertys) zuweisen
 
Erstmal danke für die Antworten.

Ich werde das ganze dann anderss lösen.

Ich sachaffe mir folgende Prozedur

Delphi-Quellcode:
procedure tuewas(ID: integer,WAS,WIE: string);
begin
  if WAS = 'LabelCap' then
   Label(ID).Caption := WIE //Label z. B. per FindComponent suchen

  if WAS = 'irgendwas' then
   //...
end;

//Aufruf dann wie folgt
tuewas(5,LabelCap,'Horst');
Gruß
Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:33 Uhr.

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