AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Mehrerere Objekte zur Laufzeit erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrerere Objekte zur Laufzeit erstellen

Ein Thema von Luki206 · begonnen am 26. Feb 2014 · letzter Beitrag vom 1. Mär 2014
Antwort Antwort
Seite 1 von 3  1 23      
Luki206
(Gast)

n/a Beiträge
 
#1

Mehrerere Objekte zur Laufzeit erstellen

  Alt 26. Feb 2014, 18:50
Hi, ich weiß zwar wie ich z.B. Buttons zur Laufzeit erstelle aber weiß ich nicht wie ich mehr als nur ein Button erstellen kann. Mein Anliegen ist volgendes: jeder kennt ja die Musik Mediathek vom Win Mediaplayer oder von iTunes und so möchte ich das auch machen das man auch mehr Lieder in eine Album Zeile schreiben kann. Wüsste jemand wie ich das machen könnte? Weil da habe ich jetzt keine Anhung da ich Objekte noch nur zur Laufzeit erstellt habe.
Danke
Luki
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

AW: Mehrerere Objekte zur Laufzeit erstellen

  Alt 26. Feb 2014, 18:57
Was denn für Objekte? Komponenten oder ganz andere? Im Prinzip geht das so (ich geh mal davon aus, dass es sich nicht um Komponenten handelt):
Delphi-Quellcode:
//FObjects soll ein privates Feld vom Typ TObjectList sein
procedure TSomeForm.CreateSeveralObjects(CountObjects: integer);
var
  i: integer;
  Obj: TSomeObject;
begin
  for i := 1 to CountObjects do
    begin
      Obj := TSomeObject.Create;
      //Irgendwelche Eigenschaften setzen
      Obj.SomeProp := 42;
      FObjects.Add(Obj);
    end;
end;
Wenn später die Objektliste freigegeben wird, werden (in der Standardeinstellung OwnsObjects auf true) auch die enthaltenen Objekte mit freigegeben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
michaelthuma
(Gast)

n/a Beiträge
 
#3

AW: Mehrerere Objekte zur Laufzeit erstellen

  Alt 26. Feb 2014, 19:17
Ganz klar ist es mir nicht. Machen wir mal Ein Panel einfügen und mehrer Buttions drauf.

Delphi-Quellcode:
var
  lBtn : TButton;
  lPanel : TPanel;
  lActRight : Integer;
begin
  (* Panel *)
  lPanel := TPanel.Create(self);
  lPanel.Align:=TAlign.alBottom;
  self.InsertControl(lPanel);

  (*Button 1*)
  lBtn := TButton.Create(self);
  lBtn.Caption:='Eins';
  self.InsertControl(lBtn);
  lBtn.Parent:=lPanel;
  lActRight := lBtn.Left + lBtn.Width;
  
  (*Button 2*)
  lBtn:=TButton.Create(self);
  lBtn.Caption:='Zwei';
  lBtn.Left:=lActRight + 3;
  self.InsertControl(lBtn);
  lBtn.Parent:=lPanel;
  lActRight := lBtn.Left + lBtn.Width;
  
  (*Button 3*)
 
  lBtn:=TButton.Create(self);
  lBtn.Caption:='Zwei';
  lBtn.Left:=lActRight + 3;
  self.InsertControl(lBtn);
  lBtn.Parent:=lPanel;
end;
Das ist jetzt nicht der Heuler ... aber schauen wir mal. Kann man ruhig eine Schleife bauen ... nach dem Panel.


Hi, ich weiß zwar wie ich z.B. Buttons zur Laufzeit erstelle aber weiß ich nicht wie ich mehr als nur ein Button erstellen kann. Mein Anliegen ist volgendes: jeder kennt ja die Musik Mediathek vom Win Mediaplayer oder von iTunes und so möchte ich das auch machen das man auch mehr Lieder in eine Album Zeile schreiben kann. Wüsste jemand wie ich das machen könnte? Weil da habe ich jetzt keine Anhung da ich Objekte noch nur zur Laufzeit erstellt habe.
Danke
Luki
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: Mehrerere Objekte zur Laufzeit erstellen

  Alt 26. Feb 2014, 19:27
