delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف اتعامل مع التحميل من المواقع بالدلفي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله

اتمني ان تتسااعدوني

كيف اقوم بتحميل كتاب من موقع ثيصدر مجلة اسبوعية بصيغة pdf

يععني عند الضغط علي الزر يتم التنزيل المجلة من الموقع مباشرة في ملف

ماهو المكون المطلوب وكيف اتعامل معه


++++

كيف اعمل هدا البرنامج

كود :
download a file from the Internet {1.} uses URLMon, ShellApi; function DownloadFile(SourceFile, DestFile: string): Boolean; begin try Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0; except Result := False; end; end; procedure TForm1.Button1Click(Sender: TObject); const // URL Location SourceFile = 'http://www.google.com/intl/de/images/home_title.gif'; // Where to save the file DestFile = 'c:\temp\google-image.gif'; begin if DownloadFile(SourceFile, DestFile) then begin ShowMessage('Download succesful!'); // Show downloaded image in your browser ShellExecute(Application.Handle, PChar('open'), PChar(DestFile), PChar(''), nil, SW_NORMAL) end else ShowMessage('Error while downloading ' + SourceFile) end; // Minimum availability: Internet Explorer 3.0 // Minimum operating systems Windows NT 4.0, Windows 95 {********************************************************} {2.} uses Wininet; function DownloadURL(const aUrl: string): Boolean; var hSession: HINTERNET; hService: HINTERNET; lpBuffer: array[0..1024 + 1] of Char; dwBytesRead: DWORD; begin Result := False; // hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0); hSession := InternetOpen('MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); try if Assigned(hSession) then begin hService := InternetOpenUrl(hSession, PChar(aUrl), nil, 0, 0, 0); if Assigned(hService) then try while True do begin dwBytesRead := 1024; InternetReadFile(hService, @lpBuffer, 1024, dwBytesRead); if dwBytesRead = 0 then break; lpBuffer[dwBytesRead] := #0; Form1.Memo1.Lines.Add(lpBuffer); end; Result := True; finally InternetCloseHandle(hService); end; end; finally InternetCloseHandle(hSession); end; end; {********************************************************} {3. Forces a download of the requested file, object, or directory listing from the origin server, not from the cache } function DownloadURL_NOCache(const aUrl: string; var s: String): Boolean; var hSession: HINTERNET; hService: HINTERNET; lpBuffer: array[0..1024 + 1] of Char; dwBytesRead: DWORD; begin Result := False; s := ''; // hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0); hSession := InternetOpen('MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); try if Assigned(hSession) then begin hService := InternetOpenUrl(hSession, PChar(aUrl), nil, 0, INTERNET_FLAG_RELOAD, 0); if Assigned(hService) then try while True do begin dwBytesRead := 1024; InternetReadFile(hService, @lpBuffer, 1024, dwBytesRead); if dwBytesRead = 0 then break; lpBuffer[dwBytesRead] := #0; s := s + lpBuffer; end; Result := True; finally InternetCloseHandle(hService); end; end; finally InternetCloseHandle(hSession); end; end; //aufrufen var s: String; begin if DownloadURL('http://www.swissdelphicenter.ch/', s) then ShowMessage(s); end;

اي افكار او تويحات راح اكون ممتن لكم

وبارك الله فيكم
السلام عليكم
يمكن التحميل بالأمثلة التي وضعتها
باستعمال الوحدة URLMon أو Wininet
كإضافة يمكن أيضا إستعمال مكونات Indy
بالتحديد IdHTTP

ألق نظرة هنا
http://www.delphi4arab.net/forum/showthr...p?tid=7803

النتيجة واحدة فكل المسالك تؤدي إلى روما

بالتوفيق
ghost-dz كتب :السلام عليكم
يمكن التحميل بالأمثلة التي وضعتها
باستعمال الوحدة URLMon أو Wininet
كإضافة يمكن أيضا إستعمال مكونات Indy
بالتحديد IdHTTP

ألق نظرة هنا
http://www.delphi4arab.net/forum/showthr...p?tid=7803

النتيجة واحدة فكل المسالك تؤدي إلى روما

بالتوفيق

شكرا لك علي ردك اخي وبارك الله فيك

انا لم اعرف اين اضع الكود يعني تحت اي مكون لاني احمل سورسات واتعلم منهم فقط

ممكن مثال توضيحي لو سمحت ولو بسيط جداا

اين اضع الملف المحمل من النت يجب ان اضع له مسار
حملت كود سورس برنامج تسريع التحميل ومشروح بالتفصيل لكني لم افهمه:confused:

