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

سحب صوره من scanner الى form 10g

بدأه Bara' في 19 ديسمبر 2006 · 9 رد · 13,143 مشاهدة · في قسم Oracle Forms
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انا عندي سؤال مكون من جزءين.......

الجزء الاول:

كيف اقدر اسحب صورة من سكانر او كاميرا او اي جهاز طبي مثلا من علي الفورم وأخزنها....؟؟؟

اما الجزء الثاني:

هو هل الصورة الي انا سحبتها ممكن اعمل فيها تعديلات في BRIGTHNESS&COLOR...... ???

وذلك في DEVELOPER 10g

ارجو سرعة الرد واسف لو طولت عليكم.......

فأنا بحاجه الى java bean لهذا الغرض او طريقه اخرى

مع العلم انني قمت يتنزيل JTwain وهي java bean خاصه لهذا الغرض فهي فيها ملف JTwain.jar وكذلك AspriseJTwain.dll فملف dll يتم وضعه win/ system32 ولكن عند اضافة هذه bean الى oracle form وعمل run نجد ان هناك خطأ وهو كأنه oracle لم ترى ملف dll عند وضعه داخل oracle form مع العلم خارج oracle يعمل بشكل جيد ، لذلك هل هناك مكان نضع فيه ملف dll لكي تراه oracle form .

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

#2

يوجد لدي ocx من أجل هذه العملية و لأجل ذلك لا تستطيع إستخدامه في developer 10g ....

حاول بإستدعاء توابع dll مباشرة عن طريق pl/sql Interface ...

من أجل ملف الجافا بين : ما هي رسالة الخطأ التي تظهر ؟؟؟؟

هل يمكن أن تقوم برفع الملفين للتجربة و إفادة الجميع ؟؟

#3
حسام فيصل كتب:
يوجد لدي ocx من أجل هذه العملية و لأجل ذلك لا تستطيع إستخدامه في developer 10g ....

حاول بإستدعاء توابع dll مباشرة عن طريق pl/sql Interface ...

من أجل ملف الجافا بين : ما هي رسالة الخطأ التي تظهر ؟؟؟؟

هل يمكن أن تقوم برفع الملفين للتجربة و إفادة الجميع ؟؟

الاخ الفاضل

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

ارجو ان ترسل لي هذا الموضوع بكل تفصياتله لانه مطلوب مني ان اعمل SCANNللصورة من خلال الفورمز10

اميلي هو

EBTTAL@YAHOO.COM

#4

أرجو المساعدة بتوضيح الطريقة ونرجو إدارة المنتدى بالسماح برفع الملف ocx ونرجو من المهندس حسام والمعنيين بتوضيح الطريقة لنستفيد من هذا الموضوع سواء على الفورم 6i أو 10g

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

وشكرا

#5

إلى كل المعنيين بهذا المنتدى الرائع .. أرجو ممن لهم الخبرة الاهتمام بهذا الموضوع .. لأننا بحثنا وتخبطنا في كثير من المواقع والمنتديات .. فنرجوكم استكمال الموضوع .

وشكرأ

#6

إلى خبراء المنتدى عجزنا وفشلنا جميعاً في إيجاد حل لمشكلة سحب صورة من الاسكانر في Form 10g يرجوا من عنده حل لهذه المشكلة يوضحها لنا بأقصى سرعة

#7

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

لسحب صورة من سكانر عن طريق

oracle forms 10g

declare

scanMID PLS_INTEGER;

docNameMID PLS_INTEGER;

scanResultMID PLS_INTEGER;

lobject Ole2.Obj_type;

begin

lobject:=OLE2.CREATE_OBJ('ABAArchivalLib.ABAArchivalLibContol');

scanMID:=GET_OLE_MEMBERID(lobject,'Scan');

docNameMID:=GET_OLE_MEMBERID(lobject,'DocName');

scanResultMID:=GET_OLE_MEMBERID(lobject,'ScanResult');

Set_Ole(lobject,docNameMID,'the path which you want to put the image in ',VT_BSTR);

Init_OleArgs(0);

