![]() |
|
Fast File To delphi Array - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : مصادر دلفي مفتوحة تعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=14) +--- الموضوع : Fast File To delphi Array (/showthread.php?tid=4854) |
Fast File To delphi Array - me_delphi - 09-01-2013 السلام عليكم ورحمة الله و بركاته هدا برنامج برمجته لتحويل الملفات الى مصفوفة من البيتات وهو سريع في التحويل لاعتماده على الصنف TStringBuilder مرفق لكم السورس بكلا اللغتين دلفي و سي++ لكن لا حظت ان الدلفي اسرع عند التحويل رغم اني حولت السورس الى نفس الكود بلغة السي++ اترك لدوي الخبرة التجربة والمقارنة Fast File To delphi Array - SMP3 - 11-01-2013 جميل جدا أن نرى استخدام مثل هذه الفئات الجديدة خصوصا وان هده الفئات كانت ولا تزال حكرا على مبرمجي الدوت نت .. لقد سبق وقمت بوضع موضوع في مدونتي يتحدث عن هده الفئة (استخدام الفئة TStringBuilder ) إقتباس :لكن لا حظت ان الدلفي اسرع عند التحويل رغم اني حولت السورس الى نفس الكود بلغة السي++أعتقد أن السبب راجع الى التغليف .. فكما يعلم الجميع أن مكتبة ال vcl & و الكلاسس الخاصة ب C++ Builder مكتوبة بالباسكال وحتى تتمكن من استخدامها فلازم يكون هناك تغليف لهده الأخيرة بلغة السي ++ ,-الكلاس TStringBuilder يحتوي على الكثير من الدوال .. كلها تم تغليفها - لدلك فمسألة التغليف لا يمكن تجاهلها عندما تقوم بانشاء برنامج بالسي ++ بويلدر فسيتم ربطه بالباكج الخاص بدلفي مثل ال vcl لقد سبق ووعدت شركة codegear / EMB باعادة كتابة منصة ال vcl ب السي ++ .. لكن لا أعتقد انها ستفي بوعدها .. فهدا الامر سيستغرق الكثير و الكثير من وقتها .. ![]() على كل حال الخيار الأمثل في مثل هده الحالات هو استخدام مكتبات ال dll المبرمجة بدلفي في برامج ال سي ++ بويلدر Fast File To delphi Array - me_delphi - 15-01-2013 إقتباس :أعتقد أن السبب راجع الى التغليف .. هل هو اعتقاد ام أنك متأكد أخي الكريم Fast File To delphi Array - SMP3 - 16-01-2013 me_delphi كتب :هل هو اعتقاد ام أنك متأكد أخي الكريم بغض النظر عن ذلك .. فالتغليف يعني اعادة التوجيه => تعليمات أسمبلي زائدة ألق نظرة على هذا المثال @1 PHP كود : void DoShowMsg()PHP كود : PUSH EBP@2 PHP كود : void __fastcall TForm1::Button1Click(TObject *Sender)PHP كود : PUSH 0 ; /Style = MB_OK|MB_APPLMODALPHP كود : PUSH EBPPHP كود : POP EBP للأسف فأنا لم أستطع دراسة مثالك لأني أسخدم CBuilder 2007 & Delphi XE3 يعني يمكنني تجربته فقط على دلفي هناك شيئ آخر عند المقارنة : يجب أن تكون كلتا النسختين من نفس الصنف .. يعني Delphi Debug vs c++Debug or Delphi Release vs c++ Release هناك عامل آخر دلفي يستخدم Object Pascal Runtime Library فقط أما CBuilder فيستخدم C++ Runtime Library & Object Pascal Runtime Library وهذا يفسر حجم تطبيق فارغ ب السي ++ بويلدر مقارنة مع دلفي لنفس التطبيق Fast File To delphi Array - me_delphi - 19-01-2013 إقتباس :دلفي يستخدم Object Pascal Runtime Library فقط بار ك الله فيك أخي SMP3 هل تقصد ان حجم تطبق دلفي أصغر من سي++ بويلدر بالنسبة لدلفي XE و س++ XE فان تطبيق دلفي Release حجمه 896 كيلوبايت وسي ++ Release حجمه 122 كيلوبايت هدا فقط في تطبيق فارغ انا لاحظت من س++ بويلدر يعطي حجما أقل رغم اعتماده على VCL كدلفي Fast File To delphi Array - SMP3 - 19-01-2013 إقتباس :انا لاحظت من س++ بويلدر يعطي حجما أقل رغم اعتماده على VCL كدلفيأعتقد أنك مخطأ في هذا .. هل تأكدت من ال Runtime pkg !! لكلتا النسختين ? Fast File To delphi Array - me_delphi - 21-01-2013 نعم أخي smp3 لقد اطلعت على الخيارات فوجدتك محقا بار ك الله فيك أخي الكريم |