![]() |
|
كيف اتعامل مع التحميل من المواقع بالدلفي - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : كيف اتعامل مع التحميل من المواقع بالدلفي (/showthread.php?tid=6074) |
كيف اتعامل مع التحميل من المواقع بالدلفي - panchho1 - 13-04-2014 السلام عليكم ورحمة الله اتمني ان تتسااعدوني كيف اقوم بتحميل كتاب من موقع ثيصدر مجلة اسبوعية بصيغة 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;اي افكار او تويحات راح اكون ممتن لكم وبارك الله فيكم كيف اتعامل مع التحميل من المواقع بالدلفي - Agmcz - 13-04-2014 السلام عليكم يمكن التحميل بالأمثلة التي وضعتها باستعمال الوحدة URLMon أو Wininet كإضافة يمكن أيضا إستعمال مكونات Indy بالتحديد IdHTTP ألق نظرة هنا http://www.delphi4arab.net/forum/showthread.php?tid=7803 النتيجة واحدة فكل المسالك تؤدي إلى روما بالتوفيق كيف اتعامل مع التحميل من المواقع بالدلفي - panchho1 - 13-04-2014 ghost-dz كتب :السلام عليكم شكرا لك علي ردك اخي وبارك الله فيك انا لم اعرف اين اضع الكود يعني تحت اي مكون لاني احمل سورسات واتعلم منهم فقط ممكن مثال توضيحي لو سمحت ولو بسيط جداا اين اضع الملف المحمل من النت يجب ان اضع له مسار حملت كود سورس برنامج تسريع التحميل ومشروح بالتفصيل لكني لم افهمه:confused: اعتدر عن الاطالة واسف لاني مبتدئ:p كيف اتعامل مع التحميل من المواقع بالدلفي - Agmcz - 14-04-2014 ألق نظرة هنا http://www.delphi4arab.net/forum/showthread.php?p=47278 مرفق مثال للتحميل بطريقتين نرجو الفائدة للجميع كيف اتعامل مع التحميل من المواقع بالدلفي - panchho1 - 15-04-2014 شكرا اخي لكن لم يصلح معي HTTP.ConnectTimeout := 30000;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, XPMan, URLMon2, IdHTTP2, ComCtrls; وشكرا علي المسا عد ة كيف اتعامل مع التحميل من المواقع بالدلفي - S.FATEH - 15-04-2014 ConnectTimeout هو الوقت اللازم انتضاره للرد من السيرفر اعتقد ان 30000 كثير كيف اتعامل مع التحميل من المواقع بالدلفي - panchho1 - 15-04-2014 S.FATEH كتب :ConnectTimeout هو الوقت اللازم انتضاره للرد من السيرفر اعتقد ان 30000 كثير اهلا لا اضن دلن انقصت فيه [Error] IdHTTP2.pas(70): Undeclared identifier: 'ConnectTimeout'
[Fatal Error] uDownloadFile.pas(7): Could not compile used unit 'IdHTTP2.pas' كيف اتعامل مع التحميل من المواقع بالدلفي - bassem_43 - 20-04-2014 panchho1 كتب :السلام عليكم ورحمة الله وعليكم السلام بالنسبة للكود السورس الاول لقد شرحته في موضوع تفضل الرابط http://www.delphi4arab.net/forum/showthread.php?p=47386#post47386 اتمنى الافادة والاستفادة |