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

مشكلة في تنفيذ الفورم


تيسير نافع

Recommended Posts

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

عندي برنامج يحتوي على عدد من الفورمات اول فورم هو فورم الدخول للنظام

بعد عملية ال login مفترض ان تفتح شاشة الرئيسية التي تحتوي على ازرار تؤدي الى عدد من الشاشات 

لكن بعد الضغط على login لا تفتح الشاشه الرئيسية وانما يكون هنالك load ..حاولت أرن الشاشه الرئيسية لحالها بس تخرج على طول ويتبقى فقط شاشة المتصفح .

الغريب انها كانت تعمل  في السابق بس فجأة توقفت ..بحثت في المنتدى ولم اهتدي الى حل فارجو مساعدتكم مشكورين.

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

مش فاهم تقصد ايه بـ load , ومشعارف انت كاتب ايه في الشاشتين .

جرب ctrl+shift+k then ctrl+t في الفورم بيلدر وبعدين جرب ترن الشاشات تانى .

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

مش فاهم تقصد ايه بـ load , ومشعارف انت كاتب ايه في الشاشتين .

جرب ctrl+shift+k then ctrl+t في الفورم بيلدر وبعدين جرب ترن الشاشات تانى .

اشكرك استاذي الفاضل على تعاونك وسرعة الرد

اقصد ب load يعني بعد ادخال اسم المستخدم وكلمة المرور والضغط على login يحاول يفتح الشاشة الرئيسية لكن لاتفتح ويظهر معي خط اسود متحرك اسفل شاشة الدخول كأنما يحاول الدخول للشاشة الرئيسية لكن لخطب ما لا يستطيع.

