الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

معلومة/Resource Files

بدأه SOLO.NET في 6 يناير 2006 · 32 رد · 5,487 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#26

أخي العزيز مشكور على شرحك

ولكن لدي سئوال وهو

نفرض انه عندنا كذا textbox و وايد من المستخدم حينما ينتقل من واحدة إلى أخرى أن تتغير اللغة مثلا في الأولى كانت العربية واذا ضغط المستخدم tab control حتى ينتقل للاخرى (textbox ) تتغير اللغة إلى العربية

وشكرا

رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ

#27

الأخ فلسطيننا

إذا كنت تقصد تغيير لغة الادخال فهذا موضوع غير المطروح هنا ولكن يمكنك وضع كود تغيير اللغة في الحدث GotFocus لصندوق النصوص ويمكن تحقيق ذلك باستخدام WindowsAPI وأعتقد أن اسم الاجراء SetKeyboardLanguage

على كل حال أي عمل تريد القيام به عندما ينتقل التركيز إلى تحكم معين نستخدم في العادة الحدث Gotfocus

تم تعديل هذه المشاركة بواسطة samerselo في 8 مايو 2006 في 09:47

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#28

أخوي سامر انا فاهم الكلام دا

بس انا بقول ان الريسورس فايل تبعي موجود في مشروع تاني

يعني عامل مشروع فيه الريسورس فايل وفيها رسائل الأخطاء تبع البرنامج

وعملت مشروع تاني وعايز اقرأ رسائل الخطأ اللي في المشروع الأول

فهمتني؟

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#29
اقتباس
بس انا بقول ان الريسورس فايل تبعي موجود في مشروع تاني

يعني عامل مشروع فيه الريسورس فايل وفيها رسائل الأخطاء تبع البرنامج

وعملت مشروع تاني وعايز اقرأ رسائل الخطأ اللي في المشروع الأول

فهمتني؟

اقتباس
Satellite Resources

ملفات المصادر المطمورة تمكنك من تنظيم ووضع البيانات فى موقع مركزى على سبيل المثال يمكنك حفظ كل الصور المستخدمة فى ملف مصادر واحد وبعدها يمكن لكل الشاشات Forms استخدام هذه الصور من هذا الملف

ولكن كما ذكرنا فى المقدمة بان ملفات المصادر المطمورة عند استبدالها ستضطر الى اعادة ترجمة التطبيق حتى يتعامل مع الملفات الجديدة.

يمكن حل هذه المشكلة بوضع ملفات المصادر فى مجمع خاص بها Resource-only Assembly وهذا المجمع يحتوى على بيانات التطبق فقط ولا علاقة له بمنطق البرنامج وهو ما يسمى بـSattellite Assembly او المجمع التابع

ولانشاء هذا المجمع ابداء مشروع جديد واختار القالب Class Library ثم احدف الكلاس المبدئ والذى تضيفه بيئة التطوير وبعدها قم باضافة المصادر للمشروع كالمعتاد وعدها قم بترجمة المشروع والذى سينشئ منه ملف بالامتداد .DLL

والان يمكنك انشاء تطبيق نوافذ والذى يقوم بتحميل المصادر من المجمع الذى انشأناه للتو

كما ترى فى الكود فى البداية قمنا بتعريف متغير من الفئة Assembly وباستخدام الطريقة المشتركةLoadFrom والتى تاخذ مسار المجمع كوسيطة يتم تحميل كافة المعلومات حول المجمع المرسل كوسيطة لهذه الطريقة وبوضعك للملف SatelliteResources.dll فى مجلد bin لن تضطر الى كتابة السار الكامل لهذا الملف وباقى الكود تم شرحه سابقا

Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
‘ Get the resource Assembly.
Dim satellite_assembly As Assembly
satellite_assembly = Assembly.LoadFrom(“SatelliteResources.dll”)
‘ Create a ResourceManager for the satellite’s
‘ main resource file.
Dim resource_manager As ResourceManager
resource_manager = New ResourceManager( _
“SatelliteResources.Resources”, _
satellite_assembly)
‘ Get the string resource from the satellite’s
‘ main resource file.
lblTest.Text = resource_manager.GetString(“Test”)
‘ Create a ResourceManager for the satellite’s
‘ Images resource file.
resource_manager = New ResourceManager( _
“SatelliteResources.Images”, _
satellite_assembly)
‘ Get the form’s background image from the satellite’s
‘ Images resource file.
Me.BackgroundImage = CType( _
resource_manager.GetObject(“Smile”), Image)
End Sub
 :rolleyes:

اليس هذا ما تريده؟؟؟

انشئ ملفى res واحد للعربية واخر للانجليزية واقراء القيمة على حسب الثقافة او اللغة المختارة

مثلا للعربية

Dim resource_manager As ResourceManager
resource_manager = New ResourceManager( _
“SatelliteResources.ArabicResources”, _
satellite_assembly)
‘ Get the string resource from the satellite’s
‘ main resource file.
lblTest.Text = resource_manager.GetString(“Message”)

للانجليزية

Dim resource_manager As ResourceManager
resource_manager = New ResourceManager( _
“SatelliteResources.EnglishResources”, _
satellite_assembly)
‘ Get the string resource from the satellite’s
‘ main resource file.
lblTest.Text = resource_manager.GetString(“Message”)

لاحظ اسم ملف المصادرSatelliteResources.EnglishResources

وكل ما تحتاجه هو عمل اختبار لمعرفة الثقافة المستخدمة للتوجيه الى الملف المناسب ;)

اقتباس
أخي العزيز مشكور على شرحك

ولكن لدي سئوال وهو

نفرض انه عندنا كذا textbox و وايد من المستخدم حينما ينتقل من واحدة إلى أخرى أن تتغير اللغة مثلا في الأولى كانت العربية واذا ضغط المستخدم tab control حتى ينتقل للاخرى (textbox ) تتغير اللغة إلى العربية

وشكرا

اخ فلسطيننا

راجع لغة الادخال فى

تطبيقات الويندوز

بالتوفيق للجميع.

وعذرا على التقصير،،،

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#30

ألف شكر حبيبي

هو دا المطلوب بالزبط طبقته وطلع 100%

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#31

أحب ان اشير الى نقطة

اذا كنت تريد ان تنشئ لغات متعددة من الريسورس stallite

لابد ان يكون يوجد ملف اساسي كالتالي

MainRes.resx

ومن ثم توجد ملفات اللغات

MainRes.ar-SA.resx

MainRes.en-US.resx

طبعا انت مخير في التسمية ولكن الملف الاساسي لو ماكان في راح يعطيك خطأ

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#32

السلام عليكم

موضوع جميل

إخوانى هل من مساعد فى هذا الموضوع

/index.php?showtopic=95700

تحياتى

قال رسول الله صلى الله عليه وسلم

يكبر بن أدام ويكبر معه شيئان كثرة المال وطول العمر

صدق رسول الله صلى الله عليه وسلم

قال عمر بن الخطاب رضي الله عنه

نحن قوم أعزنا الله بالإسلام فإذا إبتغينا العزة فى غيره أذلنا الله

#33

انا اقوم بعمل برنامج يكتب و يقرا ملفات ذات امتدادات خاصة

اقوم بتسجيل هذه الامتدادات فى مشروع ال set up

اريد ام اجعل لكل امتداد ايقونة خاصة به

فهل يمكننى استخدام Satellite Assemblies لعمل ملف dll يحتوي على هذه الايقونات

مواضيع مشابهة