اعتدر عن الاطالة واسف لاني مبتدئ:p
ألق نظرة هنا
http://www.delphi4arab.net/forum/showthread.php?p=47278
مرفق مثال للتحميل بطريقتين
نرجو الفائدة للجميع
شكرا اخي لكن لم يصلح معي


HTTP.ConnectTimeout := 30000;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, XPMan, URLMon2, IdHTTP2, ComCtrls;

وشكرا علي المسا عد ة
ConnectTimeout هو الوقت اللازم انتضاره للرد من السيرفر اعتقد ان 30000 كثير
S.FATEH كتب :ConnectTimeout هو الوقت اللازم انتضاره للرد من السيرفر اعتقد ان 30000 كثير

اهلا

لا اضن دلن انقصت فيه

[Error] IdHTTP2.pas(70): Undeclared identifier: 'ConnectTimeout'
[Fatal Error] uDownloadFile.pas(7): Could not compile used unit 'IdHTTP2.pas'
panchho1 كتب :السلام عليكم ورحمة الله

اتمني ان تتسااعدوني

كيف اقوم بتحميل كتاب من موقع ثيصدر مجلة اسبوعية بصيغة pdf

يععني عند الضغط علي الزر يتم التنزيل المجلة من الموقع مباشرة في ملف

ماهو المكون المطلوب وكيف اتعامل معه


++++

كيف اعمل هدا البرنامج

كود :
download a file from the Internet {1.} uses URLMon, ShellApi; function DownloadFile(SourceFile, DestFile: string): Boolean; begin try Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0; except Result := False; end; end; procedure TForm1.Button1Click(Sender: TObject); const // URL Location SourceFile = 'http://www.google.com/intl/de/images/home_title.gif'; // Where to save the file DestFile = 'c:\temp\google-image.gif'; begin if DownloadFile(SourceFile, DestFile) then begin ShowMessage('Download succesful!'); // Show downloaded image in your browser ShellExecute(Application.Handle, PChar('open'), PChar(DestFile), PChar(''), nil, SW_NORMAL) end else ShowMessage('Error while downloading ' + SourceFile) end; // Minimum availability: Internet Explorer 3.0 // Minimum operating systems Windows NT 4.0, Windows 95 {********************************************************} {2.} uses Wininet; function DownloadURL(const aUrl: string): Boolean; var hSession: HINTERNET; hService: HINTERNET; lpBuffer: array[0..1024 + 1] of Char; dwBytesRead: DWORD; begin Result := False; // hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0); hSession := InternetOpen('MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); try if Assigned(hSession) then begin hService := InternetOpenUrl(hSession, PChar(aUrl), nil, 0, 0, 0); if Assigned(hService) then try while True do begin dwBytesRead := 1024; InternetReadFile(hService, @lpBuffer, 1024, dwBytesRead); if dwBytesRead = 0 then break; lpBuffer[dwBytesRead] := #0; Form1.Memo1.Lines.Add(lpBuffer); end; Result := True; finally InternetCloseHandle(hService); end; end; finally InternetCloseHandle(hSession); end; end; {********************************************************} {3. Forces a download of the requested file, object, or directory listing from the origin server, not from the cache } function DownloadURL_NOCache(const aUrl: string; var s: String): Boolean; var hSession: HINTERNET; hService: HINTERNET; lpBuffer: array[0..1024 + 1] of Char; dwBytesRead: DWORD; begin Result := False; s := ''; // hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0); hSession := InternetOpen('MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); try if Assigned(hSession) then begin hService := InternetOpenUrl(hSession, PChar(aUrl), nil, 0, INTERNET_FLAG_RELOAD, 0); if Assigned(hService) then try while True do begin dwBytesRead := 1024; InternetReadFile(hService, @lpBuffer, 1024, dwBytesRead); if dwBytesRead = 0 then break; lpBuffer[dwBytesRead] := #0; s := s + lpBuffer; end; Result := True; finally InternetCloseHandle(hService); end; end; finally InternetCloseHandle(hSession); end; end; //aufrufen var s: String; begin if DownloadURL('http://www.swissdelphicenter.ch/', s) then ShowMessage(s); end;

اي افكار او تويحات راح اكون ممتن لكم

وبارك الله فيكم

وعليكم السلام
بالنسبة للكود السورس الاول لقد شرحته في موضوع تفضل الرابط
http://www.delphi4arab.net/forum/showthr...#post47386
اتمنى الافادة والاستفادة