ITPub博客

首页 > 数据库 > Oracle > dv forms中文帮助—块类型函数(1)

dv forms中文帮助—块类型函数(1)

原创 Oracle 作者:YoungEric 时间:2007-08-31 11:12:59 0 删除 编辑

[@more@]

1、 CLEAR_BLOCK

说明:

Oracle Forms中删除当前的记录或删除当前块。.

语法:

PROCEDURE CLEAR_BLOCK;

PROCEDURE CLEAR_BLOCK

(commit_mode NUMBER);

内置函数类型 受限过程

输入值 NO

参数:

如果用户要从当前数据块中改变记录,将不需要提交。Oracle Forms会处理记录,下面各项将列出commit_mode的有效值:

commit_mode 可选参数commit_mode可以有下列常量值:

ASK_COMMIT Oracle Forms将提示用户在CLEAR_BLOCK处理时提交改变。

DO_COMMIT Oracle Forms提交改变执行commit,,并清理当前块。

NO_COMMIT Oracle Forms将提交改变并清理当前块,但不执行者Commit或激活用户。

NO_VALIDATE Oracle Forms将清理当前块,但不提交或执行改变、或激活当前用户。

示例:

1

BEGIN

IF :Emp.Empno IS NOT NULL THEN

:Global.Employee_Id := :Emp.Empno;

Clear_Block(No_Validate);

END IF;

END;

p.s http://hi.baidu.com/huitonet/blog/item/e238a3d3d7d50534970a1694.html

1、 GET_BLOCK_PROPERTY

说明:

返回一个特定块的相关属性信息,如果要重新得到属性值,你也必须重新调用该内置函数。

语法:

FUNCTION GET_BLOCK_PROPERTY

(block_id Block,property NUMBER);

FUNCTION GET_BLOCK_PROPERTY

(block_name VARCHAR2,property NUMBER);

内置函数类型 无限制

返回值 VARCHAR2

输入值 yes

参数:

block_id 在你创建该块时Oracle Forms赋于该对象的唯一ID,数据类型为Block

block_name在你创建该块时Oracle Forms赋于该对象的名称,数据类型为Varchar2

property 指定下列常量之一将返回块的相关属性。

l ALL_RECORDS 指定是否所有记录匹配查询标准,当查询在运行时被放入数据库。

l BLOCKSCROLLBAR_X_POS 返回块的滚动条的X坐标。

l BLOCKSCROLLBAR_Y_POS 返回块的滚动条的Y坐标。

l COLUMN_SECURITY 如果数据列安全性设置为yes,则返回字符串True;如果数据列安全性设置为no,则返回字符串False

l COORDINATION_STATUS 确定一个块的主从关系,这个属性指定块的协调关系和有关它的主块。如果当前块与它的主块是协调关系,则返回字符串 COORDINATED;如果当前块与它的主块不是协调关系,则返回字符串 NON_COORDINATED。一旦记录成为主从块,主从块就成为COORDINATED身份。当一个不同的记录成为主块的当前记录时,主从块就成为NON_COORDINATED身份。

l CURRENT_RECORD 返回当前记录的数量。

l CURRENT_RECORD_ATTRIBUTE 返回给定块的视觉属性的名称。

l CURRENT_ROW_BACKGROUND_COLOR 对象的背景颜色。

l CURRENT_ROW_FILL_PATTERN 对象的填充图案。填充图案是由前景色和背景色两种不同颜色指定。

1、 FIND_ALERT

说明:

Oracle Forms中搜索有效的警告对象。为函数提供一个名称后,它会返回一个警告对象的ID。你必须提供一个适当类型的变量,并定义变量的类型。

语法:

FUNCTION FIND_ALERT(alert_name VARCHAR2);

内置函数类型 无限制

返回值 警告类型对象

输入值 yes

参数:

alert_name 指定一个字符或字符串类型值

示例:

1

DECLARE

al_id Alert;

al_button NUMBER;

BEGIN

al_id := Find_Alert('User_Warning');

IF Id_Null(al_id) THEN

