بعض وحدات ومكونات دلفي المفيدة التي تقدمها Cornelius Concepts ، LLC.
تحتوي هذه المكتبة على وحدات ومكونات قمت بتطويرها والتي تكون مفيدة في العديد من المواقف. لكنهم يتجاوزون مجرد كونهم مفيدين-يعلمون أيضًا. هناك تعليقات وعينات ، وتظهر المكونات عدة جوانب لكيفية كتابة مكونات دلفي ، مثل الفصل بين الحزم بين وقت التشغيل ووقت التصميم ، وكيفية دمج مساعدة المكون التي يتم تنشيطها بالنقر بزر الماوس الأيمن على المكون ، وحتى التكامل في شاشة دفقة دلفي وحول الصندوق.
ما عليك سوى إسقاط هذا المكون على النموذج ويتم حفظ الحجم والموضع تلقائيًا عند إغلاقه واستعادته عند فتحه. بالإضافة إلى ذلك ، حفظ القيم الأخرى مع طرق مريحة. هناك نوعان من الاختلافات:
كل من هذين المكونين لديهما افتراضات لحفظ الملفات أو إعدادات التسجيل في الأماكن المناسبة مع الإعدادات الدنيا وإنشاء مفاتيح أو أقسام بناءً على اسم النموذج. حتى تتمكن من إسقاط أحد هذه المكونات بسرعة وسهولة.
مع الطرق الإضافية لحفظ/استعادة القيم العددية والسلسلة والطرق المنطقية ، فإنه يجعل تذكر بيانات المستخدم البسيطة سهلة للغاية:
- procedure SaveStrValue(const Name:string;const Value:string);
- procedure SaveIntValue(const Name:string;const Value: Integer);
- procedure SaveBoolValue(const Name:string;const Value: Boolean);
- function RestoreStrValue(const Name:string; const Default: string = ''):string;
- function RestoreIntValue(const Name:string; const Default: Integer = 0): Integer;
- function RestoreBoolValue(const Name:string; const Default: Boolean = False): Boolean;
يتضمن هذا المكون إجراءات من قبل شخص يدعى نيل على مجموعات الأخبار DBISAM قبل عدة سنوات. تحول هذا إلى مكون ، وهذا يعلق على بعض السنانير Windows لوحة المفاتيح وموسى لمشاهدة عدم النشاط على الكمبيوتر وينبثق رسالة مع مؤقت العد لإغلاق التطبيق. إحدى حالات الاستخدام هي تطبيقات قاعدة بيانات ثنائية المستويين تترك الملفات والسجلات مفتوحة.
تمت إزالة هذا المكون من إصدار Delphi 10.3 Rio لصالح استخدام فئة TstopWatch من Delphi.
هذا مكون بسيط للغاية يخفي تفاصيل توقيت العملية. ما عليك سوى البدء ، قم بعمل أغراضك ، ثم قم بإيقاف الاتصال ولديك الخصائص التالية المتاحة:
لا يتحقق هذا المكون من التغيير في المناطق الزمنية (إذا تم استخدامه على جهاز محمول) أو حساب وقت التوفير في ضوء النهار. تم تصميمه لعمليات قصيرة إلى حد ما (أقل من ساعة).
تم دعم المكونات التالية فقط من خلال Delphi XE وإزالتها من الحزم الأحدث.
منذ فترة طويلة ، استخدمت مجموعة Infopower من المكونات التي تحتوي على مكون بحث تدريجي لطيف حقًا يسرد السجلات المطابقة أثناء الكتابة. لقد قمت بنقش هذا المكون من هذه الفكرة ، لكنني أضفت أيضًا أزرار المعرفة من قبل المستخدم والعديد من الميزات الأخرى. لقد استخدمت أيضًا عناصر تحكم RAIZE لبعض ميزات العرض اللطيفة الإضافية-وربطت كل شيء عن كثب بمكونات قاعدة بيانات DBISAM. كان ذلك لمشروع معين في ذلك الوقت ، لكنني استخدمته وتغيرات منه (مثل تبديل DBISAM لمكونات ElevatedB) في مشاريع أخرى منذ ذلك الحين.
قد يكون هذا مكونًا مثيرًا للاهتمام للنظر إليه لأنه مثال جيد على كيفية إنشاء مكون مركب.
مكتوبة لدعم مشروع قديم منذ عدة سنوات ، وهذا يسمح بدمج بسيط للاسم = أزواج القيمة مع المحددات. تم إهماله لصالح استخدام قائمة tstringlist.
يوفر تسجيل سريع وسهل إلى ملف نصي. تم إهمالها لأن المكتبات وأساليب التسجيل الأحدث مفضلة.
عارض ملف نصي بسيط في نافذة مشروطة منبثقة.
أخيرًا ، كلمة عن الوحدات المستقلة.
يحتوي هذا المجلد على وحدتين ، UDMCUSTOMWEBGENERATOR و UDMDBISAMWEBGENERATOR. إنها وحدات بيانات والأول عبارة عن فئة أساسية بها اثنين من مكونات WebBroker و TPageProducer و TdatAsettableProducer. لقد تم كتابتها منذ عدة سنوات قبل أن تكون أنظمة إدارة المحتوى (CMSS) شائعة وكنت أحاول استخدام Delphi لجميع تطوير الويب الخاص بي. اتضح أنه عمل أكثر مما يستحق للمشاريع الكبيرة وهناك عدد كبير من أدوات الويب الرائعة الآن ، لذلك لم يعد يستخدم كثيرًا. ومع ذلك ، لا تزال هناك مهام عرضية تجد هذه الروتين مفيدة ، لذلك أحتفظ بها.
توسع هذه الفئات فائدة WebBroker عن طريق البناء في رابط بين علامات HTML وقواعد البيانات. قاعدة البيانات الوحيدة التي استخدمتها في هذه الطريقة كانت DBISAM. لم أستخدم DBISAM لعدة سنوات ، لذلك لا أعرف ما إذا كان لا يزال يجمع ، ولكنه يوضح كيف يمكن أن ينحدر الفصل الأساسي لتلبية احتياجاتك الخاصة.
يرجى قراءة التعليقات في الكود لمزيد من المعلومات.
يحتوي مجلد "MISC" على ثلاث وحدات (يمكن إضافة المزيد لاحقًا): UsearchRecList و UXMLDATES و UTESTUTILS .
أول واحد ، UsearchRecList ، يحتوي على إعلانات نوع الإجراء وإجراء واحد: getSearchRecs.
TPathStatusProc = reference to procedure (const Path: string; var Stop: Boolean);
TFileFoundProc = reference to procedure (FileInfo: TSearchRec);
procedure GetSearchRecs(const Path, Pattern: string; const Recursive: Boolean; PathStatusProc: TPathStatusProc; FileFoundProc: TFileFoundProc);
يعبر GetSearchRecs شجرة دليل تبحث عن ملفات تطابق نمطًا وتدعو PathStatusProc لكل مسار موجود وملف FileFoundProc لكل ملف يطابق النمط.
فيما يلي مثال من شأنه حذف ملفات السجل القديمة:
GetSearchRecs(LogFolder, '*.log', False, nil,
procedure (FileInfo: TSearchRec)
begin
if FileInfo.TimeStamp < Now - 90 then
FileDelete(TPath.Combine(LogFolder, FileInfo.Name), True);
end);
الوحدة الثانية ، UXMLDATES ، تجعل من السهل العمل مع التواريخ الموجودة في ملفات XML. التنسيق الشائع هو: yyyy-mm-dd "t" hh: mm: ss ، لكن الطريقة ، converttodelphidatefromxml ، يمكن أن تأخذ سلسلة بدون جزء الوقت.
توفر الوحدة الثالثة ، UtestUtils ، بعض الوظائف المستخدمة في عدد قليل من المشاريع التي أحتاج إلى إنشاء بيانات اختبار مثل التواريخ والأوقات والأرقام وأنواع الدفع ، وما إلى ذلك.