منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : ماهو جدول Asc
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
عند مشاهدة احد الشروحات وجدت كلام عن الدالة
PHP كود :
Dim h As Char Chr(100)
        
MsgBox(h

والدالة

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

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



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

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


السلام عليكم ورحمة الله وبركاته
جزاك الله خير اخى ابو رائد

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


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



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



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

شرح وافى

لاكن لى سؤال

فيما يستخدم او ....
كيف استفيد من هذا الجدول فى مشاريعى
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

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

e.Handled = True
الصفحات : 1 2