Dowload mit Zielverzeichnis

programer85

Mitglied
hallo!
ich hab mal eine frage!
die ist sehr einfach, nur ich finde einfach keine antwort^^
ich habe bei einem download bisher immer die einfache variante genommen!
aba die beinhaltet leider nicht, dass man das Zielverzeichnis auswählen kann!
wie mach ich das?
 
Du meinst, du hast den Pfad zum Speichern bislang fest eingebaut ala
Visual Basic:
Pfad = "C:\DeinVerzeichnis

Wenns nur um den Pfad geht, wo gespeichert werden soll, kannst du ihn wie hier beschrieben wählen lassen, wenn auch der Dateiname gewählt werden soll, schau dir die VB-Hilfe zum CommonDialog-Control an.


Der Doc!
 
Du meinst, du hast den Pfad zum Speichern bislang fest eingebaut ala
Visual Basic:
Pfad = "C:\DeinVerzeichnis

Wenns nur um den Pfad geht, wo gespeichert werden soll, kannst du ihn wie hier beschrieben wählen lassen, wenn auch der Dateiname gewählt werden soll, schau dir die VB-Hilfe zum CommonDialog-Control an.


Der Doc!
meine frage richtete sich in eine andere richtung!
ich möchte nicht, dass sich ein ordner-browser öffnet, sondern ich möchte einfach nur, dass man im code selbst einstellen kann wo die datei hingespeichert wird!
also, dass nicht der benutzer des programms das einstellt, sondern dass schon vorprogrammiert ist wohin^^
aber trotzdem danke ;)
 
also, dass nicht der benutzer des programms das einstellt, sondern dass schon vorprogrammiert ist wohin^^

Also wenn du nicht zuerst die Systempartion heraussuchst und dann den Pfad darauf aufbaust, sehe ich diese Vorgehensweise sehr kritisch. Was ist wenn der Benutzer kein "C:\\" hat sonder bei Ihm das Systemlaufwerk "E:\\" heißt?

Wenn du allerdings die Systempartion durch eine Funktion (ich denke in VB gibt es auch eine) herrausfindest, dann kannst du ja den Pfad weiter aufbauen.

Gruß
Rudolf Grauberger
 
Ja die gibt es natürlich, so sollte es gehen:
Visual Basic:
Pfad = Environ("SystemDrive") & "\DeinVerzeichnis"
Das geht natürlich auch mit dem WinDir:
Visual Basic:
Pfad = Environ("windir") & "\DeinVerzeichnis"
cu BlueDog
 
Zuletzt bearbeitet:
ja gut danke, das wäre damit geklärt.
aber meine frage hat sich damit noch kein bisschen geklärt!
wie stelle ich das nun ein, dass er esunter DIESER adresse speichert?
 
Also deine Frage ist mit Sicherheit beantwortet wurden,
wenn du nicht auf den Link klickst und liest was da steht
dann kannste die Antwort natürlich auch nicht kennen ^^

Gut für den Fall das du es wirklich einfach nicht verstanden
hast was ich aber eher nicht glaube weil steht ja wirklich
alles schrittweisse da hier nochmal:

Visual Basic:
Dim Pfad As String

Pfad = Environ("SystemDrive") & "\DeinVerzeichnis\lokal_file.exe"
Call DownloadFile("http://dein-server.com/remote_file.exe", Pfad)
oder
Visual Basic:
Call DownloadFile("http://dein-server.com/remote_file.exe", Environ("SystemDrive") & "\DeinVerzeichnis\lokal_file.exe")

PS: Oder willst du es in dem Ordner der Datei speichern die den Download ausführt?
Dann würde das so aussehen:
Visual Basic:
Call DownloadFile("http://dein-server.com/remote_file.exe", App.Path & "\lokal_file.exe")

PPS: Nicht vergessen die Function'en in ein Modul zu speichern ;)

PPPS: Jeder Code muss ein Ziel angeben wie soll es ohne gehen?

cu BlueDog
 
Sorry wenn ich es nochmal rauszaubere aber ich habe
jetzt auch ein Problem mit dem Source und zwar wenn
ich beide Angaben Quelle und Ziel als String an die
Funktion übergeben will. In etwa zb so:
Visual Basic:
Dim RemoteFile, LokalFile As String
RemoteFile = "http://dein-server.com/remote_file.exe"
LokalFile = "c:\lokal_file.exe"

Call DownloadFile(RemoteFile, LokalFile)
dann kommt er mir mit:
Code:
Compile error:
ByRef argument type mismatch
in dieser Zeile:
Visual Basic:
Call DownloadFile(RemoteFile, LokalFile)

Das Modul sieht so aus:
Visual Basic:
Option Explicit

Private Declare Function URLDownloadToFile Lib "urlmon.dll" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, _
ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As _
Long) As Long

Public Function DownloadFile(URL As String, LocalFileName As String) _
As Boolean

Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFileName, 0, 0)
DownloadFile = (lngRetVal = 0)
End Function



Aber wiederrum so geht es ohne Probleme:
Visual Basic:
Call DownloadFile("http://dein-server.com/remote_file.exe", "c:\lokal_file.exe")


Kann mir hier evtl jemand erklären was ich scheinbar nicht begreife? ^^
Für Hilfe jeder Art währe ich sehr dankbar :>
 
Zurück