You are not logged in.

wcf.regNote.message

piep001

Intermediate

  • "piep001" started this thread

Posts: 338

Location: NRW

Occupation: Fachinformatiker (AE)

  • Send private message

1

Tuesday, November 30th 2004, 4:10pm

Dateinamen eines Verzeichnisses auslesen

Der Topic-Name sagt es ja schon eigentlich, ich will die Namen der Dateien eines Verzeichnisses auslesen. Und zwar mit Pascal/Turbo Pascal.

Habt ihr da Tipps zu, wie ich das anfangen muss. Stehe irgendwie vor nem großen Berg und finde im Netz leider kaum was dazu.

Danke im Voraus.
Spaß im Netz auf www.piep001.de

piep001

Intermediate

  • "piep001" started this thread

Posts: 338

Location: NRW

Occupation: Fachinformatiker (AE)

  • Send private message

2

Tuesday, November 30th 2004, 4:48pm

Ich hab das jetzt irgendwie mit FSearch hinbekommen, nachdem ich "dos" includet habe.
Gibbet da noch ne bessere Lösung?

P.S.: Ich hab gestern und heute gesucht, nichts gefunden. Dachte ich poste hier mal und frage euch und was ist. 10 min. später hatte ich was gefunden. So lollig!!! :rolleyes:
Spaß im Netz auf www.piep001.de

piep001

Intermediate

  • "piep001" started this thread

Posts: 338

Location: NRW

Occupation: Fachinformatiker (AE)

  • Send private message

3

Wednesday, December 15th 2004, 10:22am

Ich hab noch ein Problem.

Ich müsste herausfinden, ob der vom Benutzer angegebene String ein Verzeichnis- oder eine Dateiangabe ist und ob diese Datei bzw. der Pfad existiert.

Wenn da einer was hat, wäre ich sehr dankbar. Tipps wären auch schon gut.
Spaß im Netz auf www.piep001.de

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

4

Wednesday, December 15th 2004, 12:52pm

Probiers ma damit:
IsDirectory()
FileExists()
DirectoryExists()


Ciao Ephraim

piep001

Intermediate

  • "piep001" started this thread

Posts: 338

Location: NRW

Occupation: Fachinformatiker (AE)

  • Send private message

5

Wednesday, December 15th 2004, 1:04pm

Hey, cool, ich werd's gleich mal ausprobieren.
Woher kennst du sowas bzw. wie findest du sowas?? Ich googel hier doch auch immer wie bekloppt rum.
Spaß im Netz auf www.piep001.de

piep001

Intermediate

  • "piep001" started this thread

Posts: 338

Location: NRW

Occupation: Fachinformatiker (AE)

  • Send private message

6

Wednesday, December 15th 2004, 1:18pm

Die Funktion "IsDirectory" benötigt die Unit "JclFileUtils".
Wenn die Unit einfüge kriege ich von FreePascal folgende Fehlermeldung zurück: "Can't find unit JCLFILEUTILS". Wie kann ich die Unit einbinden, wenn das überhaupt geth? Ist ja leider nicht Delphi.
Spaß im Netz auf www.piep001.de

piep001

Intermediate

  • "piep001" started this thread

Posts: 338

Location: NRW

Occupation: Fachinformatiker (AE)

  • Send private message

7

Wednesday, December 15th 2004, 4:50pm

Voll bekloppt. Ich hab noch so nen Problem.
Die Funktion "ExtractFileName" ist scheiße.

Wenn ich
C:\test\lalala\datei.exe
habe, dann bekomme ich von der Funktion "datei.exe" zurück.

Wenn ich
C:\test\lalala\
habe, dann bekomme ich nichts zurück. Soweit so gut.

Wenn ich aber
C:\test\lalala
habe, dann bekomme ich als Rückgabewert "lalala". Wie blöde ist das denn? Dann prüft diese Funktion also nur auf das erste Backslash von hinten und fertig ist, oder was? Mano!!
Spaß im Netz auf www.piep001.de

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

8

Wednesday, December 15th 2004, 9:59pm

Tja und du musst dann einfach IsDirectory zum laufen bringen.
Übrigens lalala is in deinem Pfad durchaus ein Dateiname .... oder
kannst du an sowas erkennen (ohne aufs Dateisystem zuzugreifen) ob des ein
Verzeichnis oder eine Datei ist.
Und die Funktion heißt halt einfach nur ExtractFileName ;)

Upps hab des für Delphi gesucht und nicht für Pascal. Deswegen
hab ich des wahrscheinlich auch so schnell gefunden (einmal gegoogelt ;) "Delphi FileExists")

