Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Unterordnernamen auslesen (https://www.delphipraxis.net/93907-unterordnernamen-auslesen.html)

SaFu 13. Jun 2007 07:09


Unterordnernamen auslesen
 
Guten morgen
Hab mal ne Frage zum ShellTreeView ich habe das Shelltreeview auf einen bestimmten Ordener gesetzt in dem Erzeuge ich dann unterordner.

Danach werden dateien erstellt und die will ich jetzt mit dem Unterordnernamen und datei namen abspeichern

Mein problem ist jetzt wie lese ich den Unterordenernamen aus um den in den in den namen der zu speichernde Datei zu übergeben

Delphi-Quellcode:
 Grid:= hier muss der name des unter ordners aus dem ShellTreeview + ComboBox4.Text+'.txt';
  FileStream.SaveToFile(Grid);
Danke schonmal

Klaus01 13. Jun 2007 07:36

Re: Unterordnernamen auslesen
 
Guten Morgen Sascha,

Zitat:

Zitat von fuknersascha
Guten morgen
Hab mal ne Frage zum ShellTreeView ich habe das Shelltreeview auf einen bestimmten Ordener gesetzt in dem Erzeuge ich dann unterordner.

Du erstellst Unterordener und kennst nicht dessen Namen?

Grüße
Klaus

SaFu 13. Jun 2007 07:41

Re: Unterordnernamen auslesen
 
Doch erstell sie so

Delphi-Quellcode:
ForceDirectories(ExtractFilePath(ParamStr(0)) + 'Vertretungspläne\'+(IntToStr(YearOf(DateTimePicker1.DateTime)))
und mein shellTreeView ist so eingestellt

Delphi-Quellcode:
Pfadordner:= ExtractFilePath(ParamStr(0))+'Vertretungspläne\';
  ShellTreeView1.Root:= Pfadordner;
Jetzt will ich eine Datei speichern aber in dem Ordenr den ich im shellTreeview angeklickt habe + Combobox.text

SaFu 13. Jun 2007 07:49

Re: Unterordnernamen auslesen
 
Achso vorher habe ich das mit dem Speichern so gemacht

Delphi-Quellcode:
  Grid:= ExtractFilePath(ParamStr(0))+'Vertretungspläne\'+ ComboBox4.Text+'.txt';
  FileStream.SaveToFile(Grid);
Da wird die Datei mit dem name im Ordenr Vertretungspläne gespeichert würde jetzt gerne aber den pfad vom shelltreewiev haben

DeddyH 13. Jun 2007 07:55

Re: Unterordnernamen auslesen
 
Hallo,

schau mal hier.

SaFu 13. Jun 2007 09:09

Re: Unterordnernamen auslesen
 
genau das
war es

hab nochmal ne kleine frage

wie prüfe ich ob ein Ordner ausgewählt wurde im shelltreeview

Delphi-Quellcode:
if not ShellTreeview1.SelectedFolder = true then
Showmessage('Nichts ausgewählt')

Klaus01 13. Jun 2007 09:17

Re: Unterordnernamen auslesen
 
Also wenn nichts ausgewählt wurde
ist der Path gleich Root.

Grüße
Klaus

SaFu 13. Jun 2007 09:41

Re: Unterordnernamen auslesen
 
Was mach ich falsch
Delphi-Quellcode:
 if ShellTreeview1.Root = (Pfadordner) = True then
  begin
   MessageDlgPos('Nichts ausgewählt!',mtInformation,[mbOk],0,290,300);
   end

Klaus01 13. Jun 2007 09:44

Re: Unterordnernamen auslesen
 
Zitat:

Zitat von fuknersascha
Was mach ich falsch
Delphi-Quellcode:
 if ShellTreeview1.Root = (Pfadordner) then
  begin
   MessageDlgPos('Nichts ausgewählt!',mtInformation,[mbOk],0,290,300);
   end


SaFu 13. Jun 2007 10:06

Re: Unterordnernamen auslesen
 
So ja auch nicht

Delphi-Quellcode:
 if ShellTreeView1.Root = True
ich komm echt net drauf

DeddyH 13. Jun 2007 10:10

Re: Unterordnernamen auslesen
 
Und so?
Delphi-Quellcode:
if ShellTreeView1.SelectedFolder = ShellTreeView1.Root then

SaFu 13. Jun 2007 10:12

Re: Unterordnernamen auslesen
 
Nö geht auch nicht

Delphi-Quellcode:
[Fehler] Unit7.pas(930): Inkompatible Typen: 'String' und 'TShellFolder'
und bei meiner version kam das

Delphi-Quellcode:
[Fehler] Unit7.pas(930): Inkompatible Typen: 'String' und 'Boolean'
:cry:

Klaus01 13. Jun 2007 10:21

Re: Unterordnernamen auslesen
 
Dies Konstrukt funktioniert bei mir ohne Probleme:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellTreeView1.root:='D:\';
 if ShellTreeView1.Root = ShellTreeView1.Path then
   begin
     ShowMessage('gleich');
   end;
Grüße
Klaus

SaFu 13. Jun 2007 10:30

Re: Unterordnernamen auslesen
 
Bei mir kommt immer die Message wenn ich kein name auswähle und wenn ich einen Ordner auswähle

Delphi-Quellcode:
 
procedure TForm7.Speichern2Click(Sender: TObject);
begin
ShellTreeView1.root:= Pfadordner;
if ShellTreeView1.Root = ShellTreeView1.Path then
begin
speichern; //Alles speichern
end
else
begin
MessageDlgPos('Bitte Ordner auswählen für die dazugehörige KW',mtInformation,[mbOk],0,290,300);
end;
end;
Sorry

Klaus01 13. Jun 2007 10:35

Re: Unterordnernamen auslesen
 
Zitat:

Zitat von fuknersascha
Bei mir kommt immer die Message wenn ich kein name auswähle und wenn ich einen Ordner auswähle

Delphi-Quellcode:
 
procedure TForm7.Speichern2Click(Sender: TObject);
begin
ShellTreeView1.root:= Pfadordner;
if ShellTreeView1.Root <> ShellTreeView1.Path then
begin
speichern; //Alles speichern
end
else
begin
MessageDlgPos('Bitte Ordner auswählen für die dazugehörige KW',mtInformation,[mbOk],0,290,300);
end;
end;
Sorry


SaFu 13. Jun 2007 10:57

Re: Unterordnernamen auslesen
 
????

Was meinst du damit

Delphi-Quellcode:
procedure TForm7.Speichern2Click(Sender: TObject);
 begin
  ShellTreeView1.root:= Pfadordner;
   if ShellTreeView1.Root = ShellTreeView1.Path. then
     begin
        MessageDlgPos('Bitte Ordner auswählen für die dazugehörige KW',mtInformation,[mbOk],0,290,300);
     end
    else
    begin
    speichern; //Alles speichern
      ShellTreeView1.Refresh(ShellTreeView1.Items[0]);

     end;
 end;
Also ich habe es jetzt so und so geht es aber nicht

Klaus01 13. Jun 2007 11:07

Re: Unterordnernamen auslesen
 
Was steht denn in Deinem Pfadordner?
Grüße
Klaus

SaFu 13. Jun 2007 11:09

Re: Unterordnernamen auslesen
 
Delphi-Quellcode:
Pfadordner:= ExtractFilePath(ParamStr(0))+'Vertretungspläne\';
  ShellTreeView1.Root:= Pfadordner;

Klaus01 13. Jun 2007 11:13

Re: Unterordnernamen auslesen
 
Also in der Path Eigenschaft stehen die Pfade ohne trailing Backslash.
Du übergibst dem Root aber einen Pfad mit trailing Backslash.

Jetzt hast Du zwei Möglichkeiten, beim Root den letzten Backslash entfernen
oder einen beim path hinzufügen.

Grüße
Klaus

SaFu 13. Jun 2007 11:17

Re: Unterordnernamen auslesen
 
Na das ist doch zum Mäusemelken das wars wirklich

Danke klaus


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