السبت، ١٩ ديسمبر ٢٠٠٩

HELP Built-in




حمل ملف الـ FMB من هـــــــــــــنا





Share/Save/Bookmark

الخميس، ١٧ ديسمبر ٢٠٠٩

GET_FORM_PROPERTY Built-in




حمل ملف الـ FMB من هـــــــــــــنا





Share/Save/Bookmark

الثلاثاء، ١٥ ديسمبر ٢٠٠٩

FORM_SUCCESS Built-in




حمل ملف الـ FMB من هـــــــــــــنا





Share/Save/Bookmark

الاثنين، ١٤ ديسمبر ٢٠٠٩

FORM_FATAL Built-in


حمل ملف الـ FMB من هـــــــــــــنا




Share/Save/Bookmark

الخميس، ١٠ ديسمبر ٢٠٠٩

FORM_FAILURE Built-in




حمل ملف الـ FMB من هـــــــــــــنا


Share/Save/Bookmark

FIND_FORM Built-in



حمل ملف الـ FMB من هـــــــــــــنا



Share/Save/Bookmark

الثلاثاء، ٨ ديسمبر ٢٠٠٩

EXIT_FORM Built-in




حمل ملف الـ FMB من هـــــــــــــنا




Share/Save/Bookmark

الاثنين، ٧ ديسمبر ٢٠٠٩

EXECUTE_TRIGGER Built-in




حمل ملف الـ FMB من هـــــــــــــنا




Share/Save/Bookmark

الأحد، ٦ ديسمبر ٢٠٠٩

ERASE Built-in



حمل ملف الـ FMB من هـــــــــــــنا


Share/Save/Bookmark

السبت، ٥ ديسمبر ٢٠٠٩

ENTER Built-in



حمل ملف الـ FMB من هـــــــــــــنا


Share/Save/Bookmark

السبت، ٢٨ نوفمبر ٢٠٠٩

COMMIT_FORM Built-in


حمل ملف الـ FMB من هـــــــــــــنا


Share/Save/Bookmark

الجمعة، ٢٧ نوفمبر ٢٠٠٩

CLEAR_FORM Built-in


حمل ملف الـ FMB من هــــــــــــــــــنا

Share/Save/Bookmark

الأربعاء، ٢٥ نوفمبر ٢٠٠٩

CALL_INPUT Built-in

هذا الأجراء يقوم بتلقى و تنفيذ الأوامر الخاصة بالمفاتيح الوظيفية ( F1,F2,F3 ... F12 ) و بعد الانتهاء من التنفيذ يتم الاستأناف من النقطة التى تم منها منداة الـ CALL_INPUT ، و لكن هذه الدالة لا تستخدم حالياً فى الـ Forms 10g و لكنها وضعت فقط للتوافق مع البرامج ذات الأصدارات القديمة من الاوراكل فورمز.

Reference


Share/Save/Bookmark

الثلاثاء، ٢٤ نوفمبر ٢٠٠٩

BELL Built-in

هذه شاشة المشروع المبسط لأستخدام الـ BELL Built-in التى يفترض أن تقوم بأصدار صوت .


Share/Save/Bookmark

CALL_FORM Built-in

هذه شاشة المشروع التوضيحى للـ CALL_FORM Built-in



Share/Save/Bookmark

الأربعاء، ١١ نوفمبر ٢٠٠٩

SET_VIEW_PROPERTY

فى هذا الدرس سنتناول كيفية التعامل مع الـ SET_VIEW_PROPERTY Built-in



و يمكنكم تحميل التطبيق العملى ( ملف الـ fmb ) من هذا الرابط :-

أضـــــــــــــــــــغـــــــــــــــــــط هــــــــــــــــــــــــــنا

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

Share/Save/Bookmark

الأحد، ٨ نوفمبر ٢٠٠٩

SET_CANVAS_PROPERTY

هذا الدرس يتناول كيفية التعامل مع الـ SET_CANVAS_PROPERTY Built-in







حمل ملف الـ fmb من هذا الرابط :-


Share/Save/Bookmark