Allerdings, mehr kann ich dir da jetzt auch nicht helfen ... lad dir ma delphi runter,
da is bestimmt die Unit dabei. Hab aber keine Ahnug ob des Kompatibel mit
deinem Pascal ist :(

Good Luck!!!

Ciao Ephraim

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

9

Wednesday, December 15th 2004, 10:07pm

Hmm hab gerade nochmal geguckt,
des JclFileUtils is ja ne Unit von JCL ... und jetzt kommt ein verdammt
guter Satz :) :
Wer lesen kann is deutlich im Vorteil!

;)
Wenn du auf der IsDirectory() Seite bist, dann less unten ma des kleingedruckte ;) neben
dem JCL, da findest du den Link hier:
http://www.delphi-source.de/jedi/jcl/

und da gibts anscheinend die Unit bzw. die JCL-Utils zum downloaden.
und zwar hier:
Release 1.91 ~5MB
JCL Hilfe (CHM - Datei)

Naja schau einfach ma nach was dir das hilft :)

Ciao Ephraim

piep001

Intermediate

  • "piep001" started this thread

Posts: 338

Location: NRW

Occupation: Fachinformatiker (AE)

  • Send private message

10

Thursday, December 16th 2004, 8:34am

Hi Ephraim,

Quoted

Original von Ephraim
Übrigens lalala is in deinem Pfad durchaus ein Dateiname .... oder
kannst du an sowas erkennen (ohne aufs Dateisystem zuzugreifen) ob des ein
Verzeichnis oder eine Datei ist. Und die Funktion heißt halt einfach nur ExtractFileName Augenzwinkern.
Aber ich dachte die Funktion prüft vielleicht noch auf Dateiendung und/oder den Punkt. Ich würde auch aufs Betriebssystem zurückgreifen, wenn ich wüsste wie. Es soll später glaube ich nur unter Windows lauffähig sein, bin mir da aber nicht ganz sicher.

Was Delphi angeht, so ist meine Aufgabe mit "FreePascal" (DevPascal) zu arbeiten, ausgesucht habe ich mir den Scheiß bestimmt nicht selbst. Hier gibt es nämlich alle möglichen Funktionen nicht und man sucht nur dumm rum.

Zu JCL: Man bin ich blöde. Steht doch drunter...
VCL (Visual Component Library): Komponenten und Units, die bei Delphi zum Lieferumfang gehören. Nicht alle Units sind in allen Versionen enthalten.
JCL (JEDI Code Library): kostenlose Open Source-Bibliothek von Project JEDI. Weitere Infos.

Naja, kann ich die JCL dann abhacken denn "Einsetzbar ist die Bibliothek ab Delphi 5, frühere Versionen wurden nicht getestet.". D.h. unter FreePascal wird die wohl sehr wahrscheinlich nicht laufen. Ich wüsste auch gar nicht, wie ich Units einbinden kann. Sind die nicht im Compiler integriert?

Naja, jetzt steh ich jedenfalls wieder am Anfang und selbst die Funktion "ExtractFileName" muss ich nun selber schreiben.
Spaß im Netz auf www.piep001.de

This post has been edited 2 times, last edit by "piep001" (Dec 16th 2004, 8:35am)


Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

11

Thursday, December 16th 2004, 5:55pm

Schau dir des mal an:
Free Pascal supplied units

Da benutzt du am besten mal die DOS unit ...
und da steht sicher auch irgendwo wie man die Units einbindet.

[edit]
Unter Dos -> Functions and Procedures
2.3.18 GetFAttr (GetFileAttributes)

Zum einbinden probier mal

Source code

1
uses Dos;


Schaut nach einer Interessanten Sprache aus ;)

Naja des bekommts du schon hin:)
[/edit]

Ciao Ephraim
PS.: Ich such auch mal weiter :)

piep001

Intermediate

  • "piep001" started this thread

Posts: 338

Location: NRW

Occupation: Fachinformatiker (AE)

  • Send private message

12

Friday, December 17th 2004, 9:46am

Hey, die Seite ist cool. Endlich mal Units die auch FreePascal unterstützt.
Wie man ne Unit im Quelltext einbindet wusste ich ja "Uses ...", hab da auch "Crt, SysUtils und DOS" eingebunden. Das Problem war immer, wenn man ne neue Unit runtergeladen hat, dass ich nichts mit dem Heruntergeladenen anfangen konnte. Wusste nicht, wo ich es bei "Dev-Pascal" hinschieben/-kopieren sollte.
Die DOS-Unit ist aber Standard und somit schon fest integriert. Den Befehl "GetFAttr" kannte ich aber noch nicht, werde ihn aber mal testen.

big thx, piep
Spaß im Netz auf www.piep001.de

wcf.user.socialbookmarks.titel