AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

button, label... : variable

Ein Thema von dino · begonnen am 18. Mai 2007 · letzter Beitrag vom 19. Mai 2007
Antwort Antwort
dino

Registriert seit: 15. Jul 2006
Ort: Bad Münstereifel
627 Beiträge
 
Delphi 5 Professional
 
#1

button, label... : variable

  Alt 18. Mai 2007, 14:33
Hi DP, habe da mal ne Frage...

ich möchte eine Variable machen, in der einen bestimmten button oder ein label oder oder oder speichern kann

also um dann später per variable.caption:='Hier' oder so die variable benutzen zu können

weiss leider nicht, was ich dafür in die forensuche eingeben soll, bzw in die delphi hilfe, darum frage ich euch, ob es so einen variablentyp gibt
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#2

Re: button, label... : variable

  Alt 18. Mai 2007, 14:35
Versuchs mal mit (FindComponent(variable) as TLabel).Caption:='blah'
  Mit Zitat antworten Zitat
dino

Registriert seit: 15. Jul 2006
Ort: Bad Münstereifel
627 Beiträge
 
Delphi 5 Professional
 
#3

Re: button, label... : variable

  Alt 18. Mai 2007, 14:39
klappt genial danke

nur ists in meinem fall TButton

eine allgemeine Form gibts wohl nicht, oder?

naja dann hättest du es mir schon gesagt...
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#4

Re: button, label... : variable

  Alt 18. Mai 2007, 14:44
wie eine allgemeine Form?
FindComponent(variable) ohe as gibts auch, kannst dann halt nur die Eigenschaften von TComponent benutzen...
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: button, label... : variable

  Alt 18. Mai 2007, 14:45
Moin dino,

Du kannst die Klasse angeben, in der die von Dir gewünschte Eigenschaft eingeführt wird.
In diesem Falle also TControl, da TButton und TLabel von TControl abstammen (siehe Hilfe) und die Eigenschaft Caption von TControl erben.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
dino

Registriert seit: 15. Jul 2006
Ort: Bad Münstereifel
627 Beiträge
 
Delphi 5 Professional
 
#6

Re: button, label... : variable

  Alt 18. Mai 2007, 14:48
wobei die variable ja hier eine stringvariable ist und die funktion eine komponente mit diesen namen sucht...

aber für miene Zwecke geht es so schon sehr gut, danke
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#7

Re: button, label... : variable

  Alt 19. Mai 2007, 01:03
Moin dino!

Meinst Du vielleicht so etwas?
Delphi-Quellcode:
   var Varibale:TComponent;
...
procedure TForm1.SetCaption;
begin
   If (Varibale is TButton) then
      TButton(Varibale).Caption:='Ich bin ein Button';

   If (Varibale is TLabel) then
      TLabel(Varibale).Caption:='Ich bin ein Label';

   If (Varibale is TCheckBox) then
      TCheckBox(Varibale).Caption:='Ich bin eine CheckBox';

   If (Varibale is TRadioButton) then
      TRadioButton(Varibale).Caption:='Ich bin ein RadioButton';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   Randomize;
   Case Random(4) of
      0: Varibale:=Button1;
      1: Varibale:=Label1;
      2: Varibale:=CheckBox1;
      3: Varibale:=RadioButton1;
   end;

   SetCaption;
end;
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#8

Re: button, label... : variable

  Alt 19. Mai 2007, 06:40
Hai dino,

hier noch ein anderer Lösungsansatz.
Delphi-Quellcode:
uses
  TypInfo;

resourcestring
  SUnknownProperty = 'Eigenschaft %s existiert nicht.';

procedure MySetWideStrProp(Instance: TObject; const PropName: string; const Value: Widestring);

var
  PropInfo: PPropInfo;
begin
  PropInfo := GetPropInfo(Instance, PropName);
  if PropInfo = NIL then
  begin
    raise EPropertyError.CreateResFmt(@SUnknownProperty, [PropName]);
  end;
  SetWideStrProp(Instance, PropInfo, Value);
end;

procedure TDemo_Form.btn_SetCaptionClick(Sender: TObject);
var
  myObjects: array[1..4] of TObject;
  ndx: Integer;
begin
  myObjects[1] := Button1;
  myObjects[2] := Label1;
  myObjects[3] := CheckBox1;
  myObjects[4] := RadioButton1;
  // Ab hier werden die Captions gesetzt
  for ndx := 1 to High(myObjects) do
  begin
    MySetWideStrProp(myObjects[ndx], 'Caption', Format('Caption %d', [ndx]));
  end;
end;
Wenn es bei dir immer nur die Captions sind kannst Du das in MySetWideStrProp auch hardcoden und musst das Property dann nicht mehr bei den Parametern mit übergeben.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:58 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