FORM_BUILDER_TREE总结
使用wxFormBuilder
使用wxFormBuilder1、打开wxFormBuilder,按开始一个空项目。
您也可以执行File|New来创建新项目2、从Object Properties(对象属性)面板配置项目的设置A、选择产生什么类型的代码。
现在你可以生成C++和/或XRC 代码。
B、设置生成文件的文件名(只有名称,没有扩展名)。
C、为您的项目输入一个名称。
D、设置代码生成的路径。
相对路径“.” 将导致代码生成和项目文件相同的目录中。
E、如果你想所有的文件引用您的项目(例如图像)产生一个相对路径,请选中relative_path 选项。
F、保存项目。
3、转到组件面板,然后按一下Forms标签。
然后,创建一个对话框,按一下第三个图标现在在对话框中显示的对象树。
4、现在您可以在对话框中的Object Properties(对象属性)面板配置属性。
例如,改变对话框名称为TutorialDialogGui 。
这个名字也将要产生的C++类的名称5、在此之后,您准备填入您的对话框的控制和sizers 。
wxFormBuilder只支持基础布局的Sizer,所以你将不得不增加一个Sizer能够插入控制。
转到组件面板,并点击Layout(布局)标签。
然后,点击第一个图标创建一个方块Sizer6、添加一些控制到Sizer,例如,两个按钮。
去Common(通用)标签,并按下第一个图标()两次。
7、在Object Properties(对象属性)面板的label property 中更改图标的标签。
例如,将第一个按钮的标签的属性设为&Show a message,第二个为&Close。
同样,分别设置第一个和第二个按钮的id 属性为ID_SHOWMESSAGE和wxID_OK第一个按钮的属性设置。
8、现在,现在是时候增加事件处理程序的按钮。
在Object Properties(对象属性)面板中切换到Events标签。
设定第一个按钮的OnButtonClick的值为OnShowMessage,第二个按钮的值设置为OnClose第一个按钮的Events9、现在,你可以生成代码了!按F8 或。
formbuilder用法
FormBuilder是一个Angular的库,用于简化在Angular应用中构建表单的过程。
使用FormBuilder可以更加轻松地创建和管理表单控件,并且提供了一些便利的方法来处理表单数据。
下面是FormBuilder的基本用法:1. 导入FormBuilder和FormGroup:```typescriptimport { FormBuilder, FormGroup } from '@angular/forms';```2. 在组件中注入FormBuilder:```typescriptconstructor(private formBuilder: FormBuilder) { }```3. 使用FormBuilder创建表单:```typescript// 在组件初始化时使用FormBuilder创建一个FormGroupmyForm: FormGroup = this.formBuilder.group({// 在这里定义表单控件username: '',password: ''});```4. 在模板中使用FormGroup和FormControl:```html<form [formGroup]="myForm" (ngSubmit)="onSubmit()"> <label>Username:<input type="text" formControlName="username"></label><label>Password:<input type="password" formControlName="password"> </label><button type="submit">Submit</button></form>```5. 处理表单数据:```typescriptonSubmit() {// 处理表单提交逻辑const formData = this.myForm.value;// 使用formData进行后续操作}```通过以上步骤,你可以使用FormBuilder来创建Angular表单,并在组件中轻松地进行表单控件的管理和表单数据的处理。
java builder用法
java builder用法Java Builder用法是Java编程方式的一种设计模式,在实现复杂对象的构造时有特别重要的作用。
它可以让建造者和客户端相分离,使客户端不再直接和复杂的内部构造结构打交道,从而极大地提高程序的复用性、灵活性和可扩展性。
Builder模式的实现是相当简单的:它主要包括三个组件:Product (产品)、Builder(构建者)和Director(导演)。
Product是构建的对象,它实际上是一个抽象类,用于封装所有需要配置的内容;Builder是构建的基类,它定义了实际构建的步骤,这些步骤由子类实现;Director负责调用Builder的方法进行构建,并返回最终的Product。
因此,Builder模式划分为以下步骤:1. 定义Product抽象类;2. 定义Builder抽象类,它定义实际构建的步骤;3. 定义具体的Builder子类,实现Builder抽象类中定义的步骤;4. 定义Director类,它负责调用Builder的方法来进行构建;5. 客户端根据具体情况调用Director进行构建;6. Director调用Builder来进行构建,并返回最终的Product。
使用Builder模式的好处在于可以将复杂的构建过程分离出去,将客户端和复杂的构建结构分离开来,使得客户端只需要知道如何组装和使用Product即可,而不用关心Product的内部构建细节。
此外,将复杂的构建过程封装在Builder类中,使得构建过程更加可控,客户端可以更加灵活地使用Builder来构建复杂的对象,从而极大提高了程序的复用性、灵活性和可扩展性。
因此可以总结为:使用builder模式可以将构建过程从客户端分离开来,使得开发人员可以更加灵活地使用Builder来构建复杂的对象,从而提高程序的复用性、灵活性和可扩展性。
Form Builder基础开发文档【入门级】Form Builder Basic Development
1 相关软件的安装1.1 Oracle Client1.1.1 Setup安装路径:\\hi4-sv11\Oracle\Software\9iclient目前我们都是用9iClient,安装基本上是一路Default,如果出现setup.exe不能执行的情况,请到\\hi4-sv11\Oracle\Software\9iclient\install\win32安装。
安装时建议安装管理员(Administrator)1.1.2 注册表修改<1>、NLS_LANGHKEY_LOCAL_MACHINE\SOFTWARE\ORACLE搜索NLS_LANG,出现NLS_LANG=ZHS16GBK或者NLS_LANG=ZHS16CGB231280的地方请全部修改成NLS_LANG=AMERICAN_AMERICA.UTF8Project Code: Project Name: Doc.No.: Page: 45<2>、FORMS60_PATH变量在后面加上TEMPLATE/APSTAND.FMB所在的路径(F:\WORK\FORM)和PLL文件所在的路径(F:\WORK\PLL)。
1.2 Patch安装路径:\\hi4-sv11\Oracle\Software\patch\p3095277_9204_WINNT\Disk1安装这个Patch的原因(来自MetaLink):The information in this article applies to:Oracle Server - Enterprise Edition - Version: 9.2.0.1 toOracle Provider for OLE DB - Version: 9.2.0.1Microsoft Windows 2000Microsoft Windows XPMicrosoft Windows (32-bit)SymptomsUsing the Oracle Provider for OLEDB 9.2.0.1.0 with web applications, the data retrieved and sent to the webpage is good for the first 100 rows.After the First 100 rows, th data is displayed as garbage or .The OLEDB registry default fetchsize has been changed from the default of 100.CauseThis is a known BUG in the OCI API Layer. The BUG number is 2549186.Fi xApply the 9.2.0.4.0 Patch 2 Client/Database patchset on the client machine.The Patch number is 3160576 for the Microsoft Windows (32-bit) platform安装这个补丁就是要修正Oracle的100 Records的BUG。
C++_Builder_高手进阶
C++ Builder 高手进阶(一)编写弹出广告杀手 (2)(二)系统窗口分析器 (7)(三)用BCB设计DBTreeView组件 (10)(四)动态显示任务栏图标 (31)(五)用BCB编写多线程应用程序 (34)(六)在IE工具栏中添加按钮 (37)(七)如何设计系统环境监控程序 (39)(八)TServerSocket和TClientSocket应用技巧 (41)(九)读写端口的两种技巧 (47)(十)如何实现控件数组 (50)(十)用Sender参数实现代码重用 (53)(一)编写弹出广告杀手nxyc_twz@一、系统分析作为一名软件开发人员,必然会经常上网查找资料,可讨厌的广告真让人心烦。
有没有办法自动关闭这些广告呢?答案是肯定的!也许你会说:“网上这类软件多的是,随便找一个不就行了?”,你说的确实不错,可作为一名软件开发人员,总不能什么都靠别人吧?自己动手作一个如何?说干就干,首先得找出弹出广告窗口的工作原理:1.使用自己的《系统窗口分析器》(在下一期讲述其开发过程),轻易地就发现弹出广告窗口的特征:其窗口类是CabinetWClass或IEFrame。
2.如果找出窗口类是CabinetWClass或IEFrame的窗口,向其发送WM_CLOSE 不就OK了吗?心里不由一阵窃喜!3.使用定时器定时进行检测,找到符合条件的窗口就向其发送WM_CLOSE消息。
二、实战前沿道理讲明了,可如何找到窗口类名呢?这就需要使用API函数了:GetWindowText :取得窗口文本GetWindow :取得窗口句柄GetClassName :取得类名PostMessage :发送消息SetWindowLong :设置方式具体用法请查阅相关资料。
三、设计流程1.启动C++Builder 5,新建一个Application,将Form的Name设置为Form1,其BoldStyle设置为bsNone,在Form的Icon中设置好图标。
tree的用法总结大全4篇
tree的用法总结大全tree的用法总结大全精选4篇(一)1. 构建树(Tree):用于构建一个树形数据结构,可以使用Tree类或者其他相关数据结构来实现。
2. 遍历树:通过不同的遍历算法(前序遍历、中序遍历、后序遍历等)对树的节点进行访问和操作。
3. 查找树:根据特定的搜索规则在树中查找节点,如二叉搜索树的查找操作。
4. 插入节点:向树中插入新的节点,可以根据特定的插入规则将节点插入到合适的位置。
5. 删除节点:从树中删除指定的节点,可以根据特定的删除规则执行删除操作,并保持树的结构完整。
6. 查找树的高度:计算树的高度,即树的最大深度,可以使用递归或迭代方法实现。
7. 树的平衡:判断一个树是否平衡,即左右子树的高度差不超过1,可以使用递归方法实现。
8. 树的深度优先搜索(DFS):使用深度优先搜索算法对树进行遍历,可以使用递归或栈来实现。
9. 树的广度优先搜索(BFS):使用广度优先搜索算法对树进行遍历,使用队列来实现。
10. 判断树的相等:判断两棵树是否相等,即树的结构和节点值都相同。
11. 判断树的子树:判断一棵树是否是另一棵树的子树,即判断一个树的结构和节点值是否包含在另一个树中。
12. 树的序列化与反序列化:将树转化为字符串或其他形式的序列化数据,或者将序列化数据转化为树结构。
13. 二叉树的镜像:将一棵二叉树的左右节点互换,可以使用递归或迭代方法实现。
14. 树的修剪:删除树中所有不在给定范围内的节点,可以使用递归方法实现。
15. 树的路径求和:查找树中从根节点到叶子节点的路径,使得路径上节点值之和等于目标值。
16. 最近公共祖先:查找两个节点的最近公共祖先节点,可以使用递归方法实现。
17. 判断对称树:判断一棵树是否是对称的,即树的左子树和右子树是否对称。
18. 重建树:根据树的前序遍历和中序遍历结果重建树的结构,或者根据树的后序遍历和中序遍历结果重建树的结构。
19. 树的直径:计算树的直径,即树中任意两个节点之间的最大距离,可以使用深度优先搜索算法实现。
FormsBuilder配置
Forms Builder配置注意事项及Suite 10g安装错误提示1、文档所写环境为WIN7下操作。
2、软件安装目录配置文件目录不能为中文,不包含空格。
3、安装Oracle Developer Suite 10g前如果已经配置有Oracle客户端再进行安装时可能会报出与Oracle客户端主目录冲突的错误,即需要先完全卸载Oracle客户端程序,环境变量等,Oracle Developer Suite 10g安装完成再重新配置Oracle即可。
环境错误:WINXP Pack3兼容模式,管理员身份运行.虚拟内存不足:计算机属性>高级系统设置>高级>性能,选择设置,选择高级选项,虚拟内存项选择更改,取消自动管理驱动分页文件的大小勾选状态,自定义大小,设置为1024 与2048,点击设置,确定保存即可。
1.1Oracle Developer Suite 10g安装Oracle Developer Suite 10g安装成功!!!修改tnsnames文件tnsnames文件路径为:OracleDeveloperSuite10g安装目录\ NETWORK\ADMIN\记事本编辑文件,替换段落为:CQBK_DEV =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = findev)(SID = findev)))建立FORM及Library文件夹Form文件与Library文件要存放在固定目录,方便于管理。
例如:在D:\目录下建立OracleDev文件夹.form存放在 D:\OracleDev\FromLibrary 存放在D:\OracleDev\From\Library;(Library文件见附件)修改注册表变量运行regedit命令打开注册表,在目录HKEY_LOCAL_MACHINE>SOFTWARE>Wow6432Node>ORACLE>KEY_DevSuiteHome1下找到FORMS_PATH 变量,加入存放 Form 及 Library文件的路径(如图)例如:d:\OracleDev\From\Library;d:\OrcaleDev\Form(建议加在最前面)1.2PLSQLDeveloper配置PLSQL 为安装文件PLSQL 汉化包PLSQL 破解文件PLSQL安装完成之后打开软件,登陆界面选择CancelTools>Preferences设置选项,在Connection设置OracleHome与OCILibrary目录,如下,保存重新打开PLSQL软件即可。
FORM_BUILDER_TREE总结
FORM_BUILDER_TREE总结⼀、树的简介Developer 6.0以上版本提供了hierarchy tree(层次树)的概念,htree控件⾮常⽅便,只需要少量的编程即可实现显⽰层次结构的⽬的。
树的特有属性中如下⼏个较为重要:l 多项选择(Multi-Selection):是否允许⼀次选中树的多个节点。
如果不允许,那么选中第⼆个节点时,第⼀个被选中的节点会取消选择。
l 记录组(Record Group):指定⽣成树的记录组的名字。
简单介绍⼀下跟树相关的触发⼦(Built-in):l FUNCTION GET_TREE_NODE_PROPERTY (item_name VARCHAR2, node NODE, property NUMBER);功能:取得树节点的属性其中property有如下⼏种:NODE_STATE:EXPANDED_NODE(扩展节点)COLLAPSED_NODE(收缩节点)LEAF_NODE(叶节点)--注:不能展开或收缩NODE_DEPTH:既节点在树中的层级。
NODE_LABEL:节点的显⽰⽂本NODE_ICON:节点的图标NODE_VALUE:节点的值。
例⼦:DECLAREhtree ITEM;node_value VARCHAR2(100);BEGIN-- 得到树htree := Find_Item('tree_block.htree3');-- 得到当前选中节点的值node_value := Ftree.Get_Tree_Node_Property(htree, :SYSTEM.TRIGGER_NODE, Ftree.NODE_V ALUE);...END;注释:其中: SYSTEM.TRIGGER_NODE指当前选中的树节点。
l FUNCTION GET_TREE_PROPERTY (item_name VARCHAR2,property NUMBER);功能:取得树的属性其中property有如下⼏种:DATASOURCERECORD_GROUPQUERY_TEXTNODE_COUNT:返回树中节点的个数。
c++builderTreeView控件节点遍历
c++builderTreeView控件节点遍历void __fastcall TForm1::GetRootNodes(TTreeView *DestTreeView)//得到所有根节点{TTreeNode *vNode = NULL;vNode = DestTreeView->Items->GetFirstNode();while(vNode){ShowMessage(vNode->Text);//处理查找到的根节点vNode = vNode->getNextSibling();}}//---------------------------------------------------------------------------void __fastcall TForm1::GetChildNodes(TTreeNode *ANode) //根据某个节点得到所有的⼦节点{TTreeNode *vNode;vNode=ANode->getFirstChild();while(vNode){ShowMessage(vNode->Text);//处理查找到的⼦节点vNode=ANode->GetNextChild(vNode);}}void __fastcall TForm1::GetAllChildNodes(TTreeNode *ANode)//根据某个节点得到所有的⼦节点的递归处理过程{TTreeNode *vNode;vNode=ANode->getFirstChild();while(vNode){ShowMessage(vNode->Text);//处理查找到的⼦节点//先序访问GetAllChildNodes(vNode);//递归调⽤vNode=ANode->GetNextChild(vNode);}}void __fastcall TForm1::VisitAllNodes(TTreeView *ATreeView)//递归访问所有节点{TTreeNode *vNode = NULL;vNode=ATreeView->Items->GetFirstNode();while(vNode){ShowMessage(vNode->Text);//处理查找到的根节点GetAllChildNodes(vNode);vNode=vNode->getNextSibling();}}。
OracleFormBuilder各种函数精讲分解
Form属性、内置子程序、触发器、系统变量一、属性1.1 通用属性名称(Name)子类信息(Subclass Information)备注(Comments)标题(Title)方向(Direction)字体名称(Font Name)字体大小(Font Size)字体粗细(Font Weight)字体风格(Font Style)字体间距(Font Spacing)前景色(Foreground)背景色(Background)填充图案(Fill Pattern)字符模式逻辑属性(Character Mode Logical Attribute)黑底白字(White on Black)视觉属性组(Visual Attribute Group)当前记录视觉属性组(Current Record Visual Attribute Group?/div> 宽度(Width)高度(Height)立体(Bevel)显示水平滚动条(Show Horizontal Scroll Bar)显示垂直滚动条(Show Vertical Scroll Bar)可见(Visible)X轴坐标(X Position)Y轴坐标(Y Position)启用(Enabled)标签文本(Label)允许查询(Query Allowed)允许插入(Insert Allowed)允许更新(Update Allowed)显示滚动条(Show Scroll Bar)带滚动条画布(Scroll Bar Canvas)滚动条标签页(Scroll Bar Tab Page)滚动条方向(Scroll Bar Orientation)滚动条的X轴坐标(Scroll Bar X Position)滚动条的Y轴坐标(Scroll Bar Y Position)滚动条的宽度(Scroll Bar Width)滚动条的高度(Scroll Bar Height)反转方向(Reverse Direction)显示的记录数(Number of Records Displayed)提取的最大记录数(Maximum Records Fetched)最大查询时间(Maximum Query Time)最大长度(Maximum Length)固定长度(Fixed Length)大小写限制(Case Restriction)列名(Column Name)自动跳离(Automatic Skip)折行风格(Wrap Style)数据类型(Data Type)记录间的距离(Distance Between Records)图标文件名(Icon Filename)需要(Required)帮助提示(Hint)1.2 表格模块对象属性控制台窗口(Console Window)菜单源(Menu Source)菜单模块(Menu Module)初始菜单(Initial Menu)菜单风格(Menu Style)推迟实行“需要”属性(Defer Required Enforcement)菜单角色(Menu Role)鼠标导航限制(Mouse Navigation Limit)第一导航数据块(First Navigation Data Block)验证单元(Validation Unit)交互模式(Interaction Mode)孤立模式(Isolation Mode)坐标系统(Coordinate System)字符单元宽度(Character Cell Width)字符单元高度(Character Cell Height)实体单位(Real Unit)使用3D控件(Use 3D Controls)表格水平工具条画布(Form Horizontal Toolbar Canvas)表格垂直工具条画布(Form Vertical Toolbar Canvas)保存点模式(Savepoint Mode)1.3 触发器对象属性触发器风格(Trigger Style)触发器文本(Trigger Text)在输入-查询模式中触发(Fire in Enter-Query Mode)执行层次(Execution Hierarchy)在“键盘帮助”中显示(Display in ‘Keyboard Help’)“键盘帮助”文本(‘Keyboard Help’Text)触发器类型(Trigger Type)1.4 警告对象属性信息(Message)警告风格(Alert Style)按钮1标签(Button1 Label)按钮2标签(Button2 Label)按钮3标签(Button3 Label)缺省警告按钮(Default Alert Button)1.5 数据块对象属性导航器风格(Navigation Style)前一个导航数据块(Previous Navigation Data Block)下一个导航数据块(Next Navigation Data Block)查询数组大小(Query Array Size)缓冲的记录数(Number of Records Buffered)查询所有记录(Query All Records)记录方向(Record Orientation)单记录(Single Record)数据库数据块(Database Block)使用主键(Enforce Primary Key)查询数据源类型(Query Data Source Type)查询数据源名称(Query Data Source Name)查询数据源列(Query Data Source Columns)查询数据源参数(Query Data Source Arguments)WHERE子句(WHERE Clause)ORDER BY子句(ORDER BY Clause)优化提示(Optimizer Hint)锁定模式(Locking Mode)允许删除(Delete Allowed)键模式(Key Mode)仅更新修改的列(Update Changed Columns Only)实行列安全控制(Enforce Column Security)DML数据目标类型(DML Data Target Type)DML数据目标名称(DML Data Target Name)插入过程名称(Insert Procedure Name)插入过程结果集列(Insert Procedure Result Set Columns)插入过程参数(Insert Procedure Arguments)更新过程名(Update Procedure Name)更新过程结果集列(Update Procedure Result Set Columns)更新过程参数(Update Procedure Arguments)删除过程名(Delete Procedure Name)删除过程结果集列(Delete Procedure Result Set Columns)删除过程参数(Delete Procedure Arguments)锁定过程名(Lock Procedure Name)锁定过程结果集列(Lock Procedure Result Set Columns)锁定过程参数(Lock Procedure Arguments)DML数组大小(DML Array Size)预计算汇总(Precompute Summaries)在数据块菜单中列出(Listed In Block Atribute)数据块描述(Data Block Description)1.6 项对象属性项类型(Item Type)对齐(Justification)多行(Multi-Line)隐藏数据(Conceal Data)保持光标位置(Keep Cursor Position)弹出式菜单(Popup Menu)文件名(Filename)执行模式(Execution Mode)通讯模式(Communication Mode)数据源数据块(Data Source Data Block)数据源X轴(Data Source X Axis)数据源Y轴(Data Source Y Axis)提交时更新(Update on Commit)复选时的值(Value when Checked)未复选时的值(Value when Unchecked)其它值的复选框映射(Check Box Mapping of Other Values)图象格式(Image Format)图象深度(Image Depth)压缩质量(Compression Quality)显示质量(Display Quality)显示面板(Show Palette)大小风格(Sizing Style)列表中的元素(Elements in List)列表风格(List Style)访问键(Access Key)图标化(Iconic)缺省按钮(Default Button)声音格式(Sound Format)音频通道(Audio Channels)压缩(Compress)声音质量(Sound Quality)可用键盘导航(Keyboard Navigable)前一个导航项(Previous Navigation Item)下一个导航项(Next Navigation Item)鼠标导航(Mouse Navigate)初始值(Initial Value)格式掩码(Format Mask)最高允许值(Highest Allowed Value)最低允许值(Lowest Allowed Value)从项中复制值(Copy Value from Item)用项同步化(Synchronize with item)计算模式(Calculation Mode)公式(Formula)汇总函数(Summary Function)汇总块(Summarized Block)汇总项(Summarized Item)显示的项数(Number of Item Displayed)主键(Primary Key)仅查询(Query Only)查询长度(Query Length)不区分大小写的查询(Case Insensitive Query)仅为NULL则更新(Update Only if NULL)锁定记录(Lock Record)值列表(List of Values)列表X轴位置(List X Position)列表Y轴位置(List Y Position)编辑器(Editor)编辑器的X轴位置(Editor X Position)编辑器的Y轴位置(Editor Y Position)画布(Canvas)标签页(Tab Page)释放(Rendered)显示播放按钮(Show Play Button)显示录制按钮(Show Record Button)显示倒回按钮(Show Rewind Button)显示快进按钮(Show Fast Forward Button)显示音量控制(Show Volume Control)显示时间显示器(Show Time Indicator)显示滑杆(Show Slider)提示(Prompt)提示显示风格(Prompt Display Style)提示文本对齐(Prompt Justification)提示附件边缘(Prompt Attachment Edge)提示对象对齐(Prompt Alignment)提示附件偏移(Prompt Attachment Offset)提示对象对齐偏移(Prompt Alignment Offset)提示阅读顺序(Prompt Reading Order)提示视觉属性组(Prompt Visual Attribute Group)提示字体名(Prompt Font Name)提示字体大小(Prompt Font Size)提示字体粗细(Prompt Font Weight)提示字体风格(Prompt Font Style)提示字体间距(Prompt Font Spacing)提示前景色(Prompt Foreground Color)提示背景色(Prompt Background Color)提示填充图案(Prompt Fill Pattern)提示(Hint)自动显示提示(Display Hint Automatically)工具提示(Tooltip)工具提示视觉属性组(Tooltip Visual Attribute Group)初始键盘状态(Initial Keyboard State)读取顺序(Reading Order)键盘状态(Keyboard State)1.7 关系对象属性从数据块(Detail Data Block)关联条件(Join Condition)删除记录行为(Delete Record Behavior)防止无主记录操作(Prevent Masterless Operations)协调(Coordination)协调状态(Coordination States)1.8 画布对象属性画布类型(Canvas Type)输入时置前(Raise On Entry)弹出式菜单(Popup Menu)窗口(Window)画布上的视图端口X轴位置(Viewport X Position Canvas)画布上的视图端口Y轴位置(Viewport Y Position Canvas)视图端口的X轴位置(Viewport X Position)视图端口的Y轴位置(Viewport Y Position)视图端口高度(Viewport Height)视图端口宽度(Viewport Width)标签风格(Tab Style)标签附件边缘(Tab Attachment Edge)1.9 框架对象属性布局数据块(Layout Data Block)更新布局(Update Layout)布局风格(Layout Style)框架对齐(Frame Alignment)单对象对齐(Single Object Alignment)水平边距(Horizontal Margin)垂直边距(Vertical Margin)水平对象偏移(Horizontal Object Offset)垂直对象偏移(Vertical Object Offset)允许扩展(Allow Expansion)收缩包容(Shrink wrap)垂直填充(Vertical Fill)每行最多对象数(Maximum Objects Per Line)起始提示对齐(Start Prompt Alignment)起始提示偏移(Start Prompt Offset)顶部提示对齐(Top Prompt Alignment)顶部提示偏移(Top Prompt Offset)允许多行提示(Allow Multi-Line)允许顶部-附加提示(Allow Top-Attached)允许起始-附加提示(Allow Start-Attached)框架标题(Frame Title)框架标题对齐(Frame Title Alignment)框架标题偏移(Frame Title Offset)框架标题间隔(Frame Title Spacing)框架标题阅读顺序(Frame Title Reading Order)滚动条对齐(Scroll Bar Alignment)框架标题视觉属性组(Frame Title Visual Attribute Group)1.10 标签页对象属性1.11 编辑器对象属性底部标题(Bottom Title)1.12 值表(Lovs)对象属性列表类型(List Type)记录组(Record Group)列映射属性(Column Mapping Properties)显示之前过滤(Filter Before Display)自动显示(Automatic Display)自动刷新(Automatic Refresh)自动选择(Automatic Select)自动位置(Automatic Position)自动列宽(Automatic Column Width)自动跳离(Automatic Skip)1.13 表格对象组对象属性1.14 表格参数对象属性参数数据类型(Parameter Data Type)参数初始值(Parameter Initial Value)1.15 表格属性类对象属性1.16 记录组对象属性记录组类型(Record Group Type)记录组查询(Record Group Query)列规格(Column Specifications)1.17 表格视觉对象属性1.18 窗口对象属性主画布(Primary Canvas)水平工具条画布(Horizontal Toolbar Canvas)垂直工具条画布(Vertical Toolbar Canvas)窗口风格(Window Style)模式(Modal)退出时隐藏(Hide on Exit)允许关闭(Close Allowed)允许移动(Move Allowed)允许重新调整大小(Resize Allowed)允许最大化(Maximize Allowed)允许最小化(Minimize Allowed)最小化标题(Minimized Title)继承菜单(Inherit Menu)1.19 菜单模块对象属性主菜单(Main Menu)菜单目录(Menu Directory)菜单文件名(Menu Filename)启动代码(Startup Code)使用安全性(Use Security)模块角色(Module Roles)1.20 菜单对象属性子标题(Subtitle)底部标题(Bottom Title)分离式菜单(Tear-Off Menu)1.21 菜单项对象属性菜单项类型(Menu Item Type)魔术项(Magic Item)菜单项单选组(Menu Item Radio Group)命令类型(Command Type)命令文本(Command Text)键盘加速键(Keyboard Accelerator)在菜单中可见(Visible in Menu)在水平菜单工具条中可见(Visible in Horizontal Menu Toolbar)在垂直菜单工具条中可见(Visible in Vertical Menu Toolbar)菜单中的图标(Icon in Menu)菜单项代码(Menu Item Code)项角色(Item Roles)无权限显示(Display without Privilege)帮助描述(Help)1.22 菜单对象组对象属性1.23 菜单参数对象属性隐藏数据(Secure)关联菜单(Associated Menus)菜单参数初始值(Menu Parameter Initial Value)1.24 菜单视觉属性对象属性二、内置子程序2.1 公共内置子程序GENERATE_SEQUENCE_NUMBERID_NULLRUN_PRODUCTVALIDATE2.2 应用内置子程序DO_KEYGET_APPLICATION_PROPERTY HOSTPAUSESET_APPLICATION_PROPERTY USER_EXIT2.3 表格内置子程序BELLBREAKCALL_FORMCALL_INPUTCLEAR_FORMCLOSE_FORMCOMMIT_FORMDEBUG_MODEENTERERASEEXECUTE_TRIGGEREXIT_FORMFIND_FORMFORM_FAILUREFORM_FATALFORM_SUCCESSGET_FORM_PROPERTYGO_FORMHELPNEW_FORMNEXT_FORMOPEN_FORMPOSTPREVIOUS_FORM REDISPLAYREPLACE_MENUSET_FORM_PROPERTY SHOW_KEYSSHOW_MENU SYNCHRONIZE2.4 块内置子程序BLOCK_MENUCLEAR_BLOCKFIND_BLOCKGET_BLOCK_PROPERTYGO_BLOCKNEXT_BLOCKPREVIOUS_BLOCKSET_BLOCK_PROPERTY2.5 记录内置子程序CHECK_RECORD_UNIQUENESS CLEAR_RECORDCREATE_QUERIED_RECORD CREATE_RECORDDELETE_RECORDDOWNDUPLICATE_RECORDFIRST_RECORDGET_RECORD_PROPERTYGO_RECORDINSERT_RECORDLAST_RECORDLOCK_RECORDNEXT_RECORDNEXT_SETPREVIOUS_RECORD SCROLL_DOWNSCROLL_UPSELECT_RECORDSSET_RECORD_PROPERTYUPUPDATE_RECORD2.6 项内置子程序CHECKBOX_CHECKEDCLEAR_EOLCLEAR_ITEMCONVERT_OTHER_VALUECOPYCOPY_REGIONCUT_REGIONDEFAULT_VALUEDISPLAY_ITEMDUMMY_REFERENCE DUPLICATE_ITEMEDIT_TEXTITEMFIND_ITEMGET_FILE_NAMEGET_ITEM_INSTANCE_PROPERTY GET_ITEM_PROPERTYGET_RADIO_BUTTON_PROPERTY GO_ITEMIMAGE_ZOOMNAME_INNEXT_ITEMNEXT_KEYPASTE_REGIONPLAY_SOUNDPREVIOUS_ITEMREAD_IMAGE_FILEREAD_SOUND_FILE RECALCULATESELECT_ALLSET_ITEM_INSTANCE_PROPERTY SET_ITEM_PROPERTYSET_RADIO_BUTTON_PROPERTYWRITE_IMAGE_FILE WRITE_SOUND_FILE2.7 窗口内置子程序FIND_WINDOWGET_WINDOW_PROPERTY HIDE_WINDOWMOVE_WINDOWREPLACE_CONTENT_VIEW RESIZE_WINDOWSET_WINDOW_PROPERTY SHOW_WINDOW2.8 画布内置子程序FIND_CANVASFIND_VIEWGET_CANVAS_PROPERTY GET_VIEW_PROPERTYHIDE_VIEWPRINTSCROLL_VIEWSET_CANVAS_PROPERTY SET_VIEW_PROPERTY SHOW_VIEW2.9 标签页内置子程序FIND_TAB_PAGEGET_TAB_PAGE_PROPERTY SET_TAB_PAGE_PROPERTY 2.10 事务处理内置子程序ENFORCE_COLUMN_SECURITY FETCH_RECORDSFORMS_DDLISSUE_ROLLBACKISSUE_SAVEPOINT LOGONLOGON_SCREENLOGOUT2.11 查询内置子程序ABORT_QUERYCOUNT_QUERYENTER_QUERYEXECUTE_QUERY2.12 关系内置子程序FIND_RELATIONGET_RELATION_PROPERTY SET_RELATION_PROPERTY2.13 记录组内置子程序ADD_GROUP_COLUMNADD_GROUP_ROWCREATE_GROUPCREATE_GROUP_FROM_QUERY DELETE_GROUPDELETE_GROUP_ROWFIND_COLUMNFIND_GROUPGET_GROUP_CHAR_CELLGET_GROUP_DATE_CELLGET_GROUP_NUMBER_CELL GET_GROUP_ROW_COUNTGET_GROUP_SELECTIONGET_GROUP_SELECTION_COUNT POPULATE_GROUP POPULATE_GROUP_WITH_QUERY RESET_GROUP_SELECTION SET_GROUP_CHAR_CELLSET_GROUP_DATE_CELLSET_GROUP_NUMBER_CELL SET_GROUP_SELECTIONUNSET_GROUP_SELECTION 2.14 列表项内置子程序ADD_LIST_ELEMENT CLEAR_LISTDELETE_LIST_ELEMENT GET_LIST_ELEMENT_COUNT GET_LIST_ELEMENT_LABEL GET_LIST_ELEMENT_VALUE POPULATE_LIST RETRIEVE_LIST2.15 参数列表内置子程序ADD_PARAMETER CREATE_PARAMETER_LIST DELETE_PARAMETER DESTROY_PARAMETER_LIST GET_PARAMETER_ATTR GET_PARAMETER_LIST SET_PARAMETER_ATTR2.16 菜单内置子程序APPLICATION_PARAMETER BACKGROUND_MENUFIND_MENU_ITEMGET_MENU_ITEM_PROPERTY HIDE_MENUITEM_ENABLEDMENU_CLEAR_FIELD MENU_NEXT_FIELDMENU_PARAMETERMENU_PREVIOUS_FIELD MENU_REDISPLAYMENU_SHOW_KEYSNEXT_MENU_ITEM PREVIOUS_MENUPREVIOUS_MENU_ITEM QUERY_PARAMETERSET_INPUT_FOCUSSET_MENU_ITEM_PROPERTY SHOW_BACKGROUND_MENU SHOW_MENUTERMINATEWHERE_DISPLAY2.17 警告内置子程序FIND_ALERTSET_ALERT_BUTTON_PROPERTY SET_ALERT_PROPERTY SHOW_ALERT2.18 消息内置子程序CLEAR_MESSAGEDBMS_ERROR_CODEDBMS_ERROR_TEXTDISPLAY_ERRORERROR_CODE.ERROR_TEXTERROR_TYPEGET_MESSAGEMESSAGE.MESSAGE_CODEMESSAGE_TEXTMESSAGE_TYPE三、触发器3.1 键触发器Key-FnKey-Others3.2 On触发器On-Check-Delete-Master On-Check-UniqueOn-Clear-DetailsOn-CloseOn-Column-SecurityOn-CommitOn-CountOn-DeleteOn-ErrorOn-FetchOn-InsertOn-LockOn-LogonOn-LogoutOn-MessageOn-Populate-Details On-RollbackOn-SavepointOn-SelectOn-Sequence-NumberOn-Update3.3 Post触发器Post-BlockPost-ChangePost-Database-Commit Post-DeletePost-FormPost-Forms-CommitPost-InsertPost-LogonPost-LogoutPost-QueryPost-RecordPost-SelectPost-Text-ItemPost-Update3.4 Pre触发器Pre-BlockPre-CommitPre-DeletePre-FormPre-InsertPre-LogonPre-LogoutPre-QueryPre-RecordPre-SelectPre-Text-ItemPre-Update3.5 When触发器When-Button-Pressed When-Checkbox-Changed When-Clear-BlockWhen-Create-Record When-Custom-Item-Event When-Database-Record When-Form-Navigate When-Image-Activated When-Image-Pressed When-List-Activated When-List-Changed When-Mouse-ClickWhen-Mouse-DoubleClick When-Mouse-DownWhen-Mouse-EnterWhen-Mouse-LeaveWhen-Mouse-MoveWhen-Mouse-UpWhen-New-Block-InstanceWhen-New-Form-InstanceWhen-New-Item-InstanceWhen-New-Record-Instance When-Radio-ChangedWhen-Remove-RecordWhen-Tab-Page-ChangedWhen-Timer-ExpiredWhen-Validate-ItemWhen-Validate-RecordWhen-Window-ActivatedWhen-Window-ClosedWhen-Window-DeactivatedWhen-Window-Resized四、系统变量$$DATE$$$$DATETIME$$$$DBDATE$$$$DBDATETIME$$$$DBTIME$$$$TIME$$SYSTEM.BLOCK_STATUS SYSTEM.COORDINATION_OPERATION SYSTEM.CURRENT_BLOCK SYSTEM.CURRENT_DATETIME SYSTEM.CURRENT_FORM SYSTEM.CURRENT_ITEM SYSTEM.CURRENT_VALUE SYSTEM.CURSOR_BLOCK SYSTEM.CURSOR_ITEM SYSTEM.CURSOR_RECORDSYSTEM.CURSOR_VALUESYSTEM.CUSTOM_ITEM_EVENTSYSTEM.CUSTOM_ITEM_EVENT_PAR-AMETERSSYSTEM.DATE_THRESHOLDSYSTEM.EFFECTIVE_DATESYSTEM.EVENT_WINDOWSYSTEM.FORM_STATUSST_FORMST_QUERYST_RECORDSYSTEM.MASTER_BLOCKSYSTEM.MESSAGE_LEVELSYSTEM.MODESYSTEM.MOUSE_BUTTON_PRESSEDSYSTEM.MOUSE_BUTTON_SHIFT_STATESYSTEM.MOUSE_CANVASSYSTEM.MOUSE_FORMSYSTEM.MOUSE_ITEMSYSTEM.MOUSE_RECORDSYSTEM.MOUSE_RECORD_OFFSETSYSTEM.MOUSE_X_POSSYSTEM.MOUSE_Y_POSSYSTEM.RECORD_STATUSSYSTEM.SUPPRESS_WORKINGSYSTEM.TAB_NEW_PAGESYSTEM.TAB_PREVIOUS_PAGESYSTEM.TRIGGER_BLOCK.SYSTEM.TRIGGER_ITEMSYSTEM.TRIGGER_RECORDForm 中trigger 执行的顺序我总结了FORM的一些操作中TRIGGER的执行顺序。
c++ builder基本知识
C++ Builder 初学问与答(一)第一部分:基础入门1.窗体1)问:Windows的编程就是在窗体的基础上实现的,C++Builder是怎样处理窗体的呢?答:窗体的一部分功能通过窗体的属性来实现,窗体的属性非常多,这里只对其中比较重要的属性进行介绍。
1.ActiveControl指定窗体上的某个组件为输入焦点。
如下面的语句将窗体上的Label1组件成为输入焦点:ActiveControl=Label1。
在同一时时刻,应用程序只能有一个输入焦点。
2.BorderIcons用来设定标题栏上出现哪些系统图标。
它是一个集合,可以设成以下几个类型:最大化按钮(biMaximize)、最小化按钮(biMinimize)、帮助按钮(biHelp)和系统菜单(biSystemMenu)。
3.Icon属性用来指定当窗体最小化时显示的图标。
4.KeyPreview属性为true时,表示击键事件发生时先传给窗体,然后再传给有输入焦点的组件上,相当于窗体截获了原本属于组件的事件。
缺省值为false,表示击键事件只送到当前有输入焦点的组件上。
5.Menu属性用来指定窗体的主菜单。
6.Visible属性用来确定窗体是否可见。
此外还有一些运行时态属性,这些属性只有在程序运行的时候才能通过编程访问。
这种属性主要有:Active属性用来确定窗体是否获得输入焦点。
ActiveMDIChild这个函数将返回当前活动的子窗体。
DropTarget属性用来指定窗体是否是拖放操作的对象。
Parent属性用来设定包含窗体的窗口控件,通常是另一个窗体。
如果窗体没有包含它的控件,那么它的Parent属性为nil。
2)问:Windows窗体有很多样式,比如对话框,弹出窗口。
如果我要控制窗体的边界样式,应该怎么办?答:属性BorderStyle可以指定窗体边界的外观和行为。
它一共有六种可能的取值。
bsDialog表示大小不可变的标准的对话框边界。
form builder item计算汇总项
form builder item计算汇总项英文版Form Builder Item Calculation SummaryIn the realm of digital development, form builders have become an integral part of various platforms, enabling users to create, customize, and manage forms efficiently. One of the key features of a form builder is the calculation summary item, which provides users with the ability to automatically calculate and summarize data entered into the form.The calculation summary item is a powerful tool that allows for real-time data analysis. It can be configured to perform various mathematical operations such as addition, subtraction, multiplication, division, and even more complex calculations based on user requirements. This flexibility makes it suitable for a wide range of applications, from simple surveys to complex financial reports.The item's working principle is straightforward. As users fill out the form, the calculation summary item dynamically updates, reflecting the results of the performed calculations. This eliminates the need for manual calculations or the use of separate software tools, saving time and effort.Furthermore, the calculation summary item can be customized to display the results in various formats, such as currency, percentages, or even custom formulas. This added flexibility ensures that the data presented is tailored to the specific needs of the user.In summary, the calculation summary item in a form builder is a valuable tool that enhances the functionality and efficiency of form creation and management. It enables users to quickly and accurately analyze data, making informed decisions based on real-time calculations.中文版表单构建器项目的计算汇总在数字发展的领域中,表单构建器已成为各种平台的重要组成部分,使用户能够高效创建、定制和管理表单。
FORM_BUILDER
四.Oracle Application中主要的操作画面都是由Forms Builder制作而 成的.
目录
Oracle Forms Builder介绍 开发软件安装 配置开发环境 Forms Builder基本对象 开发简单例子
开发软件安装
一.下载Oracle Developer Suite(下载路径参照备注) 二.如下图所示
配置开发环境
八.如无上述六个步骤的配置,我们在打开template.fmb时,系统 会提示如下图错误:
目录
Oracle Forms Builder介绍 开发软件安装 配置开发环境 Forms Builder基本对象 开发简单例子
Forms Builder基本对象
1.窗口(Windows):包含画布的窗体. 2.画布(Canvas) :是对ITEM调整的平台. 3.数据块(Block):一般与数据库中表关联. 4.项(Item):基本组织元素. 上述四个为最基本对象,缺一不可. 5.附加库(Attached Libraries):标准PLL文件. 6.LOV:值列表,用户选择数据. 7.参数:传递参数,相当于全局变量. 8.程序单元:建立PLSQL. 9.记录组(Record Group):提供数据源.
定义在Form级或块级,当Form每首次取一条记录到块中时被触发 常用于检索统计中的记录数 例:给EMP_BLK块中的当前部门统计工资总额并把值赋给显示项SAL_SUM. 触发器POST-QUERY SELECT SUM(SAL) INTO:EMP_BLK.SAM_SUM FROM EMP WHERE DEPTNO=:EMP_BLK.DEPTNO;
功能
PRE-COMMIT
POST-COMMIT
葵花宝典之FORM_builder速成
北京大唐兴竹软件技术有限公司FORM BUILEDER 开发速成修改记录签名职务姓名签字日期内容索引1简介 (1)1.1目标 (1)1.2范围 (1)1.3如何得到这个文档 (1)2FORM BUILDER安装和开发环境配置 (1)2.1FORM BUILDER及其补丁程序安装 (1)2.2开发环境配置 (4)2.2.1字符集配置 (4)2.2.2资源目录的配置 (6)2.3安装工具的获得 (7)3FORM BUILDER开发 (7)3.1技术背景 (7)3.2开发模板介绍 (8)3.3F ORM开发环境及OBJECT NAVIGATOR介绍 (8)3.4开发实例 (11)3.4.1简单数据表维护FORM的制作。
(11)3.4.1.1利用向导制作数据块 (11)3.4.1.2利用向导排放数据块 (14)3.4.1.3日历框的使用 (15)3.4.1.4利用向导制作LOV、LOV返回项的设定及LOV与record group的关系 (16)3.4.1.5Form的退出(app_custom包的使用) (20)3.4.1.6画布(canvas)的类型及与窗口(window)的关系。
(21)3.4.1.7基于视图数据块的增、删、改 (22)3.4.1.8关联块(主细块)的制作 (24)3.4.1.9五个历史字段的维护 (26)3.4.1.10基表主键的维护 (26)3.4.2带folder功能FORM的制作。
(27)3.4.3带object group继承界面FORM的制作。
(27)3.5ERP FORM的剖析 (27)3.6测试题 (28)4FORM程序开发技巧 (28)4.1数据块控制 (28)4.2树控件的控制 (28)4.3画布、窗口显示 (28)4.3.1窗口的居中显示 (28)5术语说明 (29)1简介1.1目标此文档是Form开发的入门级教程大纲。
利用此教程并配合老师专门教授、解答问题,可以使公司新来的开发人员,快速了解Form开发模式,对Form开发有良好的感性认识,并具有初级的开发能力。
java的Builder原理和实现详解
java的Builder原理和实现详解⾸先给⼀个简单的Builder设计模式的例⼦:主实现类代码如下:/*** 实体类包含⼀个静态内部类 Builder*/public class CompanyClient {public String companyName;// ⽤final修饰的成员变量表⽰常量,只能被赋值⼀次,赋值后值⽆法改变! final修饰的变量有三种:静态变量、实例变量和局部变量。
public String companyAddress;public double companyRegfunds;public String mPerson;public String mType;//构造⽅法public CompanyClient() {this(new Builder());}//构造⽅法public CompanyClient(Builder builder){panyName = panyName;panyAddress = panyAddress;panyRegfunds = panyRegfunds;this.mPerson = builder.person;this.mType = builder.type;}public String getCompanyName() {return companyName;}public String getCompanyAddress() {return companyAddress;}public double getCompanyRegfunds() {return companyRegfunds;}public String getmPerson() {return mPerson;}public String getmType() {return mType;}public Builder newBuilder() {return new Builder(this);}@Override //重写toString⽅法后,当print这个对象的时候,会默认的调⽤toString()这个⽅法。
jquery formbuilder用法
jquery formbuilder用法一、前言jQuery Formbuilder是一款功能强大的表单生成器插件,它能够帮助开发者快速构建各种类型的表单,支持多种表单控件和验证方式。
本文将详细介绍jQuery Formbuilder的用法,包括其基本概念、使用方法、常见用法和注意事项。
二、基本概念jQuery Formbuilder是一个基于jQuery的插件,它提供了一系列表单构建工具和API,帮助开发者创建、管理和提交表单。
Formbuilder允许开发者自定义表单的外观和功能,支持各种表单控件和验证方式,如文本框、下拉框、单选框、复选框、文件上传等。
此外,Formbuilder还提供了丰富的表单数据处理和发送功能,方便开发者进行数据收集和发送。
三、使用方法1. 引入插件:在使用jQuery Formbuilder之前,需要将其引入到网页中。
可以通过下载插件文件或使用CDN链接来引入。
2. 创建表单:使用Formbuilder的API创建表单。
可以通过调用相关方法来添加各种表单控件和验证方式。
3. 添加控件:可以使用Formbuilder提供的各种控件类,如text、select、checkbox、radio等,来添加各种类型的表单控件。
还可以使用自定义控件类来创建自定义的表单控件。
4. 添加验证:可以使用Formbuilder提供的验证方法,如required、minlength、email等,来添加各种类型的表单验证。
还可以使用自定义验证方法来创建自定义的表单验证。
5. 处理表单数据:可以使用Formbuilder提供的数据处理方法,如submitForm、validateForm等,来提交表单数据和处理验证结果。
四、常见用法1. 动态生成表单:可以使用Formbuilder的API动态生成表单,根据不同的条件和数据生成不同的表单控件和验证方式。
2. 表单分组:可以将多个表单控件分组,以便于管理和提交数据。
java中build的用法
java中build的用法在Java中,build的主要用法是构建或创建一个对象的实例。
对于大型项目或复杂的数据结构,通过使用build模式可以更加灵活和方便地构建对象。
build模式可以用于创建不可变对象,该对象的属性在构造函数中被设置,并且在创建后不可更改。
这种对象可以保证线程安全性,并且适用于多线程环境。
build模式可以通过链式调用来设置对象的属性。
在使用build模式时,通常需要定义一个Builder类,该类具有与要创建对象相同的属性。
Builder类可以通过set方法来设置对象的属性,并且通常会返回自身的实例,以便进行链式调用。
在Builder类中,通常会提供一个build方法来创建对象的实例,并且在该方法中可以对对象进行一些校验和初始化操作。
通过使用build模式,可以在创建对象之前进行各种必要的检查。
以下是一个示例,演示了如何使用build模式创建一个Person对象:```public class Person {private String name;private int age;private String address;private Person(Builder builder) { = ;this.age = builder.age;this.address = builder.address;}public String getName() {return name;}public int getAge() {return age;}public String getAddress() {return address;}public static class Builder {private String name;private int age;private String address;public Builder setName(String name) { = name;return this;}public Builder setAge(int age) {this.age = age;return this;}public Builder setAddress(String address) {this.address = address;return this;}public Person build() {// 对属性进行校验和初始化操作if (name == null || age <= 0 || address == null) {throw new IllegalStateException("Invalid arguments"); }return new Person(this);}}}```使用build模式创建Person对象的示例代码如下:```Person person = new Person.Builder().setName("John").setAge(25).setAddress("123 Main St").build();```通过使用build模式,我们可以方便地创建一个不可变的Person对象,并且可以在创建之前进行一些必要的校验操作。
oracle ebs tree
Frombuilder 之ebs 开发一、搭建FORM开发环境1、安装frombuilder●ds_windows_x86_101202_disk1●ds_windows_x86_101202_disk22、从ebs 应用服务器下载开发模板及pll文件●在D盘建立一个文件夹用于存放fmb和pll文件●D:\DevSuiteRel\12.X\forms 存放fmb●D:\DevSuiteRel\12.X\libs存放pll●修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_DevSuite FORM_PATH 将存放froms 和pll 路径加入●登陆ebs服务器查看fmb,pll存放路径命令为:[app12@oraapp ZHS]$cd $AU_TOP[app12@oraapp ZHS]$cd forms/ZHS[app12@oraapp ZHS]$ pwd/oracle/VIS12/apps/apps_st/appl/au/12.0.0/forms/ZHS将路径拷贝到ftp工具中下载所有pll文件到D:\DevSuiteRel\12.X\libs存放pll下载APPSTAND.fmb TEMPLATE.fmb到D:\DevSuiteRel\12.X\forms配置oracle 客户端二、开发EBS FORM1、建立开发目录D:\EBS_FORM_WORK2、打开FROMBUILDER3、连接EBS数据库4、复制D:\DevSuiteRel\12.X\forms\TEMPLATE.fmb到D:\EBS_FORM_WORK改名为FNDTESTX.fmb并在formbuilder中打开5、tree开发●删除数据块BLOCKNAME \DETAILBLOCK●删除画布BLOCKNAME●修改窗口BLOCKNAME 名称为WIN_MAIN●新建画布CA V_MAIN◆子类信息:CANV AS◆窗口:WIN_MAIN●新建数据块BLK_CONTROL◆子类信息:BLOCK●新建项在BLK_CONTROL中◆名称:ITEM_DEPT_TREE◆项类型:层次树◆子类信息:TREE◆数据查询:select-1,level,d.dname,'tburn',d.loc from dept d start withd.super is null connect by prior d.deptno=d.super;◆画布:CA V_MAIN◆宽度:1.5◆高度:2●注意这个sql语句有讲究哦不能有分号,提取的5列的从前到后说明分别如下:●新建参数PARAM_DEPT_NO◆注释:参数部门编号●触发器:WHEN-TREE-NODE-SELECTEDdeclareP_ITEM_DEPT_TREE ITEM;beginP_ITEM_DEPT_TREE := Find_Item ( 'BLK_CONTROL.ITEM_DEPT_TREE' );:PARAMETER.PARAM_DEPT_NO := Ftree.Get_Tree_Node_Property( P_ITEM_DEPT_TREE , :SYSTEM.TRIGGER_NODE , Ftree.NODE_V ALUE );-- go_block ( 'EMP' );-- execute_query;end;●修改PER_FROM触发器FND_STANDARD.FORM_INFO('$Revision: 120.0$', 'Template Form', 'FND','$Date: 2011/08/03 12:25 $', '$Author: appldev $');app_standard.event('PRE-FORM');app_window.set_window_position('WIN_MAIN', 'FIRST_WINDOW');●修改程序单元APP_CUSTOM (程序包主体)<your first window> 替换为WIN_MAIN●修改触发器WHEN-NEW-FORM-INSTANCE---- app_folder.define_folder_block('template test', 'folder_block', 'prompt_block', 'stacked_canvas', 'window', 'disabled functions');-- app_folder.event('VERIFY');--DECLAREP_ITEM_DEPT_TREE ITEM;v_ignore number;BEGINFDRCSID('$Header: TEMPLATE.fmb 120.0 level:4 2006/07/28 07:53:42 pkm ship $');APP_STANDARD.EVENT('WHEN-NEW-FORM-INSTANCE');P_ITEM_DEPT_TREE := Find_Item('BLK_CONTROL.ITEM_DEPT_TREE');V_IGNORE := POPULATE_GROUP('BLK_CONTROL');Ftree.Set_Tree_Property(P_ITEM_DEPT_TREE, Ftree.RECORD_GROUP, 'BLK_CONTROL'); END;●修改表单TEMPLATE◆名称:FROM_TEST◆注释:表单开发◆标签:开发测试◆控制台窗口:WIN_MAIN◆第一导航块数据块:BLK_CONTROL6、EBS FROM 挂菜单●IE浏览器登陆ebs系统:8000/●进入application developer 菜单●添加菜单●添加功能切换到系统管理员职责下 查找要挂的菜单切换职责到application developer 添加菜单●切换到系统管理员职责下定义菜单●从新进入查看菜单上传FNDTESTX.fmb 并编译编写fmbcap.sh文件#!/bin/bashFMB_DIR=$(cd "$(dirname "$1.fmb")"; pwd)FMB_NAME=$FMB_DIR/$1.fmbFMX_NAME=$FMB_DIR/$1.fmxLOG_NAME=$FMB_DIR/$1.logTMP_FORMS_PATH=$FORMS_PA THFORMS_PA TH=$FORMS_PATH:$AU_TOP/forms/ZHSexport FORMS_PATHfrmcmp_batch.sh module=$FMB_NAME userid=APPS/APPS output_file=$FMX_NAME module_type=form compile_all=special > $LOG_NAMEcat $LOG_NAMEFORMS_PA TH=$TMP_FORMS_PA THexport FORMS_PATH[app12@oraapp zs]$ cp FNDTESTX.fmx /oracle/VIS12/apps/apps_st/appl/fnd/12.0.0/forms/ZHS/。
C++builder学习总结
//“×”号图标
给 ControlPage 新建 Tabsheet 的方法
TTabSheet TabSheet4; TabSheet4= new TTabSheet(PageControl1); TabSheet4-PageContቤተ መጻሕፍቲ ባይዱol=PageControl1; TabSheet4-Caption=新建; Button1-Parent=TabSheet4;
tmpfilename=NPG1filepath+NPG1filename; }
7.StringReplace ( "字符串", "搜索串" 或 起始位置, "替换串" [, 数量 [, 区分 大小写]] ); 例如:
memtxt=StringReplace(NPG3filepath, ".stproj", ".info",TReplaceFlags() <<rfReplaceAll << rfIgnoreCase);
运行程序,通过右键菜单,你可以把 RichEdit 的内容剪切,或者复制到另外一个 RichEdit(当然也可以粘贴到自己里面)。
二、使用剪贴板处理图形 可以使用 Windows 的剪贴板在应用程序中复制、剪切和粘贴图象,或者与其他应用
程序交换图形。Builder 的 VCL 的对象使得处理不同类型的数据(包括图形)变得更为容易。
//第二个按钮为缺省按钮
MB_DEFBUTTON3 = $00000200;
//第三个按钮为缺省按钮
MB_DEFBUTTON4 = $00000300;
//第四个按钮为缺省按钮
(3)图标常量
form的用法总结
form的用法总结一、简介二、HTML中的表单元素1. 文本框2. 密码框3. 单选按钮和复选框4. 下拉列表5. 文本域三、表单属性和事件1. action属性2. method属性3. enctype属性四、常见表单验证方式及其实现方法总结五、小结一、简介在网页开发中,表单 (Form) 是一种非常重要的元素。
通过表单,用户可以向服务器提交数据,例如登录信息、注册信息等。
在使用表单时,HTML语言提供了丰富的标签和属性来实现不同的需求。
二、HTML中的表单元素1. 文本框文本框(input type="text")是最基本也是最常见的输入控件,用于接收用户输入的文本信息。
我们可以设置文本框的大小(width)、默认值(value)、最大长度(maxlength)等属性来满足特定要求。
2. 密码框密码框(input type="password")用于接收用户输入的密码信息,它会将用户输入内容以星号或小黑点显示。
与文本框类似,我们也可以设置密码框的大小、默认值等。
3. 单选按钮和复选框单选按钮(input type="radio")和复选框(input type="checkbox")用于实现多项选择。
单选按钮只能选择一个选项,而复选框可以选择多个。
它们的属性包括name(用于分组)、value(用于标识不同选项)等。
4. 下拉列表下拉列表(select)提供了一种选择菜单,用户可以从预设的选项列表中选择一个或多个选项。
我们可以通过设置selected属性来指定默认选中的选项。
5. 文本域文本域(textarea)是一种可以输入较长文本的控件,通常用于接收大段文字输入。
我们可以设置文本域的行数和列数、默认值等属性。
三、表单属性和事件1. action属性action属性指定了当提交表单时所要调用的服务器端脚本或页面地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、树的简介Developer 6.0以上版本提供了hierarchy tree(层次树)的概念,htree控件非常方便,只需要少量的编程即可实现显示层次结构的目的。
树的特有属性中如下几个较为重要:l 多项选择(Multi-Selection):是否允许一次选中树的多个节点。
如果不允许,那么 选中第二个节点时,第一个被选中的节点会取消选择。
l 记录组(Record Group):指定生成树的记录组的名字。
简单介绍一下跟树相关的触发子(Built-in):l FUNCTION GET_TREE_NODE_PROPERTY (item_name VARCHAR2, node NODE, property NUMBER);功能:取得树节点的属性其中property有如下几种:NODE_STATE:EXPANDED_NODE(扩展节点)COLLAPSED_NODE(收缩节点)LEAF_NODE(叶节点)--注:不能展开或收缩NODE_DEPTH:既节点在树中的层级。
NODE_LABEL:节点的显示文本NODE_ICON:节点的图标NODE_VALUE:节点的值。
例子:DECLAREhtree ITEM;node_value VARCHAR2(100);BEGIN-- 得到树htree := Find_Item('tree_block.htree3');-- 得到当前选中节点的值node_value := Ftree.Get_Tree_Node_Property(htree, :SYSTEM.TRIGGER_NODE, Ftree.NODE_V ALUE);...END;注释:其中: SYSTEM.TRIGGER_NODE指当前选中的树节点。
l FUNCTION GET_TREE_PROPERTY (item_name VARCHAR2,property NUMBER);功能:取得树的属性其中property有如下几种:DATASOURCERECORD_GROUPQUERY_TEXTNODE_COUNT:返回树中节点的个数。
SELECTION_COUNTALLOW_EMPTY_BRANCHESALLOW_MULTI-SELECTl PROCEDURE SET_TREE_NODE_PROPERTY (item_name VARCHAR2,node FTREE.NODE,pr operty NUMBER,value VARCHAR2);功能:设置树节点的属性l PROCEDURE SET_TREE_PROPERTY (item_name VARCHAR2,property NUMBER, value V ARCHAR2);PROCEDURE SET_TREE_PROPERTY (item_name VARCHAR2,property NUMBER, value REC ORDGROUP);功能:设置树的属性l PROCEDURE POPULATE_TREE (item_name VARCHAR2);功能:清空树中已有数据,并根据记录组或数据查询重新生成树。
l PROCEDURE ADD_TREE_DATA (item_name VARCHAR2,node FTREE.NODE, offset_type NUMBER,offset NUMBER,data_source NUMBER,data VARCHAR2);功能:在指定节点下添加树中数据注:使用比较麻烦。
l FUNCTION FIND_TREE_NODE(item_name VARCHAR2,earch_string VARCHAR2, search_typ e NUMBER,search_by NUMBER,search_root NODE,start_point NODE);功能:找到显示文本或值符合search_string的节点。
参数:search_type:FIND_NEXTFIND_NEXT_CHILDSearch_by:NODE_LABELNODE_VALUESearch_root:查询的根节点,一般是Ftree.ROOT_NODEStart_point:查找的开始节点,一般是Ftree.ROOT_NODEl FUNCTION ADD_TREE_NODE(item_name VARCHAR2,node FTREE.NODE, offset_type NU MBER,offset NUMBER,state NUMBER,label VARCHAR2, icon VARCHAR2,value VARCHAR 2);功能:添加树节点。
Offset_type:指定节点的分支类型,PARENT_OFFSET和SIBLING_OFFSETOffset:指定新节点的位置,PARENT_OFFSET:1..NLAST_CHILDSIBLING_OFFSET:NEXT_NODEPREVIOUS_NODEState:EXPANDED_NODE(扩展节点)COLLAPSED_NODE(收缩节点)LEAF_NODE(叶节点)l PROCEDURE DELETE_TREE_NODE(item_name VARCHAR2,node NODE);功能:删除树节点l FUNCTION GET_TREE_NODE_PARENT(item_name VARCHAR2,node NODE);功能:得到指定节点的父节点。
l FUNCTION GET_TREE_SELECTION(item_name VARCHAR2,selection NUMBER);功能:得到处于选中状态的节点。
l PROCEDURE SET_TREE_SELECTION(item_name VARCHAR2,node NODE, selection_type N UMBER);功能:指定单个节点的选中状态参数:selection_type:SELECT_ONSELECT_OFFSELECT_TOGGLEFORM运行态时有关的触发器:l When-Tree-Node-Activated:用户双击节点或在节点选中时按[ENTER]键时触发。
l When-Tree-Node-Expanded:节点展开或收缩时触发l When-Tree-Node-Selected:当节点选中或取消选择时触发二、生成树的方式树控件一般单独放在一个控制块中(注:不能放在数据块中),在画布(CANVAS)上放置树很容易,并且,如无必要,树的属性也不需要设置。
生成树的方式有几种:l 运行前通过设置记录组或数据查询属性来生成l 通过ADD_TREE_DATA触发子来实现l 运行态,通过ADD_TREE_NODE等触发子来实现l 运行态,通过添加或删除记录组的数据元素来实现分析:一、 对树直接操作描述:Find_Tree_Node找到指定节点,Add_Tree_Node来添加其下级节点。
缺点:编程较为复杂,操作不灵活,而且易出错。
优点:可以对添加节点等过程进行控制,实现一些特殊要求。
例子:--dept_cur为取单位的CURSOR,emp_cur为取雇员的CURSORhtree := Find_Item('tree_vie w.tree_emp');open dept_cur;loopfetch dept_cur into aa;exit w hen dept_cur%notfound;del_node := Ftree.Find_Tree_Node ( htree,aa.k j mc, Ftree.FIND_NEXT, Ftree.NODE_LABEL, Ftre e.ROOT_NODE, Ftree.ROOT_NODE);-- 删除单位节点及其子节点IF NOT Ftree.ID_NULL(del_node) thenFtree.Delete_Tree_Node(htree, del_node);END IF;end loop;close dept_cur;-- 根据用CURSOR取得的单位生成树的第一层节点open dept_cur;loopfetch dept_cur into aa;exit w hen dept_cur%notfound;ne w_node := Ftree.Add_Tree_Node(htree, Ftree.ROOT_NODE, Ftree.parent_OFFSET, ST _CHILD, Ftree.EXPANDED_NODE, aa.dname, '', aa.deptno);end loop;close dept_cur;--根据雇员CURSOR生成树的下层节点open emp_cur;loopfetch emp_cur into bb;exit w hen emp_cur%notfound;find_node := Ftree.Find_Tree_Node(htree, bb.k j bh, Ftree.FIND_NEXT,Ftree.NODE_value, Ftree.ROOT_node, Ftree.ROOT_NODE);ne w_node := Ftree.Add_Tree_Node(htree, find_node, Ftree.parent_OFFSET, ST_CHILD, Ftree.EXPANDED_NODE, bb.ename, '', bb.empno);end loop;close emp_cur;-- 得到树的根节点ss := Ftree.get_tree_property(htree,FTREE.NODE_COUNT);-- 循环,直到树的所有节点都展开for j in 1..ss LOOPexp_node := Ftree.Find_Tree_Node(htree, '');state := Ftree.Get_Tree_Node_Property(htree, j, Ftree.NODE_STATE);IF state = Ftree.COLLAPSED_NODE THENFtree.Set_Tree_Node_Property(htree, j, Ftree.NODE_STATE, Ftree.EXPANDED_NODE);END IF;END LOOP;二、 动态记录组层次树所使用记录组的数据格式:+—Car|- —Airplane|—Boeing |—Boeing初始状态层数显示文本图标值-1(收缩节点) 1‘Car’''‘car’0(叶节点)2'Honda''''civic'1(展开节点) 1'Airplane''''plane'2'Boeing''''747'2'Boeing''''757'生成记录组的方式又分为两种。