AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Komponenten Eigenschaften zusammenfassen

Ein Thema von julchen · begonnen am 25. Aug 2008 · letzter Beitrag vom 25. Aug 2008
Antwort Antwort
julchen

Registriert seit: 20. Mär 2008
113 Beiträge
 
Delphi 10.3 Rio
 
#1

Komponenten Eigenschaften zusammenfassen

  Alt 25. Aug 2008, 11:25
Hallo,

ich arbeite momentan mit TabSheets, will jedoch nicht immer schreiben, welche gerade sichtbar oder unsichtbar sein sollen, weil sich auch noch viel ändern kann/könnte.
Gibt es so etwas in der Art:
Delphi-Quellcode:
// einmalige Deklaration:
1: TabSheet1.Visible := true + TabSheet1.TabVisible := true;
2: TabSheet2.Visible := true + TabSheet2.TabVisible := true;
3: TabSheet3.Visible := true + TabSheet2.TabVisible := true;
4: TabSheet4.Visible := true + TabSheet2.TabVisible := true;

1: TabSheet1.Visible := false + TabSheet1.TabVisible := false;
2: TabSheet2.Visible := false + TabSheet2.TabVisible := false;
3: TabSheet3.Visible := false + TabSheet2.TabVisible := false;
4: TabSheet4.Visible := false + TabSheet2.TabVisible := false;

procedure ...
begin
   // sichtbar sollen gerade sein:
   Tabsheets.Visible := 1,2;
   // der Rest ist unsichtbar!
Kann man die Eigenschaften zusammenfassen, um nicht soviel zu schreiben?
Hoffe, Ihr habt eine Lösung und versteht mein Problem!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.828 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Komponenten Eigenschaften zusammenfassen

  Alt 25. Aug 2008, 11:50
Was soll die Zuweisung bringen?
Markus Kinzler
  Mit Zitat antworten Zitat
julchen

Registriert seit: 20. Mär 2008
113 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Komponenten Eigenschaften zusammenfassen

  Alt 25. Aug 2008, 12:21
Nichts! Soll nur verdeutlichen, wie ich es mir dachte, wie es gehen könnte!
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Komponenten Eigenschaften zusammenfassen

  Alt 25. Aug 2008, 12:42
Zitat von julchen:
Hoffe, Ihr [...] versteht mein Problem!
Nicht so ganz ^^ ...

Zitat von julchen:
1: TabSheet1.Visible := true + TabSheet1.TabVisible := true;
Und was auch immer das werden soll, es geht nicht. sowas wie A := B := C ging in Delphi noch nie ...

Also: Du willst eine Funktion, die nur die TabSheets eines PageControls anzeigt, deren Index du als Parameter übergibst?
Dann: Funktion mit einem Parameter vom Typ Array of Integer und dann in der Funktion alle TabSheets durchgehen und Visible auf True setzen, wenn der Index in der Liste steht, andernfalls auf False.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Komponenten Eigenschaften zusammenfassen

  Alt 25. Aug 2008, 12:51
Hallo julchen,

kannst du mit Mengen in Delphi umgehen?

Delphi-Quellcode:
type
  TByteSet = set of Byte;

type
  TForm1 = class(TForm)
    [..]
  private
    procedure SetVisibleTabs (const aVisible : TByteSet);
  end;

procedure TForm1.SetVisibleTabs (const aVisible : TByteSet);
begin
  TabSheet1.TabVisible := 1 in aVisible;
  TabSheet2.TabVisible := 2 in aVisible;
  TabSheet3.TabVisible := 3 in aVisible;
  TabSheet4.TabVisible := 4 in aVisible;
  // hier erweitern, falls es mehr Tabs gibt
end;

procedure TForm1.Button1Click (Sender: TObject);
begin
  SetVisibleTabs ([2, 3]); // nur Tabs 2 und 3 sind sichtbar
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Komponenten Eigenschaften zusammenfassen

  Alt 25. Aug 2008, 12:57
Zitat von Hawkeye219:
// hier erweitern, falls es mehr Tabs gibt
Oder eine Schleife nutzen
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.401 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Komponenten Eigenschaften zusammenfassen

  Alt 25. Aug 2008, 12:59
Was für eine Schleife? FindComponent? Davon würde ich abraten, da dies bereits intern eine Schleife benutzt und somit die Performance in den Keller geht.
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
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Komponenten Eigenschaften zusammenfassen

  Alt 25. Aug 2008, 13:02
Zitat von DeddyH:
Was für eine Schleife? FindComponent? Davon würde ich abraten, da dies bereits intern eine Schleife benutzt und somit die Performance in den Keller geht.
Nein natürlich nicht FindComponent. TTabSheets sind normalerweise auf einem PageControl - zumindest bei meinem Delphi Und das hat ya die Eigenschaft Pages
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.401 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Komponenten Eigenschaften zusammenfassen

  Alt 25. Aug 2008, 13:03
Achja, stimmt, dann hast Du natürlich Recht.
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
julchen

Registriert seit: 20. Mär 2008
113 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: Komponenten Eigenschaften zusammenfassen

  Alt 25. Aug 2008, 14:11
Zitat von Hawkeye219:
Delphi-Quellcode:
type
  TByteSet = set of Byte;

type
  TForm1 = class(TForm)
    [..]
  private
    procedure SetVisibleTabs (const aVisible : TByteSet);
  end;

procedure TForm1.SetVisibleTabs (const aVisible : TByteSet);
begin
  TabSheet1.TabVisible := 1 in aVisible;
  TabSheet2.TabVisible := 2 in aVisible;
  TabSheet3.TabVisible := 3 in aVisible;
  TabSheet4.TabVisible := 4 in aVisible;
  // hier erweitern, falls es mehr Tabs gibt
end;

procedure TForm1.Button1Click (Sender: TObject);
begin
  SetVisibleTabs ([2, 3]); // nur Tabs 2 und 3 sind sichtbar
end;
VIELEN DANK
Das ist genau das, was ich gebraucht habe!
Ich wusste nicht, dass die Menge das Zauberwort für solche Probleme ist!
Mit vielen Grüssen, Julchen
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf