AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Verzechniss: alle beinhaltenden Ordner ermitteln?
Thema durchsuchen
Ansicht
Themen-Optionen

Verzechniss: alle beinhaltenden Ordner ermitteln?

Ein Thema von LuCSteR · begonnen am 3. Sep 2008 · letzter Beitrag vom 13. Jan 2009
Antwort Antwort
Seite 2 von 4     12 34      
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?

  Alt 3. Sep 2008, 14:43
Es übergibst doch eine TSerachRec-Struktur, in der steht doch alles
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#12

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?

  Alt 3. Sep 2008, 14:43
Richtig, und was steht im TSearchRec?
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
LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#13

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?

  Alt 3. Sep 2008, 14:57
Delphi-Quellcode:
//Ordnernamen in einem Verzeichnis ermitteln
procedure ListSubDirs(Dir: string; var sList: TStrings);
begin
  Dir:=TempDownloadDir
  ChangeCurrentDir(Dir);
  FindFirst(GetCurrentDir, faDirectory, sList);
  FindNext(sList);
end;
So siehts bis jetzt aus. In dem Fall findet er nur den ersten Ordner und den folgenden. So möchte ich es aber haben:
Delphi-Quellcode:
//Ordnernamen in einem Verzeichnis ermitteln
procedure ListSubDirs(Dir: string; var sList: TStrings);
begin
  Dir:=TempDownloadDir
  ChangeCurrentDir(Dir);
  FindFirst(GetCurrentDir, faDirectory, sList);
  while {letzter Ordner nicht gefunden} do FindNext(sList);
end;
Wie könnte ich den letzten Ordner ermitteln? Halt diese Schleife zum Ende zwingen?
Und ich verstehe immer noch nicht was ich mit den Longint-Werten anstellen soll? Was sagen die aus?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#14

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?

  Alt 3. Sep 2008, 14:59
Sry, aber bevor Du hier weiterfragst, solltest Du mal einen Blick in die Hilfe werfen, gewisse Grundlagen darf man schon voraussetzen. Und danach wirst Du über die DP-Suche zu FindFirst/FindNext einige Beispiele finden.
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 Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#15

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?

  Alt 3. Sep 2008, 15:01
Schau dir mal diesen Beitrag aus der Codelib an, ist eigentlich alles verständlich erklärt: http://www.delphipraxis.net/internal...ight=findfirst
Jonas
  Mit Zitat antworten Zitat
LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#16

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?

  Alt 3. Sep 2008, 15:04
Ein Blick in die Hilfe würde ich ja befürworten, wenn ich mit Delphi arbeiten könnte. Bei Lazarus gibt es keine lokale Hilfe. Und die Online-Hilfe ist leider nur eine kleine "Wiki"...

Grundlagen in Bezug auf was?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#17

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?

  Alt 3. Sep 2008, 15:10
Dann solltest Du aber kenntlich machen, dass Du mit Lazarus arbeitest. Ansonsten schau mal in der DP nach z.B. Hier im Forum suchenFindAllFiles
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
LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#18

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?

  Alt 3. Sep 2008, 15:36
Naja habs ja im ersten Post angegeben: Sprache=Lazarus...

Also nun siehts so aus.
Delphi-Quellcode:
//Ordnernamen in einem Verzeichnis ermitteln
procedure ListSubDirs(Dir: string; var sList: TStrings);
var
  SR: TSearchRec;
  
begin
  Dir:=TempDownloadDir;
  if FindFirst(Dir, faDirectory, SR)=0 then
    sList.Add(SR.Name);
    try
      while FindNext(SR)<>0 do
        begin
          FindNext(SR);
          sList.Add(SR.Name);
        end;
    finally
      FindClose(SR);
    end;
end;
Denke das sollte so funktionieren. Der Compiler meckert aber beim finally:
Unit1.pas(287,19) Error: Incompatible type for arg no. 1: Got "TSearchRec", expected "LongWord"

Da steht aber: FindClose(Var F:TSearchRec);
Verstehe ich nicht ganz :s

---

Ich seh gerade das es FindClose 2 mal gibt. Ich seh aber nicht aus welcher Bibliothek mein FindClose ist. Weis das jmd.?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#19

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?

  Alt 3. Sep 2008, 15:43
SysUtils.FindClose
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
LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#20

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?

  Alt 3. Sep 2008, 16:18
Beim kompilieren gibts keine Fehler aber bei der Nutzung :s

In der While-Schleife gibts nen Fehler bei: sList.Add(SR.Name);
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 20:53 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