قدمت Delphi 12.2 WebStencils ، وهي طريقة تعتمد على البرنامج النصي لمعالجة نص مشابه لتكنولوجيا ASP.NET Razor. استخدامه الأساسي هو إنشاء HTML الديناميكي من تطبيق خادم Webbroker ولكن يمكن استخدامه بطرق أخرى لإنشاء XML أو JSON أو أي نوع من الإخراج النصية من قالب.
يحتوي هذا المستودع على اثنين من تطبيقات Delphi 12.2 WebBroker البسيطة للغاية (تشغيل كبرامج Windows VCL التي تطلق متصفح ويب) لمقارنة القوالب المصنوعة مع العلامات على غرار HTML المستخدمة في مكونات TPageProducer ، مع علامات الرموز "@" الجديدة المستخدمة في مركب TWebStencilsProcessor الجديد. جميع ملفات Project و HTML موجودة في مجلد واحد ويشارك المشروعان وحدة بيانات للوصول إلى قاعدة بيانات Chinook SQLite (غير مضمنة).
هناك خمس صفحات في كل تطبيق ، مصنوعة لتبدو متطابقة حتى تتمكن من التركيز على تقنية القالب:
تتم تسمية ملفات HTML المشار إليها من قبل المشروعين لتوضيح المشروع/التكنولوجيا التي يعملون معها:
ملفات PageProducer التقليدية ملفات HTML:
index-wbroker.htmlloginfailed-wbroker.htmlcustlist-wbroker.htmlcustedit-wbroker.htmlaccessdenied-wbroker.htmlملفات WebStencells الجديدة ملفات HTML:
index-wStencils.htmllogin-failed-wStencils.htmlcustlist-wStencils.htmlcustedit-wStencils.htmlaccessdenied-wStencils.htmlcustlistframework1.htmlلاحظ أن هناك ملفًا آخر في مجموعة WebStencils ، إنه قالب إطار لكل صفحة ويب تم إنشاؤها من إجراءات WebStencil ويتم دمجها من سلاسل الرأس والتذييل المضمنة في منتجي الصفحات المستخدمة في مشروع WebBroker التقليدي.
قبل أن تحاول تجميع أو تشغيل ، يجب عليك تنزيل قاعدة بيانات CHINOOK. هذه قاعدة بيانات شهيرة تستخدم للدروس التعليمية والعروض التوضيحية ويمكن العثور عليها في العديد من الأماكن المختلفة. يمكنني استخدام DBEAVER ، وهي أداة قاعدة بيانات مجانية ، ووجدت أنها تشحن مع ذلك.
بمجرد أن يكون لديك chinook.db في نفس المجلد مثل المشروع ، تحتاج إلى فتح وحدة البيانات (المستخدمة من قبل كلا المشروعين) ، و udmCust ، وتعديل مكون TFDConnection لتحديد موقع ملف قاعدة البيانات. أود أن أقترح أيضًا استخدام أداة قاعدة البيانات أو مستكشف بيانات Delphi لعرض الجداول الموجودة في قاعدة البيانات.
تم استخدام Delphi 12.2 لإنشاء واختبار هذه البرامج (التي لا تستخدم مكونات الطرف الثالث).
يتم إنشاء كلا التجريبيين كبرامج ويب ويندوز ويندوز ، مما يعني أنهما يعملان كبرنامج صغير لنظام التشغيل Windows VCL يفتح منفذًا للاستماع لطلبات الويب باستخدام زر لبدء متصفح الويب الافتراضي. يستمع إصدار PageProducer على المنفذ 8081 ويستمع إصدار WebStencils على المنفذ 8082 حتى تتمكن من تشغيل كليهما في وقت واحد إذا كنت ترغب في ذلك.
الصفحة الأولى المدرجة هي صفحة تسجيل الدخول. يجب إدخال تسجيل دخول صالح قبل أن يأخذك إلى قائمة العملاء. تسجيل دخول صالح هو أي مستخدم في جدول الموظفين حيث:
FirstName ، غير حساس للحالة ؛EmployeeId واسم LastName ، حساسة للحالة.على سبيل المثال ، كان الإدخال الأول في نموذج قاعدة بيانات العينة التي قمت بتنزيلها كان للموظف الأول التالي:
ID : 1FirstName : أندروLastName : آدمزلذلك ، لتسجيل الدخول مع هذا الموظف:
ANDREW (العلوي أو السفلي أو المختلط)1Adams (بالضبط)بمجرد تسجيل الدخول ، يتم عرض قائمة العملاء. معرّف كل عميل (عمود يسار) هو رابط يأخذك إلى شاشة "تحرير" يسرد جميع حقول العملاء في صناديق التحرير. لا يحفظ زر الإرسال التغييرات أو القيام بأي شيء آخر غير إعادتك إلى قائمة العملاء.
لقد استخدمت قواعد بيانات مختلفة "Chinook" ، أحدهما كان لديه أسماء طاولات فردية (على سبيل المثال "عميل" و "موظف") بينما كان لدى الآخر صيغة الجمع (على سبيل المثال "العميل " و "الموظف S ") ؛ إذا كان الشخص الذي تحصل عليه مختلفًا عن تلك الموجودة في هذا المستودع ، فما عليك سوى تغيير أسماء الجدول والاستعلامات للمطابقة.
تم تصميم قائمة العميل باستخدام علامات جدول HTML القديمة ( <table> ، <tr> ، <td> ، وما إلى ذلك) لأن هذه هي الطريقة البسيطة والافتراضية التي تم فيها إجراء تطبيقات خادم WebBroker القديمة التي تم تصميمها باستخدام مكونات TDataSetTableProducer . يبني إصدار WebStencils الجديد نفس نتيجة HTML بحيث يمكنك مقارنة كيفية القيام به وستكون صفحات الويب الناتجة متطابقة تقريبًا. عادةً ما تقوم مواقع الويب الحديثة ببناء جداول على طراز CSS ، وهي فائدة يمكن تحقيقها من خلال التبديل من موظفي البيانات إلى DataSettable إلى WebStencils.
اقرأ مدونة "تقديمات WebStencils" لمعرفة المزيد حول التكنولوجيا الكامنة وراء هذه البرامج ولماذا تكون WebStencils رائعة!