Wenn später die Objektliste freigegeben wird, werden (in der Standardeinstellung OwnsObjects auf true) auch die enthaltenen Objekte mit freigegeben.
Je nachdem welches Delphi man hat, ist die Eigenschaft OwnsObjects nicht sonderlich verbreitet. Bei Delphi 7 ist es gerade mal nur in TObjectList, spätere Versionen wurden aktualisiert, z. B. TStringList usw.

Ist nur ein Hinweis für die, die noch ein altes Delphi haben. Da TE aber XE5 hat, sollte das kein Problem sein.
  Mit Zitat antworten Zitat
Luki206
(Gast)

n/a Beiträge
 
#5

AW: Mehrerere Objekte zur Laufzeit erstellen

  Alt 27. Feb 2014, 11:09
Ok danke, nur die Oberfläche vom Windows Media Player ist ja Scrollbar (nicht Scrollbar sondern Scroll-bar ) und jetzt weiß ich nicht wie ich das dann mit den Scrollbar's machen soll das diese mein Fenster nach untenraus erweitern, weil wenn man ja mehr als Zehn mal: Button, Label und Bevel dann erzeugt hat kommt man ja an ein Limit. Oder ja auch noch ein Beispiel von iTunes. Apple hat ja das Coverflow zu dieser neuen Ansicht getauscht und das ist ja auch 'erweiterbar' mit Lieder.
Danke
Luki
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Mehrerere Objekte zur Laufzeit erstellen

  Alt 27. Feb 2014, 12:19
Wenn du das nicht vernünftig beschreiben kannst, dann mach einen Screenshot, kringel das ein was du meinst und schreib "das da" dran
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#7

AW: Mehrerere Objekte zur Laufzeit erstellen

  Alt 27. Feb 2014, 12:36
@Luki206:

Wenn ich dich richtig verstehe, möchtest du das erreichen, was ich im Bild unten darstelle. In der zugehörigen Anwendung werden Objekte zusammengestellt (ein TImage und eine TCheckBox) und jeweils als ein zusammengehöriges Objekt zur Laufzeit erzeugt. Dazu habe ich mir eine eigene Klasse geschrieben, die die Objekte erzeugen und auch wieder freigeben kann. Die Objekte landen nach Erzeugung in einer TObjectList.

In der ScrollBox befindet sich ein TPanel, das in der Breite jeweils der Breite des ScrollBox-Clientbereichs angepaßt wird. Die Höhe richtet sich danach, wie viele Objekte auf dem Panel dargestellt werden sollen. Dabei berechne ich aus der Breite und Höhe der Objekte und aus dem horizontalen und vertikalen Abstand, wie viele Objekte auf eine "Zeile" passen und wie viele "Zeilen" ich benötige. Aus dem letztgenannten Wert ergibt sich die Höhe des Panels.
Miniaturansicht angehängter Grafiken
erstellteobjekte.jpg  
  Mit Zitat antworten Zitat
Luki206
(Gast)

n/a Beiträge
 
#8

AW: Mehrerere Objekte zur Laufzeit erstellen

  Alt 27. Feb 2014, 14:48
Tut mir leid wegen den spärlichen Infos nur war ich heute morgen in der Schule etwas verpeilt @Perlsau Ja genau so etwas meine ich Danke
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#9

AW: Mehrerere Objekte zur Laufzeit erstellen

  Alt 27. Feb 2014, 14:50
Na, dann komm doch mal auf die helle Seite, dann siehst du erstens besser und blickst auch besser durch. Immerhin, jetzt weißt du ja, wie's geht.
  Mit Zitat antworten Zitat
Luki206
(Gast)

n/a Beiträge
 
#10

AW: Mehrerere Objekte zur Laufzeit erstellen

  Alt 27. Feb 2014, 15:14
Haha, ja ok, danke
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 03:34 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