الانتقال إلى المحتوى

كيف اجعل المستخدم يكتب ارقام او حروف فقط ؟


ahmed_samir

Recommended Posts

السلام عليكم

اخوانى الاعزاء

اريد ان اجبر المستخدم ان يكتب ..سواء ارقام فقط / حروف فقط . داخل تيكست بوكس .. قمت باستخدام .. الخاصيه :

كـود PHP

Data - Datatype

فى البروبيرتى بالت




و لم يحدث اى شئ فكيف اجبر المستخدم ؟

و شكرا
رابط هذا التعليق
شارك

ممكن لو نوع text_item أرقام لايمكن أدخال فيه حرفة وذلك من خلال property_palette والعكس بالنسبة للحروف
هذا شيء أو ممكن نعمل trigger علي tem أسمة when_validat_item بمعني قبل أن تترك item تقوم انت بكتابة كود يقوم بعمل أشك علي البيانات المدخلة علي item مثل لو ترغرب في أدخال أرقام فقط تقوم بكتابة
if :text_name not between 1 and 9 then
message (الرسالة )
end if ;

رابط هذا التعليق
شارك

السلام عليكم ورحمه الله وبركاته
يسعدنى جدا ان اقوم بعرض اول افاده منى لهذا الموقع الجميل(هيا افاده متواضعه بس ميضرش)

علشان تخلى التكست يكتب ارقام فقط وخلى بالك انت لو خليت الداتا تيب بتاعت التكست ارقام وحبيت تكتب صفر على الشمال علشان ارقام الموبيل مش هيرضى يكتب الصفر ومش هيتسجل فى الداتا بيز
ماشى طب اعمل ايه
خليه varchar2 وكده تقدر تكتب صفر على الشمال
طب كده فيه مشكله برده انه هيكتب حروف
تكتب فى whene_validate-item الكود ده

if instr(column_name,'Ð',1,1) > 0 or
instr(column_name,'Ö',1,1) > 0 or
instr(column_name,'Õ',1,1) > 0 or
instr(column_name,'Ë',1,1) > 0 or
instr(column_name,'Þ',1,1) > 0 or
instr(column_name,'Ý',1,1) > 0 or
instr(column_name,'Û',1,1) > 0 or
instr(column_name,'Ú',1,1) > 0 or
instr(column_name,'å',1,1) > 0 or
instr(column_name,'Î',1,1) > 0 or
instr(column_name,'Í',1,1) > 0 or
instr(column_name,'Ì',1,1) > 0 or
instr(column_name,'Ï',1,1) > 0 or
instr(column_name,'Ô',1,1) > 0 or
instr(column_name,'Ó',1,1) > 0 or
instr(column_name,'í',1,1) > 0 or
instr(column_name,'È',1,1) > 0 or
instr(column_name,'á',1,1) > 0 or
instr(column_name,'Ç',1,1) > 0 or
instr(column_name,'Ê',1,1) > 0 or
instr(column_name,'ä',1,1) > 0 or
instr(column_name,'ã',1,1) > 0 or
instr(column_name,'ß',1,1) > 0 or
instr(column_name,'Ø',1,1) > 0 or
instr(column_name,'Æ',1,1) > 0 or
instr(column_name,'Á',1,1) > 0 or
instr(column_name,'Ä',1,1) > 0 or
instr(column_name,'Ñ',1,1) > 0 or
instr(column_name,'áÇ',1,1) > 0 or
instr(column_name,'ì',1,1) > 0 or
instr(column_name,'É',1,1) > 0 or
instr(column_name,'æ',1,1) > 0 or
instr(column_name,'Ò',1,1) > 0 or
instr(column_name,'Ù',1,1) > 0 or
instr(column_name,'a',1,1) > 0 or
instr(column_name,'b',1,1) > 0 or
instr(column_name,'c',1,1) > 0 or
instr(column_name,'d',1,1) > 0 or
instr(column_name,'e',1,1) > 0 or
instr(column_name,'f',1,1) > 0 or
instr(column_name,'g',1,1) > 0 or
instr(column_name,'h',1,1) > 0 or
instr(column_name,'i',1,1) > 0 or
instr(column_name,'j',1,1) > 0 or
instr(column_name,'k',1,1) > 0 or
instr(column_name,'l',1,1) > 0 or
instr(column_name,'m',1,1) > 0 or
instr(column_name,'n',1,1) > 0 or
instr(column_name,'o',1,1) > 0 or
instr(column_name,'p',1,1) > 0 or
instr(column_name,'q',1,1) > 0 or
instr(column_name,'r',1,1) > 0 or
instr(column_name,'t',1,1) > 0 or
instr(column_name,'s',1,1) > 0 or
instr(column_name,'v',1,1) > 0 or
instr(column_name,'u',1,1) > 0 or
instr(column_name,'y',1,1) > 0 or
instr(column_name,'x',1,1) > 0 or
instr(column_name,'z',1,1) > 0 or

then
message('your message');
message('your message');
go_bolck('block name');
end if;