Message('User_Warning alert does not exist');

RAISE Form_Trigger_Failure;

ELSE

al_button := Show_Alert(al_id);

END IF;

END;

2、 ID_NULL

说明:

判断对象是否存在,并返回一个BOOLEAN 值。

语法:

FUNCTION FIND_ALERT(Object VARCHAR2);

内置函数类型 无限制

返回值 Boolean

输入值 yes

参数:

Object_id 你可以调用该函数测试对象类型的结果:

l Alert

l Block

l Canvas

l Editor

l FormModule

l GroupColumn

l Item

l LOV

l MenuItem

l ParamList

l RecordGroup

l Relation

l REPORT_OBJECT

l TabPage

l Timer

l Viewport

l VisualAttribute

l Window

使用说明:

当你要在运行时测试某个对象是否存在时可以使用ID_NULL函数。例如,如果一个记录组已存在,你还要尝试创建它时,就会得到一个错误消息,要使用该函数来检测,跟随下列过程:

l 使用适当的FIND_得到对象的ID

l 使用ID_NULL来检测对象是否已经存在。

l 如果对象不存在,创建该对象。

如果要在不同时间检测对象是否存在,(现在, 运行时不止一次), 你需要重新使用FIND_ 来进行每一次搜索。然后使用ID_NULL来判断对象是否存在。

3、 SET_ALERT_BUTTON_PROPERTY

说明:

修改警报按扭的标题。

语法:

PROCEDURE SET_ALERT_BUTTON_PROPERTY

(alert_id ALERT, button NUMBER, property VARCHAR2, value VARCHAR2);

PROCEDURE SET_ALERT_BUTTON_PROPERTY

(alert_nameVARCHAR2, button NUMBER, property VARCHAR2, value VARCHAR2);

内置函数类型 无限制

返回值 Boolean

输入值 yes

参数:

alert_id 指定警报的标识ID,可以使用FIND_ALERT来获取报警对象的ID

alert_name 获取报警对象的名称。

Button 你要改变的按扭的常量,有ALERT_BUTTON1, ALERT_BUTTON2, or ALERT_BUTTON3.

Propertylabel 指定报警对象按扭的标题属性。

Value指定报警对象按扭的值。

使用说明:

如果警报对象按扭标签为NULL,那么按扭标签会重新回复到设计时的标题。

4、 SET_ALERT_PROPERTY

说明:

修改警报对象的属性值。

语法:

SET_ALERT_PROPERTY

(alert_id ALERT, property NUMBER, message VARCHAR2);

SET_ALERT_PROPERTY

(alert_nameVARCHAR2, property NUMBER, message VARCHAR2);

内置函数类型 无限制

输入值 yes

参数:

alert_id 指定警报的标识ID,可以使用FIND_ALERT来获取报警对象的ID

alert_name 获取报警对象的名称。

Property 指定报警对象属性。

ALERT_MESSAGE_TEXT 指定警报对象的显示信息。

TITLE 指定报警对象对标题,如果不设定,那么默认值为空。

Message 指定新值替换原有值,新值在两端加引号或使用字符/字符串变量。

限制:

如果字符串超过200个字符,那么系统会自动截取。

示例:

DECLARE

err_txt VARCHAR2(80) := Error_Text;

al_id ALERT;

al_button Number;

BEGIN

al_id := FIND_ALERT('My_Error_Alert');

SET_ALERT_PROPERTY(al_id, alert_message_text, err_txt );

al_button := SHOW_ALERT( al_id );

END;

5、 SHOW_ALERT

说明:

显示指定对象,当用户选择相应按扭后返回数字值。

语法:

SHOW_ALERT(alert_id Alert);

SHOW_ALERT(alert_name VARCHAR2);

内置函数类型 无限制

返回值 当用户选择相应按扭后返回数字值。按扭映射值如下:

Button 1 ALERT_BUTTON1

Button 2 ALERT_BUTTON2

Button 3 ALERT_BUTTON3

参数:

alert_id 指定警报的标识ID,可以使用FIND_ALERT来获取报警对象的ID

alert_name 获取报警对象的名称。

1、 视觉属性
视觉属性包括字体、颜色和视觉样式,利用它们,你可以将窗体、菜单设置成不同的风格。视觉属性包括以下属性:
l 字体属性:字体名称(Font Name)、字体大小(Font Size)、字体(Font Style)、字体宽度(Font Width)、字体高度(Font Weight)。
l 颜色和视觉样式属性:前影色(Foreground Color)、背景色(Background Color)、填充图案(Fill Pattern)。
所有界面对象都有一组视觉属性,它指定对象的显示效果。视觉属性组都默认值、空值或自己定义值。
你可以通过以下途径设置对象的属性信息:
l 在属性面板中,选择你所需要的视觉属性组,然后对个别属性再进行设置(字体名、前影色等)。
l 在布局编辑器中,选择文本项或画布,然后在工具栏中设置字体、字号、颜色、图案等属性。
l 创建一个视觉属性对象,在其中设置好字体、颜色图案等信息,然后将其应用到不同的对象。这样你的界面元素就会有统一的风格,如果要改变只需重新设置该视觉属性组,它将自动应用到每个相关对象。
l 使用视觉子集,它包括各种视觉属性,对象可以从基类继承。创建一个方法类,包括所有的视觉属性。
2、 创建一个视觉属性组
创建一个视觉属性组:
1) 在对象导航器中,单击视觉属性结点。
2) 单击工具栏中的“Create”按扭。
3) Oracle Forms将创建一个具有唯一名的视觉属性组。
4) 在视觉属性组面板中,设置字体、颜色、图案等属性。
3、 默认视觉属性
设置视觉属性组的默认值是指修改默认颜色、图案和字体。当视觉属性组为默认值时,个别属性会使用系统默认值。当前的设置由综合因素决定,包括对象的类型、使用的源文件和窗体管理器。
4、 创建视觉属性的说明
在你使用视觉属性组时,有以下几点说明:
l 当你将一个视觉属性组应用到对象时,只有在对象使用视觉属性组时才有意义。
l 如果你的应用程序在多个平台就用,你必须使用命名视觉属性组。
5、 修改视觉属性
1) 在对象导航器中,双击要修改的视觉属性对象打开属性面板。
2) 在属性面板内,修改各属性。
提示:也可以在运行时修改属性,例如字体和颜色,使用Set_item_property语法:
Set_Item_Property( 'Blockname.Itemname', VISUAL_ATTRIBUTE, 'VisualAttributeName' );
VisualAttributeName可以是窗体中任何一个视觉属性,或者是源文件的逻辑视觉属性。

1、 设置标准
一般来说,在开发程序之前需要先创建一套标准,然后基于原型测试精简标准。因为每个公司的需求是独特的,所以你需要为自己公司创建一套标准。
创建标准分为四个方面:
 代码标准,包括对象和文件的命名规范。
 GUI标准,包括窗体界面,像颜色、布局的间距;也包括GUI对象,像按扭和复选框等等。
 用法标准,包括Look-And_feel标准,例如在应用程序中建立一致的操作规范,使软件的用法保持一致。
 UI向导标准, 针对不同的平台建立统一操作向导。

2、 定义标准
你可以使用Oracle Forms定义和分发程序标准,它可以使你的程序质量保持一致。同样也可以用由团队开发,开发者分别对应用程序部分进行创建和测试,可以更好的完成任务。当创建一个标准时,需要通过以下步骤:
定义标准。
在Oracle Forms中,根据标准创建对象。
将创建的标准存放于对象库。
将标准分发于每个开发者。

3、 创建标准的规则
在你创建标准时,必须遵循以下规则:
 在创建你自己的标准前,考虑使用Oracle Forms用户界面标准。
 对于主要的结构创建和重复使用标准。
 谨慎删除源对象;当删除一个源对象时会影响其它已链接到此对象上的对象。

4、 分发标准
 你可以分发标准到对象库 (.OLB), 表单(.FMB), 或菜单 (.MMB) 模块。
提示:推荐使用对象库(.OLB)做分发的标准。
 在Oracle Forms启动后,对象库会进行的打开。这样可以快速的重用对象。
 与表单和菜单模块相比,对象库提供了便捷类。

5、 代码重用
这里有几种方法可以帮助你在进行Oracle Forms设计中实现代码重用:
 在模块之间Copy触发器、存储单元或其它对象。
 触发器或程序单子集。
 创建一个PL/SQL对象库,然后在模块之间调用对象库中的对象。

6、 对象的重用
Oracle Forms有许多特点,它能在开发环境中更容易实现对象的重用。重用对象将使你的程序保持一致性,而且其它开发者也可以共享你的源对象。这里有几种方法可以实现对象的重用:
 当你要创建一个新的、单独的实例可以通过Copy对象。
 当你要创建一个新对象时可以使用子集,它将通过继承的方式实现重用。在你创建子集后,以后所继承子集的对象该自动使用源集的各个属性或外观,当你打开或重新编译程序时所有的改变自动生效。
 通过创建视觉属性,统一设置字体、颜色、图案等属性,在以后创建对象时使用该视觉自属性,来实现一致的外观。
 在想要创建一个高级块时可以通过使用对象组,它能使程序的多个部分同时进行开发。
 通使使用属性类定义各种对象通用的属性,然后在每个对象中继承。
 创建一个窗体模板,其中包括常用的对象,象样板文件、工具栏、程序单元等方便团体开发。

7、 复制对象
在对象导航器中,单击需要操作的对象。
按住Ctrl键拖动到目的地,Oracle将显示自动复制子类对话框。
选择复制。

8、 模板表单
任何表单都可以从模板中创建,模板表单允许团队中的成员共同基于模板开发。模板表单中包括代表性的对象,象图形、文本、图像、工具栏和程序单元等等。你可以在一个窗体中创建包括任何对象的模板。当你使用模板创建一个表单时,Oracle Forms打开模板并重命名对象,因而当你保存一个新窗体时,并不能覆盖模板。

9、 创建一个基于模板的表单
选择“File | New | Form Using Template”。
单击“Build a Form Based on a Template”,显示打开对象框。
选择一个文件(*.FMX)并打开。

Oracle Forms提供了内置函数,你可以在触发器或命名子程序中调用,内置函数提供了控制标准程序的功能,包括导航、外观控制和过程控制。
这一章节包括以下内容:

1、 关于内置代码示例:
示例中包括内置子程序,一些示例有简单的语法说明,另外的将详细说明如何使用该内置子程序或关联介绍其它函数。
 函数有严密的用法。
 示例中的斜体字部分可以忽略。
 内置函数名和其它PL/SQL关键字,例如IF, THEN, ELSE, BEGIN, 和 END 使用大写字母标识。
 命名参数,在说明时显示斜体字。如果你选择使用命名参数,输入它规定的使用语法,不包括提供和沿用等于大于符号。
 CHAR必须包含单引号。
 任何非字符类型都不能在两端附加单引号。
 特殊字条除了 单引号(')、豆号 commas (,)、圆括号()、下划线(_)和分号(;) 以外可以使用。


2、 函数语法:
命名参数使用斜体字显示,你可以替换任何命名参数作为实际参数,可以是常量、字面值、约束变量或数字。

SET_TIMER(timer_name, milliseconds, iterate);

在这个示例中,“timer_name”必须包括在单引号之内,因为它是字符串值。“milliseconds ”是一个数字值,它不可以使用单引号包括,“iterate”参数是一个常量,同样的,必须严格使用标准用法,除了单引号外,大小写并不重要。
在一定数量的任意元素是可利用的那些案例, 各种各样的供选择语法声明被提出。这些可选择的语法都是通常较常用的语法。
注意使用变量替代对象的别名,在这个例子中,不能在变量两端加双引号。下面的示例举例说明了当触发器When-Timer-Expired触发时调用SET_TIMER内置函数,并涉及一个包含计时名称的变量。

DECLARE
the_timer CHAR := GET_APPLICATION_PROPERTY(TIMER_NAME);
BEGIN
SET_TIMER(the_timer, 60000, REPEAT);
END;


3、 函数窗体的显示单元
许多内置函数允许你指定对象的大小和相对位置,使用下列属性:
 HEIGHT
 WIDTH
 DISPLAY_POSITION
 VIEWPORT_X_POS
 VIEWPORT_Y_POS
 VIEW_SIZE
 VIEWPORT_X_POS_ON_CANVAS
 VIEWPORT_Y_POS_ON_CANVAS
当你指定相应的宽度或高度时,你需要设定它与当前窗体计量单位,窗体坐标系统大小应该与对象保持一致,使用窗体坐标属性可以调整相应坐标:
 character cells or
 real units:
 inches
 centimeters
 pixels
 points
在设置与之相应的坐标单元时,所有对象尺寸和坐标都应相互匹配,因而Oracle Forms使用整数来控制大小和坐标。当使用实数单位(英寸、厘米或点)时,所有的尺度和坐标都将用你所指定的数字来表示,Oracle Forms将接受大小并产生实物。有效的单位精度是三位数,因而你能到千分之一,如果您使用映像点或字符单元, 座标被裁减为整数。


4、 内置函数的命名参数
命名参数可以跟随等于大于符号,指向实际参数。例如,如果你想在内置函数SET_TIMER 中改变毫秒数,你可以直接使用以下参数:

SET_TIMER(timer_name => 'my_timer', milliseconds => 12000, iterate => NO_REPEAT);

同样的,你也可以继续使用原来的语法:

SET_TIMER('my_timer', 12000, NO_REPEAT);


5、 函数对象标识:
一些内置函数接受对象身份证作为实际参数。对象身份证是被分配到各个对象当在Oracle Forms中创建时, 不透明的把柄。对象身份证被处理和内部无法外在地由用户观看。您能使用检索身份证的唯一的方法将定义一个地方或全局变量和赋予对象的回归价值到可变物。
你可以经由FIND_内置函数创建代理,一但在PL/SQL块中使用了FIND_ 内置函数,你可以在块中使用变量替代对象,每一个对象的有效类型包括在参数语法中。可以通过FIND_BLOCK内置函数获得相应的对象。


6、 受限内置函数:
受限内置函数在窗体中影响导航,任何一个外部导航或内部导航。当没有内部导航事件时,你可以在触发器中调用这些内置函数。
当Oracle Forms从当前对象导航到其它对象时,不能在后置触发器中调用受限内置函数进行触发。
当事件触发时可以调用受限内置函数,指向特定的项目。例如,当触发When-Button-Pressed 或When-Checkbox-Changed时,受限内置函数同样能从任何一个When-New-"object"中进行触发。无限置内置函数不能从任何触发器触发逻辑或物理条件。
内置函数在标题中描述内置函数类型,指定它是受限制的还是无限置内置函数。


7、 内置函数常量:
许多内置函数使用数字值,通常,常量中包括这些数字的值。常量就是一个命名的数字值。内置函数中使用常量时,常量本身不能在两端加单引号,常量不能被赋值。
在许多例子中,内置函数都使用一定数量的常量做为依据。在每个参数中都列出了可使用常量。在下面的例子中,BLOCK_SCOPE是一个常量,它为VALIDATION_UNIT 提供常量数值,其它常量列出了在描述FORM, RECORD和ITEM。


8、 内置函数包:
以下列出了经常使用的一些类别的内置函数:
 Alert Built-ins
 Application Built-ins
 Block Built-ins
 Canvas Built-ins
 Chart Built-ins
 Form Built-ins
 Item Built-ins
 Menu Built-ins
 Message Built-ins
 Multiple Form Built-ins
 Parameter List Built-ins
 Query Built-ins
 Record Built-ins
 Relation Built-ins
 Report Built-ins
 Tab Page Built-ins
 Transactional Built-ins
 Web Built-ins
 Window Built-ins

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10484922/viewspace-967217/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-18

  • 博文量
    79
  • 访问量
    211246