版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、TOC o 1-3 h z u HYPERLINK l _Toc 1Developer/2000中各键盘触发子所对应的“按键” PAGEREF _Toc h 2 HYPERLINK l _Toc 2FORM中,当光标走走到块的最后一项项时,如何让按“enter回车车”键时,光标自动动走到下一条记录录的第一项? PAGEREF _Toc h 3 HYPERLINK l _Toc 3如何在启动FORM程程序时直接登录到到Oracle数据据库上? PAGEREF _Toc h 3C。 HYPERLINK l _Toc 4FORM中,如何通过过 ODBC 访问问 Acress 数据? PAGEREF
2、_Toc h 39。 HYPERLINK l _Toc 5从FORM中调用REPORT时,如如何使打印结果直直接输出到打印机机上? PAGEREF _Toc h 4u。 HYPERLINK l _Toc 6FORM调用REPORT时,如如何去掉report server? PAGEREF _Toc h 4J。 HYPERLINK l _Toc 7FORM中,如何实现现屏幕同步刷新? PAGEREF _Toc h 4Q。 HYPERLINK l _Toc 8在Developer/2000中如何何读写文本型操作作系统文件? PAGEREF _Toc h 4k。 HYPERLINK l _Toc 9
3、如何改变FORM(FMX模块)运行时的title? PAGEREF _Toc h 5k。 HYPERLINK l _Toc 10FORM中,如如何修改系统提示示信息(默认英文)为中文? PAGEREF _Toc h 5H。 HYPERLINK l _Toc 11FORM中,怎怎样创建动态下拉拉列表List? PAGEREF _Toc h 68。 HYPERLINK l _Toc 12FORM中,如如何引入图像,制作封面? PAGEREF _Toc h 7a。 HYPERLINK l _Toc 13运行FORM时时,如何使按钮变变灰(即无效)? PAGEREF _Toc h 7g。 HYPERL
4、INK l _Toc 14FORM中,设设置应用特性(光标类型) PAGEREF _Toc h 7v。 HYPERLINK l _Toc 15运行FORM时时,如何使窗口(runtime窗口、画布窗口)自动变成最大化、最小化? PAGEREF _Toc h 71。 HYPERLINK l _Toc 16FORM中,WINDOW标题题的设置 PAGEREF _Toc h 7v。 HYPERLINK l _Toc 17FORM中,Exception(例外)都有哪些,如何何书写? PAGEREF _Toc h 8o。 HYPERLINK l _Toc 18如何在FORM运行中,使使定制菜单中的“窗口
5、(W)”菜单项不不显示? PAGEREF _Toc h 8U。 HYPERLINK l _Toc 19FORM中,如如何屏蔽默认的功功能键? PAGEREF _Toc h 8H。 HYPERLINK l _Toc 20FORM中,触触发子exit_form的两种种功能是什么? PAGEREF _Toc h 9u。 HYPERLINK l _Toc 21FORM中如何何存取图象?如何何把图象从一个表表中导到另一个表表中? PAGEREF _Toc h 9G。 HYPERLINK l _Toc 22FORM中如何存取声声音? PAGEREF _Toc h 108。 HYPERLINK l _Toc
6、 23FORM中,当当用鼠标点击标签签画布的某一“标签页”时,如何判断点点击的是哪一页? PAGEREF _Toc h 10L。 HYPERLINK l _Toc 24FORM中,常常用快捷键有哪些些? PAGEREF _Toc h 103。 HYPERLINK l _Toc 25如何发布Developer/2000应用程程序? PAGEREF _Toc h 11c。 HYPERLINK l _Toc 26FORM中,点点击按钮实现字段段排序? PAGEREF _Toc h 11C。 HYPERLINK l _Toc 27为什么在触摸屏屏上,我的按纽不不响应我的“按”动作? PAGEREF _
7、Toc h 11k。 HYPERLINK l _Toc 28为什么我的FMX程序里没有有Message line? PAGEREF _Toc h 11w。 HYPERLINK l _Toc 29FORM中,如如何设置水平滚动动条? PAGEREF _Toc h 11L。 HYPERLINK l _Toc 30FORM中,触触发子POST-CHANGE的的作用 PAGEREF _Toc h 11I。 HYPERLINK l _Toc 31FORM中,触触发子WHEN-VALIDATE-ITEM的作用用 PAGEREF _Toc h 11X。 HYPERLINK l _Toc 32FORM中,触触
8、发子POST-QUERY的作作用 PAGEREF _Toc h 117。 HYPERLINK l _Toc 33怎样在form中使用宏宏? PAGEREF _Toc h 11e。 HYPERLINK l _Toc 34如何调用外部操操作系统命令? PAGEREF _Toc h 13V。 HYPERLINK l _Toc 35临时表的作用 PAGEREF _Toc h 138。 HYPERLINK l _Toc 36FORM中,怎怎样使用KEY-Fn(n=0.9)触触发子? PAGEREF _Toc h 13Z。 HYPERLINK l _Toc 37用户出口函数USER_EXIT如何编编写?
9、PAGEREF _Toc h 13X。 HYPERLINK l _Toc 38如何从REPORT中调调用FORM、GRAPHICS程序? PAGEREF _Toc h 13T。 HYPERLINK l _Toc 39如何从GRAPHICS中调用FORM、REPORT程序序? PAGEREF _Toc h 137。 HYPERLINK l _Toc 40Oracle中中Forms与Reports的的集成 PAGEREF _Toc h 13N。 HYPERLINK l _Toc 41在DEVELOPER2000中利用DDE将数据倒入到EXCEL文件中的方法 PAGEREF _Toc h 16t。
10、HYPERLINK l _Toc 42使用设置菜单项项属性及form 数据项属性限制制不同用户的访问问范围 PAGEREF _Toc h 20m。 HYPERLINK l _Toc 43提高表连接的查查询速度 PAGEREF _Toc h 20U。 HYPERLINK l _Toc 44利用用库模块实实现模块资源共享享 PAGEREF _Toc h 20u。 HYPERLINK l _Toc 45易导致查询数据据错误的原因 PAGEREF _Toc h 20j。 HYPERLINK l _Toc 46使用视图组织报报表数据简单且易易于维护 PAGEREF _Toc h 20D。 HYPERLI
11、NK l _Toc 47给报表加序号的的简单办法 PAGEREF _Toc h 21N。 HYPERLINK l _Toc 48用FORMS 实 现ORACLE 数 据 库 与 其 它 数 据 源 数 据 的 交 换 PAGEREF _Toc h 21Y。 HYPERLINK l _Toc 49FORMS 4.5 实 现 的 列 表 查 询、 多 行 录 入 中 的 实 现 行 累 计 PAGEREF _Toc h 22b。 HYPERLINK l _Toc 50REPORT 2.5 中 实 现 的 动 态 报 表( 一 张 表 利 用 多 个QUERY 语 句, 生 成 一 样 格 式 的
12、多 张 报 表 PAGEREF _Toc h 22Y。 HYPERLINK l _Toc 51如何屏蔽系统提提示信息? PAGEREF _Toc h 232。 HYPERLINK l _Toc 52在编写PL/SQL代码码中使用SELECT语句句时如何避免例外外发生? PAGEREF _Toc h 23A。 HYPERLINK l _Toc 53当使用主从块时时,如何使从块自自动提交? PAGEREF _Toc h 23k。 HYPERLINK l _Toc 54如何减少FORM所占磁盘盘空间? PAGEREF _Toc h 23p。 HYPERLINK l _Toc 55如何使定制菜单单的主
13、菜单中WINDOWS项不显示? PAGEREF _Toc h 23Y。 HYPERLINK l _Toc 56如何使不同布局局的报表显示在同同一页上? PAGEREF _Toc h 23Q。 HYPERLINK l _Toc 57怎样较快的生成成FMX文件? PAGEREF _Toc h 24O。 HYPERLINK l _Toc 58如何在FORM中同时加加入水平与垂直滚滚动条? PAGEREF _Toc h 24h。 HYPERLINK l _Toc 59如何在告警框内内显示message信信息? PAGEREF _Toc h 24j。 HYPERLINK l _Toc 60如何一次退出所
14、所有FORM? PAGEREF _Toc h 25s。 HYPERLINK l _Toc 61如何在FORM与REPORT之间间传递参数? PAGEREF _Toc h 25S。 HYPERLINK l _Toc 62从FORM调用用REPORT时,如如何使REPORT以满满屏方式显示? PAGEREF _Toc h 26V。 HYPERLINK l _Toc 63如何关闭REPORT运行行时的参数窗口? PAGEREF _Toc h 266。 HYPERLINK l _Toc 64在Oracle中实实现报表的定长输输出 PAGEREF _Toc h 279。 HYPERLINK l _Toc
15、 65Developer/2000 FROMS 4.5 中 的 宏 代 换 PAGEREF _Toc h 28R。 HYPERLINK l _Toc 66用FORMS 实 现ORACLE 数 据 库 与 其 它 数 据 源 数 据 的 交 换 PAGEREF _Toc h 29R。 HYPERLINK l _Toc 67FORMS 4.5 实 现 的 列 表 查 询、 多 行 录 入 中 的 实 现 行 累 计 PAGEREF _Toc h 30e。 HYPERLINK l _Toc 68REPORT 2.5 中 实 现 的 动 态 报 表( 一 张 表 利 用 多 个QUERY 语 句, 生
16、 成 一 样 格 式 的 多 张 报 表 PAGEREF _Toc h 31G。 HYPERLINK l _Toc 69用ORACLE*Forms 和ORACLE*Graphics实现数据与图形动态显示 PAGEREF _Toc h 31C。 HYPERLINK l _Toc 70数字分金额转成成大写汉字元金额额程序! PAGEREF _Toc h 33G。Developer/2000中各键键盘触发子所对应应的“按键”封装过程键触触发子含义对应应按键ABORT_QUERY Key-EXIT退出/取消BLOCK_MENUKey-MENU块菜单F5t。CLEAR_BLOCK Key-CLRBLK清
17、空块Shift+F5x。CLEAR_FORMKey-CLRFRM清空FORMShift+F7b。CLEAR_RECORDKey-CLRREC清空记录Shift+F4O。COMMIT_FORM Key-COMMIT提交/存盘 F105。COUNT_QUERY Key-CQUERY计算查询记录总数Shift+F2E。CREATE_RECORD Key-CREREC插入新记录F6D。DELETE_RECORD Key-DELREC删除记录Shift+F6C。DOWNKey-DOWN下滚记录Ctrl+l、下箭头0。DUPLICATE_ITEMKey-DUP-ITEM复制域/项 F39。DUPLICAT
18、E_RECORDKey-DUPREC复制记录F4O。EDIT_TEXTITEM Key-EDIT打开编辑器Ctrl+Eb。ENTER Key-ENTEREnterENTER_QUERY Key-ENTQRY输入查询条件F7U。EXECUTE_QUERY Key-EXEQRY执行查询F8S。EXIT_FORM Key-EXIT退出/取消查查询 Ctrl+Qa。HELPKey-HELP帮助F16。LIST_VALUES Key-LISTVAL显示值列表LOV F92。LOCK_RECORD Key-UPDRECLock RecordN。NEXT_BLOCKKey-NXTBLK下一块Ctrl+Pag
19、e Downr。NEXT_ITEM Key-NEXT-ITEM下一域/项 Ctrl+Tab、Tab、Enterb。NEXT_KEYKey-NXTKEY定位到下一个主键项Shift+F3e。NEXT_RECORD Key-NXTREC下一条记录Shift+Downo。NEXT_SETKey-NXTSET下一个记录集Ctrl+f。PREVIOUS_BLOCKKey-PRVBLK前一块Ctrl+Page Up9。PREVIOUS_ITEM Key-PREV-ITEM前一域/项 Shift+Tab、Shift+Ctrl+Tabw。PREVIOUS_RECORD Key-PRVREC前一条记录Shift
20、+Upk。PRINT Key-PRINT打印当前屏幕Shift+F8h。SCROLL_DOWN Key-SCRDOWN下翻屏Page DownY。SCROLL_UP Key-SCRUP上翻屏Page Upo。UPKey-UP上滚记录Ctrl+p、上箭头h。Esc 取消Backspace 向后删除除Ctrl+U清除域/项Ctrl+F1 显示有效的的功能键列表Shift+F1发生错误时时,显示错误窗口口FORM中,当光标走走到块的最后一项项时,如何让按“enter回车车”键时,光标自自动走到下一条记记录的第一项?E。设置块属性导航器风格:改变记录录 如何在启动FORM程程序时直接登录到到Oracl
21、e数数据库上?调入Form Builder,打打开一个新的FORM在表格级新建一个ON_LOGON触发发器在ON_LOGON里里输入以下代码:DECLAREPASS1 VARCHAR2(80); PASS1为密密码参数E。BEGINLOGON(USER1,USER1|TNS1);x。SELECT PASS INTO PASS1 FROM T_PASSWORD WHERE USERNAME=USER2;l。LOGOUT;LOGON(USER2,PASS1|TNS1);s。END;FORM中,如何通过过 ODBC 访访问 Acress 数据?在控制面板中选取 ODBC 控制源系统 DSN添加(D)
22、.选定您需要的驱动程序序来安装数据源(S):Microsoft Acress Driver (*.mdb)4。完成(F)Date Source Name:aaa(aaa就就是数据源名称,也也就是在应用程序序中所要使用的)F。选择一个mdb数据库库文件(select)高级属性:设置用户名名、口令OK打开一个FORM文件(F)连接(E) HYPERLINK mailto:用户名/口令odbc:aaa 用户名/口令odbc:aaa6。连接(O)从FORM中调用REPORT时时,如何使打印结结果直接输出到打打印机上?S。在parameter list中加入入parameter_form=Noa。Add
23、_parameter(list_id,PSRAMETER_FORM,TEXT_PARAMETER,NO);D。FORM调用REPORT时时,如何去掉report server?s。Add_parameter(list_id,ORACLE_SHUTDOWN,TEXT_PARAMETER,YES);2。FORM中,如何实现现屏幕同步刷新?现象说明: FORM中,在做一连连串大的操作时,有有时希望用message来来显示提示信息,但但屏幕却不刷新,C。解决方法: message(信信息1);synchronize;(同步屏幕显示示)message(信信息2);synchronize; 在Develo
24、per/2000中如何何读写文本型操作作系统文件?PL/SQL 3.3以上的版本中,UTL_FILE包允许用户通过PL/SQL读写操作系统文件。如下: t。declarefile_handle utl_file.file_type;l。beginfile_handle:=utl_file.fopen(C:,TEST.TXT,A);-TEST.TXT是是文件名c。utl_file.put_line(file_handle,写入的信息);W。utl_file.fclose(file_handle);end;Developer/2000中,可可以用Text_IO读写操作系系统文件。如下: Q。DEC
25、ALREin_fileText_IO.File_Type;out_fileText_IO.File_Type;BEGINin_file:=Text_IO.Fopen(文件名, R);7。Text_IO.Get_Line(in_file,linebuf);3。Text_IO.Fclose(in_file);out_file:=Text_IO.Fopen(文件名, W);M。Text_IO.Put_Line(out_file,写写入信息);m。Text_IO.Fclose(out_file);END;-常用TEXT_IODeclare out_file text_io.file_type;-定义Y
26、。Begin out_file:=text_io.fopen(prn,w);-打开文件prnp。 text_io.new_line(out_file, );-新建一行N。 text_io.put_line(out_file, )-写入一行e。 text_io.fclose(out_file);-关闭文件w。End;文本输入输出 TEXT_IO TEXT_IO.PACKAGE TEXT_IO.FCLOSE TEXT_IO.FILE_TYPE TEXT_IO.FOPEN TEXT_IO.IS_OPEN TEXT_IO.GET_LINE TEXT_IO.NEW_LINE TEXT_IO.PUT TE
27、XT_IO.PUTF TEXT_IO.PUT_LINEDeclare Out_file Text_io.file_type;i。 L Varchar2(100); L1 Varchar2(100); L2 Varchar2(100);Begin Out_file :=text_io.fopen(c:lllogin.txt,r);D。 If text_io.is_open(Out_file) thenI。text_io.get_line(Out_file,L);text_io.get_line(Out_file,L1);text_io.get_line(Out_file,L2); Else Nu
28、ll; End if;End;如何改变FORM(FMX模模块)运行时的title?Developer/2000中FMX默默认title为为:Developer/2000 Forms Runtime for Windows 95 / NTD。在Form级触发器中中添加触发WHEN-NEW-FORM-INSTANCEu。在此触发器中写如下代代码:SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW,TITLE,您的提示);1。FORM中,如何修改改系统提示信息(默认英文)为中中文?调入Form Builder,打打开一个新的FORM在表格级新建一个ON_ERROR触发发器在ON
29、_ERROR里里输入以下代码:beginif error_code=40100 then message(已在第一 条条记录!);1。elsif error_code=40102 then message(您已在最后一一条记录,请先输输入处理此记录,然然后再输入下一条条记录!);h。elsif error_code=40200 then message(此项仅用于查查询参考,您无法法更改此项!);L。elsif error_code=40202 then message(此项必须输入入! 产生错误原原因:您未输入值值,或您删去了原原有值!);h。elsif error_code=40203 t
30、hen message(值必须输入完完全! 产生错误误原因:该项有定定长要求!);W。elsif error_code=40207 then message(您输入的值不不在有效范围之内内,请输入有效范范围之内的值!);2。elsif error_code=40401 then message(您没有修改或或输入任何新的记记录,无须保存!);V。elsif error_code=40508 then message(编码不能相同同,不能有相同编编码的记录,编码码必须唯一!);b。elsif error_code=40509 then message(严重操作错误误!,您可能输入入了一个空的记录
31、录,无法保存记录录!);B。elsif error_code=41802 then message(您只能在输入入新的记录时使用用复制记录键键,来复制上一条条记录!);6。else message(error_type|_|to_char(error_code)|:|error_text);H。end if;raise form_trigger_failure;end;FORM中,怎样创建建动态下拉列表List?1、打开Form Builder2、文件(F)新建建(N)表格(F)3、新建一个非数据块块,取名为tool4、鼠标右键布局编编辑器(E)5、建一个列表项,名名为xl(属于tool块块)
32、6、新建一过程,内写写如下的代码PROCEDURE create_xl IS-动动态显示学历过程程F。CURSOR A IS SELECT DISTINCT(xl) FROM t_xl;-建建立a游标,从学学历档案表取原始始数据(有可能动动态变化)C。CNT NUMBER;记录总数变量量,用于生成列表表的总项数E。i NUMBER;循环变量P。TNAME t_%TYPE;-TNAME变变量和t_xl表表中name项具具有相同的结构S。BEGINCLEAR_LIST(tool.xl);-清清空列表tool.xl(tool块块上的xl项)q。SELECT COUNT(DISTINCT
33、(name) INTO CNT FROM t_xl;计算列表总数数k。OPEN A; -打开开游标F。FOR i IN 1.CNT LOOP-开始循环z。FETCH A INTO TNAME; 取数Z。EXIT WHEN A%NOTFOUND; 退出条件l。ADD_LIST_ELEMENT(tool.xl,i,TNAME,TNAME);-把查查询出的值加入列列表中(序号,实实际值,显示值)K。END LOOP; -结束循循环k。CLOSE A;-关关闭游标5。END;7、在Form级触发发器中添加触发WHEN-NEW-FORM-INSTANCEG。 在此触发器中写写如下代码:create_xl
34、; 使FORM程序序一启动,就调用用此过程,达到动动态生成下拉列表表List的效果果。s。附:-学历档案表create table t_xl(name varchar2(6);X。insert into t_xl values(小学);Y。insert into t_xl values(初中);S。insert into t_xl values(职高);k。insert into t_xl values(技校);j。insert into t_xl values(高中);n。insert into t_xl values(中专);i。insert into t_xl values(大专);f。
35、insert into t_xl values(本科);N。insert into t_xl values(研究生);Z。commit;FORM中,如何引入入图像,制作封面面?打开Form Builder文件(F)新建(N)表格(F)鼠标右键布局编辑器器(E)文件(F)导入(I)图象(I)可调入作好的图像,以以制作封面。所支持的图像格式有:TIF、JPG、BMP、TGA、PCX、PCT、GIF、CAL、RAS、OIF、PCD等a。运行FORM时,如何何使按钮变灰(即即无效)?set_item_property(按钮名称,ENABLED,PROPERTY_FALSE);3。FORM中,设置应用用
36、特性(光标类型型)在Form级触发器中中添加触发WHEN-NEW-FORM-INSTANCEn。SET_APPLICATION_PROPERTY(CURSOR_STYLE,CROSSHAIR|BUSY|HELP|DEFAULT|INSERTION);E。运行FORM时,如何何使窗口(runtime窗窗口、画布窗口)自自动变成最大化、最小化?n。在Form级触发器中中添加触发WHEN-NEW-FORM-INSTANCEC。在此触发器中写如下代代码:SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW,WINDOW_STATE,MAXIMIZE);-最大化B。SET_WINDO
37、W_PROPERTY(FORMS_MDI_WINDOW,WINDOW_STATE,MINIMIZE);-最小化f。FORM中,WINDOW标标题的设置在Form级触发器中中添加触发WHEN-NEW-FORM-INSTANCEA。SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW, title,你要写的标题);u。或用以下方法2. 对象导航器窗窗口WINDOW0(窗窗口的名字)属属性标题修改改其属性f。FORM中,Exception(例外)都有哪些些,如何书写?BEGINPL/SQL块;Exceptionwhen no_data_found then-没有找到数据c。响应命
38、令;when too_many_rows then-返回多行,隐式光标每次只能检索一行数据E。响应命令;when invalid_number then-字符向数字字转换失败t。响应命令;when zero_divide then-被零除响应命令;when dup_val_on_index then-向唯一索引引中插入重复数据据o。响应命令;when invalid_cursor then-非法游标操操作y。响应命令;when value_error then-数字的,数据转换,截字符串或强制性的错误L。响应命令;when others then-发生其它任任何错误null;选择一:什么也不不
39、做,就当错误没没发生raise form_trigger_failure;-选择二:挂起当前前程序8。END;如何在FORM运行中中,使定制菜单中中的“窗口(W)”菜单项不显示示?M。对象导航器窗口WINDOW0(窗窗口的名字)属属性模式修改改其属性 设置置窗口属性:模式式=是9。FORM中,如何屏蔽蔽默认的功能键?1. 在Form级触触发器中添加触发发KEY-OTHERS2. 在此触发器中写写如下代码: null;3. 这样FORM程程序运行后,大部部分的功能键都被被屏蔽(包括一些些必需键,如:上上箭头、下箭头、退出.),m。 要想让这些键再再恢复功能,就为为这些键各自编程程: 按键触发器代
40、码码 说明K。 上箭头KEY-DOWNDOWN; 上滚记录Z。 下箭头KEY-UPUP; 下滚记录n。 Page Up KEY-SCRUP SCROLL_UP;上翻屏b。 Page Down KEY-SCRDOWN SCROLL_DOWN;下翻屏1。 F1KEY-HELPHELP; 显示帮助r。 F3KEY-DUP-ITEMDUPLICATE_ITEM; 复制项r。 F4KEY-DUPRECDUPLICATE_RECORD; 复制记录T。 F5KEY-MENUBLOCK_MENU; 块导航菜菜单Y。 F6KEY-CRERECCREATE_RECORD;插入记录录3。 F7KEY-ENTQRYE
41、NTER_QUERY;输入查询询条件b。 F8KEY-EXEQRYEXECUTE_QUERY;运行查询N。 F9KEY-LISTVAL LIST_VALUES;显示LOVY。 F10 KEY-COMMITCOMMIT; 存盘i。 Enter、TabKEY-NEXT-ITEM NEXT_ITEM;下一项z。 SHIFT+TAB KEY-PREV-ITEM PREVIOUS_ITEM;前一项v。 Ctrl+QKEY-EXITEXIT_FORM;退出/取取消查询9。FORM中,触发子exit_form的两种种功能是什么?1、退出FORM exit_form;2、取消查询 if :System.Mod
42、e = ENTER-QUERY then s。 exit_form; end if;FORM中如何存取图图象?如何把图象象从一个表中导到到另一个表中?1、SQL*Plus中中SQL create table t_photo1(photo1 long raw);E。SQL create table t_photo2(photo2 long raw);Q。2、硬盘上c:下有有一个图象文件tmp.bmp3、打开FORM新建两个块:t_photo1、t_photo2t_photo1块是是数据库块,连接接的表是数据库中中的一个表t_photo1S。t_photo2块也也是数据库块,连连接的表是数据库库中
43、的另一个表t_photo2(备备份表)B。t_photo1块上上新建一个图象项项,名为photo1,对对应的是即表t_photo1中中的photo1列列8。t_photo2块上上也新建一个图象象项,名为photo2,对对应的是即表t_photo2中中的photo2列列P。新建一按钮1,输入以以下程序,这个按按钮实现读入图象象到表里,即录入入图象到表里Y。BEGINGO_BLOCK(t_photo1);-到块1READ_IMAGE_FILE(c:tmp.bmp,bmp,t_photo1.photo1);K。-读入外部图象文件件tmp.bmp(图图象类型为BMP)到到t_photo1块块的phot
44、o1项项,也就是到了t_photo1表表里V。COMMIT;-存存盘END;新建一按钮2,输入以以下程序,这个按按钮实现图象的倒倒表(t_photo1到到t_photo2)P。BEGINGO_BLOCK(t_photo1);-到块1execute_query;-查询出表中的图象象,这时,表中的的图象到了FORM中中的图象项上w。WRITE_IMAGE_FILE(c:tmp.bmp,bmp,t_photo1.photo1);J。-把图象项中图象写写入外部图象文件件tmp.bmpGO_BLOCK(t_photo2);-到块2READ_IMAGE_FILE(c:tmp.bmp,bmp,t_photo
45、2.photo2);p。-把外部图象文件tmp.bmp读读入到t_photo2块块的photo2项项,也就是到了t_photo2表表里x。COMMIT;-存存盘END;运行此程序,点击此按按钮观察效果。注释:t_photo1.photo1是是正式图片表中的的图象项(数据库库项)(t_photo1块块photo项1)L。 t_photo2.photo2是是备份图片表中的的图象项(数据库库项)(t_photo2块块photo项2)Y。FORM中如何存取声声音?硬盘上c:下有一个个声音文件tmp.wav打开FORM新建一个块:t_soundt_sound块上新新建一个声音项,名名为sound1新建一
46、按钮1,输入以以下程序BEGINGO_ITEM(sound1);READ_SOUND_FILE(c:tmp.wav,wave,sound1);I。PLAY_SOUND(sound1);END;运行此程序,点击此按按钮观察效果。FORM中,当用鼠标标点击标签画布的的某一“标签页”时,如何判断点点击的是哪一页?T。1. 在Form级触触发器中添加触发发WHEN-TABCHANGEDn。2. 在此触发器中写写如下代码:DECLAREcanvas_id VARCHAR2(30);-标签页IDx。BEGINcanvas_id := GET_CANVAS_PROPERTY(标签画布名, topmost_t
47、ab_page);L。IF canvas_id=标签页页1 then go_block(块1);end if;u。IF canvas_id=标签页页2 then go_block(块2);end if;W。IF canvas_id=标签页页3 then go_block(块3);end if;J。execute_query;END;FORM中,常用快捷捷键有哪些?CTRL+S保存CTRL+T编译文文件CTRL+R运行FORMCTRL+J连接F1调用帮助F2布局编辑器F4属性选项板如何发布Developer/2000应用程程序?FORM中,点击按钮钮实现字段排序?为什么在触摸屏上,我我的按纽不响
48、应我我的“按”动作? 为什么我的FMX程序序里没有Message line? FORM中,如何设置置水平滚动条? FORM中,触发子POST-CHANGE的的作用 FORM中,触发子WHEN-VALIDATE-ITEM的作用用 FORM中,触发子POST-QUERY的作作用 怎样在form中使用用宏? 在 早 期FOXPRO 数 据 库 编编 程 中, 经经 常 用 到 宏 代 换 功功 能, 但 在在FORMS 中中 却 没 有 此 功 能, 象&,* 等 在 编 程 中 经 常常 用 到 的, 在FORMS 中 只 得 一一 行 一 行 代 码 的 写写, 但 后 来来 发 现FORMS
49、中 也 有 类类 似 功 能, 用NAME_IN()、COPY() 可 以 实实 现 类 似 的 功 能。Name_in() 用 于 取 出 参参 数 名 代 表 的 对 象象 了 数 值, 而COPY() 把 一 个 参参 数 值 传 递 给 另 一一 参 数 值 表 示 的 对对 象。 的 如如 下 例: k。FORM 结 构: 块B 项 L1,L2,L3,L4,L5,L6 在 作 录 入入 程 序 时 要 对L1。L6 项 清 零 DELCATE strItemName varchar2(20);BEGIN for I in 1 6 loop strItemName:=:b.l|to_c
50、har(i);W。 copy(null,strItemNmae); end loop; END; 对 于NAME_IN 的 应 用 可 能 更更 多 一 些, 笔 者 在 做做 社 保 软 件 时, 作 保 险 缴 费费 录 入 时 曾 用 它 少少 写 了 许 多 代 码。 当 然 代 码码 的 减 少 就 义 意 味味 维 护 工 作 量 的 减减 少 Y。 FORM结结构:养老: 块:YLYJ(养养老应缴) 项:DWJTC(单单位缴统筹),DWJZH(单单位缴帐户),GRJF(个个人缴费)r。 块:YLSJ (养养老实缴) 项:DWJTC(单单位缴统筹),DWJZH(单单位缴帐户),GR
51、JF(个个人缴费)3。工伤: 块:GSYJ(工工伤应缴) 项:DWJTC(单单位缴统筹),DWJZH(单单位缴帐户),GRJF(个个人缴费)R。 块:GSSJ (工工伤实缴) 项:DWJTC(单单位缴统筹),DWJZH(单单位缴帐户),GRJF(个个人缴费)a。医疗: 块:YILYJ(医医疗应缴) 项:DWJTC(单单位缴统筹),DWJZH(单单位缴帐户),GRJF(个个人缴费)Y。 块:YILSJ (医疗实缴) 项:DWJTC(单单位缴统筹),DWJZH(单单位缴帐户),GRJF(个个人缴费)E。 三 个 块块 的 结 构 相 同, 只 是 块 名 称称 不 同, 缴缴 费 时 时 行 的
52、操 作作 也 一 样, 实 缴 名 项项 不 能 大 于 应 缴, 不 用NAME_IN 时, 只只 能 写 三 段 程 序, 但 用 了NAME_IN 后 只 用 一 段 写写 一 个 函 数 就 能 达达 到 目 的。 如 下: 1。 FUNCTION FUN_JF (PRE_BLOCK_NAME w。 IN VARCHAR) RETURN BOOLEAN IS BEGINif name_in(pre_block_name|sj.dwjtc)T。 name_in(pre_block_name|yj.dwjtc) or2。 name_in(pre_block_name|sj.dwjzh)p。
53、 name_in(pre_block_name|yj.dwjzh) orm。 name_in(pre_block_name|sj.grjf)Z。 name_in(pre_block_name|yj.grjf) theni。 message( 实 缴 大大 于 应 缴); return false;end if;return true; END; 从 上 面面 的 两 个 例 子 来 看看NAME_IN 和COPY 的的 应 用 能 起 到 其 它它 编 程 语 言 的 宏 代 换 功 能, 代 码 的 优 化 方方 面 确 实 能 起 不 少少 的 作 用, 减 少 了 程程 序 源 代 码
54、的 维 护护 工 作。 s。Oracle中Forms与与Reports的的集成Oracle产品Developer 2000中包括括多种开发工具,其其中在具体工作时时用得最多的是Forms和和Reports。Forms是是一个设计表单的的工具,利用它可可以灵活方便地定定义各种表单对象象,以简化用户在在运行期对相关数数据库的操作(查查询、插入、删除除和更新等);Reports则则是一个设计报表表的工具,利用它它可以按照用户的的要求方便地生成成报表。R。在Oracle应用系系统中,大量的具具有交互性的功能能是由Forms实实现的。利用Forms所所生成的表单模块块可以彼此调用,实实现业务流程的控控制
55、并完成与数据据库有关的复杂操操作;而由Reports所所设计的报表模块块往往当做最底层层的功能被表单模模块所调用。对于于一些Oracle用用户来说,独立地地用好Forms或或Reports是是没有问题的,但但他们却很少考虑虑如何使二者有机机地结合起来,利利用Forms对对数据操纵的灵活活性,由Forms模模块向Reports模模块传送大量结构构化或非结构化的的实时数据,减少少(或避免)Reports对对数据库的访问,从从而高速地生成报报表并保证报表数数据与表单数据的的一致性。本文通通过实例介绍一种种利用Forms的的封装例程RUN_PRODUCT( )在Forms模模块中集成Reports模模
56、块的方法,利用用该方法可以把Forms和和Reports有有机地结合起来,减减少不必要的操作作,提高工作效率率。U。RUN_PRODUCT例例程 在Forms模块中调调用Reports模模块,最有效的方方法是利用Forms的的封装例程RUN_PRODUCT()。目前,很多多程序开发人员在在Forms模块块中调用Reports模模块时,或者没有有采用这一例程,或或者虽然采用这一一例程但并没有充充分利用参数表来来传递表单中现成成的数据,或者只只是利用参数表来来传递少量的文本本参数(非结构化化数据)作为Reports中中的查询条件,报报表的数据仍然要要从数据库中查询询得到,这样既增增加了数据库服务务
57、器的负载,又增增加了网络的流量量,而且报表生成成的速度慢,丧失失了数据的实时性性与一致性。因此此,深入了解并熟熟练掌握参数表的的使用方法便显得得非常重要。6。在使用RUN_PRODUCT( )之前要先建建立参数表,并向向参数表中添加参参数。RUN_PRODUCT( )的使用格式式如下: D。RUN_PROCDUT(REPORTS, report_name, SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id, NULL); E。其中各参数含义如下: REPORTS:说说明被调模块是报报表模块; report_name:被调模块的完整整路径名; SYNCHRONOUS
58、: 说明被调模块块以同步的通信方方式运行(被调模模块退出之后主调调模块才能继续执执行,否则为ASYNCHRONOUS,即即异步方式); Y。RUNTIME:说说明被调模块的执执行方式为前台方方式(否则为BATCH,即即后台方式); d。FILESYSTEM:说明被调模块的的存储位置是文件件系统(否则为DATABASE,即即数据库系统); E。pl_id:用户定定义的参数表标识识符。 使用参数表的要领 由Forms模块向Reports模模块传递的数据可可分为两类:一类类是非结构化数据据,即报表表头(表表尾)的数据;另另一类是结构化数数据,即报表表目目的二维数据。在在如图1所示的报报表中,学年、学
59、学期、班级编号、班级名称、专业业名称、课程编号号、课程名称、学学分、班级人数等等,属于表头数据据;而学号、姓名名、性别、修读性性质、平时成绩、考试成绩、总评评成绩、任课教师师等属于表目数据据。 V。图1 Reports模模块执行情况参数表中的参数有两种种,文本参数(TEXT_PARAMETER)和和数据参数(DATA_PARAMETER)。文文本参数是对字符符型数据的引用,数数据参数是对记录录组的引用。对于于非结构化数据,可可借文本参数将数数据加入参数表(注注意:文本参数只只接受字符型数据据,对于其他类型型的数据要通过TO_CHAR( )函数先转化为字字符型数据);而而对于结构化数据据,则先要
60、将数据据存入记录组(RECORD_GROUP),然然后借数据参数才才能将数据加入到到参数表中。注意意:Forms模模块的记录组中的的各列和Reports模模块中的查询(QUERY)对对象的各列在名称称、类型和顺序上上要完全一致。这这里文本参数是字字符串指针,数据据参数是记录组(结结构数组)的指针针,而参数表则是是存储上述指针的的指针数组。F。如果RUN_PRODUCT( )的参数表中中未加入与Reports模模块中的查询对象象同名的数据参数数,则Reports 从数据库中查找找与其模块中的查查询对象相匹配的的数据;如果RUN_PRODUCT( ) 的参数表表中加入了与Reports模模块中的查
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-2031年中国知识付费行业市场调查研究与发展前景研究报告
- 2026年宁夏小升初语文真题试卷带答案
- 老师讲课单招试题及答案
- 2026年江苏徐州市鼓楼区开发区中学中考生物仿真模拟测试(四)(文字版含答案)
- 高中语文跟踪训练:必修一+第11课+包身工(无答案)
- 中学班主任主题班会课件:感恩教育主题班会
- 湖南省湘西土家族苗族自治州2025-2026学年高一下学期期末政治试卷 含答案
- 东南亚跨境互联网数字皮影制作文化中跨国雕刻版权-基于印尼及泰国皮影数字工艺档案实证
- 扎囊县2025届三年级数学下学期期中调研模拟试题(含答案)
- ISO 232562023 水质.选定的多氯联苯二苯并对二恶英和多氯联苯同源物的检测.流动免疫传感器技术的方法标准立项发展报告
- 专升本《西方经济学》模拟试题和答案
- 厨房油烟机清洗培训课件
- 西藏招商引资管理办法
- 质量管理五大工具培训教材
- 物资采购服务投标方案
- 高血钾急救流程标准化处理
- 压力容器制造质量管理体系2025年内审资料
- 16G362钢筋混凝土结构预埋件(详细书签)图集
- 湖北省武汉市2024年中考英语模拟试卷(含答案)
- 2024届福建省漳州市台商投资区六年级下学期小升初真题数学试卷含解析
- 薛生白《湿热病篇》经典条文46条2022.9整理
评论
0/150
提交评论