كده مش هيقدر يكتب حرف واحد ولا عربى ولا انجليزى
وبالكود ده تقدر تخليه يكتب فى التكست عربى بس لو حبيت او انجليزى بس
بس هتعدل فى الكدود تشيل الحروف العربى او الانجليزى وتحط مكانهم الارقام من 1 الى 9 لو حبيت بس خلى بالك لو تكست بتكتب فيه عناوين سيبه يكتب ارقام علشان يكتب رقم الشارع :)
فى كود برده خاص بالايميل يخليك تجبر اليوسر انه يكتب الايميل زى ما الكتاب قال لو محتاجه قولى ابعتهولك
يارب اكون افدتك ولو بشيئ بسيط
دعواتك

رابط هذا التعليق
شارك

بالنسبة للشق الآخر من السؤل وهو الخاص بكتابة الحروف فقط دون الأرقام


فهناك DataType اسمها ALPHA لن تقبل إلا الحروف فقط من a-z or A-Z

رابط هذا التعليق
شارك

السلام عليكم

الاخوة الاكرام شكر لكم كثيرا .

للاخ : احمد جادو
- فكرة ال ALPHA جمليه بالفعل .. حيث انا تجبر على كتابه الحروف و بالطبع ( الحروف العربى و الانجليزى معا )

الاخ : rmoplusx
- كنت استخدم ايام الفيجوال اسلوب ال ascii فعلا .. فهو .. ذات تحكم كامل بازرار لوحه المفاتيح ..
- اذا مكن لو تضع لنا مثال عملى و شكرا

الاخ : elbanna2008
كود .. قمت بلتحايل فيه فعلا .. و هو فكرة بيسطه .. و اعتقد انه تقضى الغرض و لكن اعتقد غير احترافيه .. حيث انها سوف يتضيع لك الوقت من كتابه كل حرف من لوحه المفاتيح .. و لكن يمكن استخدامها فى حاله امن ليس هناك مفر ..

الاخ : مصطفي الروبي
اعتقد ان الكود يعمل فقط فى الارقام فقط .. و لكن هل سوف تكتب له مابين ال a to z او ما بين A TO Z اعتقد انه بنفع بالارقام اكثر منه الاحرف .

فشكرا لكم جميعها اخوانى .. و اعتقد اننا افضل الطريقه الخاصه بالاخص rmoplusx و الاخ احمد جادو ..

و لكن هناك سؤال :

قمت باختيار طريقه الاخ احمد جادو .. و اريد ان اخرج رساله .. و قمت بوضع الكود فيه whene_validate-item

كـود PHP
if error_type='FRM' and error_code=50016 then

message('NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO');
message('NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO');
end if;


بحيث انه اذا وجد خطأ للفروم و له الرقم الاتى . سوف يخرج الرساله .. و لكن الغريب ان لا يخرج رساله لماذا ؟؟

شكرا لكم جميعا
رابط هذا التعليق
شارك

حل احلى من كل دة
الملف المرفق مضغوط
عبارة عن فورم
بس مش هتشتغل الا على
forms 10g

اللى عملته كالتالى
2 text items
t1 and t2
t1 property are
automatic escape = true
length =1
width =1
height = 1
See when validate item trigger on t1

Enjoy :unsure:

TEST_ASCII.rar

رابط هذا التعليق
شارك

السلام عليكم

اخى طارق و الله .. كود جميل و فكرة جميله و يعمل .. مع اننا فيه قمنا ايضا بكتابه القيم .. اى ان ما يكتب داخل القيم المعطى .. و لكنى اخى الفاضل مش فاهم القصه ماشيه ازاى ..

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

وشكرا

رابط هذا التعليق
شارك

الفكرة ان احنا عاوزين نعمل ذى الفيجوال بيذك و هو انه بيقد يتحكم فى ال ASCII الخاصة بالكيبورد
ذى ما كلنا عارفين ان فى Event فى الفيجوال بيذك اسمه KeyPress
لكن كلنا عارفين كويس ان اوراكل فورمز مفهوش تريجر اسمه Keypress الا اذ استخدمنا Bean ودة موضوع تانى

شرح الفكرة:

اولا عملنا text item اسمه مثلا T1
و خلينا الخصائص بتاعته كالتالى
Lenght 1
autoscape true
الخاصية length بتخلينى اتحكم فى عدد الحروف اللى هكتبها فى الايتم
و الخاصية autoscape معناها ان اول ما اكتب كل الحروف فاللى يحصل ان ال cursor يخرج تلقائى من ال item و يروح لل item اللى بعدة
فى الحالة بتاعتنا دى عدد الحروف واحد معنى كدة ان ال cursor هيخرج بعد ما اكتب اى حرف و يروح لل item اللى بعدة

اثناء خروج ال cursor من ال item التريجر when_validate_item بيحصلة fire
هنا لقى على التريجر دة اكتب الكود دة

begin if :T1 in('0','1','2','3','4','5','6','7','8','9') then 
:T2 := T2||:T1;
end if;
:T1 := null;
end;



