版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、开发培训文档数据库安装与配置数据库安装 准备好安装文件之后,我们便可以开始安装Cach:步骤1:在Windows 中,运行 安装文件目录下的SETUP.EXE 文件。首先弹出的是 Cach 安装程序界面以及使用协议,阅读协议后,如果同意协议内容,准备好安装文件之后,我们便可以开始安装Cach:步骤1:在Windows 中,运行 安装文件目录下的SETUP.EXE 文件。首先弹出的是 Cach 安装程序界面以及使用协议,阅读协议后,如果同意协议内容,点击 按钮 ”是”,进入下一页面。步骤2:如果本机操作系统是第一次安装Cach,将会提示输入安装名称,默认值为“CACHE”。* 安装名称又称配置名
2、称,当一台计算机安装了多个Cach 时,此名称用来进行标识。* 如果本机已安装了Cach,安装程序将会显示出当前已安装的Cach 列表,我们可以选择覆盖原有的Cach 或添加一个新的Cach。点击 按钮 “Next”,进入下一页面。步骤3:在本页面中设定安装类型和安装路径。Cach 安装程序中共有三种安装类型:a. 标准(Standard,默认选项)。安装Cach 服务器和客户端的所有工具。b. 客户端(Client)。只安装Cach 的客户端的所有工具。c. 自定义(Custom)。允许你自己定制要安装到你的计算机上的各个部分的清单,例如:只作Web 服务器安装。设置目标文件夹:安装路径默认
3、为 “c:CacheSys”。你可以点击 “浏览” 来更改希望安装在那个文件夹。点击 按钮 “下一步”,进入下一页面。步骤4:在本页面中可选择设置成Unicode 支持(16-bit)。(*否则系统默认将会是自动设置成为8-bit 的)选择 “Unicode”,这样Cach 就可以支持中文显示。点击 按钮 “下一步”,进入下一页面。步骤5:本页面列出了前面步骤中所输入的信息以待最后检查。检查无误后,点击 按钮 “下一步”,便开始安装过程。* 此时Cach 将开始安装步骤6:安装过程将需要要持续一段时间。在这期间安装进程可能会暂停,进行提问:如果安装程序没有发现许可证(License Key),
4、将会提示是否现在安装许可证,选择“否(N)”时。我们可以在Cach 安装完成后再安装许可证。如果安装程序发现IIS(Internet Information Service)服务正在运行,将会进一步提示是否现在关闭IIS 服务以配置CSP 脚本驱动程序。选择 “Yes”。安装程序会自动配置CSP 到IIS 中。* 如果运行的是Apache 服务器,安装程序也会检测到并自动配置。* 安装完成之后,我们也可以再去修改Web Server 的配置。步骤7:安装过程顺利完成后,点击 按钮 “完成”,退出安装程序。安装过后在Cach 安装完毕后,在我们的计算机中多了如下项目: 在文件系统中,新增了一个文
5、件夹目录:“c:CacheSys” (该目录即为安装阶段默认的安装路径)。Cach 的系统文件和数据库文件等都位于这个目录中:* 对于不同的安装配置,目录结构会略有不同。但主要的目录如Bin、CSP 和Mgr 不会有变化。 在Windows 桌面右下方的任务栏中增加了一个立方体形状的图标 ,我们称之为Cach 立方体(Cach Cube)。它是访问Cach 的最常用的入口。点击 Cach 立方体,将会弹出一个菜单,通过此菜单我们可以选择各种工具来管理Cach。菜单中包含如下项目:菜单项 中文名称 功能Getting Started 入门文档 初学者可从中获取必要信息Start Cach 启动C
6、ach 启动Cach 服务Stop Cach 关闭Cach 关闭Cach 服务。点击后选择是要关闭还是要重新启动Cach。Studio 工作室 Cach 的集成开发环境。Terminal 终端 通过类似于DOS 的终端界面访问CachExplorer 资源管理器 查看Cach 中的数据资源,包括多维数组、类和例程SQL Manager SQL 管理器 通过关系型方式访问CachControl Panel 控制面板 监视和管理Cach 的运行Configuration Manager 配置管理器 进行基本配置,包括数据库的配置Documentation 联机文档 只有启动Cach 后才可以阅读全
7、部文档信息Remote System Access 远程系统访问 在本地控制远端的Cach 服务器(任意平台)。UNIX 系统的管理要通过这种方式实现。子菜单中同样包含了工作室,终端,资源管理器,SQL 管理器,控制面板,配置管理器,联机文档等菜单项。Preferred Server 当前使用的Cach服务器子菜单中可以编辑Cach 服务器列表。在这里配置远程服务器。我们可以在一台Windows 平台的计算机上管理网络中所有的各种平台的Cach 服务器。About 关于 查看版本Exit 退出 关闭任务栏中的Cach 立方体安装FDBMS解压缩FDBMS的压缩包,根据FDBMS中的readme
8、文件安装复制CACHE.DAT到 c:cachesysmgrfdbms 目录(fdbms目录要创建)在cache的configuration manager中创建相应的Database和Namespace在Terminal中执行USER zn “%SYS”%SYSdo PROTECTDirectory: : c:cachesysmgr = c:cachesysmgrfdbmsSet the protection codes of globalsOwner: RWD= RWDGroup: N= RWDWorld: N= RWDNetwork:RWD= RWDAll Globals? No = N
9、oGlobal rOBJ1 item selected from23 available globalsGlobal Done.More? No = NoDirectory: : c:cachesysmgr = QUITSYS zn “FDBMS”FDBMS d mdbmsins(“”,”FDBMS”)ALL DONE3.数据库配置在我们的实际应用中,可以拷贝一个配置好的cpf文件,放到安装好的数据库目录下(如c:cachesys目录下),然后到configuration Manager中修改database的路径,重新启动。DatabaseMEDDATA主业务数据库WEBSRC类定义,类方法
10、,B/S .ClsSYSTrakCare系统库(组件,菜单,工作流等)AUDIT审计数据库HL7HL7交换消息库DOCSTrakCare文档纪录库LOGsTrakCare日志纪录库 MEDSRCC/S Routine库,.MacLABDATA检验数据库LABSRC检验Routine库TEMP临时数据库4.查看表的逻辑结构转换namespace,zn “meddata”(实际配置的namespace名称),然后回车,然后输入d %msql,msql都要小写,界面如下回车后,界面如下输入User Name为system;Password 为sys;然后回车,进入界面如下回车,界面如下默认为Base
11、 Table Definition,按回车键在Base Table Name输入要查询的表的名称,如查询名为dhc_sfprintdetail的表查看表的中的字段选择Fields,按回车键,则显示表中所有的字段如果选择某个字段可以查看字段的属性查看表的关联关系找到表后,按F3键,回车光标落到Implicit Joins 上,回车可以看到字段所指向的表父子表关系,如下图Child Tables,可以看到表ar_receipt有两个子表,ar_rcptalloc,ar_rcptpaymode5.查看表的物理结构步骤同上(独立表,父子关系的表)回车后可以看到表里对应的主Global的结构,和索引(M
12、aster Map为Yes的为主map,Master Map为No的是索引)主Global的结构,找到Master Map为Yes的,回车后如下,查看主索引的保存结构,选择Map Data Specifications,回车后,Global中数据的存储顺序说明: F3查看表的关联关系; F4返回上一级练习:预交金明细Ar_receiptsAr_rcptallocAr_rcptpaymode找出这三张表的关系,并分别写出三张表的物理结构主map的结构定义;6.表结构的导出与导入二M基础(参考Cache面向对象软件开发教程.pdf P489)1.常用的特殊的变量这些特殊的变量有指定的含义,它们一般
13、以$开头。有个别特殊变量也同时支持缩写1)$HOROLOG ($H)$Horolog 包含了时间和日期,它们由逗号分开。第一部分是日期的数字,它是从1840 年12 月31 日开始计算日期的数字。第二部分是秒的数字,它是从午夜开始计算的。Global中的日期时间都是以数字的形式存储的。时间日期的函数$ZDate 把$Horolog 格式的日期值按照指定格式显示。w $zd($h)$ZDateH $ZDate 的反函数。w $zdh(07/17/2012)$ZDateTime 把$Horolog 格式的日期时间值按照指定格式显示。w $zdt($h)$ZDateTimeH $ZDateTime
14、的反函数。w $zdth(07/17/2012 17:07:20)$ZTime 把$Horolog 格式的时间值按照指定格式显示。w $zt($h)$ZTimeH $ZTime 的反函数。w $zth(07/17/2012 17:07:20)2) $JOB ($J)$JOB 包含一个正整数,表示系统所分配给每一个在执行中的进程独一无二的编号。当进程还在的时候,$JOB 的值是不变的2.基本的运算符1)算术运算符+、-、*、/、#,*。其中,+、*、/ 是基本的4 个算术运算符。 整数的除法2+5*7 = 49,从左到右依次运算2+(a*b) = 372)算术比较运算符3)字符串比较运算符=、=
15、 比较运算符是比较两个字符串的相同与否。如果需要比较两个数字是否一样的话, 需要在前面再加一个+ 号。例如,+number1=+number2。 运算符检查右边的串是不是包含了左边的串s a=hhhwww111w ah 运算符检查左边的串是不是在字典顺序上跟着右边的串;它是严格按照ASCII 码来操作的。例如:219,返回是1,因为2 的ASCII 值是50,而1 的ASCII 值是49。4) 连接符_ 它是用来连接两个字符串的& 与! 或= 非3.常见的命令变量操作命令:Set, Merge, Kill, New, Lock1)SET (S)给一个或者多个变量赋值 ,缩写SSet x=5,n
16、(1)=4,dd=5Set FILE=32) MERGE (M)拷贝变量树。 Merge a=bMerge var(1)=G(1,2)3) KILL删除所有变量或一些指定的变量或所有变量除了指定的变量。4)NEW初始化变量。New a,bNew (x1,x2) 初始化除了x1,x2之外的变量4.程序流控制命令If, Else, For, Quit, Do, Goto, BreakIf,(I) 条件判断语句。ELSE (e) 当判断条件不通过的时候,执行后面的命令行。FOR (f) 循环命令QUIT (q) 结束执行一个函数并返回一个值。DO (d) 执行命令。GOTO(g) 跳转命令。BREA
17、K(b) 在调试的时候中断一个routine 的执行。WRITE(w) 输出信息到当前设备上READ (r) 从当前的设备读信息OPEN (o) 开启一个设备以备使用。5.常用的函数$Piece($P)格式:$Piece(expression,delimiter ,from,to)返回一个或者多个被分隔符分开的子串。$Order($O)格式:$Order(variable,direction)按照指定的方向返回一个变量的上一个或下一个索引$get($g)返回一个变量的值如果变量存在则返回变量本身,不存在则返回空$data($d)判断变量是否存在$Extract($e)格式:$Extract(e
18、xpression,from,to)说明:返回字符串的指定部分。Write $Extract(AABB,2,3)AB$Justify($J)格式:$Justify(expression,width,desimal)说明:返回一个右对齐的值,并可以改变它的格式。$Length($L)格式:$Length(expression,delimiter)说明:返回一个字符串的长度,或者是被分隔符的子串的个数Write $Length(ABCD)4Write $Length(AB/CD/EF,/)3Tstart 开始一个事务Tcommit 提交事务Trollback 保存失败后回滚三编写简单的M程序及调试
19、1.Global介绍在Cach 中的所有数据都是保存在Global(多维数组)中的。Global以如下形式表示:名称(下标1,下标2,下标3)=值如 AirPlane(“Manufacturer”,“Address”,“Country”)=“US” 我们可以自己定制Global,包括添加、删除、修改、遍历其节点。多维数组以树状的形式保存,他的每一个节点直接与磁盘和内存中的数据块相对应,因此可以达到极快的访问速度。2.Routine的使用(.MAC程序)我们可以把Routine 理解为“小程序”或程序模块。Routine 的基本结构1. Routine 的命名Routine 的名字可以是任何的字
20、母数字式字符。但是有要求:一般不能以数字或百分号开头命名,和句号不能在开始或者结束的位置。以百分号开头命名的Routine 是不局限在某一个名字空间(Namespace)应用的,号它是Cach 系统内部保留的,只是系统为我们提供的程序命名所使用。此外,对Routine 名字的长度也没有限制,但是只有前31 个字符是用来对不同的Routine 加以区分的。2. Routine 的程序行程序行是routine 最基本的单位之一。我们这里说的是一个逻辑上的行,因为有的逻辑上的行在物理上占据了可能超过一行的位置。Routine 的行有3 种不同的类型,下面作一一的介绍。 Routine 的 标签行一个
21、标签要确定一行,它从当前行的第一个位置开始。它的命名条件和routine 的命名条件类似。但是它的长度不能超过31 个字符。通常一个标签后面有一些空格,后面可以跟一些Cach 的可执行命令。 代码行代码行的最前端至少要有一个空格,作为一行的开始部分。 注释行有4 种形式的注释符号:;符号后面的本行内容将不被执行。;一些时候,注释的内容在执行的过程中是需要用到的。两个分号的注释内容是被编译进去的,而一个分号的注释在编译的时候就被去掉了。/ 和一个分号是一样的。/* */中间省略号的部分是被注释的内容。创建Routine 首先切换namespace到Medsource下FileChange Nam
22、espace,选择MedsourceFile-New ,如下图点ok,然后点编译按钮,界面如下,保存Test.MAC文件点击保存。则保存在Medsource下,这样我们保存了一个空的.mac文件,下面我们将介绍如何写简单的程序.3.没有父子关系的表1)如查询所有押金明细表的收费日期,病人姓名(pa_patmas.papmi_name),登记号(pa_patmas.papmi_ipno)金额,支付方式,收费员姓名(表dhc_sfprintdetail,对应字段分别为prt_date,prt_adm(病人就诊rowid,指向pa_adm表),prt_payamount,prt_paymode,指向
23、ct_paymode表)我们可以查看表的Global的存储结构为DHCSFPRINTDETAIL(prt_rowid)Test (我们上面建的mac文件)GetDepositDetail() /标签行,也就是函数的名称s prtrowid=0,num=0 /首先要对检索的global的节点付初始值f s prtrowid=$O(DHCSFPRINTDETAIL(prtrowid) quit:prtrowid= do.s prtdate=$p(DHCSFPRINTDETAIL(prtrowid),2).s prttime=$p(DHCSFPRINTDETAIL(prtrowid),3).s ad
24、m=$p(DHCSFPRINTDETAIL(prtrowid),4).q:adm=.s papmi=.i $d(PAADM(adm) s papmi=$p(PAADM(adm),1).q:papmi=.i $d(PAPER(papmi,ALL) d .papname=$p(PAPER(papmi,ALL),1).s papno=$p(PAPER(papmi,PAT,1),1).s payamt=$p(DHCSFPRINTDETAIL(prtrowid),6).s num=num+1.;w !,$zd(prtdate,3)_$zt(prttime,1)_papname_papno_payamtq
25、 num在Terminate调试程序(参考Terminate端程序调试)2) 查询表病人收费类别表pac_admreason的数据,在RowId之前有一个”ADMREA”的节点,显示代码(rea_code),名称(rea_desc)PAC(ADMREA,RowId)=记录查询所有的病人收费类别循环如下:S RowId=F s RowId=$o(PAC(ADMREA,RowId) q:RowId= d.S Code=$p(PAC(ADMREA,RowId),1).S Desc=$p(PAC(ADMREA,RowId),2).S Num=+$g(Num)+1.S PLIST(Num)=Code_
26、DescQ3)查询表ct_paymode 的数据,显示ctpm_code,ctpm_desc4.有父子关系的表的取值如查询显示某帐单(dhc_patientbill.pb_rowid)的收费项目的名称(表dhc_patbilldetails字段分别为pbd_tari_dr-dhc_taritem(tari_desc),单价(pbd_unitprice),数量(pbd_billqty),金额(pbd_totalamount); ,收费日期(pbd_billdate),收费时间(pbd_billtime)信息GetDetailByRowID(pbrowid)S RowId=”f s RowId=$
27、o(DHCPB(RowId) q:RowId=” d /第一层循环.s OrdSub=”f s OrdSub=$o(DHCPB(RowId,O,OrdSub) q: OrdSub =” d /第二层循 环s DetSub=”f s DetSub =$o(DHCPB(RowId,O,OrdSub,”D”,DetSub) q: DetSub =” d /第三层循环5.表的索引的应用取某段时间内押金的明细(dhc_sfprintdetail),显示押金的病人姓名,金额,支付方式 ,收费员信息索引结构为DHCSFPRINTDETAIL(0,PrtDate,prt_printdate,prt_rowid
28、)F PrtDate=Stdate:1:EndDate ds RowId=$o( DHCSFPRINTDETAIL(0,PrtDate,PrtDate,RowId) q:RowId=” d;找到数据的RowId后,到主Global中取相应的数据S PrtDate=$p(DHCSFPRINTDETAIL (RowId),”,2)S PrtTime=$p(DHCSFPRINTDETAIL (RowId),”,3)S AdmId=$p(DHCSFPRINTDETAIL (RowId),”,4)I $d(PAADM(AdmId) d. .S paperid=$p(PAADM(AdmId),”,1) .
29、 .S Regno=$p(PAPER(paperid,”ALL”),”,1). .S PatName=$p(PAPER(paperid,PAT,1),”,1). S PayAmt=$p(DHCSFPRINTDETAIL (RowId),”,6)S PayMode=$p(DHCSFPRINTDETAIL (RowId),”,9)S Num=Num+1Q6.Terminate端M程序调试编译m程序 d %urcomp,然后输入要编译的m名称调试程序(包括.mac,.cls,query)Mac文件调试d procnamemacname(参数1,参数2.。) q后面没有返回值w $functionma
30、cname(参数1,参数2.。)q后面有返回值如果以q 返回值的方式执行,即使没有入参,也要在函数名称后面增加括号练习1查询某段日期(prt_date)的某个收费员(prt_adduserid)的押金的明细(表DHC_SFPRINTDETAIL),显示信息为病人登记号(Pa_PatMas.paper_ipno),病人姓名(Pa_PatMas.paper_name),收费金额(DHC_PrintDetail.prt_payamount),支付方式(dhc_sfprintdetail.paymode);练习2.查询入院日期为2007-04-02至2007-04-08日的住院就诊病人的信息,显示信息
31、为病人登记号(Pa_PatMas.paper_ipno),病人姓名(Pa_PatMas.paper_name),入院日期;用到的表就诊信息表Pa_adm,病人基本信息表Pa_PatMas,paadm_type=”I”的表示住院病人利用索引PAADMi(PAADM_AdmDate,PAADM_AdmDate,PAADM_RowID)四类的创建及类方法的编写及调试 转换命名空间到websource下1.创建一个类,保存到websource下File-New-Cache Class Definition下一步,修改class名称下一步,选择第三项,然后完成就可以了2.打开一个类文件,在websour
32、ce/web目录下1)打开Studio,选择NameSpace为websource,点Open from databasae,Files of 选择.cls文件类型,为如下界面 2)双击Web包,进入后则现则所有的类文件,File Name:输入要打开的类名称。3. 类方法的编写首先创建一个类,然后编写类方法,一个类里面可以有多个类方法我们把前面编写的m里面的函数转换成类的方法编写/如查询所有押金明细表的收费日期,病人姓名,金额,支付方式,收费员姓名(表dhc_sfprintdetail,对应字段分别为prt_date,prt_adm(病人就诊rowid,指向pa_adm表),prt_paya
33、mount,prt_paymode,指向ct_paymode表)我们可以查看表的Global的存储结构为DHCSFPRINTDETAIL(prt_rowid)ClassMethod GetDepositDetail()s prtrowid=0,num=0f s prtrowid=$O(DHCSFPRINTDETAIL(prtrowid) quit:prtrowid= do.;i prtrowid= q.s prtdate=$p(DHCSFPRINTDETAIL(prtrowid),2).s prttime=$p(DHCSFPRINTDETAIL(prtrowid),3).s adm=$p(DH
34、CSFPRINTDETAIL(prtrowid),4).q:adm=.s papmi=.i $d(PAADM(adm) s papmi=$p(PAADM(adm),1).q:papmi=.i $d(PAPER(papmi,ALL) s papname=$p(PAPER(papmi,ALL),1).s papno=$p(PAPER(papmi,PAT,1),1).s payamt=$p(DHCSFPRINTDETAIL(prtrowid),6).s num=num+1.w !,$zd(prtdate,3)_$zt(prttime,1)_papname_papno_payamtq写好后到Termi
35、nate端调试4.Query程序的编写见TestCls文本里的FindDeposit练习3 用Query查询支付方式表ct_paymode,显示内容为 Ctpm_code,ctpm_desc练习4查询某个账单对应的收费项目明细;要求显示收费项目名称(dhc_pabilldetail.pbd_tari_dr),单价(pbd_unitprice),数量(pbd_billqty),金额(pbd_totalamount)练习5查询某段日期(prt_date)的押金的明细(表DHC_SFPRINTDETAIL),显示信息为病人登记号(Pa_PatMas.paper_ipno),病人姓名(Pa_PatMa
36、s.paper_name),收费金额(DHC_PrintDetail.prt_payamount),支付方式(dhc_sfprintdetail.paymode);5.Terminate端类方法的调试Class文件d #class(web.classname).functionname(参数1,参数2.)w #class(web.classname).functionname(参数1,参数2.) Query的执行D #class(%ResultSet).RunQuery(“类名称”,”Qurey名称”,”参数1”,”参数2”,.)五组件程序开发1.javascript基础1)功能在客户端 IE
37、 执行 用来与用户交互 数据检查、控制控制Browser 的页面方式2).基本命令var 定义变量alert 生成一个独立的小窗口,称作对话框,并用它来显示一条信息和一个“确定”按钮!当显示这个对话框时,暂停程序的执行。 confirm 确认选择对话框用于确定用户某个Yes/No风格问题的回答。这种风格的对话框中显示一个问号和两个按钮:“确定”和“取消”。当用户单击了“确定”按钮Confirm()方法返回true;否则返回false。If , else For Less than () Not (!) Not equal (!=) Equals (=) Logical AND (&) Logi
38、cal OR (|) Is NOT a Number (isNaN )Split 将string对象字符以某个符号分开隔开 3.属性document properties 文档对象,描述当前窗口或指定窗口对象的文档。它包含了文档从到的内容。document.getElementById document.getElementById(id1).value/获取或设置id1的值Object properties Obj.tagName Obj.className Obj.type Obj. checked Obj. value Obj. disabled Obj. style Obj.readO
39、nly 4.事件document eventsdocument.body.onload=MyLoadHandler; 当网页打开,只能书写在body中onUnload 当网页关闭或离开时,只能书写在body中 Object eventsobj.onclick=MyOnClick; 当对象被点击 obj.onkeydown=MyKeyDown; 按回车obj.onchange = MyChange; 当对象的内容被改变 obj.onblur= MyBlur; 当对象失去焦点 obj.onmouseover 当鼠标悬于其上时 obj.onmouseout 当鼠标离开对象时 obj.onmouseu
40、p 当鼠标松开 obj.onmousedown 当鼠标按下键 obj.onFocus 当对象获取焦点时 obj.onSelect 当对象的文本被选中时 我们在使用object.onXXX=handler是需要保证object已经在页面中生成。比如我们为document.body赋予事件处理函数,我们必须保证document.body已经存在,就是说我们不能在之前在的全局语句中使用document.body; handler必须是函数名 2.创建组件过程1)创建组件;进入组件管理器,选择要连接的数据库,如下图所示选择连接的数据库后,点击进入,然后新建组件ComponentNew Componen
41、t,提示Create a New Component?,选择”是”.系统会默认的创建组件的名称,选中名称,点击右键,进入Component Properties,如下图所示修改组件的名称,同时把Display Type修改成Custom,点击Apply按钮,保存所做的改变2)创建组件上的元素选中组件名称,点击右键,进入Add Item(s) to Component ,进入界面如下Custom Item 组件上的单个元素Custom Table Item 以列表的形式显示的元素根据实际需求选择要创建的元素类型对于要创建的元素打勾,然后FileApply3)修改元素属性选中元素,右键 Item
42、Properties (或双击),如下图所示Name:元素名称Caption:界面上显示的名称Display Type:TEXTBOX,LISTBOX,CHECKBOX,LINK,BUTTON等Data Type属性:元素显示的数据类型,如日期,字符串等3.查询程序的编写及调试(以押金收据购入程序为例)练习不带条件的查询和带条件的查询 参考Test.cls中的Query:FindDeposit注意:Query FindDeposit() As %Query(ROWSPEC = Tprtdate:%String,Tprttime:%String,Tpapname:%String,Tpapno:%
43、String,Tpayamt:%String)中的ROWSPEC中的Tprtdate,Tprttime等是组件上的元素名称,这类元素是Table ItemOutputRow中的 set Data=$lb(prtdate,prttime,papname,papno,payamt) $lb内的是要输出的值,这些变量的位置要和组件上的元素相对应,这样 才能在Table的相应的列对应的显示内容组件的属性:连接Class和Query名称(在修改时要先把组件的显示类型修改成除Custom之外的类型才能修改)组件的类型是:修改后组件的显示类型修改成Custom如果是带参数的查询程序,则相应的参数为组件上的元
44、素,那么在点击查找的时候会自动传入参数;练习6用组件开发,把练习4,练习5的查询结果在界面上显示出来;并挂入菜单4.组件程序的开发(以押金收据购入程序)1).放大镜,不带参数,带有参数组件元素为:Custom Item元素的LookUp如下图所示放大镜要显示的内容写成QueryLookupClassName:要调用的类的名称LookupQueryName:要调用的Query名称LookupProperties:传入的参数,如果没有入参则为空,参数为组件上元素的名称LookupJsFunction:js文件里调用的js函数练习7在练习5的基础上,收费员显示以放大镜的方式显示,显示收费员姓名,查询
45、时以rowid为查询条件;2).js文件创建,js文件的调用;创建的js文件的名称必须要和对应的组件的名称一致如果js文件里调用其他js文件里的函数,则要在组件的OtherScript里把js文件的名称添加进来,就可以调用里面的函数了3).前端页面元素调用后台的classmethod的方法; 前端页面调用后台的类方法是通过函数js函数里调用cspRunServerMethod(参数1,参数2,参数3.。)来实现参数1为固定参数,传入的值为要调用的后台的类方法那么入参的获取是通过组件上的某个元素来获得的如组件UDHCJFRcptBuy中的添加按钮,是通过调用元素ins1来获取后台要执行的方法(V
46、alueGet) 4).执行后台的classmethod之后接收返回结果的两种方法;1直接通过cspRunServerMethod(参数1,参数2,参数3.。)返回结 果,可以定义变量直接接收返回结果;如果采用此方式,要求 Classmethod的q 后面返回变量 Var Returnvalue Returnvalue= cspRunServerMethod(参数1,参数2,参数3.。)2通过cspRunServerMethod(参数1,参数2,参数3.。)里的某个参 数接收返回值,如可以利用参数2接收后台的返回值 如接收返回值的参数的名称为GetReturnValue,那么在传入参数的时 候
47、要传到后台cspRunServerMethod(参数1,GetReturnValue,参数 3.。) 在class端,GetReturnValue已经传入,那么通过 S retval= GetReturnValue _(_$ZCVT(返回值,O,JS)_); &javascript,通过javascript把结果返回页面 在js文件里有个函数名称为GetReturnValue(value),接收返回值括号 内的value就是返回值,然后可以根据需求对返回值做相应处理练习8 输入登记号,回车,查找病人的姓名;并在界面上显示出来;6).SelectRowHandler的用途;可以获取Table的行
48、数和当前选中的记录的行可以选中某个记录,获取选中记录的各元素的值获取到选中的行var eSrc=window.event.srcElement;var rowObj=getRow(eSrc);var selectrow=rowObj.rowIndex;获取Table的记录数var objtbl=document.getElementById(tUDHCJFRcptBuy);var rows=objtbl.rows.length;获取Table上某一行的某个元素的值var SelRowObj=document.getElementById(Tbuyrowidz+selectrow);var bu
49、yrowid=SelRowObj.innerText;其中Tbuyrowid为元素的名称,z要加到元素名称的后面,selectrow为行号;如果是显示的列则用SelRowObj.innerText;如果是隐藏的列则用SelRowObj.Value7).Link00528273Display Type:LinkLinkUrl:websys.default.csp(在输入组件名称时会自动输入)LinkComponent:要Link的组件的名称LinkExpression:要传入到所Link的组件的名称如果要在新的窗体中打开组件:在General页签处,设置新打开窗体的大小ShowInNewWind
50、ow:top=30,height=650,left=8,width=10008).按钮中打开新的组件var str=websys.default.csp?WEBSYS.TCOMPONENT=UDHCJFDeposit&Adm=+Adm+&deposittype=+t01window.open(str,_blank,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,width=1000,height=700,left=0,top=0)9).
51、Message的定义在组件属性的Message页签,定义Code,Description在js文件里调用时用tCode,获取Description练习9输入登记号(pa_patmas.Papmi_no),回车事件时,显示病人的姓名(pa_patmas.papmi_name),就诊号(pa_adm.paadm_admno,pa_adm.paadm_rowid)(就诊号用放大镜显示,可能会有多条记录);选择就诊号,查询病人的账单总表(dhc_patientbill),显示账单的总金额(pb_totalamount),账单Rowid(pb_rowid);选中病人的某个账单,显示账单的收费项目明细(pa_patbilldetails)(以按钮的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年版:特许连锁经营合同
- 2025年度虚拟现实娱乐项目合作协议范本3篇
- 2024年环保项目委托合同:废气处理设施建设与运营
- 2024版智能语音识别系统研发合同
- 2024年私借私还转账借款协议
- 2024年度债务转移及债务清偿监督合同范本3篇
- 2025年度智能建筑项目监理合同补充协议书3篇
- 2024年绿色制造生产车间承包与环保责任承诺书3篇
- 2024年环保设备采购与安装承包合同
- 2025年度橱柜安装与售后服务标准合同范本3篇
- 【A公司人力资源招聘管理问题及优化建议分析13000字(论文)】
- 钢结构牛腿计算
- 泌尿外科内镜诊疗技术质量保障措施及应急预案
- 华北电力大学(保定)
- Unity3D游戏开发PPT完整全套教学课件
- 肾内科学篇病例分析1
- unit5overcomingobstacles公开课一等奖市赛课一等奖课件
- 玻璃安装应急预案
- 五十音图+あ行+课件【高效备课精研+知识精讲提升】 初中日语人教版第一册
- 早爆、拒爆事故预防与处理
- 七年级美术上册-向日葵-湘教版优秀PPT
评论
0/150
提交评论