الأربعاء، ٢٨ أكتوبر ٢٠٠٩

SCROLL_VIEW

الـ SCROLL_VIEW Built-in تقوم بتحريك الـ View فى الـ Canvas التى بها على حسب الاتجاه المحدد فى معامل الـ X و الـ Y ، و يؤدى ذلك بدوره الى أظهار بعض المناطق من الـ Canvas التى كانت مخفية الى الـ End User ، و لكنه فى نفس الوقت لا يغير من وضع - Position - الـ View بالنسبة للـ Window.

هذا الأجراء يظهر كيفية أستخدام الـ SCROLL_VIEW Built-in




/*
** Built-in: SCROLL_VIEW
** Example: Scroll the view whose name is passed in 10% to
** the right or left depending on the 'direction'
** parameter.
*/
PROCEDURE Scroll_ten_percent
(viewname VARCHAR2,
direction VARCHAR2)
IS
vw_id VIEWPORT;
vw_wid NUMBER;
vw_x NUMBER;
cn_id CANVAS;
cn_wid NUMBER;
ten_percent NUMBER;
new_x NUMBER;
old_y NUMBER;
BEGIN
/*
** Get the id's for the View and its corresponding canvas
*/
vw_id := Find_view(viewname);

cn_id := Find_canvas(viewname);

/*
** Determine the view width and corresponding canvas
** width.
*/
vw_wid := Get_view_property(vw_id,width);

cn_wid := Get_canvas_property(cn_id,width);

/*
** Calculate how many units of canvas width are outside of
** view, and determine 10% of that.
*/
ten_percent := 0.10 * (cn_wid - vw_wid);

/*
** Determine at what horizontal position the view
** currently is on the corresponding canvas
*/
vw_x := Get_view_property(vw_id,viewport_x_pos_on_canvas);

/*
** Calculate the new x position of the view on its canvas
** to effect the 10% scroll in the proper direction.
** Closer than ten percent of the distance to the edge
** towards which we are moving, then position the view
** against that edge.
*/
IF direction = 'LEFT' THEN
IF vw_x > ten_percent THEN
new_x := vw_x - ten_percent;
ELSE
new_x := 0;
END IF;
ELSIF direction = 'RIGHT' THEN
IF vw_x < cn_wid - vw_wid - ten_percent THEN
new_x := vw_x + ten_percent;
ELSE
new_x := cn_wid - vw_wid;
END IF;
END IF;

/*
** Scroll the view that much horizontally
*/
old_y := Get_view_property(vw_id,viewport_y_pos_on_canvas);

Scroll_view(vw_id,new_x,old_y);
END;


و هذا الرابط به التنفيذ العملى fmb file للكود السابق ذكره

أضــــــــــــــــــــــــــــــغـــــــــــــــــــــــــط هـــــــــــــــــــــــــــــــــــــنا

Share/Save/Bookmark

PRINT Built-in

الـ PRINT Built-in تقوم بطبع محتوى النافذة الحالية الى الطباعة أو الى ملف .

PRINT Examples

/*

** Built-in: PRINT
** Example: Print the current window.
*/
BEGIN
Print;
END;

يمكنك تحميل ملف الـ fmb من هذا الرابط :-

أضــــــــــــــــــــــــــــــغـــــــــــــــــــــــــط هـــــــــــــــــــــــنا

و بالتوفيق

Share/Save/Bookmark

الأحد، ٢٥ أكتوبر ٢٠٠٩

تظبيط قيم متغيرات الـ SQLPLUS لمرة واحدة فقط

سنقوم هنا بتظبيط قيم متغيرات الـ SQLPLUS لمرة واحدة فقط بدلاً من تظبيطها فى كل مرة ، و أنا أقصد بهذه المتغيرات كالـ :

SET SERVEROUTPUT ON
SET ECHO ON
SHOW USER

و غيرها كتير ، الفكرة هنا تكمن فى الذهاب الى :-

ORACLE_HOME$\sqlplus\admin

ثم فتح ملف الـ glogin.sql و أضافة اى متغيرات - او حتى اكود - تريد تنفذها فى كل مرة تدخل فيها على الـ SQLPLUS