معنى الكود ان لو انا كتبت اى من الارقام من 0 الى 9 انقل القيمة اللى انا كتبتها فى الايتم التانى

و فى الايتم التانى اللى هو t2
مش عاوزين اليوزر يقدر يقف عليه بالماوس و لا الكيبورد
فالحل اية؟
الحل ان نكتب على التريجر when_new_item_instance
GO_ITEM|("T1');

و بكدة قدرت اتجكم فى الحروف اللى بيستخدمها اليووزر فى الكيبورد بس بشكل غير مباشر

فى حل تانى طبعا غير الحل دة ممكن اعمله بس دة هعمل ب BEAN
لان فى الجافا ممكن اقدر امسك الحروف بتاعت الكيبورد و اتحكم فى اللى يظهر و اللى ميظهرش
ففى الحل التانى انى هعمل Custom Event فى كلاس و اناديلة من على الفورم
بس دة حل تانى و ميذته انى اقدر اتكم فى ال backspace على عكس الحل الاول انى مقدرش اتحكم فى ال backspace

يا ريت لو فى حاجة مش واضحة تسالونى

تم تعديل بواسطة tarek_fathi
رابط هذا التعليق
شارك

السلام عليكم

الله ينور يا اخى طارق
فعلا فكرة جميله ..

و انت فكرتنى بال keyascii كانت رائعه فعلا .. و اعتقد اننا حنحتاج اننا نتعامل مع ال java اكتر .. و اكتر ... و انا لحد دلوقتى الحمد الله لميت الموضوع بس ممكن اغلس بعد كدة عليكى فى موضوع الجافا دة بس لسه لما اوصله لانى لسه فى بدايه الطريق فى الاواكل . و عايز يعنى اظبط كدة شويه حجات .. وربنا يسهل يا رب

شكرا ليك مرة تانيه

وقلى صح .. اخبار دمياط اه .. و الله وحشتنى مصر ..

شكرا

رابط هذا التعليق
شارك

:unsure:

احمد انت عرفت ازاى انى من دمياط

هو انا كاتب فى البروفيل كدة

عموما انا اتمنى اخدم و الله

و اللى عندى كله اقوله

انت كاتب كلمة حلوة اوى ( لا تبخل حتى لا يبخل الله عليك)

ربنا ييسرلك الحال و تبقى ديفيلوبر ممتاذ و فى وقت قصير

انا الايميل بتاع دة

[email protected]

و انا حليا فى الكويت بقالى اكتر من سنتين

و نفسى اشوف دمياط اوى و امشى على اللسان فى راس البر

و الله مصر بتوحشنى اوى و كل اللى فيها بيوحشنى

لو فى اى حاجة ابعتلى على الميل

انا للاسف مش بدخل المنتدى كتير لانى دايما بيضغطو عليا فى الشغل

ربنا ييسرلك امورك و يكرمك

:wacko:

رابط هذا التعليق
شارك

كويسة بس مش ذى ما بيعمل الفيجوال بيذك بالظبط
الفيجوال بيذك كانه بيقفل لوحة المفاتيح
لكن فى الفورم دى بيظهر الحرف يعنى بيتكتب خلاص
فبدل كدة كان ممكن نعمل TEXT ITEM عادى و نكتب الكود بتاعنا على WHEN VALIDATE ITEM

رابط هذا التعليق
شارك

السلام عليكم

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

- انا قمت بعمل متغير .. بحيث اول ما يحصل ضغط على لوحه المفاتيح يتم تحميل الحرف الواحد فقط على المتغير ..
- يتم السؤال على المتغير هذا .. هل هو فى المدى المحدد من الاخ rmoplusx
- اذا . كان بالمدى .. هذا يتم تفريغ المتغير .. و يتم مسح ال list و يتم الخروج .
- امل لو العكس فيكتب طبعا عادى

سؤال هنا :

هل يمكن اخوانى ان تجعل قيه ال ascii ب null لو هذا صحيح .. يبقا لو هو فى المدى .. يبقا ال ascii= null و ميكتبش شئ

الكود قمت بوضعه فى ال post_change على اساس قبل التغير ..

كـود PHP
declare
var_char varchar2(1);

BEGIN

var_char := ASCII(SUBSTR(:LIST4,-1,1));

if var_char < 65 or var_char > 90 then
var_char:='';
:LIST4:=null;

end if ;


end;


و شكرا

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

و شكرا لك اخى الفاضل ..
رابط هذا التعليق
شارك

اخى طارق الفورمة رائعة ولكن مش قادر اعمل تعديل فى ال text item
قمت بعمل اضافة بسيطة على الفورمة ابتاعتك وهى عبارة عن اظهار رسالة بعدد ازرار لوحة المفاتيح التى يضغط عليها مستخدم الفورمة فعليا ....ممكن بعد كده نقارن هذا العدد بال length الذى تم كتابته فى ال text item للتحقق من ان كل الازرار التى تم الضغط عليها ارقام فقط

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية