File herunterladen

Anfängerfragen zum Programmieren mit PureBasic.
PureNoob
Beiträge: 33
Registriert: 25.09.2007 15:30

File herunterladen

Beitrag von PureNoob »

Hallo Ihr Lieben,

ich habe jetzt knapp 1 Stunde mit der SuFu verbracht, bin aber kein Stück weiter.

Mein Anliegen:

Ich möchte eine .exe Datei von meinem Provider-Server in ein vorher über PathRequester definiertes Verzeichnis herunterladen. Ich habe es über URLDOWNLOADTOFILE versucht, aber da nimmt er nur URL Adressen wie der Name ja schon sagt.

Ich wäre Euch echt dankbar :praise: wenn Ihr mir da mal mit dem ein oder anderen Tip weiterhelfen könntet.

Danke schon im Voraus

Gruss PureNoob
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Schmunzel... ^^

PureBasic 4.20 BETA 2: ReceiveHTTPFile() :allright:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

und sonst halt :
URLDownloadToFile_(0,URL$,PATH$+FileName$,0,0)
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
PureNoob
Beiträge: 33
Registriert: 25.09.2007 15:30

Beitrag von PureNoob »

Hey Leute,

ich hab es jetzt soweit geschafft:

Code: Alles auswählen

MessageRequester("Update wird gesichert nach:", Parameter\verzeichnis1)
   If URLDownloadToFile_(0,"http://aileanagordon.ai.funpic.de/WoW%20Loader2.exe", #Text_3 + "WoW Loader2.exe",0,0) = #S_OK 
  MessageRequester("Update","Update wurde heruntergeladen") 
Nur leider krieg ich einen Syntax Error der wohlt mit der Angabe #Text_3 zusammenhängt. Aber in #Text_3 steht halt die Adresse drin wohin die Datei gespeichert werden soll... *seufz*

Wo liegt der Fehler... weil ich find ihn echt net.

PureNoob
PureNoob
Beiträge: 33
Registriert: 25.09.2007 15:30

UDATER LÄUFT!!!

Beitrag von PureNoob »

Man tausche (#Text_3) gegen GetGadgetText(#Text_3) und alles ist in Butter.

Danke trotzdem für Eure Hilfe

PureNoob
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Man tausche deine PB Version gegen die aktuellste und alles ist auch in Budda.
Welche Version verwendest du? ReceiveHTTPFile() ist URLDownloadToFile_() in gewisser Hinsicht überlegen, denn es funzt auf jeder PLattform und da es ein PB nativer Befehl ist, der sogar HTTP/1.1-Chunked-Encoding unterstützt, bist du damit eindeutig auf der sichereren Seite als mit URLDownloadToFile_().

Danke übrigens für das Feedback.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
PureNoob
Beiträge: 33
Registriert: 25.09.2007 15:30

Beitrag von PureNoob »

Ich benutze die Version 4.0

Aber jetzt habe ich da ein anderes Problem. Wenn ich das Programm mittels Debugger laufen lasse in PB, dann tut es seinen Dienst. Compiliere ich es allerdings mit PB in eine .exe, dann habe ich das Problem dass das Programm kein Update mehr herunterläd und ab der URLDownloadToFile Zeile stehen bleibt und kein anschließender MessegeRequest mit "Update wurde heruntergeladen" kommt.

Woran liegt das? Nur daran dass ich kein ReceiveHTTPFile() verwende?

Gruss PureNoob
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Aus meinen persönlichen Erfahrungen kann ich nur berichten, dass ich URLDownloadToFile_() nicht mehr traue. Ich kompilierte es mal in ein Programm und führte es auf meinem Rechner aus; der Download schlug fehl.
Das gleiche Programm funktioneirte auf einem anderen Rechner aber tadellos.
Auf dem anderen Rechner wiederum konnte ich zwar die Startseite von Google herunterladen, nicht jedoch meine eigene Homepage.

Du kannst in den Befehl URLDownloadToFile_() nicht reingucken. Keiner weiß, wie das Ding arbeitet. Eben deshlab ist er dem Befehl ReceiveHTTPFile() unterlegen. Ich kann dir nicht sagen, warum es nicht funktioniert. Ich will dich auch nicht damit nerven, aber an deiner Stelle würde ich auf 4.20 BETA 2 updaten und es dann nochmal probieren - mit ReceiveHTTPFile() an deiner Seite! :)
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
PureNoob
Beiträge: 33
Registriert: 25.09.2007 15:30

Beitrag von PureNoob »

Hallo AND51,

kannst Du mir dann vielleicht die Zeite mal korrigieren wie muss die denn dann mit dem neuen Befehl aussehen? Und funktioniert der ReceiveHTTPFile() Befehl auch noch in der alten Version die ich habe?

Gruss PureNoob
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Der Code sieht so aus:

Code: Alles auswählen

InitNetwork()
Debug ReceiveHTTPFile("http://aileanagordon.ai.funpic.de/WoW%20Loader2.exe", "D:\WoW Loader.exe")
...und funktioniert auch bei mir.
1. Parameter: Die URL/Adresse
2. Parameter: Lokaler Pfad+Dateiname unter dem gespeichert werden soll.
Dieser Befehl steht so noch nicht in der Hilfe, weil die Hilfe in der BETA 2 noch nicht aktualisiert wurde.

Da PureBasic's Änderungen von 4.00 auf 4.10 und 4.20 nicht so gravierend sind, wie der Umstieg von 3.94 auf 4.00 dürfte deine Anwendung auch nach einem Upgrade auf PB 4.20 noch funktionieren.
Möglicherweise kannst du ja auch die HTTP-Library bei deiner Version "einpflanzen" und es funktioniert... Würde ich aber nicht machen, denn mit einem einfachen Update auf 4.20 kannst du gleichzeitig viele andere bequeme Neuerungen benutzen.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Antworten