Call_Ole(lobject, scanMID);

lscanreturn:=GET_OLE_NUM(lobject,scanResultMID);

end;

ارجو ان اكون قد قمت بمساعدتكم بهذا الكود

#8

أخي الكريم كيف يمكن استدعاء JTwain.jar من الفورم 10جي

وشكرا

#9

I created the following package body to scan pages using EZTWAIN (EZTW32.DLL)

PACKAGE TWAIN IS

ListHnd WEBUTIL_C_API.ParameterList;

ParaHnd WEBUTIL_C_API.ParameterHandle;

ApiResult Number;

-- IsAvailable

-- Detects TWAIN on the Current System.

--

Function IsAvailable Return Boolean;

-- SelectSource

-- Displays the Select Image Source dialog.

--

Procedure SelectSource;

-- ScanPage

-- Scans a page from the scanner.

-- ShowUI indicates whether the scanner

-- sofware should be displayed.

--

Function ScanPage(Filename Varchar2,ShowUI Boolean Default True) Return Boolean;

Procedure ScanPage(Filename Varchar2, ShowUI Boolean Default True);

END;

PACKAGE BODY TWAIN IS

-- IsAvailable

Function IsAvailable Return Boolean is

Begin

-- Is Twain Installed...

TWAIN.ListHnd := WEBUTIL_C_API.CREATE_PARAMETER_LIST;

TWAIN.ParaHnd := WEBUTIL_C_API.ADD_PARAMETER(TWAIN.ListHnd,WEBUTIL_C_API.c_int,WEBUTIL_C_API.param_IN,0);

TWAIN.ApiResult := WEBUTIL_C_API.INVOKE_INT('EZTW32.DLL','TWAIN_IsAvailable',TWAIN.ListHnd);

WEBUTIL_C_API.DESTROY_PARAMETER_LIST(TWAIN.ListHnd);

--

If TWAIN.ApiResult = 1 then

-- If it is, is there a default source...

TWAIN.ListHnd := WEBUTIL_C_API.CREATE_PARAMETER_LIST;

TWAIN.ParaHnd := WEBUTIL_C_API.ADD_PARAMETER(TWAIN.ListHnd,WEBUTIL_C_API.c_int,WEBUTIL_C_API.param_IN,0);

TWAIN.ApiResult := WEBUTIL_C_API.INVOKE_INT('EZTW32.DLL','TWAIN_OpenDefaultSource',TWAIN.ListHnd);

WEBUTIL_C_API.DESTROY_PARAMETER_LIST(TWAIN.ListHnd);

If TWAIN.ApiResult = 1 then

TWAIN.ListHnd := WEBUTIL_C_API.CREATE_PARAMETER_LIST;

TWAIN.ParaHnd := WEBUTIL_C_API.ADD_PARAMETER(TWAIN.ListHnd,WEBUTIL_C_API.c_int,WEBUTIL_C_API.param_IN,0);

TWAIN.ApiResult := WEBUTIL_C_API.INVOKE_INT('EZTW32.DLL','TWAIN_CloseSource',TWAIN.ListHnd);

WEBUTIL_C_API.DESTROY_PARAMETER_LIST(TWAIN.ListHnd);

Return True;

Else

Return False;

End if;

Else

Return False;

End if;

End;

-- SelectSource

Procedure SelectSource is

Begin

TWAIN.ListHnd := WEBUTIL_C_API.CREATE_PARAMETER_LIST;

TWAIN.ParaHnd := WEBUTIL_C_API.ADD_PARAMETER(TWAIN.ListHnd,WEBUTIL_C_API.c_int,WEBUTIL_C_API.PARAM_IN,0);

WEBUTIL_C_API.INVOKE('EZTW32.DLL','TWAIN_Select_ImageSource',TWAIN.ListHnd);

-- WEBUTIL_C_API.INVOKE('EZTW32.DLL','FORMS_Select_ImageSource',TWAIN.ListHnd);

WEBUTIL_C_API.DESTROY_PARAMETER_LIST(TWAIN.ListHnd);

End;

