19-10-13, 10:53 PM
20-10-13, 02:06 AM
السلام عليكم...
إذا كنت تقصد معرفة البلد الموجود به الحاسوب عند اتصاله بالإنترنت فأعتقد أنه يتم من خلال الـ IP address لكني لا أملك الكود الآن.
أما إذا كنت تريد معرفة البلد حسب الإعدادات الإقليمية للنظام فيمكن ذلك باستعمال الدالة GetLocaleInfo (من دوال API) و لتجربة ذلك:
* ضع على الـ Form عدد 8 مربعات نص، و اترك أسماءها كما هي: TextBox1 إلى TextBox8 (للتجربة فقط).
* ضع التصريحات التالية في بداية الـ Class:
* في الحدث Load للـ Form ضع الكود التالي:
* عند تشغيل البرنامج ستظهر في مربعات النص معلومات حسب قيمة البارامتر الثاني (LCType) للدالة.
* نرجو الاستفادة و السلام.
إذا كنت تقصد معرفة البلد الموجود به الحاسوب عند اتصاله بالإنترنت فأعتقد أنه يتم من خلال الـ IP address لكني لا أملك الكود الآن.
أما إذا كنت تريد معرفة البلد حسب الإعدادات الإقليمية للنظام فيمكن ذلك باستعمال الدالة GetLocaleInfo (من دوال API) و لتجربة ذلك:
* ضع على الـ Form عدد 8 مربعات نص، و اترك أسماءها كما هي: TextBox1 إلى TextBox8 (للتجربة فقط).
* ضع التصريحات التالية في بداية الـ Class:
كود :
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Integer, ByVal LCType As Integer, ByVal lpLCData As String, ByVal cchData As Integer) As Integer
Private Const LOCALE_SLANGUAGE = &H2 ' اسم اللغة كاملاً
Private Const LOCALE_SENGLANGUAGE = &H1001 ' اسم اللغة كاملاً بالإنجليزي
Private Const LOCALE_SABBREVLANGNAME = &H3 ' رمز اختصار اللغة
Private Const LOCALE_SNATIVELANGNAME = &H4 ' الاسم المحلي أو القطري للغة
Private Const LOCALE_SCOUNTRY = &H6 ' اسم البلد كاملاً
Private Const LOCALE_SENGCOUNTRY = &H1002 ' اسم البلد كاملاً بالإنجليزي
Private Const LOCALE_SABBREVCTRYNAME = &H7 ' رمز اختصار اسم البلد
Private Const LOCALE_SNATIVECTRYNAME = &H8 ' الاسم المحلي أو القطري للبلد
Private Const LOCALE_SYSTEM_DEFAULT = &H800
Private Const LOCALE_USER_DEFAULT = &H400
* في الحدث Load للـ Form ضع الكود التالي:
كود :
Dim MyLocale As Integer = LOCALE_SYSTEM_DEFAULT
Dim RetLen As Integer
Dim Buffer As String
' اللغة:
Buffer = StrDup(255, " ")
RetLen = GetLocaleInfo(MyLocale, LOCALE_SLANGUAGE, Buffer, Buffer.Length)
If RetLen <> 0 Then
TextBox1.Text = Buffer.Substring(0, RetLen)
End If
Buffer = StrDup(255, " ")
RetLen = GetLocaleInfo(MyLocale, LOCALE_SENGLANGUAGE, Buffer, Buffer.Length)
If RetLen <> 0 Then
TextBox2.Text = Buffer.Substring(0, RetLen)
End If
Buffer = StrDup(255, " ")
RetLen = GetLocaleInfo(MyLocale, LOCALE_SABBREVLANGNAME, Buffer, Buffer.Length)
If RetLen <> 0 Then
TextBox3.Text = Buffer.Substring(0, RetLen)
End If
Buffer = StrDup(255, " ")
RetLen = GetLocaleInfo(MyLocale, LOCALE_SNATIVELANGNAME, Buffer, Buffer.Length)
If RetLen <> 0 Then
TextBox4.Text = Buffer.Substring(0, RetLen)
End If
' البلد:
Buffer = StrDup(255, " ")
RetLen = GetLocaleInfo(MyLocale, LOCALE_SCOUNTRY, Buffer, Buffer.Length)
If RetLen <> 0 Then
TextBox5.Text = Buffer.Substring(0, RetLen)
End If
Buffer = StrDup(255, " ")
RetLen = GetLocaleInfo(MyLocale, LOCALE_SENGCOUNTRY, Buffer, Buffer.Length)
If RetLen <> 0 Then
TextBox6.Text = Buffer.Substring(0, RetLen)
End If
Buffer = StrDup(255, " ")
RetLen = GetLocaleInfo(MyLocale, LOCALE_SABBREVCTRYNAME, Buffer, Buffer.Length)
If RetLen <> 0 Then
TextBox7.Text = Buffer.Substring(0, RetLen)
End If
Buffer = StrDup(255, " ")
RetLen = GetLocaleInfo(MyLocale, LOCALE_SNATIVECTRYNAME, Buffer, Buffer.Length)
If RetLen <> 0 Then
TextBox8.Text = Buffer.Substring(0, RetLen)
End If
* عند تشغيل البرنامج ستظهر في مربعات النص معلومات حسب قيمة البارامتر الثاني (LCType) للدالة.
* نرجو الاستفادة و السلام.
20-10-13, 04:25 AM
السلام عليكم ورحمة الله وبركاتة
يمكنك يا اخى الاطلاع على هذا الرابط
ستجد فية ما تريدة بالتحديد
يمكنك يا اخى الاطلاع على هذا الرابط
ستجد فية ما تريدة بالتحديد
http://www.codeproject.com/Articles/2836...untry-name
21-10-13, 05:37 PM
جزاكم الله خيراً ..........
تحياتي
تحياتي