Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Verzeichnisoperationen (https://www.delphipraxis.net/107870-verzeichnisoperationen.html)

Poring 3. Feb 2008 22:20


Verzeichnisoperationen
 
Hallo,

ich möchte gerne eine Datei downloaden.
Also habe ich es mal damit probiert:
Delphi-Quellcode:
UrlDownloadToFile(nil, 'http://server.de/test.txt','test.txt', 0, nil);
Ich möchte gerne die Datei test.txt in einen Ordner der noch nicht existiert reinladen, undzwar in einen unterordner wo das Programm ist. Mit '\test\test.txt' zum speichern geht leider nicht.
Was könnte ich tun?

Mfg

Muetze1 3. Feb 2008 22:28

Re: Download Pfadangabe?
 
Delphi-Referenz durchsuchenForceDirectories(), Delphi-Referenz durchsuchenExtractFilePath() und Delphi-Referenz durchsuchenApplication.EXEName

Poring 3. Feb 2008 22:33

Re: Download Pfadangabe?
 
Ein kleines Beispiel könntest du mir nich auf die schnelle nennen oder?

Matze 3. Feb 2008 22:35

Re: Download Pfadangabe?
 
Schaue doch mal in der Hilfe nach, was die einzelnen Funktionen machen (F1 drücken). Dann kommst du ganz schnell auf das gewünschte Ergebnis, glaub mir. ;)

Was du noch wissen solltest: URLDownloadToFile kann keine Verzeichnisse erstellen. Genau das ist deine Aufgabe, dies vor dem Aufruf der Funktion zu tun.

Poring 3. Feb 2008 22:44

Re: Download Pfadangabe?
 
Das Problem ist dies geht nicht:
Delphi-Quellcode:
UrlDownloadToFile(nil, 'http://server.de/test.txt', ExtractFilePath(ParamStr(0)) + 'test.txt', 0, nil);
Also das ich den Ordner erstellen kann geht nun mit
Delphi-Quellcode:
ForceDirectories(ExtractFilePath(ParamStr(0)) +'test');
Edit:
Ahh cool ok wenn ich den Ordner habe geht es mit 'test\test.txt'
Geht das löschen genauso?

Matze 3. Feb 2008 22:49

Re: Download Pfadangabe?
 
Zitat:

Zitat von Poring
Geht das löschen genauso?

Dateien kannst du mit Delphi-Referenz durchsuchenDeleteFile löschen und anschließend das leere Verzeichnis mittels Delphi-Referenz durchsuchenRemoveDir entfernen.

Poring 3. Feb 2008 22:50

Re: Download Pfadangabe?
 
Ui cool herzlichen dank! :)
Kann man auch irgendwie vom jetztigen Pfad eins hoch gehen?
Sprich man ist in dem ordner test will aber in dem ordner da drüber was machen?
Also wie kann ich den übergeordneten Ordner als Verzeichnis wählen?
Delphi-Quellcode:
DeleteFile(ExtractFilePath(ParamStr(-1)) + 'test.txt');
Geht leider nicht :(

Matze 3. Feb 2008 23:11

Re: Download Pfadangabe?
 
Ändere den Thementitel bitte mal in "Verzeichnisoperationen" oder ähnliches, denn das deckt alle deine Fragen ab.

Ich habe mal schnell eine kleine Funktion geschrieben. Es geht sicher schöner, aber zur Not reicht's. ;)

Delphi-Quellcode:
function GetPreviousDir(CurrentPath: string): string;
begin
  Result := ExtractFilePath(Copy(CurrentPath, 1,
    Length(CurrentPath) - Length(ExtractFilename(CurrentPath)) - 1));
end;

Poring 3. Feb 2008 23:14

Re: Download Pfadangabe?
 
Delphi-Quellcode:
function GetPreviousDir(CurrentPath: string): string;
begin
  Result := ExtractFilePath(Copy(CurrentPath, 1,
    Length(CurrentPath) - Length(ExtractFilename(CurrentPath)) - 1));
end;


DeleteFile(EGetPreviousDir + 'test.txt');
Wäre dies dann so?

Matze 3. Feb 2008 23:16

Re: Verzeichnisoperationen
 
Der Aufruf erfolgt viel einfacher:

Delphi-Quellcode:
GetPreviousDir('C:\Programme\Hallo\Du\');
// liefert dir: C:\Programme\Hallo\
Du übergibst direkt den Pfad und erhälst den übergeordneten zurück. Voraussetzung ist, dass du den abschließenden Backslash angibst bzw einen Dateinamen.

Edit: Ups, verlesen. Ja das müsste so passen.
Edit 2: Ähm ne, den aktuellen Pfad musst du schon übergeben. *g*


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