اذهب الي المحتوي
armia2006

لا داعي لكتابة مسار الفورم كاملاً

Recommended Posts

armia2006

يتساءل كثيرون عند استدعاء فورمة من أخرى هل لابد من كتابة المسار الكامل لها ولكثرة هذه الاستفسارات
ولما واجهته أنا شخصياً في برنامجي
أحضرت لكم اليوم كود يقوم باستدعاء مسار الفورم المفتوحة
وللأمانة هو منقول من مشاركة سابقة للأخ هاني سند
تجدها هنا
http://www.araboug.org/ib/index.php?showto...;رم
---------------------------------------------------------------
ولكني واجهت مشاكل في التعامل معها فقمت ببعض التعديلات مع اضافة الشرح لكل جزء في الكود
واقترحت طريقة لاستخدامه من خلال global variable

يوضع هذا الكود على الشاشة الرئيسية للبرنامج على تريجر من النوع
when new form instance
------------------------------------------

:global.path:=0;
 DECLARE 
		ar varchar2(100);
		arm varchar2(100);
  	 FORM_PATH VARCHAR2(250);
  	  a number;
  	  b number;
  	  c number;
  	  dir_path varchar2 (150);
 BEGIN  
  -------------get the name of the fmx file without .fmx ---------
  	ar:=get_application_property(current_form_name);
  	---------- get the whole path with formname.fmx ----------
  	arm:=get_form_property(ar,file_name);
  	-------- get the length of the whole path ------------
  	a:=length(arm);
  	b :=length(ar)+4;
  	c:=a-b;
  	---- get the actual path------------
  	  form_path:=substr(arm,1,c);	
  	  :global.path:=form_path; 
  exception when others then null;
END;


-------------------------------------------
يقوم هذا الكود بوضع مسار الفورم بناءاً على الفورم المفتوح ويضعه في global variable
ويمكن بدلاً من كتابة المسار الكامل للفورم استخدام global variable لاستدعاء الفور مثل الكود التالي ( يوضع على when new button pressed )
------------

call_form(''||:global.path||'\'||'myform.fmx');


---------------
أرجو إن كان هناك ملاحظات أود أن أعرفها وأي استفسار ارحب به

تم تعديل بواسطة armia2006
  • أعجبني 1

شارك هذه المشاركه


رابط المشاركه
شارك
sameh bakkar

أخى طبعا جزاك الله خير .. و لكنى لا ارى صعوبه فى استدعاء اى فورم طالما انى ضبت المف الذى يدعى Forms_path ووضعت فيه الpath المطلوب .... و شكرا لمجهودك الرائع

شارك هذه المشاركه


رابط المشاركه
شارك
armia2006

شكراً اخ سامح على تعليقك
ولكن المشكلة هي في انتقال الفورمز من جهاز لآخر
حيث ستحتاج في كل مرة لاعادة تغيير المسار
أشكرك

شارك هذه المشاركه


رابط المشاركه
شارك
o_saeed77

والله يا اخى ممتاز جدا انا جربتة وتم التنفيذ بكفاءة عالية جدا
جزاك الله كل خير

شارك هذه المشاركه


رابط المشاركه
شارك
armia2006

اشكرك يا أخ o_saeed77
على ردك
اتمنى لك التوفيق

شارك هذه المشاركه


رابط المشاركه
شارك
armia2006

ألم يجرب أحد هذا الكود حتى الآن سوى واحد فقط

شارك هذه المشاركه


رابط المشاركه
شارك
medani

راااااااااااااائع يا باشمهندس جزاك الله خير
بالجد مشاركة مميزة

شارك هذه المشاركه


رابط المشاركه
شارك
mahircooo

والله العظيم عمل رائع انا قمت بتنفيذه وهو يعمل بشكل رائع جدا شكرا جزيلا على هذا المجهود وفقك الله

 

شارك هذه المشاركه


رابط المشاركه
شارك

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان

×
×
  • اضف...

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

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