و أترككم مع الفيديو :-


Share/Save/Bookmark

السبت، ٢٤ أكتوبر ٢٠٠٩

الدخول مباشرتاً الى برنامج الـ SQL*PLUS

الفكرة بكل بساطة هى عمل Right Click على الـ SQL Plus ثم أختار Properties و فى الـ Target أضف أسم الأسكيمة ثم كلمة المرور ثم أسم قاعدة البيانات ...... و هذا شرح منى بالفيديو يوضح كيفية عمل ذلك



و أرجو أن ينول أعجبكم
Share/Save/Bookmark

الأربعاء، ٢٣ سبتمبر ٢٠٠٩

طريقة مبسطه لتحويل برنامجك الى نسخة تجريبية

ما سوف أشرحه هو كيفية جعل برنامجك يعمل كنسخة تجربية لمدة شهر 30 يوم بالظبط على جهاز العميل ، و بعد انتهاء الثلاثون يوم تظهر شاشة توضح له انا الفترة الزمنية أنتهت ، و لابد من شراء البرنامج.

قم بأرفاق هذا الكود مع ملف السكويل المكون للأسكيمة :-



ALTER TABLE demo
DROP PRIMARY KEY CASCADE
/

DROP TABLE demo CASCADE CONSTRAINTS PURGE
/


--

-- DEMO (Table)

--

CREATE TABLE demo (
demo_id NUMBER NULL,
demo_date DATE DEFAULT SYSDATE NOT NULL)
/


COMMENT ON TABLE demo IS 'This Table to Limit this schema usage.'
/


--

-- DEMO_PK (Index)

--

-- Dependencies:

-- DEMO (Table)

--

CREATE UNIQUE INDEX demo_pk ON demo (demo_id)
/


--

-- Non Foreign Key Constraints for Table DEMO

--

ALTER TABLE demo
ADD(
CONSTRAINT demo_pk PRIMARY KEY ( DEMO_ID ))
/

و فى تربجر الـ WHEN-NEW-FORM-INSTANCE أكتب التالى :-



DECLARE

v_count NUMBER;

v_demo_date DATE;

BEGIN

SELECT Count(* )
INTO v_count
FROM demo;



IF SQL%FOUND THEN

SELECT demo_date
INTO v_demo_date
FROM demo
WHERE demo_id = 1;



IF SYSDATE > (v_demo_date + 30) THEN

Go_item('BLOCK11.PUSH_BUTTON5');

Replace_content_view('WINDOW1','OVER');

END IF;

ELSIF SQL%NOTFOUND THEN

INSERT INTO demo
VALUES (1,
SYSDATE);

COMMIT;

END IF;

EXCEPTION

WHEN no_data_found THEN

INSERT INTO demo
VALUES (1,
SYSDATE);


COMMIT;

END;



Share/Save/Bookmark

الخميس، ٢٥ يونيو ٢٠٠٩

SHOW_VIEW HIDE_VIEW

هذا المثال يشرح كيفية التعامل مع الـ HIDE_VIEW Built-in و الـ SHOW_VIEW Built-in ، فالمثال هنا يبين كيفية أظهار و أخفاء Canvas من خلال زر واحد ؛ المثال يحتوى على فكرة جديد و ظريفه للمبتدئيين و فكرة تستخدم فى حالة صعوبة أستخدام الـ ID_NULL


الشرح مبين فى هذه الصور :-










Share/Save/Bookmark

الأربعاء، ٣ يونيو ٢٠٠٩

GET_VIEW_PROPERTY

هذه الصور تشرح بالتفصيل كيفية أستخدام الـ GET_VIEW_PROPERTY Built-in :-







Share/Save/Bookmark

الأحد، ٢٤ مايو ٢٠٠٩

GET_CANVAS_PROPERTY

هذا شرح لكيفية التعامل مع الـ GET_CANVAS_PROPERTY Built-in من خلال الصور :-






Share/Save/Bookmark

معرفة المستخدم الحالى للـ Session


يوجد طريقتان فى الفورم لمعرفة المستخدم الحالى ، و هم :-