-- ScanPage

Function ScanPage(Filename Varchar2, ShowUI Boolean Default True) Return Boolean is

ReTries Number := 0;

Result Boolean;

Begin

TWAIN.ListHnd := WEBUTIL_C_API.CREATE_PARAMETER_LIST;

TWAIN.ParaHnd := WEBUTIL_C_API.ADD_PARAMETER(TWAIN.ListHnd,WEBUTIL_C_API.c_int,WEBUTIL_C_API.PARAM_IN,0);

if not ShowUI then

WEBUTIL_C_API.INVOKE('EZTW32.DLL','TWAIN_HideUI',TWAIN.ListHnd);

-- WEBUTIL_C_API.INVOKE('EZTW32.DLL','FORMS_HideUI',TWAIN.ListHnd);

else

WEBUTIL_C_API.INVOKE('EZTW32.DLL','TWAIN_ShowUI',TWAIN.ListHnd);

-- WEBUTIL_C_API.INVOKE('EZTW32.DLL','FORMS_ShowUI',TWAIN.ListHnd);

end if;

WEBUTIL_C_API.DESTROY_PARAMETER_LIST(TWAIN.ListHnd);

/*

* Scan the image to a bitmap file

*/

TWAIN.ListHnd := WEBUTIL_C_API.CREATE_PARAMETER_LIST;

TWAIN.ParaHnd := WEBUTIL_C_API.ADD_PARAMETER(TWAIN.ListHnd,WEBUTIL_C_API.c_char_ptr,WEBUTIL_C_API.PARAM_IN,Filename,256);

while WEBUTIL_FILE.FILE_SIZE(Filename) = 0 loop

If ReTries = 4 then

Result := False;

Exit;

End if;

WEBUTIL_C_API.INVOKE('EZTW32.DLL','TWAIN_AcquireToFilename',TWAIN.ListHnd);

-- WEBUTIL_C_API.INVOKE('EZTW32.DLL','FORMS_AcquireToFilename',TWAIN.ListHnd);

Result := True;

ReTries := ReTries +1;

end loop;

WEBUTIL_C_API.DESTROY_PARAMETER_LIST(TWAIN.ListHnd);

Return Result;

End;

Procedure ScanPage(FileName Varchar2, ShowUI Boolean Default True) is

lOk Boolean;

Begin

lOK := TWAIN.ScanPage(Filename,ShowUI);

End;

END;

As Web-Deployed forms can't return a Window handle (a real one, not the random number I was getting from GET_WINDOW_PROPERTY) I had to send 0 (which works fine).

The problem I had was that I couldn't get forms to send '0' as a parameter, in the end, I added new functions into the EZTW32.dll called FORMS_ (as you can see from the patched out code). The FORMS_ functions do the same as the TWAIN_ functions, but don't require a window handle. If you can get TWAIN to work great, if not the FORM_ specifications are:

int FORMS_Select_ImageSource(void)

{

int nret;

nret = TWAIN_SelectImageSource(0);

return nret;

}

int FORMS_AcquireToFilename(LPCSTR pszFile)

{

int nret;

nret = TWAIN_AcquireToFilename(0, pszFile);

return nret;

}

void FORMS_HideUI(void)

{

TWAIN_SetHideUI(1);

}

void FORMS_ShowUI(void)

{

TWAIN_SetHideUI(0);

}

Once you've created the package, scanning the page is simple...

Begin

TWAIN.ScanPage('C:\tmp.bmp',true);

End;

or

Begin

if not TWAIN.ScanPage('C:\tmp.bmp',true) then

message('Error Scanning Page...');

End if;

End;

#10

ممكن ارفاق الفورم الذي يقوم بسحب الصورة ؟

Maher Salman

Senior Oracle Developer

Oracle Certified Professional

Kuwait

اللهم إني أعوذ بك من الهم والغم والحزن،

وأعوذ بك من العجز والكسل والفشل،

وأعوذ بك من الجبن والبخل،

وأعوذ بك من الكفر والفقر،

وأعوذ بك من غلبة الدين وقهر الرجال

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