منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
ماهو جدول Asc - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : ماهو جدول Asc (/showthread.php?tid=7822)

الصفحات: 1 2


ماهو جدول Asc - ali.alfoly - 04-03-13

عند مشاهدة احد الشروحات وجدت كلام عن الدالة
PHP كود :
Dim h As Char Chr(100)
        
MsgBox(h

والدالة

PHP كود :
Dim h As String Asc("d")
        
MsgBox(h

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


ماهو جدول Asc - @@أبورائد@@ - 04-03-13

السلام عليكم ورحمة الله وبركاته



كل حرف من أحرف الخط له رقم، فعندما نكتب (
(MsgBox(Chr(65 يظهر الحرف 'A'
والعكس لو أردنا أن نعرف رقم حرف نكتب
(("MsgBox(Asc"A فيظهر رقم الحرف وهو 65

والترقيم الستعشري لـ 65 هو 41


السلام عليكم ورحمة الله وبركاته



ماهو جدول Asc - ali.alfoly - 04-03-13

جزاك الله خير اخى ابو رائد

طيب عايز اعرف فيما يستخدم هذا الجدول


ماهو جدول Asc - sooriaty03 - 04-03-13

السلام عليكم ورحمة الله وبركاته
أخي الكريم
اعلم أن كل حرف تراه مطبوعا على الشاشة أو تقوم أنت بكتابته عن طريق لوحة المفاتيح يتم التعامل معه في الويندوز على أنه رمز يقابله رقم ست عشري موجود ضمن جدول ترميز يطلق عليه اسم ترميز الآسكي ASCII
وهذا الترميز يحتوي على 256 رمز يبدأ بالقيمة 0 وينتهي بالقيمة 255 أو FF في الست عشري ويأخذ كل رمز من هذا الترميز مساحة تخزينية مقدارها بايت واحد أي ما يعادل ثمانية بت
وطريقة استدعاء رمز من هذه الرموز هو كما ذكر الأخ أبو رائد باستخدام الأمرين Asc و Chr
ولكن ما يعيب هذا الترميز أنه محدود ولا يحتوي رموز اللغات الأخرى ولهذا وبسبب الحاجة إلى توسيع جداول الترميز فقد ظهرت جداول ترميز تحتوي على رموز أشمل ولكن تأخذ مساحة تخزينية أضعاف الترميز الأول و يمتد من -32768 إلى 65535 رمز ولاستدعاء رمز من هذه المجموعة نستخدم الأمرين AscW و ChrW بنفس الطريقة التي ذكرها الأخ أبو رائد
ولو قمت بإنشاء حلقة تكرارية وتتبعت رموز الترميز الأخير لوجدت أنه يشمل لغات كثيرة مع أنها غير مثبتة على جهازك وهذه ميزة هذا الترميز
الآن هذه تجربة لمعرفة رقم الرمز الألف (ا) في الترميز الأول ومقارنته مع رقم نفس الرمز في الترميز الثاني لاحظ معي الكود التالي:
كود :
MsgBox(Asc("ا"))
        'ستكون النتيجة 199
        MsgBox(AscW("ا"))
        'هنا النتيجة هي 1575


بالتوفيق



ماهو جدول Asc - @@أبورائد@@ - 04-03-13

السلام عليكم ورحمة الله وبركاته



ما شاء الله شرح وافي، الله يوفقك.....



السلام عليكم ورحمة الله وبركاته



ماهو جدول Asc - ali.alfoly - 04-03-13

اخى sooriaty03 جزاك الله خير
وجعله الله فى موازين حسناتك يوم تلقاه

شرح وافى

لاكن لى سؤال

فيما يستخدم او ....
كيف استفيد من هذا الجدول فى مشاريعى


ماهو جدول Asc - sooriaty03 - 05-03-13

ali.alfoly كتب :اخى sooriaty03 جزاك الله خير
وجعله الله فى موازين حسناتك يوم تلقاه

شرح وافى

لاكن لى سؤال

فيما يستخدم او ....
كيف استفيد من هذا الجدول فى مشاريعى
السلام عليكم ورحمة الله وبركاته
أخي الكريم بصراحة الفيجوال بيسك دوت نت جعلت كل شيء تقريبا جاهز للمستخدم بدون الحاجة إلى أي عمليات معقدة
يعني مثلا إذا أردت أن تقوم بتنفيذ أمر معين عند الضغط على حرف A فإنك لن تحتاج إلى معرفة رقم الترميز للحرف A
لأنك ستجد ذلك في التركيب Keys وهو Keys.A
وهذا مثال كنت أستعمله في الاصدارات القديمة من البيسك لإجبار المستخدم على إدخال حروف صغيرة فقط
طبعا الكود مكتوب في الدوت نت
كود :
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        Dim AsciiCode As Integer = Asc(e.KeyChar)
        If AsciiCode >= 65 AndAlso AsciiCode <= 90 Then
            e.KeyChar = Chr(AsciiCode + 32)
        End If
    End Sub

لاحظ معي كيف قمنا بفحص الأحرف المدخلة فإذا كانت ضمن التسلسل من 65 إلى 90 فهذا يعني أن الحرف المدخل كبير أو Capital
وهنا نقوم بزيادة رقم 32 حيث أن الفرق بين رقم الترميز لحرف a ورقم الترميز لحرف A هو 32

وهذا الكود الآن في الدوت نت لا تحتاجه نهائيا لأنك ببساطة تستطيع تحديد حالة الحروف المدخلة عن طريق تغيير خاصية
CharacterCasing إلى Upper أو Lower

وهذا ما أقصده بأنك نادرا ما تحتاج إلى استعمال هذين الأمرين


ماهو جدول Asc - ali.alfoly - 05-03-13

جزاك الله خيرا وجعله فى موازين حسناتك


RE: ماهو جدول Asc - alfaiz678 - 13-07-18

جزاك الله خيرا اخي
ممكن كود
ان اقول للمستخدم
في حدث key press
اذا ضغط الستخدم اي فتاح لاتفعل شيء
اي اجعل المفتاح يساوي صفر


RE: ماهو جدول Asc - mero5000 - 13-07-18

(13-07-18, 11:51 AM)alfaiz678 كتب : جزاك الله خيرا اخي
ممكن كود
ان اقول للمستخدم
في حدث key press
اذا ضغط الستخدم اي فتاح لاتفعل شيء
اي اجعل المفتاح يساوي صفر

e.Handled = True