GET_APPLICATION_PROPERTY
Sys_context

كما هو موضح بهذه الصورة :-

حمل ملف الـ fmb من هذا الرابط :-

أضــــــــــــــــــــــــغــــــــــــــط هــــــــــــــــــــــــــــــــــــــــــــــــــنا

Share/Save/Bookmark

الجمعة، ٢٢ مايو ٢٠٠٩

FIND_VIEW

المثال الخاص بالـ FIND_VIEW هو هو الخاص بالـ FIND_CANVAS ، مع تغير نوع الـ Data type الخاص بالمتغير - فى الـ Declaration Section - من Canvas الى ViewPort ، كما هو موضح بهذه الصورة :-



انا عدلت فى ملف الـ fmb الخاص بالـ FIND_CANVAS و رفعته على هذا الرابط :-

أضــــــــــــــــغــــــــــــــــــــــط هــــــــــــــــــــــــــــــــــــــــــــنا


Share/Save/Bookmark

الأربعاء، ١٣ مايو ٢٠٠٩

FIND_CANVAS

شرح الـ FIND_CANVAS Built-in موضح بهذه الصور :-





حمل ملف الـ fmb من هذا الرابط :-


Share/Save/Bookmark

الجمعة، ٨ مايو ٢٠٠٩

SET_BLOCK_PROPERTY

هذا شرح الـ SET_BLOCK_PROPERTY Built-in بالصور :-





و لكن يجب الأشارة الى ان خصائص الـ SET_BLOCK_PROPERTY كثيرة و يجب الأطلاع على هذا الرابط حتى تعرف جميع الخصائص التى يمكن التحكم فيها لكى نظهر الـ Block بالشكل المراد :-

حمل ملف الـ fmb من هذا الرابط :-

Share/Save/Bookmark

الخميس، ٧ مايو ٢٠٠٩

PREVIOUS_BLOCK


هذه الصور توضح كيفية أستخدام الـ  PREVIOUS_BLOCK Built-in  فى مثال مشروح :-




حمل ملف الـ fmb من هذا الرابط :-


Share/Save/Bookmark

الثلاثاء، ٢٨ أبريل ٢٠٠٩

أدراج الـ SYSDATE مباشرتاً في الفورم

الشرح كما فى الصورة :-



Share/Save/Bookmark

الاثنين، ٢٧ أبريل ٢٠٠٩

ID_NULL

دالة الـ ID_NULL تقوم بالتأكد من وجود الكائن او من عدم وجوده .

الشرح المفصل موجود بهذه الصور :-









Share/Save/Bookmark

الجمعة، ٢٤ أبريل ٢٠٠٩

GO_BLOCK

أجراء الـ Go_Block يقوم بالذهاب الى اسم البلوك المحدد له فى الـ Parameter

Syntax

PROCEDURE GO_BLOCK
(block_name
VARCHAR2);

Built-in Type restricted procedure

Enter Query Mode no


و كما نرى فى الصيغة فأن الـ Parameter الوحيد المحدد هو أسم البلوك block_name و يجب أن يكون فى هيئة VARCHAR2

حمل ملف الـ fmb من هذا الرابط :-

أضـــــــــــــغـــــــــــــــــــط هـــــــــــــــــــــــــــنا

Share/Save/Bookmark

الجمعة، ١٧ أبريل ٢٠٠٩

Removing window menu from the default menu of the form


هذه الطريقة تشرح كيفية مسح قائمة الـ Window من الشريط الأفتراضى للنماذج الخاصة بالـ Forms 10g :-



















هناك تغير بسيط عند عمل ذلك مع الـ Forms 6i و هى بأستبدال الخطوة التى يتم فيها تعديل الـ Property Palette للـ Menu Item الى هذا التعديل :-


لمشاهدة الـ Source Code المستخدم فى هذه الصور ، حمل الملف التالى :-

أضـــــــــــــــــــغـــــــــــــــــط هــــــــــــــــــــــــــــــــــنا

Share/Save/Bookmark
Newer Posts Older Posts Home Page