Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi wie kann ich ein Tag anzeigen bei TPageControl / TabSheet (https://www.delphipraxis.net/14212-wie-kann-ich-ein-tag-anzeigen-bei-tpagecontrol-tabsheet.html)

steve-allround 4. Jan 2004 20:38


wie kann ich ein Tag anzeigen bei TPageControl / TabSheet
 
Hallo,
Ich habe Ein TPageControl

Montag Dienstag Mittwoch Donnerstag Freitag

Wie kann ich jetzt es machen, das wenn heute Freitag wäre auch Freitag (TapSheet) angezeigt wird.

sakura 4. Jan 2004 20:39

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
Wenn das Tabsheet für Freitag tbsFreitag heisst, dann:

Delphi-Quellcode:
PageControl1.ActivePage := tbsFreitag;
...:cat:...

steve-allround 4. Jan 2004 20:42

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
und wo setzte ich das ein?

steve-allround 4. Jan 2004 20:45

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
habe ich das richtig eingesetzt?

Delphi-Quellcode:
procedure TForm1.WocheChange(Sender: TObject);
begin
PageControl1.ActivePage := tbsMontag;
end;

procedure TForm1.tbsMontagContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
begin

end;

mirage228 4. Jan 2004 20:45

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
Ich würde die Tabsheets von 2 bis 6 durchnummerieen (also als name: tbs_2, tbs_3 etc.)

und dann

Delphi-Quellcode:
if FindComponent('tbs_' + IntToStr(DayOfWeek)) <> nil then
  PageControl1.ActivePage := FindComponent('tbs_' + IntToStr(DayOfWeek));
DayOfWeek: 1ter Wochentag ist Sonntag und Samstag der 7te

mfG
mirage228

steve-allround 4. Jan 2004 20:50

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
und wo soll ich das einsetzen?

sakura 4. Jan 2004 20:51

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
Zum Beispiel in das OnCreate (Objekt Inspektor) Deines Formulares.

...:cat:...

mirage228 4. Jan 2004 20:52

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
Am besten im OnShow. Dort wird dann einmalig mit DayOfWeek der Wochentag abgefragt.

@Sakura: Würde der Zugriff auf die Komponente im OnCreate keine AccessViolation auslösen?

sakura 4. Jan 2004 20:53

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
Ist zwar in Englisch aber sehr zu empfehlen.

Essential Pascal
Essential Delphi

...:cat:...

steve-allround 4. Jan 2004 20:53

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
Sorry, bin leider Anfänger..

Wo finde ich den OnFormShow?

mirage228 4. Jan 2004 20:55

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
Du klickst auf dein Formular (nicht auf eine der Komponenten drauf). Dann gehst im "Object Inspector" auf "Ereignisse" (oben) und klickst doppelt auf "OnShow". Dort fügst du den Code in.

sakura 4. Jan 2004 20:55

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
Zitat:

Zitat von mirage228
Am besten im OnShow. Dort wird dann einmalig mit DayOfWeek der Wochentag abgefragt.

Schlechte Idee, da nach dem Verstecken beim wieder anzeigen die Userwerte u.U. weg sind ;-)

Zitat:

Zitat von mirage228
Würde der Zugriff auf die Komponente im OnCreate keine AccessViolation auslösen?

Nein, zu dem Zeitpunkt existieren die Komponenten schon.

...:cat:...

mirage228 4. Jan 2004 20:58

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
Zitat:

Zitat von sakura
Schlechte Idee, da nach dem Verstecken beim wieder anzeigen die Userwerte u.U. weg sind ;-)

Seltsamerweise wird bei mir OnShow nur beim erstmaligen Anzeigen der Form aufgerufen. (Delphi 3).
Wenns bei neueren Delphi-Versionen anders ist, werde ich Zukunft darauf achten^^

Zitat:

Nein, zu dem Zeitpunkt existieren die Komponenten schon.
Ok hast recht, das gilt nur auf den Zugriff auf Komponenten von anderen Formularen (die ja dann noch nicht erstellt sind)

mfG
mirage228

sakura 4. Jan 2004 20:59

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
Zitat:

Zitat von mirage228
Seltsamerweise wird bei mir OnShow nur beim erstmaligen Anzeigen der Form aufgerufen. (Delphi 3).

Nicht ganz, mach mal FormX.Hide; ... FormX.Show ;-)

...:cat:...

steve-allround 4. Jan 2004 21:00

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
 if FindComponent('tbs_' + IntToStr(DayOfWeek)) <> nil then
  PageControl1.ActivePage := FindComponent('tbs_' + IntToStr(DayOfWeek));

end;
Wenn ich das so mache, sagt Dephi mir, das nicht genügend wirkliche Parameter vorhanden sind.

Hilfe????

mirage228 4. Jan 2004 21:02

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
Sorry, hatte mich verschrieben.

Es muss DayOfWeek(Now) heißen.

@Sakura: Stimmt. Dann lauf ich ja fast mit ner tickenden Zeitbombe in einigen meiner Programm rum. Dort verwende ich nämlich nie ein .Show() oder .Hide(). Werde dann wohl nachbessern.

sakura 4. Jan 2004 21:03

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
Dann schaue mal nach Beispielen: Hier im Forum suchenFindComponent Die Suche wirst Du doch verstehen ;-)

...:cat:...

steve-allround 5. Jan 2004 21:18

Re: wie kann ich ein Tag anzeigen bei TPageControl / TabShee
 
Könnt Ihr mir bitte nochmal den genauen Code geben? Also ich habe jetzt Montag mit tbs_2; Diebstag mit tbs_3 u.s.w. belegt. Soll ich den Quelltext in
Delphi-Quellcode:
procedure TForm1.tbs_3ContextPopup(Sender: TObject; MousePos: TPoint;
 
begin
oder
Delphi-Quellcode:
procedure TForm1.WocheChange(Sender: TObject);
begin
eintragen?

Hilfe?????


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:40 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