س: ما هي إصدارات Visual Basic الموجودة؟ ما الفرق بينهما؟
الإجابة: هناك ثلاثة إصدارات من Visual Basic، كل منها يلبي احتياجات التطوير المختلفة.
1.VisualBasic Learning Edition يمكّن المبرمجين من تطوير تطبيقات Windows95 وWindowsNT (R) بسهولة. يتضمن هذا الإصدار جميع عناصر التحكم الداخلية بالإضافة إلى عناصر التحكم في الشبكة وعلامة التبويب وData_Bound. تتضمن المستندات التي توفرها النسخة التعليمية "دليل المبرمج" والتعليمات عبر الإنترنت و"الدليل عبر الإنترنت" لـ Visual Basic.
2. توفر النسخة الاحترافية للمبرمجين المحترفين مجموعة كاملة من الأدوات الوظيفية الكاملة للتطوير. يتضمن هذا الإصدار كافة ميزات الإصدار التعليمي بالإضافة إلى عناصر تحكم ActiveX وعناصر التحكم في الإنترنت وCrystalReportWriter. تتضمن المستندات التي توفرها النسخة الاحترافية "دليل المبرمج" والتعليمات عبر الإنترنت و"دليل أدوات المكونات".
3. يتيح إصدار Enterprise للمبرمجين المحترفين تطوير تطبيقات موزعة قوية داخل المجموعة. يتضمن هذا الإصدار كافة ميزات الإصدار الاحترافي بالإضافة إلى مدير الأتمتة، ومدير الأجزاء، وأدوات إدارة قواعد البيانات، ونظام التحكم الهندسي Visual SourceSafe(TM)، والمزيد. تتضمن الوثائق التي يوفرها الإصدار Enterprise Edition كافة الوثائق الخاصة بالإصدار الاحترافي، بالإضافة إلى دليل تطوير تطبيقات العميل/الخادم وSourceSafeUser'sGuide.
س: ما هي الأجهزة والبرامج المطلوبة لتثبيت Visual Basic؟
رد: احتياجات مختلفة
1. Microsoft Windows NT3.51 أو أحدث، أو Microsoft Windows 95؛ أو معالج دقيق أعلى.
2. إذا كان التثبيت كاملاً، فيلزم وجود 50 ميجابايت على الأقل من مساحة القرص الثابت.
3. محرك الأقراص المضغوطة.
4. يدعم Microsoft Windows شاشات VGA أو الشاشات ذات الدقة الأعلى.
5.16 ميغابايت من ذاكرة الوصول العشوائي.
6. الماوس أو أي جهاز تأشير آخر.
س: كيف يمكن الحصول على الدعم الفني بخصوص CrystalReports؟
الإجابة: إذا كانت لديك مشكلات في تثبيت CrystalReports، فيرجى الاتصال بـ Microsoft.
إذا كنت بحاجة إلى دعم فني آخر، فيرجى الاتصال بـ Seagate مباشرة.
الموقع الإلكتروني لشركة Seagate هو http://www.crystalinc.com
أو http://www.img.seagatesoftware.com.
رقم هاتف الدعم الفني لشركة Seagate هو: 01-604-669-8379 أو 01-800-877-2340.
س: ما هي قواعد البيانات التي يمكنني الاتصال بها في Visual Basic؟
الإجابة: هناك ثلاثة أنواع من قواعد البيانات التي يمكن الاتصال بها في Visual Basic وهي:
1.قاعدة بيانات VisualBasic - تُعرف أيضًا باسم قاعدة البيانات المحلية، ويستخدم هذا النوع من ملفات قاعدة البيانات نفس تنسيق Microsoft Access. يقوم المحرك النفاث بإنشاء قواعد البيانات هذه وتشغيلها مباشرة ويوفر أقصى قدر من المرونة والسرعة.
2. قواعد البيانات الخارجية - هي قواعد بيانات أسلوب الوصول المتسلسل المفهرس (ISAM) باستخدام العديد من التنسيقات الشائعة، بما في ذلك Btrieve وdBASEIII وdBASEIV وMicrosoft FoxPRovversions 2.0 و2.5 وParadoxversions 3.x و4.0. يمكن إنشاء قواعد البيانات بجميع التنسيقات المذكورة أعلاه ومعالجتها في Visual Basic. يمكن أيضًا الوصول إلى قواعد بيانات الملفات النصية وجداول بيانات Microsoft Excel أو Lotus 1-2-3.
3. قاعدة بيانات ODBC - تتضمن قواعد بيانات العميل/الخادم التي تتوافق مع معايير ODBC، مثل Microsoft SQL Server. لإنشاء تطبيق عميل/ملقم حقيقي في Visual Basic، يمكنك استخدام ODBCDirect لتمرير الأوامر مباشرة إلى الخادم للمعالجة.
سؤال: كيفية الاتصال بالمنفذ التسلسلي في Visual Basic؟
الإجابة: يوفر VisualBasic عنصر تحكم MSCOMM، وهو المسؤول عن تلقي البيانات وإرسالها من المنفذ التسلسلي. يمكنك تحديد المشروع في بيئة تطوير Visual Basic، وتحديد المكونات ضمن قائمة المشروع، وتحديد MicrosoftCommControl من المكونات، وإضافة عنصر تحكم MSCOMM إلى صندوق الأدوات الخاص بك. ثم قم بتعديل معلمات اتصال المنفذ التسلسلي مثل منفذ الاتصال ومعدل الباود وما إلى ذلك عن طريق تعيين خصائص عنصر التحكم MSCOMM.
سؤال: كيفية استدعاء وظائف Win32 في VB؟
الإجابة: في الدليل الفرعي WINAPI لـ Visual Basic، يمكنك العثور على WIN32API.TXT، الذي يحتوي على كافة أوصاف وظائف Win32 ووصف النوع والقيم الثابتة العمومية. يمكنك استخدام برنامج المكونات الإضافية Visual Basic VBAPIViewer لتحديد وظيفة Win32 التي تحتاجها، ثم وضع وصف الوظيفة في مشروع Visual Basic من خلال تقنية النسخ واللصق البسيطة، بحيث يمكنك تسميتها مثل Visual Basic العادي وظيفة. .
سؤال: لا يمكن بدء تشغيل Visual Basic 5.0 بشكل طبيعي، فماذا علي أن أفعل؟
الجواب: قد يكون ذلك لسببين:
1. يوجد خطأ في برنامج المكونات الإضافية. يمكنك استخدام "المفكرة" لفتح ملف VBAddin.ini في دليل النظام وتغيير قيمة كل عنصر إلى 0، أي لن يتم تشغيل برنامج المكون الإضافي.
2. البيانات المحفوظة حول شريط أوامر Office غير صحيحة. في هذه الحالة يمكنك حذف الإدخال HKEY_CURRENT_USER/SOFTWARE/MICROSOFT/VisualBasic/5.0 من السجل. بعد تعديل المحتوى أعلاه، ما عليك سوى إعادة تشغيل Visual Basic.
سؤال: ماذا يجب أن أفعل في حالة تلف بعض عناصر التحكم في Visual Basic؟
الإجابة: يمكنك العثور على ملف الاستجابة من قرص تثبيت VB ونسخه إلى دليل النظام. ثم استخدم regsvr32 لتسجيل عناصر التحكم هذه يدويًا. الطريقة هي: regsvr32xxxx.ocx
س: في بيئة متعددة المستخدمين، كيف يمنع Microsoft Jet المستخدمين الآخرين من تعديل بياناتك؟
الإجابة: يوفر Microsoft Jet ثلاث طرق لتأمين البيانات على مستويات مختلفة. يمنع عدة مستخدمين من تعديل البيانات في نفس الوقت.
1. يمنع الوضع الحصري كافة المستخدمين الآخرين من الوصول إلى قاعدة البيانات. هذا هو الوضع الأكثر تقييدًا.
2. يقوم قفل مجموعة السجلات بتأمين الجدول الأساسي لكائن مجموعة السجلات، وذلك باستخدام قفل جدول القراءة أو قفل جدول الكتابة أو كليهما.
3. يقوم قفل الصفحة بقفل الصفحة التي تحتوي على البيانات التي يتم تحريرها، والتي يبلغ طولها 2048 بايت (2 كيلو بايت). هذا هو الوضع الأقل تقييدًا
س: ما الفرق بين القفل المحافظ والقفل المفتوح؟
الإجابة: عند استخدام القفل المحافظ، بمجرد استدعاء طريقة التحرير، سيقوم المحرك بقفل الصفحة التي تحتوي على السجل الذي تم تحريره حاليًا، ولن يقوم بتحرير القفل حتى يتم الالتزام بالتغييرات على هذا السجل أو إلغاؤها بشكل صريح. لكن عيبه هو أن قفل السجل يستغرق وقتًا طويلاً، ولا يقتصر الأمر على قفل السجل الذي يقوم المستخدم بتحريره فحسب، بل يقوم أيضًا بتأمين السجلات الأخرى الموجودة في الصفحة المقفلة.
عند استخدام القفل المفتوح، يقوم المحرك بتأمين الصفحة فقط عند محاولة تنفيذ تغييرات السجل باستخدام أسلوب التحديث. نظرًا لأن القفل يحدث فقط عندما يحاول التطبيق تنفيذ التغييرات، يتم تقليل وقت التأمين إلى الحد الأدنى. لكن عيب القفل المفتوح هو أنه عندما يبدأ المستخدم في تحرير سجل، ليس هناك يقين من نجاح التحديث. ستفشل التحديثات التي تعتمد على القفل المفتوح إذا قام مستخدم آخر بتغيير سجل يقوم المستخدم الأول بتحريره.
سؤال: في VB5، عند تجميع تطبيق ما في NativeCode، هل مازلت بحاجة إلى MSVBVM50.DLL عند نشر التطبيق؟
الجواب: نعم. تتطلب كافة التطبيقات التي تم إنشاؤها باستخدام VB5 MSVBVM50.DLL، سواء NativeCode أو P-Code. نظرًا لأن MSVBVM50.DLL مطلوب لتنفيذ العديد من الوظائف مثل النموذج والوحدات النمطية للفئة واللغات. يشير NativeCode إلى التعليمات البرمجية التي يمكن تشغيلها مباشرة على وحدة المعالجة المركزية دون تفسير وقت التشغيل، ولكن هذا لا يعني أن التطبيقات التي تم إنشاؤها بواسطة VB5 تحتاج إلى استدعاء وظائف المكتبة في مكتبة الارتباط الديناميكي (DLL).
سؤال: كيفية الوصول إلى قاعدة بيانات VisualFoxPro في VB؟
الإجابة: يوصى بتعيين المفتاح الأساسي في جدول قاعدة بيانات VfoxPro والوصول إلى قاعدة بيانات VisualFoxPro من خلال أحدث إصدار من برنامج تشغيل VfoxProODBC، مما يؤدي إلى تحقيق أداء أفضل وتجنب المشكلات أثناء التحديث.
سؤال: ما هي تنسيقات ملفات الرسومات التي يدعمها عنصر تحكم PictureBox وصورة VB5؟
الإجابة: يتم استخدام عناصر تحكم PictureBox وImage لعرض الرسومات. يمكنه عرض الرسومات بالتنسيقات التالية: الصور النقطية أو الرموز أو ملفات التعريف أو ملفات التعريف المحسنة أو ملفات JPEG أو GIF. تعد ملفات JPEG أو GIF المدعومة حديثًا مفيدة لصفحات الويب.
سؤال: ما هي الطرق المتوفرة في VB للوصول إلى السجل؟
الإجابة: تقوم وظيفة GetSetting بإرجاع قيمة إعداد مفتاح التسجيل من عنصر التطبيق الموجود في سجل Windows. بيان SaveSetting لحفظ أو إنشاء مشاريع التطبيق في سجل Windows.
تقوم عبارة RemoveSetting، في سجل Windows، بحذف المنطقة أو إعداد مفتاح التسجيل من عنصر التطبيق.
تقوم وظيفة GetAllSettings بإرجاع كافة إعدادات مفتاح التسجيل والقيم المقابلة لها لمشروع التطبيق من سجل Windows (الذي تم إنشاؤه في البداية بواسطة SaveSetting).
سؤال: كيفية تسجيل حدث في تطبيق VB5؟
الإجابة: تسجل طريقة LogEvent حدثًا في السجل في هدف السجل الخاص بالتطبيق. على النظام الأساسي Windows NT، سيقوم هذا الأسلوب بكتابة المحتوى إلى سجل أحداث NT. على النظام الأساسي Windows95، ستقوم هذه الطريقة بكتابة المحتوى إلى الملف المحدد بواسطة سمة LogPath. افتراضيًا، إذا لم يتم تحديد أي ملف، فستتم كتابة الأحداث إلى ملف vbevents.
س: كيفية اكتشاف ما إذا كان الملف موجودًا؟ كيفية حذف الملفات؟
الإجابة: استخدم الدالة Dir للتحقق من وجود الملف. إذا لم يكن هناك ملف مؤهل، فسيقوم Dir بإرجاع سلسلة ذات طول صفري ().
يمكن حذف الملفات باستخدام عبارة Kill.
سؤال: كيفية تحسين سرعة عرض تطبيقات VB؟
الإجابة: نظرًا لخصائص الرسومات الخاصة بـ Microsoft Windows، فإن سرعة عرض الرسومات والعمليات الأخرى تحدد إلى حد كبير السرعة الملموسة للتطبيق. كلما كانت النماذج تظهر وترسم بشكل أسرع، كلما ظهر التطبيق بشكل أسرع. يمكن استخدام العديد من التقنيات لتحسين سرعة عرض التطبيق الخاص بك:
· قم بتعيين خاصية ClipControls الخاصة بالحاوية إلى False.
· استخدم AutoRedraw بشكل مناسب.
· استخدم التحكم بالصورة بدلاً من التحكم PictureBox.
· إخفاء عناصر التحكم عند تحديد الخصائص لتجنب عمليات إعادة الرسم المتعددة.
· استخدم الخط بدلاً من PSet.
في كثير من الأحيان، لا علاقة للسرعة الملموسة للتطبيق بمدى سرعة تنفيذ التعليمات البرمجية فعليًا. تظهر التطبيقات التي يتم تشغيلها بسرعة، وترسم بسرعة، وتقدم تعليقات مستمرة بسرعة للمستخدمين؛ أما التطبيقات التي تبدو معطلة أثناء إكمال المهام فتبدو بطيئة. يمكن استخدام العديد من التقنيات لجعل التطبيق يظهر بسرعة:
· إخفاء النموذج بدون تحميل.
· التحميل المسبق للبيانات.
· العمل في الخلفية باستخدام أجهزة ضبط الوقت.
· استخدام مؤشرات التقدم.
· تسريع سرعة إطلاق التطبيق.
س: ما هو المحتوى الجديد الذي يتضمنه VB5 لدعم تطوير الإنترنت/الإنترانت؟
الإجابة: إنشاء مستند ActiveX
تعد الإصدارات الاحترافية والإصدارات الخاصة بالمؤسسات سهلة وبديهية مثل تصميم نماذج Visual Basic. تقوم مستندات ActiveX بدفع تطبيقات Visual Basic إلى نوافذ متصفح الإنترنت.
قم بإنشاء عنصر تحكم ActiveX الخاص بك
يجمع الإصداران Professional وEnterprise بين عناصر التحكم الموجودة أو ينشئان عناصر التحكم الخاصة بك من عناصر التحكم الأخرى. تحتوي عناصر تحكم ActiveX التي تم إنشاؤها باستخدام Visual Basic على العديد من ميزات الإنترنت، بما في ذلك التنزيل غير المتزامن للبيانات والارتباطات التشعبية.
DLL متعدد الخيوط
تحدد الإصدارات الاحترافية والإصدارات الخاصة بالمؤسسات مكونات DLL التي يتم تنفيذها بدون واجهة المستخدم (أي بدون تفاعل المستخدم) للاستخدام الفعال في التطبيقات متعددة الخيوط مثل متصفحات الإنترنت.
ضوابط النقل عبر الإنترنت
توفر الإصدارات الاحترافية وإصدارات Enterprise عناصر تحكم جديدة لدعم HTTP وFTP.
السيطرة على ويسوك
تسمح الإصدارات الاحترافية والإصدارات الخاصة بالمؤسسات بالاتصال بأجهزة الكمبيوتر البعيدة وتبادل البيانات مع أجهزة الكمبيوتر الأخرى باستخدام بروتوكول بيانات المستخدم (UDP) أو بروتوكول التحكم في الإرسال (TCP).
تحديد موضع الارتباط التشعبي
تتحكم كائنات الارتباط التشعبي Professional وEnterprise في الوصول إلى وظيفة الارتباط التشعبي ActiveX. باستخدام خصائص وأساليب كائن الارتباط التشعبي، يمكن لعنصر التحكم أن يطلب من حاوية تتعرف على الارتباط التشعبي، مثل Microsoft Internet Explorer، للانتقال إلى عنوان URL محدد أو التنقل عبر قائمة المحفوظات.
تحميل غير متزامن
تقوم الإصدارات الاحترافية والمؤسسية بتنزيل الملفات أو صفائف البايت أو الصور بشكل غير متزامن من خلال عناصر تحكم ActiveX ومستندات ActiveX التي تم إنشاؤها باستخدام Visual Basic.
التفاوض على القائمة في مستندات ActiveX
يمكن دمج قوائم الإصدار Professional وEnterprise التي تمت إضافتها إلى مستندات ActiveX بسلاسة مع قوائم Internet Explorer (أو المستعرضات الأخرى التي تدعم تفاوض القائمة) عند عرض المستند.
معالج واجهة التحكم ActiveX
الإصدارات الاحترافية والإصدارات الخاصة بالمؤسسات بمجرد إضافة عنصر تحكم مؤلف إلى مصمم UserControl، يمكن للمعالج المساعدة في تعيين خصائص وأساليب وأحداث عنصر تحكم ActiveX الجديد (أي الواجهة الخاصة به) إلى الوظائف التي يوفرها عنصر التحكم المؤلف وكائن UserControl .
تحميل قطع الانترنت
يمكن للإصدارات Professional وEnterprise استخدام معالج التثبيت لحزم المكونات خصيصًا للنشر على الويب. دعم JPEG وGIF
تدعم كافة إصدارات عناصر تحكم PictureBox وImage، بالإضافة إلى كائن الصورة، ملفات .gif و.jpg، المفيدة لصفحات الويب.
الوصول إلى الويب من بيئة التطوير
تنتقل كافة الإصدارات مباشرةً إلى أحدث المعلومات حول Visual Basic ومنتجات التطوير الأخرى.
سؤال: كيفية إدخال تطبيقات VB التقليدية في المتصفح للتنفيذ؟
الإجابة: تم تصميم معالج ترحيل مستندات ActiveX لتغيير النماذج الموجودة إلى مستندات ActiveX. يعد مستند ActiveX نوعًا محددًا من كائن ActiveX الذي يمكن تخزينه وتنشيطه في حاوية مستندات ActiveX (مثل Microsoft Internet Explorer).
س: مقارنة بين DAO وRDO
الإجابة: يصل DAO بشكل عام إلى قواعد البيانات من خلال محرك Microsoft Jet (باستثناء ODBCDirect المذكور أدناه)، وهو مناسب للوصول إلى قواعد البيانات مثل Microsoft Access؛
يصل RDO مباشرة إلى قاعدة البيانات من خلال ODBC. إنها مناسبة لبيئة العميل/الخادم وستحقق أداءً أفضل عند الوصول إلى قواعد البيانات الكبيرة مثل Microsoft SQL Server.
تشبه طريقة استخدام كائنات البيانات البعيدة (RDO) بشكل أساسي طريقة استخدام كائنات الوصول إلى البيانات (DAO) لمشغل قاعدة بيانات Microsoft Jet، كما أن عنصر تحكم RemoteData يشبه أيضًا عنصر تحكم البيانات. استخدم RDO لإرسال الاستعلامات وإنشاء مجموعات النتائج أو المؤشرات ومعالجة نتائج الاستعلام باستخدام تعليمات برمجية موجهة للكائنات ومستقلة عن قاعدة البيانات.
باستخدام عنصر التحكم RemoteData، يمكنك استخدام كافة عناصر التحكم المرتبطة التي يمكن التعرف عليها بواسطة عنصر تحكم البيانات في النموذج الذي تم إنشاؤه؛ كما يمكنك أيضًا معالجة مجموعة النتائج باستخدام تعليمات برمجية قليلة أو بدون تعليمات برمجية على الإطلاق.
من خلال إجراء بعض التغييرات الطفيفة على التطبيق الحالي باستخدام عناصر تحكم DAO والبيانات، يمكنك تحويله إلى استخدام عناصر تحكم RDO وRemoteData. ومع ذلك، هناك بعض الاختلافات بينهما، نظرًا لأنه تم تنفيذ RDO وتصميمه للاستخدام مع قواعد البيانات العلائقية، فإن RDO ليس لديه معالج استعلام خاص به؛ فهو يعتمد على مصدر البيانات للتعامل مع جميع الاستعلامات وإنشاء مجموعات النتائج. يتم إنشاء كائنات البيانات نفسها من مجموعات النتائج والمؤشرات التي يتم إرجاعها بواسطة برنامج تشغيل ODBC.
في بعض الأحيان قد لا يكون من الضروري تحويل تطبيق DAO/Jet موجود إلى RDO لأن ODBCDirect يقوم بتمرير DAO عبر RDO، وليس Jet. إذا كان التطبيق لا يستخدم كائنات DAOISAM وأساليبها (مثل كائنات مجموعة السجلات من نوع الجدول وأساليب البحث) أو أساليب برمجة ISAM الأخرى، فيمكن تحويله إلى ODBCDirect مع بعض التغييرات، وتكون التغييرات المطلوبة أقل من ذلك من التحويل إلى ODBCDirect لا يزال هناك عدد قليل من RDOs.
يسرد الجدول التالي كائنات RDO2.0 وكائنات DAO/Jet المكافئة لها:
كائن RDO
كائن DAO/Jet مكافئ
RdoEngine
DBEngine
ردويرور
خطأ
rdoEnvironment
مساحة العمل
rdoConnection
قاعدة البيانات
rdoTable
TableDef
لم يتم تنفيذه
فِهرِس
rdoResultset
مجموعة السجلات
لم يتم تنفيذه
نوع الجدول
نوع مجموعة المفاتيح
نوع المجموعة الحيوية
نوع ثابت (ص / ث)
نوع اللقطة (ص/س)
نوع ديناميكي
(لا أحد)
نوع إلى الأمام فقط
نوع إلى الأمام فقط
(بدون المؤشر)
(لا أحد)
rdoColumn
مجال
rdoQuery
QueryDef
rdoParameter
المعلمة
لم يتم تنفيذه
العلاقة
لم يتم تنفيذه
مجموعة
لم يتم تنفيذه
مستخدم
تستخدم كائنات البيانات البعيدة مفاهيم الصفوف والأعمدة بدلاً من السجلات والحقول، والتي عادةً ما تكون مصطلحات قواعد البيانات العلائقية. يقوم الاستعلام بإرجاع البيانات في شكل مجموعة نتائج، والتي يمكن أن تحتوي على صفر أو أكثر من صفوف البيانات، ويمكن أن يحتوي كل صف على عمود واحد أو أكثر. يتطلب DAO استخدام المؤشرات للوصول إلى البيانات، بينما يسمح RDO بإنشاء مجموعات نتائج خالية من المؤشرات، مما يتطلب موارد أقل بكثير من المؤشرات.
تم تصميم بعض كائنات DAO وأساليبها وخصائصها لدعم وتنفيذ بنية ISAM الخاصة بـ Jet وقواعد بيانات ISAM القابلة للتثبيت. على سبيل المثال، يمكنك استخدام كائن الفهرس وأسلوب البحث لإدارة فهارس ISAM واستخدام الفهرس لتحديد موقع الصفوف. نظرًا لأن RDO وقواعد البيانات العلائقية تدير الفهارس بطرق مختلفة تمامًا، فلن تكون هناك حاجة إلى هذه الكائنات والأساليب.
يدعم DAO أيضًا إنشاء مخطط قاعدة البيانات وتعديله والتكامل المرجعي (RI) والأمان من خلال أساليب وخصائص DAO. لا يدعم RDO أي شكل من أشكال RI أو الأمان أو تعديل المخطط، حيث أن الأدوات والأدوات المساعدة التي يوفرها نظام الخادم قادرة تمامًا على دعم هذه الوظائف.
يمكنك أيضًا تشغيل RDO لإنشاء استعلامات جدول، أو تنفيذ استعلامات إجرائية لإنشاء قواعد البيانات أو الجداول وتعديلها وحذفها باستخدام عبارات SQL الأصلية. من الممكن أيضًا تنفيذ إجراءات مخزنة معقدة، وبالتالي إدارة مخطط قاعدة البيانات أو إجراء عمليات الصيانة، وهو أمر غير ممكن مع DAO.
->