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

البحث عن طريق سهله للتحكم في ادخالات edit لتكون رقميه

بدأه shalwan في 28 ديسمبر 2010 · 4 رد · 708 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني لكرام

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

لدي خانة ادخال السعر بالفاتوره عباره عن edit1.text

تحكمت بنوع ادخالاتها في onkeypress بحيث تكون رقميه احد المشغلين كرر الفاصله مثال ( 1..1 او 1.1.1) طبعا هي خانه مسموح بها في التحكم كمفاتيح رقميه وللكن لا يمكن تخزينا في متغير رقمي 0

البرنامج كبير جدا وبه فورمات كثيره تشتمل مثل هذه العمليه

سؤالي هل لي بطريقه اصحح ذلك

اتا استطيع اضع فى كل edit عند الخروج او عند النغيير تتبع حسب الطول ولكنها متعبه اذا استندت عليها في كل فورم وفي كل edit رقميه

مع تحياتي لكم

تم تعديل هذه المشاركة بواسطة shalwan في 28 ديسمبر 2010 في 18:09

نسأل الله الجنه لنا ولوالدينا ولمن لهم حق علينا

#2

السلام عليكم...

حدد أول Edit (مثلاً Edit1) تريدها أن تقبل أعداد كسرية (بالفاصلة) ثم اذهب إلى الحدث OnKeyPress الخاص بها. امسح أي كود مكتوب فيه سابقاً ثم انسخ إليه الكود التالي:

    if Key > #31 then begin
        if Key = '.' then begin
            if Pos('.', TEdit(Sender).Text) <> 0 then begin
                if TEdit(Sender).SelLength > 0 then begin
                    if Pos('.', TEdit(Sender).SelText) = 0 then
                        Key := #0;
                    end
                else
                    Key := #0;
            end;
            end
        else if not (Key in ['0'..'9']) then
            Key := #0;
    end;

* لنفرض أن لديك Edit أخرى (Edit2 مثلاً) تريدها أن تقبل أعداداً كسرية فقط (بالفاصلة). لاتنشئ لها إجراء للحدث OnKeyPress (و ذلك بالنقر المزدوج أمام هذا الحدث في نافذة الخصائص)، بل حدد Edit2 ثم اذهب إلى نافذة الخصائص و افتح القائمة المقابلة للحدث OnKeyPress ثم اختر اسم الحدث المرتبط بالـ Edit الأولى (مثلاً Edit1KeyPress).

قم بنفس الخطوة لكل Edit تريد له نفس الإجراء، و بهذا ستتشارك كل الـ Edits المطلوبة (على نفس الـ Form طبعاً) في نفس الإجراء. دون أن تحتاج إلى تكرار كتابته لكل Edit على حدة.

إذا كانت لديك Form أخرى فستحتاج طبعاً إلى أن تكتب الإجراء مرة واحدة في أحد الـ Edits الموجودة عليها، و تكرر نفس الخطوات.

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#3

اخي ناجي

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

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

تحياتي

نسأل الله الجنه لنا ولوالدينا ولمن لهم حق علينا

#4

بامكانك أيضاً عمل مكون يرث الـ TEdit وتضيف له الخصائص والأحداث التي تريدها ...

وهذه الطريقة قد تناسبك بشكل أفضل

#5
shalwan كتب:

اخي ناجي و ياسين

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

تحياتي

أخي ناجي

طبقته وكان المثال جيد اشكرك عليه اخي ناجي

اما اخي ياسين

فأنا لا اعرف اعداد المكون

فهل لي منك بذلك اخي ياسين

شكرا لكم

نسأل الله الجنه لنا ولوالدينا ولمن لهم حق علينا

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…