صفحتي الرئيسية: http://www.tommstudio.com/
يتطلب النظام الذي طورته مؤخرًا وظيفة لتنزيل الملفات. اعتدت أن أكتب مكالمة API مرهقة باستخدام BCB ، لكن فجأة تذكرت أن هناك واجهة برمجة تطبيقات يمكن القيام بها ، لذلك جئت للبحث في الصباح الباكر. API هذا urldownloadtofile. ليس فقط ، يمكن أيضًا تنزيل بعض عناصر التحكم في Delphi ، مثل NMHTTP ، حدد NMHTTP1.InputFileMode: = Ture ؛ فيما يلي رموز مفصلة ، كل ذلك من CSDN. لقد قمت بفرزهم جميعًا هنا لسهولة الوصول إلى الجميع.
يستخدم urlmon. وظيفة التنزيل (المصدر ، القدر: سلسلة ): منطقية ؛ يبدأ يحاول النتيجة: = urldownloadtofile ( NIL ، PCHAR (Source) ، PCHAR (dest) ، 0 ، nil ) = 0 ؛ يستثني النتيجة: = خطأ ؛ نهاية ؛ نهاية ؛ إذا كان DownloadFile ('http://www.borland.com/delphi6.zip ،' c: /kylix.zip ') ثم ShowMessage ("تنزيل ناجح") Else ShowMessage ("تنزيل Unustful") |
==================================
روتين:
يستخدم urlmon ، شلابي ؛ وظيفة التنزيل (SourceFile ، DestFile: String): Boolean ؛ يبدأ يحاول النتيجة: = urldownloadtofile (NIL ، PCHAR (SourceFile) ، PCHAR (DESTFILE) ، 0 ، nil) = 0 ؛ يستثني النتيجة: = خطأ ؛ نهاية؛ نهاية؛ الإجراء tform1.button1.click (المرسل: tobject) ؛ كونست // موقع URL SourceFile: = ' http://www.google.com/intl/de/images/home_title.gif' ؛ // أين لحفظ الملف DestFile: = 'c: /temp/google-image.gif' ؛ يبدأ إذا كان DownloadFile (SourceFile ، DestFile) ثم يبدأ ShowMessage ('تنزيل ناجح!') ؛ // عرض الصورة التي تم تنزيلها في متصفحك Shellexecute (application.handle ، pchar ('Open') ، pchar (destfile) ، pchar ('') ، nil ، sw_normal) نهاية آخر ShowMessage ('خطأ أثناء التنزيل' + sourceFile) نهاية ؛ |
========================
أضف الرمز التالي:
nmhttp1.inputfilemode: = الحقيقة ؛ nmhttp1.body: = 'اسم الملف المحلي' ؛ nmhttp1.header: = 'head.txt' ؛ nmhttp1.OutputFileMode: = false ؛ nmhttp1.reportlevel: = status_basic ؛ nmhttp1.proxy: = 'عنوان IP لخادم الوكيل' ؛ nmhttp1.proxyport: = 'Port Number of Proxy Server' ؛ مع NMHTTP1.HeaderInfo do يبدأ ملف تعريف الارتباط: = '' ؛ localmailaddress: = '' ؛ برمجي محلي: = '' ؛ المرجع: = '' ؛ userId: = 'اسم المستخدم' ؛ كلمة المرور: = 'كلمة مرور المستخدم' ؛ نهاية ؛ nmhttp1.get (' http://www.abcdefg.com/software/a.zip') ؛ |
جربه ، هناك أمثلة لعناصر تحكم TNMHTTP في دليل Delphi. NT4+، Win95+، IE3+، يمكنك استخدام وظيفة Moniker URL.
يستخدم urlmon. ... OLECHECK (UrlDownloadTofile ( nil ، 'url' ، 'filename' ، 0 ، nil )) ؛ |
يمكنك أيضًا المرور في تطبيق iBindStatusCallback لتتبع تقدم التنزيل أو التحكم في التنزيل الذي تم إحباطه. يمكن القيام بمناسبة بسيطة في جملة واحدة.
راجع للشغل ، يلف عنوان URL معظم عناوين URL ، بدلاً من تغليف البروتوكولات مثل NMHTTP ، بحيث يمكنك استخدام UrlDownloadTofile لتنزيل HTTP و FTP وحتى الملفات المحلية والشبكة المحلية ، بالإضافة إلى مذكرات مخصصة أخرى ، مثل MSITStore (تنفيذ وثيقة مكتبة MSDN).
var DownloadFile: tfilestream ؛ Beginio DownloadFile: = tfilestream.create ('c: /aa.rar'،fmcreate) ؛ idhttp1.get ('http://www.sina.com.cn/download/aa.rar' ، townloadfile) ؛ downloadloadfile.free ؛ نهاية ؛ // ----------------------------------------------- ------------------------------------------------- ------------------------- |
ينتهي البرنامج