AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Informationen aus einem ClientDataSet auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Informationen aus einem ClientDataSet auslesen

Ein Thema von ChristianG · begonnen am 10. Jul 2014 · letzter Beitrag vom 11. Jul 2014
 
Benutzerbild von Sir Rufo
Sir Rufo

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

AW: Informationen aus einem ClientDataSet auslesen

  Alt 11. Jul 2014, 10:01
Zum generellen Ansatz des dynamischen Erzeugen von Controls, die mit irgendetwas interagieren sollen, bieten sich eigentlich Frames eher an. Der Code wird erheblich übersichtlicher.
Delphi-Quellcode:
TItemFrame = class( TFrame )
  Button1 : TButton;
  procedure Button1Click( Sender : TObject );
private
  FItem : TItem;
  procedure SetItem( const Value : TItem );
public
  property Item : TItem read FItem write SetItem;
end;

procedure TItemFrame.SetItem( const Value : TItem );
begin
  FItem := Value;
  Button1.Enabled := Assigned( FItem );
end;

procedure TItemFrame.Button1Click( Sender : TObject );
begin
  // Was auch immer nun mit dem Item machen
  DoSomethingWith( FItem );
  // oder wenn das Item etwas schlauer ist
  FItem.DoSomething;
end;
Und für die Erzeugung und Verwaltung
Delphi-Quellcode:
LItemFrames.Clear;
for LItem in FItems do
begin
  LItemFrame := TItemFrame.Create( nil );
  try
    LItemFrame.Item := LItem;

    LItemFrame.Parent := ItemsScrollBox; // halt den Container für die Items
    // Positionieren
    LItemFrame.Top := ...
    LItemFrame.Left := ...

    // In einer Liste merken
    FItemFrames.Add( LItemFrame );
    LItemFrame := nil;
  finally
    LItemFrame.Free;
  end;
end;
Das ist prinzipiell der gesamte Code um die Items darzustellen und auch mit Aktionen zu verknüpfen.

Werden die Aktionen umfangreicher, dann wird das Frame umfangreicher (mehr Buttons, mehr Controls, mehr Farbe, mehr BlingBling), der Code zur Verwaltung bleibt meistens exakt gleich
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)

Geändert von Sir Rufo (11. Jul 2014 um 10:04 Uhr)
  Mit Zitat antworten Zitat
 

 

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 08:33 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-2025 by Thomas Breitkreuz