![]() |
Re: Download-Programm
Mit ein bissel Überlegung und Betrachtung der anderen Einträge in der Uses-Klausel, hättest Du gemerkt, dass es 'IdBaseComponent' lauten muss :zwinker:
Trotzalledem musst Du die Komponenten natürlich erst installieren. Du findest einen Link dorthin, sowie ein Tutorial zu den Komponenten ![]() |
Re: Download-Programm
Ist ja schön und gut, es funktioniert aber trotzdem nicht.
Außerdem sagte ich ja bereits oben Zitat:
Lade mir die Komponenten dann mal runter |
Re: Download-Programm
Zitat:
|
Re: Download-Programm
Zitat:
|
Re: Download-Programm
![]() |
Re: Download-Programm
Zitat:
Delphi-Quellcode:
Funktioniert einwandfrei! Man lernt nie aus - danke :-D
Procedure TForm1.Button2Click(Sender: TObject);
Const sSOURCE: String = 'http://www.delphipraxis.net/templates/DPClassicBlue/images/logo_left.gif'; sTARGET: String = 'C:\Download\Test.gif'; Begin URLDownloadToFile(Nil, PChar(sSOURCE),PChar(sTARGET), 0, Nil); End; |
Re: Download-Programm
Zitat:
muß ich mir auch notieren und wenn ich es brauche auch wiederfinden. Grüße Klaus |
Re: Download-Programm
Zitat:
|
Re: Download-Programm
Zitat:
Also ich habe mich über 'URLDownloadToFile' sehr gefreut :!: |
Re: Download-Programm
Ich hab mir ma die Mühe gemacht eine Funktion mit Downloadgeschwindigkeit zu basteln für größere Dateien.
Habe hier allerdings nur VC installiert, werde alles aber morgen so gut es geht nach Delphi übersetzen. Hat auch den Vorteil, dass das Programm nicht komplett einfriert. Wer grad Lust hat kann mir das Übersetzen ja schonma abnehmen :-D
Code:
Aufruf:
bool DownloadFile(const char *lpszURL, const char *lpszFile)
{ bool result = false; int kbpsCounter = 0; int kbps; DWORD ticks, bytesRead; BYTE buffer[1024]; FILE *hDLFile; HINTERNET hSession, hRequest; /* Session öffnen */ hSession = InternetOpen("AppTitel", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0); if (hSession != NULL) { /* URL öffnen */ hRequest = InternetOpenUrl(hSession, lpszURL, NULL, 0, INTERNET_FLAG_RELOAD, 0); if (hRequest != NULL) { /* Download starten Vllt checken ob Datei schon existiert? */ hDLFile = fopen(lpszFile, "wb"); if (hDLFile != NULL) { ticks = GetTickCount(); while (true) { /* Daten auslesen */ if (InternetReadFile(hRequest, buffer, 1024, &bytesRead) == false) { break; } /* kbps jede Sekunde berechnen */ kbpsCounter += bytesRead; if (ticks <= (GetTickCount() - 1000)) { kbps = kbpsCounter / 1024; printf("%d kb/s\n", kbps); //kbps ausgeben kbpsCounter = 0; ticks = GetTickCount(); } /* In Datei schreiben */ if (bytesRead != 0) { fwrite(buffer, bytesRead, 1, hDLFile); } else // Download beendet { result = true; break; } } fclose(hDLFile); } InternetCloseHandle(hRequest); } InternetCloseHandle(hSession); } return result; }
Code:
DownloadFile("http://www.Delphipraxis.net", "index.html");
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz