Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi ShellTreeView und Ordner Selektieren (https://www.delphipraxis.net/102198-shelltreeview-und-ordner-selektieren.html)

SaFu 24. Okt 2007 21:01


ShellTreeView und Ordner Selektieren
 
Hi Leute so einfach wie in der Überschrift ist es nicht

Und zwar habe ich heute mal folgendes Problem

Ich lasse Über einen DateTimePicker Ordener erzeugen die im Namen die Kalenderwoche entahlten (2007_KW_1) und zeige diese Ordner In einer ShellTreeView an.

Das problem ist jetzt wie bekomme ich es hin das ich anhand der kalenderwoche im DateTimePicker auch den dazugehörigen Ordner schon öffnen Kann.

Z.B

Ich habe in der ShellTreeView schon 7 Ordner mit diesen Namen

Delphi-Quellcode:
 2007_KW_1
 2007_KW_2
 2007_KW_3
 2007_KW_4
 2007_KW_5
 2007_KW_6
 2007_KW_7
Ich drücke jetzt im DateTimePicker auf den 16.02.2007 (enspricht der 3 Kalenderwoche) wie kann ich es jetzt anstellen das sich bei schließen des DateTimePickers der Ordner "2007_KW_3" öffnet


Gruss sascha

SaFu 25. Okt 2007 18:49

Re: ShellTreeView und Ordner Selektieren
 
Hi hat niemand irgendwie einen vorschlag?

marabu 25. Okt 2007 18:56

Re: ShellTreeView und Ordner Selektieren
 
Hallo Sascha,

das Ereignis OnChange() von TDateTimePicker hast du bestimmt schon entdeckt. Vielleicht weiß keiner, was du mit dem Öffnen eines Ordners meinst?

Freundliche Grüße

DeddyH 25. Okt 2007 18:58

Re: ShellTreeView und Ordner Selektieren
 
Ein Beispiel zur Ermittlung:
Delphi-Quellcode:
uses DateUtils;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(Format('%d_KW_%d',[YearOf(now),WeekOf(now)]));
end;

Klaus01 25. Okt 2007 19:01

Re: ShellTreeView und Ordner Selektieren
 
Hallo Sascha,

habe mir das nur kurz angeschaut.

Suche Dir ein Event des DateTimePickers das ausglöst wird wenn etwas selektiert wird.
z.B. OnChange

Im Propertie Date findest Du dann das ausgewählte Datum.
Daraus kannst Du dann die Kalenderwoche ermitteln.

Nur so als Anregung.

Grüße
Klaus

SaFu 25. Okt 2007 19:10

Re: ShellTreeView und Ordner Selektieren
 
Zitat:

Zitat von marabu
Hallo Sascha,
Vielleicht weiß keiner, was du mit dem Öffnen eines Ordners meinst?
Freundliche Grüße

Ich meine damit das Ordner Symbol wenn ich noch nicht darauf geklickt habe ist der Ordner ja noch zu und wenn man auf ihn Klickt ist das symbol Offen.

marabu 25. Okt 2007 19:45

Re: ShellTreeView und Ordner Selektieren
 
Hallo Sascha,

probiere es so:

Delphi-Quellcode:
uses
  DateUtils;

var
  dt: TDateTime;
begin
  dt := Now;
  with ShellTreeView do
    Path := IncludeTrailingPathDelimiter(Root) + Format('%.4d_KW_%d', [YearOf(dt), WeekOf(dt)]);
end;
Wenn du die Wochenzahl zweistellig mit führender Null haben willst, dann kannst du %.2d als Formatangabe verwenden.

Grüße vom marabu

SaFu 26. Okt 2007 21:20

Re: ShellTreeView und Ordner Selektieren
 
Hi genau das hatte ich gemeint

aber nicht vom aktuellen datum sondern mehr so
Delphi-Quellcode:
 Path := IncludeTrailingPathDelimiter(Root) + (IntToStr(YearOf(DateTimePicker1.DateTime)))+'_KW_'+(IntToStr(WeekOfTheYear(DateTimePicker1.DateTime)));
aber wie kann ich diesen Ordner jetzt noch selektieren


Gruss Sascha

DeddyH 26. Okt 2007 21:45

Re: ShellTreeView und Ordner Selektieren
 
Stand doch fast da:
Delphi-Quellcode:
uses
  DateUtils;

var
  dt: TDateTime;
begin
  dt := DateTimePicker1.Date;
  ShellTreeView.Path := IncludeTrailingPathDelimiter(Root) + Format('%.4d_KW_%d', [YearOf(dt), WeekOf(dt)]);
end;

SaFu 26. Okt 2007 21:47

Re: ShellTreeView und Ordner Selektieren
 
ja deswegen hab ich ja gesagt das es genau das war was ich gesucht habe :)

Wie Kann ich jetzt genau diesen Ordner selektieren( Das er Blau hinterlegt wird)??


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:47 Uhr.
Seite 1 von 2  1 2      

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