Autor Beitrag
D. Annies
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Di 09.01.07 22:58 
Hi, Delpher,

gibt es einen Befehl, o.ä., mit dem man erkennen kann, ob es in einem Laufwerk ein Verzeichnis/Unterverzeichnis (steht z.B. in Label3.caption) schon gibt?

Grüße von
Detlef A.


Moderiert von user profile iconChristian S.: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Di 09.01.2007 um 22:16
C.Schoch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

WinXp
Turbo Dephi Win 32
BeitragVerfasst: Di 09.01.07 23:14 

_________________
Das System hofft auf Besserung
[Siemens]
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Mi 10.01.07 22:20 
Hi, Christian,

danke für deine Antwort(liste). Diesen Befehl kenne ich in der Tat schon, ich meinte, etwas genauer ausgedrückt, ob es dann auch möglich ist, den Pfad zu diesem Verzeichnis sichtbar zu machen, bzw. dahin zu wechseln.

Weißt du, oder jemand anderer, auch darüber etwas?

Danke für weitere Hilfe,
Detlef A.
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Mi 10.01.07 22:26 
user profile iconD. Annies hat folgendes geschrieben:
Hi, Christian,

danke für deine Antwort(liste). Diesen Befehl kenne ich in der Tat schon, ich meinte, etwas genauer ausgedrückt, ob es dann auch möglich ist, den Pfad zu diesem Verzeichnis sichtbar zu machen, bzw. dahin zu wechseln.

Weißt du, oder jemand anderer, auch darüber etwas?

Danke für weitere Hilfe,
Detlef A.

Weiß beim besten Willen nicht, wie genau du dir das vorstellst! :gruebel:
Du meinst, du willst den Inhalt des Verzeichnisses auslesen?

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mi 10.01.07 22:29 
Hallo!

Bitte drück dich präziser aus!

Willst du, dass wenn dieses Verzeichnis existiert, der Explorer aufgeht mit diesem Pfad?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
 //WICHTIG - einbinden
 uses shellapi;
 ...
 
 //Befehl ausführen
 shellexecute(application.handle, 'explorer', pchar(''), nil, pchar(derPfad), sw_shownormal);
 
 //shellexecute(Handle, Aktion, Datei, ?, Pfad, AnzeigeModi);
 
 {

  Anzeigemodi:   - sw_shownormal (Fenster normal aufmachen);
     - sw_showminimized (Fenster minimiert öffnen);
    - sw_showmaximized (Fenster maximiert öffnen);

 }


LG
Stefan

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Mi 10.01.07 22:31 
Nein, Marco: ich habe folgendes festgestellt: Ich gebe den Verzeichnisnamen ein - von dem ich weiß, dass er in der z.B. 3. Unterverzeichnisebene des Verzeichnisses liegt, in dem ich mich gerade befinde (kann ja auch vom Stammverzeichnis aus sein). Dann sagt mir directoryExists, dass es dieses Verzeichnis gibt, aber nicht, wo, also mit welchem (relativen) Pfad.

Das möchte ich wissen.

Detlef
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Mi 10.01.07 22:46 
Was genau bedeutet für dich:

"Ich befinde mich in C:/Programme"?

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Mi 10.01.07 22:55 
@[quote]Stefan: Ich suche den Pfad für den Namen des Verzeichnisses, dessen Namen (=Name des Unterverzeichnisses) ich kenne.

Also, ich weiß, das Verzeichnis heißt NAMEN und ich will wissen:
jo, der Pfad dahin ist C:\programme\projekt155\Daten\NAMEN

As Klar?
Detlef
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Mi 10.01.07 23:00 
Wie willst du das wissen? Es kann ja hunderte Ordner "NAMEN" geben!
Du musst dir eben vorher den Pfad abspeichern. ;) Gibt der User dir denn den Ordnernamen an?

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
C.Schoch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

WinXp
Turbo Dephi Win 32
BeitragVerfasst: Mi 10.01.07 23:02 
IMO gibt es so eine funktion in der VCL nicht.

Verzeichnisse kannst du aber rekursiv mit ForceDirectories anlegen.

Falls du sowas brauchst musst du es dir selbst Programieren

_________________
Das System hofft auf Besserung
[Siemens]
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Mi 10.01.07 23:07 
Hi,

2 Verzeichnisse mit diesem Namen würden ja schon für die NichtEindeutigkeit reichen, aber dann würden mich ja auch beide Pfade interessieren ...

Aber vlt ist es ja auch zu viel verlangt ...

Gruß, Detlef
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mi 10.01.07 23:17 
nichts ist zuviel verlangt!

Musste halt suchen: findFirst und findnext mit Paramater faDirectory =)

Have Fun xD

Das Ding würde zum Bleistift bei C:\ anfangen und alle Ordner durchgrasen und suchen, nach deinem Ordnernamen...

Lad dir den EasyHelper von [URL]www.dsdt.info[/URL] herunter, da findest du alles was du brauchst, das was du nicht findest, gibts hier im Forum, und das was es nicht gibt, kann hier gelöst werden =)

LG
Stefan

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Do 11.01.07 10:26 
Hi, Stefan,

habe jetzt erstmal EasyHelper gesogen und fräse da mal durch.
Der Tipp mit faDirectory hört sich gut an ...

Gruß, Detlef
Manina
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 44

Win 7 Pro
RAD Studio 2010 Pro
BeitragVerfasst: Do 11.01.07 20:02 
Versuch mal so:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
procedure VerzSuche;
var lstSearch, lstFound : TStringList;
    i : Integer;
    sr : TSearchRec;
    dir, dirMask, dirStart : String;
begin
  dirStart := 'C:\Programme';   // oder was immer als Startverz.
  dirMask := 'NAMEN';           // in deinem Fall
  lstSearch := TStringList.Create;
  lstSearch.Sorted := TRUE;
  lstSearch.Add(dirStart);
  lstFound := TStringList.Create;
  while lstSearch.Count > 0 do begin
    dir := lstSearch[0];
    lstSearch.Delete(0);
    i := FindFirst(dir + '\*', faDirectory, sr);
    while i = 0 do begin
      if sr.Name[1] <> '.' then begin  // '.' und '..' ignorieren
        if sr.Name = dirMask then lstFound.Add(dir + '\' + sr.Name)
        else lstSearch.Add(dir + '\' + sr.Name);
      end;
      i := FindNext(sr);
    end;
    FindClose(sr);
  end;
  for i := 0 to lstFound.Count - 1 do begin
    ShowMessage('Gefunden: ' + lstFound[i]); // da sind die Ergebnisse
  end;
  lstSearch.Free;
  lstFound.Free;
end;

_________________
Gates, oder Gates nicht ?