Transcript ppt
تطوير البرامج العربية باستخدام فيجوال بيسك 6 الحوسبة العربية (تعريب الحاسبات( –17 حسني املحتسب 1 حسني المحتسب بسم هللا الرحمن الرحيم الحوسبة العربية (تعريب الحاسبات( –17 تطوير البرامج العربية باستخدام فيجوال بيسك 6 حسني املحتسب 2 حسني المحتسب المسار • تطوير البرامج العربية باستخدام فيجوال بيسك 6 • مرجع مفيد • • • http://www.microsoft.com/middleeast/msdn/VB_aApplic.aspx تذكير :المحاضرات المقترحة مشروع المادة 3 حسني المحتسب بعض المفاهيم والمصطلحات • االتجاه Direction • • • • الرمزية Symbology • • • العربية تقرأ سطرا سطرا من اليمين إلى اليسار ومن أعلى ألسفل األرقام والكلمات األجنبية من اليسار إلى اليمين لغة ثنائية االتجاه BIDIأو Bidirectional language الحرف له عدة أشكال حسب موقعه الحركات للتشكيل االستخدام Usage • 4 اإلمالء -الترقيم -طول النص مختلف من لغة ألخرى حسني المحتسب الشفرة العالمية الموحدة • • • حل لمشكلة االنتقال من شفرة إلى شفرة في البرامج التي تستخدم أكثر من لغة تلقى قبوال من مصممي نظم التشغيل ومطوري البرامج يستخدم في ما يكروسوفت ويندوز 2000و Xpوما بعدهما 5 حسني المحتسب هل تدعم الفيجوال بيسك العربية؟ • • • • نعم لغة فيجوال بيسك تعتمد على عناصر التحكم controls العديد من عناصر التحكم لها خصائص ثنائية االتجاه BiDi بعض الخصائص العربية تحتاج تثبيت حزمة الخدمات الثالثة service )SP3( pack • • • أحدث حزمة خدمات لفيجوال ستوديو هي SP6 http://msdn2.microsoft.com/en-us/vstudio/Aa718364.aspx / يمكن أيضا استخدام VB6مع SQL Server 7.0أو آكسس ACCESS لبناء برامج عربية 6 حسني المحتسب ثنائية االتجاه Bidirectional • • • • مصطلح لوصف البرمجيات التي تدعم اللغات التي تكتب من اليمين إلى اليسار وتدعم أيضا الكتابة من اليسار إلى اليمين RTLمن اليمين إلى اليسار Right To Left LTRمن اليسار إلى اليمين Left To Right 7 حسني المحتسب الخصائص ثنائية االتجاه في VB6 • • • • تعمل هذه الخصائص إذا كانت معدة تحت نظام تشغيل يدعم الخصائص ثنائية االتجاه ويعتمد على -32خانة. تم إضافة خاصية ( Right-To-Left )propertyلمجموعة من عناصر التحكم controlsوالنماذج forms يمكن استخدام نص ثنائي اللغة (عربي وإنجليزي معا) دعم قواعد البيانات العربية من حيث الترتيب Sort 8 حسني المحتسب Right-To-Left Property • التركيب: object.RightToLeft • • • 9 • قيمته إما trueأو False : Trueيعدل العنصر سلوكه مثل وضع شريط التمرير إلى يسار مربع النص أو محاذاة نص إلى يمين المربع. : Falseيعدل عنصر التحكم سلوكه كأنه في بيئة غير ثنائية االتجاه حسني المحتسب Right-To-Left Property حسني المحتسب 10 RightTo-Left Property الحظ أن عنصري التحكم للمجلدات والملفات ليس لهما خاصية RightToLeft 11 حسني المحتسب RightTo-Left Property يمكن تحويل ذلك باستخدام خاصية المرآة في نظام التشغيل ()Mirroring 12 حسني المحتسب بعض عناصر التحكم http://download.microsoft.com/download/a/a/0/aa0901ff-5209-4e61-9c30-47e2289581ff/VSDemo-Arabic.zip حسني المحتسب 13 بعض عناصر التحكم 14 حسني المحتسب بعض عناصر التحكم 15 حسني المحتسب واجهة برمجة التطبيقات Windows API • • • • • • • Windows API Function (Application Programming )Interface البرامج والدوال التي تتكون منها ويندوز ذاتها تشمل آالف الدوال والتعريفات والبرامج الفرعية والثوابت والتي يمكن تعريفها واستخدامها في بناء التطبيقات المختلفة مكتوبة بلغة سي يجب تعريفها قبل استخدامها في فيجوال بيسك أسهل طريقة للوصول اليها باستخدام التعريفات المرفقة مع فيجوال بيسك يحوي ملف Win32api.txtتحت مجلد \Winapiيضم تعريفات للعديد من دوال الـ APIs يمكن أيضا عرض التعريفات بواسطة عارض خاص مرفق لهذا الغرض 16 حسني المحتسب • )Mirroring( خاصية المرآة في نظام التشغيل General Declaration التالية ضمن التصريحات العامةAPI أضف وظائف Form الخاصة بالنموذج Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Const WS_EX_LAYOUTRTL = &H400000 Private Const GWL_EXSTYLE = (-20) حسني المحتسب 17 • )Mirroring( خاصية المرآة في نظام التشغيل وأضف األتيForm_Load أنتقل إلى Dim OldLong As Long • OldLong = GetWindowLong(Me.hwnd, GWL_EXSTYLE) SetWindowLong Me.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL حسني المحتسب 18 )Mirroring( خاصية المرآة في نظام التشغيل أضف األتي إلىComponent لعكس أي عنصر عبارة عن اسم العنصرXXXX حيث,Form_Load OldLong = GetWindowLong(XXXX.hwnd, GWL_EXSTYLE) SetWindowLong XXXX.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL حسني المحتسب 19 • خاصية المرآة في المثال السابق Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Const WS_EX_LAYOUTRTL = &H400000 Private Const GWL_EXSTYLE = (-20( Private Sub Form_Load)( Dim OldLong As Long OldLong = GetWindowLong(Me.hwnd, GWL_EXSTYLE) SetWindowLong Me.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL OldLong = GetWindowLong(Me.File1.hwnd, GWL_EXSTYLE) SetWindowLong Me.File1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL OldLong = GetWindowLong(Me.Dir1.hwnd, GWL_EXSTYLE) SetWindowLong Me.Dir1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL End Sub حسني المحتسب 20 Control Name RTL Reading RTL Order Alignment Form (MDI, SDI) Printer Label Text Box Command Button Dialog box Control Frame Control Check Box Radio Button Control List Box / Combo Box Rich Edit Control Menu Control Microsoft Chart حسني المحتسب Comments Operating System Dependent Depend on saved file layout 21 Control Name RTL Reading Order RTL Alignment Microsoft DAO Microsoft ADO (OLEDB) Microsoft Grid Control Microsoft Data Bound List Controls Microsoft Flex Grid Microsoft Data Report Microsoft Data List Microsoft Data Repeater (List Box / Combo Box) حسني المحتسب 22 الخصائص ثنائية االتجاه في مصمم التقارير • • تكون التقارير RTLأو LTRاعتمادا على قيمة خاصية RightToLeft إذا كانت True • • 23 اتجاه القراءة للتسمية التوضيحية ( )captionللتقرير تكون من اليمين إلى اليسار ( )RTLوالمحاذاة في شريط العناوين يمينا اتجاه القراءة في النص المطبوع من اليمين إلى اليسار ()RTL ومحاذاة النص يمينا إذا لم تحدد المحاذاة بخالف ذلك حسني المحتسب مالحظة لكل منDIR ال ُمصدّر سمةHTML يتضمن ملف RptLabel RptTextBox RptFunction controls • • • قيمتهاRightToLeft إذا كانت خاصيةRTL وتكون قيمتها True Dir=RTL حسني المحتسب • 24 • خاصية RightToLeftفي RptLabel • عند إضافة عنصر تحكم تسمية labelفي تقرير ما فإن خاصية RightToLeftتكون قيمتها ابتداء مساوية لقيمة الخاصية في التقرير األصل • إذا كانت قيمة الخاصية RightToLeftهي True • • 25 اتجاه قراءة نص التسمية التوضيحية من اليمين إلى اليسار محاذاة النص يمينا حسني المحتسب خاصية RightToLeftفي RptTextBox • عند إضافة عنصر تحكم مربع نص textboxفي تقرير ما فإن خاصية RightToLeftتكون قيمتها ابتداء مساوية لقيمة الخاصية في التقرير األصل • إذا كانت قيمة الخاصية RightToLeftهي True • • 26 اتجاه قراءة النص من اليمين إلى اليسار محاذاة النص يمينا حسني المحتسب خاصية RightToLeftفي RptFunction • إذا كانت قيمة الخاصية RightToLeftهي True • 27 تظهر األرقام باإلنجليزية حسني المحتسب ”اللغة“ Locale • جغرافيّا • • المكان في مصطلح البرمجيات • مجموعة بيانات مرتبطة بمكان معين وتتضمن • • • 28 عرف اللغة اسم و ُم ّ الترميز المستخدم لكتابة اللغة االعتبارات الثقافية حسني المحتسب ”اللغة“ ()Locale • • خواص البيئة المستخدمة المعتمدة لغة المنطقة أو البلد واالعتبارات الثقافية تحدد االعتبارات ومنها • • • • • 29 ترتيب الفرز مخطط لوحة المفاتيح التاريخ والوقت األرقام العملة حسني المحتسب ”اللغة“ Locale • األمور القياسية المرتبطة باللغة • • • • • • مخطط لوحة المفاتيح حجم الورق وحجم المغلفات االفتراضي الطابعات الشائعة الشائع في دقة الشاشات الشفرة المستخدمة في الترميز اتجاه النص • • • 30 أفقي أو عمودي من اليمين إلى اليسار أو من اليسار إلى اليمين أسلوب اإلدخال حسني المحتسب ”اللغات“ العربية المدعومة في ويندوز • • • • • • • • المغرب عمان قطر السعودية سوريا تونس اإلمارات اليمن • • • • • • • • 31 حسني المحتسب الجزائر البحرين مصر العراق األردن الكويت لبنان ليبيا دعم التقويم الهجري • • التقويم الميالدي هو االفتراضي في البيانات والدوال المتعلقة بالتاريخ لتغيير التقويم لدوال VBAالمتعلقة بالتاريخ نستخدم خاصية Calendarالمصاحبة للـ VBAوصيغتها 0 1 32 ][VBA.] Calendar [=value • Value • VbCalGreg • VbCalHijri حسني المحتسب التقويم • عند اختيار التقويم الميالدي • • يحدد تبويب التاريخ في اإلعدادات اإلقليمية تحت لوحة التحكم لغة أسماء األشهر الميالدية عند اختيار التقويم الهجري • • 33 لغة األشهر العربية دائما عربي أسماء األشهر العربية دائما تظهر بالنسق الكامل دون اختصارات حسني المحتسب التقويم ) (التقويمcalendar الدوال التي تتأثر بخاصية Cdate DateAdd DatePart DateValue Format Weekday Date DateDiff DateSerial Day Month Year حسني المحتسب 34 إنشاء ملفات تعليمات ثنائية اللغة • • يمكن إنشاء ملفات التعليمات بطرق منها صيغة )Windows Help (Win Help • • • إنشاء ملفات بصيغة .rtfثنائية اللغة مع التنسيق الالزم من اليمين إلى اليسار. استخدام مجمع التعليمات Help compilerلتجهيز كل ملف صيغة HTML 35 حسني المحتسب تذكير :المحاضرات المقترحة • 15درجة – تحتاج إلى استعداد • اختيار المراجع بعناية فهم الموضوع تلخيص الموضوع بلغتك الخاصة وترتيبه إعداد الملخص في ملف وورد • • • • • • والمتطلبات األخرى الحقا إعداد العرض في ملف بوربوينت إضافة المراجع في نهاية العرض 36 حسني المحتسب مشروع المادة للمناقشة 37 حسني المحتسب وشكرا سبحانك اللهم وبحمدك أشهد أن ال إله إال أنت أستغفرك وأتوب إليك 38 حسني المحتسب