AGB  ·  Datenschutz  ·  Impressum  







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

Objekt-typ übergeben

Ein Thema von MechMac666 · begonnen am 17. Aug 2011 · letzter Beitrag vom 17. Aug 2011
Antwort Antwort
MechMac666

Registriert seit: 9. Nov 2008
95 Beiträge
 
#1

AW: Objekt-typ übergeben

  Alt 17. Aug 2011, 20:58
Delphi-Quellcode:
  type elemente =record
   name:string;
   typ:twincontrol;
  end;

  var elem: array[0..10] of elemente;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var test:tbutton;
begin

test:=tbutton.Create(form1);
test.Left:=10;
test.Top:=10;
test.caption:='huhu';
test.Width:=80;
test.Height:=22;
test.Name:='uggi';

elem[1].name:='uggi';
elem[1].typ:=test;

elem[1].typ(form1.FindComponent(elem[1].name)).left:=20;

end;

end.

So geht es natürlich nicht. Ich möchte mit der folgenden Zeile verschiedene Objekte ansprechen.
elem[1].typ(form1.FindComponent(elem[1].name)).left:=20;

Labels, buttons, etc.
Es ist sichergestellt das nur Eigenschaften abgefragt werden, die die alle haben.

elem[1].typ soll quasi für die Standard-Controlls stehen, bzw. kann ich bei der OnCreate Procedure ja auch etwas zuweisen à la elem[1].typ:=test;
Nur ich weiß nicht was das für ein Datentyp sein muss.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#2

AW: Objekt-typ übergeben

  Alt 17. Aug 2011, 21:05
Delphi-Quellcode:
var elem: array[0..10] of TWinControl;

elem[...] := TEdit.Create(...);

elem[...].Width := 123;
Wenn alle Typen eh die gleichen gbenötigten Eigenschaften besitzen, dann nimm statt TWinControl einen Typen, welchen alle als gemeinsamen Vorfahren haben und fertig.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
MechMac666

Registriert seit: 9. Nov 2008
95 Beiträge
 
#3

AW: Objekt-typ übergeben

  Alt 17. Aug 2011, 21:14
Habs gerade hinbekommen.

Delphi-Quellcode:
    var elem: array[0..10] of string;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var test:tbutton;
    test2:tedit;
begin

test:=tbutton.Create(form1);
test.Parent:=(form1);
test.Left:=20;
test.Top:=20;
test.caption:='huhu';
test.Width:=80;
test.Height:=22;
test.Name:='uggi';
elem[1]:='uggi';

test2:=tedit.Create(form1);
test2.Parent:=(form1);
test2.Left:=20;
test2.Top:=40;
test2.text:='huhu';
test2.Width:=80;
test2.Height:=22;
test2.Name:='uggi2';
elem[2]:='uggi2';

end;

procedure TForm1.Button2Click(Sender: TObject);
var
  I: Integer;
begin
for I := 1 to high(elem) do
if elem[i]<>'then
twincontrol(form1.FindComponent(elem[i])).left:=100;
end;


EDIT:
Ich sehe gerade, jetzt kann ich mir den Typ auch schenken *lol*
.
.
So, aktueller Stand.

Geändert von MechMac666 (17. Aug 2011 um 21:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#4

AW: Objekt-typ übergeben

  Alt 17. Aug 2011, 22:05
Nochmals:
Wozu erst die Elemente suchen wenn man direkt drauf zugreifen kann?

auf elem greist du über einen Index zu und genau den selben Index kann man auch direkt nutzen ... siehe einen Post weiter vorne.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
MechMac666

Registriert seit: 9. Nov 2008
95 Beiträge
 
#5

AW: Objekt-typ übergeben

  Alt 17. Aug 2011, 22:11
@himitsu

Ok, jetzt hab ich`s verstanden. Thx.
  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 12:04 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