كاتبه في شاشة ال login في تريقر على مستوى ال item الاسمه login كيرسور يقوم بجلب بيانات من جدول ال users وبعد مطابقة اسم المستخدم وكلمة المرور يفتح الشاشة الرئيسية من خلال المسار

 NEW_FORM('C:\Documents and Settings\Administrator\Desktop\proj\MAIN.FMX

وفي الشاشه الرئيسية عدة ازرار كل منها يؤدي الى شاشة معينة من خلال مناداتها ب (المسار)+call_form

وتحتوي ايضا على display_item لعرض اسم المستخدم و texet_item به نوع المستخدم (user_type)يتم عرض البيانات فيهما من خلال تريقر على مستوى الفورم يختبر فيه قيمة (user_name & user_type)حتى يعطي ال user_type الصلاحيات للدخول للشاشه الخاصه به

وفعلت ما أشرت به ولا اخطاء في ال compile

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

الكود لو سمحت عشان لو فيه مشكلة نعرف .
جربت بعد الكومبايل بالطريقة المذكورة .
جرب تضع ال main form على بارتيشن ال d وغير المسار فى الكود .

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

الكود لو سمحت عشان لو فيه مشكلة نعرف .

جربت بعد الكومبايل بالطريقة المذكورة .

جرب تضع ال main form على بارتيشن ال d وغير المسار فى الكود .

ليس لدي بارتشن d

وضعته بال c مباشرخ

الكود الخاص ب login

declare
cursor get is
select * from users where 
users.user_name=:block.user_name and users.user_pass= :block.password;
x users%rowtype;
begin
open get;
fetch get into x;
if get%found then
 --:global.user_name:=x.user_name;
new_form ('c:\book\main.fmx');
else
:global.try_number:=:global.try_no+1;
if :global.try_no>=3 then
message ('username or password invalid');
message (' ');
:global.user_name:=null;
:global.password:=null;
go_item('block.user_name');
else
message('invalid');
message('moooore 3 item');
exit_form;
end if;
end if;
end;
 
الكود الخاص بال main form

set_window_property(forms_mdi_window,window_state,'maximaize');
set_window_property('window1',window_state,'maximaize');
   
:=:global.user_name;
begin
:user_type:=:global.user_type;
if :global.user_type='x' then
set_item_property('student',enabled,property_true);
end if;
if  :global.user_type='y' then
set_Item_property('student',enabled,property_false);
set_Item_property('book',enabled,property_false);
end if;
if  :global.user_type='z' then
set_Item_property('fines',enabled,property_false);
set_Item_property('reg',enabled,property_false);
end if;
end;
تم تعديل بواسطة ميسم الكرام
رابط هذا التعليق
شارك

جربت ctrl +shift+key ؟
- قلت انك حطيت المين فورم على السى مباشرة وانت فى الكود بتنده عليها من فولدر اسمه book .
- ضع المين فورم على اى بارتيشن غير السى .
- عدل مسار المين فورم فى شاشة اللوجن .
ملاحظة : الكود غير جيد ، لكن سيب الحكاية دى للاخر .

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

مشكورة الاخت ميسم ..وسوف اطلع على الملف ان شاء الله.

الاخ اسلام الاوراكل مسطب عندي على ويندوز اكس بي عن طريق vmwear  وبه بارتشن واحد فقط وهو ال c

لكن قمت بوضع ال main_form على c من غير فولدر وجاتني رساله    

                                                 windows can not find  'c:\main.fmb'' make sure you typed the name correctly, and then try again

 

 

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

QOUTE  الى هى دى '

'C:/MAIN.FMX'

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

 'c:\main.fmb''

عملت بحث باسم الفورم MAIN.FMX وطلع معي واحد فقط

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

بحث ايه ؟ !!

- حط الفورمه في الـ C واكتب المسار صح في شاشة اللوجن .

NEW_FORM('C:\MAIN.FMX') ;

 

- و جرب تنده على اى فورمه من اى حتة عشان نعرف المشكلة فين بالظبط .

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

وبعدين على أد منا فاكر ان الاشارة لبارتيشن السي على الـ Virtual Machine متنفعش كده ,

خد المسار Copy and Paste وانت واقف على السي في الـ Virtual Machine

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

بحث ايه ؟ !!

- حط الفورمه في الـ C واكتب المسار صح في شاشة اللوجن .

NEW_FORM('C:\MAIN.FMX') ;

 

- و جرب تنده على اى فورمه من اى حتة عشان نعرف المشكلة فين بالظ

عملت كل دا ومازالت المشكله قائمة 

وبنده على اي فورم من اي مكان بفتح  معي عادي 

ماعدا الشاشة الرئيسيه 

مرفق صورةNew WinRAR archive.rar

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

 

بحث ايه ؟ !!

- حط الفورمه في الـ C واكتب المسار صح في شاشة اللوجن .

NEW_FORM('C:\MAIN.FMX') ;

 

- و جرب تنده على اى فورمه من اى حتة عشان نعرف المشكلة فين بالظ

عملت كل دا ومازالت المشكله قائمة 

وبنده على اي فورم من اي مكان بفتح  معي عادي 

ماعدا الشاشة الرئيسيه 

مرفق صورةattachicon.gifNew WinRAR archive.rar

صورة شاشة اللوجن login.rar

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

متهيألى الصورة مش هتفدنى بحاجة

ارسلى الكود لو سمحتى مرة أخرى , بعد ما تعدلى التعديلات الي ذكرتها وتجربى وتشوفى ايه الي هيحصل .

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

حطيت MAIN_FORM على C وعدلت مساره في شاشة اللوجن

 

الكود على شاشة اللوجن

declare
cursor get is
select * from users where 
users.user_name=:block.user_name and users.user_pass= :block.password;
x users%rowtype;
begin
open get;
fetch get into x;
if get%found then
  :global.user_name:= x.user_name;
:global.user_type := x.user_type ;
    new_form ('c:\main.fmx');
else
:global.try_number:=:global.try_no+1;
if :global.try_no>=3 then
message ('username or password invalid');
message (' ');
:global.user_name:=null;
:global.password:=null;
go_item('block.user_name');
else
message('invalid');
message('moooore 3 item');
exit_form;
end if;
end if;
end;
رابط هذا التعليق
شارك

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

 

لو ممكن أن تلغي الكود السابق وتكتب Call_Form

بعد الضغظ على زر الدخول وتتأكد من منادة الفورمة بشكل صحيح..؟

 

وهل إذا شغلت الفورمة الرئيسية مباشرة هل تعمل معك أو هناك مشكله في تشغليها..

 

ماهي إصدار المتصفح إلي تستدخمه..

 

مووووفقه

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

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

 

لو ممكن أن تلغي الكود السابق وتكتب Call_Form

بعد الضغظ على زر الدخول وتتأكد من منادة الفورمة بشكل صحيح..؟

 

وهل إذا شغلت الفورمة الرئيسية مباشرة هل تعمل معك أو هناك مشكله في تشغليها..

 

ماهي إصدار المتصفح إلي تستدخمه..

 

مووووفقه

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

مشكور اخي على ردك 

الحمد لله اتحلت المشكلة واتضحت من خصائص الازرار الموجوده على الشاشه الرئيسيه والتي بدورها تؤدي الى شاشات اخرى فكانت خاصية ال keyboard navigable على كل زر من هذه الازرار بالقيمة NO وعدلتها ل YES واشتغلت الحمد لله مع ظهور بعض الاخطاء في كود ال login وتم تعديله وتعمل الان بصوره طبيعية الحمد لله.

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

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

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

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

×   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.

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

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

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