9号是按要求返校的日子,院长太够意思了,让同在北京的我和另一个同学把需要的材料发过去就行了,十分感谢啊.
开了个实习证明准备明天给老师发过去.
今天看了一天的前台,基本搞明白了,明天继续努力.
<?xml version="1.0" encoding="GBK" ?>
<TRANSACTION RIGHTS="00100000" TITLE="3201 一般存款"
xmlns="http://www.otd.org/MENU" xmlns:W3CNS="http://www.w3c.org">
<!--
COMMSEND标签的内容是一段脚本,这段脚本在交易被提交前(非callserver函数)被执行
-->
<COMMSEND>"{
commsend_001();
commsend_101();
}"
</COMMSEND>
<!--
COMMRECV标签的内容是一段脚本,这段脚本在交易被提交且返回数据已经被解析到FD系列变量之后执行
-->
<COMMRECV>"{
commrecv_001();
}"
</COMMRECV>
<!--
RERUN属性,其值为TRUE表示再一次进入此交易时脚本被执行,为FALSE表示再一次进入此交易时脚本不被执行,缺省为FALSE
-->
<FIRSWORK RERUN="FALSE">"{
showmsg('Hello'); <!-- showmsg()函数,在窗口底部的提示栏显示指定内容 --> <!-- -->
}"
</FIRSTWORK>
<!--
<VARIABLE>标签有一个属性UPLOOP可以为"TRUE"或者"FALSE"表示是否允许按上箭头从第一个输入项跳到最后一个输入项,默认为FALSE。
-->
<VARIABLE UPLOOP="TRUE">
<!--
FUNCTIONS属性列出依附于此<ITEM>的函数,这些函数的名称都只有一个字符,有的用于限制输入,有的用于数据检查,有的用于数据转换,还有的用于条件判断和跳转。
-->
<ITEM LINE="3" COL="3" TYPE="%-44s" FUNCTIONS="T(3201储蓄存款)"/> <!-- 1. T(XXXX),XXXX可以是常量或者其他变量,此函数的作用是把XXXX赋给当前变量 -->
<ITEM LINE="4" COL="3" TYPE="%-74s" FUNCTIONS="T(─────────────────────────────────────)"/>
<ITEM NAME="#TXNO" TYPE="%-4s" FUNCTIONS="T($TXNO=2201)"/> <!-- 2. T(ITEM=XXXX),ITEM是一个变量的名称,XXXX是常量或者变量,此函数的作用是把XXXX的值赋给ITEM。 -->
<ITEM NAME="#MSGTYPE" TYPE="%-5s" FUNCTIONS="T($MSGTYPE=03001)"/>
<BLOCK NAME="ACTINFO" LINE="7" COL="5" VISABLE="FALSE">
<IMPORT>SVACTINFO.IMP</IMPORT>
</BLOCK>
<!--
·BLOCK标签是VARIABLE的子节点
·BLOCK的内容由一系列ITEM标签组成,此标签用于把这些ITEM进行分组,使它们具有某些相同的属性
·BLOCK必须有NAME属性,用来标识不同的BLOCK
·BLOCK可以有LINE和COL属性,标识其下属变量的基准起始行和起始列
·BLOCK可以有VISABLE属性,用来控制其下属所有变量的可见性
·BLOCK下属变量不必有VISABLE属性,如果有且为TRUE,那么当BLOCK被隐藏时,此变量仍是可见的
-->
<ITEM LINE="18" COL="5" TYPE="%-10s" FUNCTIONS="T(交易金额:)"/>
<ITEM NAME="#TXAMT" LINE="18" COL="15" TYPE="%17.2f" INPUT="TEXT" FUNCTIONS="J(#LTXAMT)"/> <!-- INPUT属性表示此ITEM的输入类型,3) TEXT,文本框,可以在指定位置显示,可以输入 -->
<!-- J函数执行另外一个变量中的函数, 函数形如J(ITEM),ITEM为要跳到的变量名称 -->
<ITEM NAME="#LTXAMT" TYPE="%-16s" FUNCTIONS="X(#TXAMT)"/> <!-- X函数把数字转换为用","分割的计数方式赋给当前<ITEM> -->
<ITEM LINE="21" COL="59" TYPE="%-6s" FUNCTIONS="T(确 定)" INPUT="SUBMIT"/>
<!-- INPUT属性表示此ITEM的输入类型,6) SUBMIT,提交按钮,它不响应按下事件,而是在按下时直接把交易提交 -->
</VARIABLE>
<!--
关于TYPE的用法:
TYPE属性是<ITEM>的数据类型。
基本类型有三种,s-表示字符串,d-表示数字串,f-表示浮点型。
如果属性的第一个字符为"-"表示为左对齐,否则为右对齐。
基本类型之前可以跟长度,对于f型变量还可以指定整数和小数为数。
例如:"%-20s"表示长度为20的左对齐的字符串,"%13.2f"表示总长为13(含小数点)小数位数为2的浮点型变量。
-->
<REQUEST>
<!--
<REQUEST>配置发送的数据包格式,它有两个主要的属性:TYPE表示数据包的格式,
"8583"表示为8583数据包,此时<REQUEST>不需要有内容,TYPE为"TITA"为自定义格式,
此时<REQUEST>的内容为输入变量的组合。
默认为8583;NAME属性表示REQUEST的名字,
当存在多个REQUEST时用于区分它们,当只有一个REQUEST时可以不指定NAME
-->
</REQUEST>
<RESPONSE> <!-- <RESPONSE>标签配置输出打印的格式 -->
<!--
<PACKAGE>配置返回数据的格式,它的格式如下所示:
CKPT|@actno|@custname|@txamt|@prodname|@txday|@brno|@custno|||||@avbal
其中CKPT为标识字符,
用于和返回的文件内容进行匹配,
具体方法是按行扫描返回文件,
找到以CKPT开头的行则把此行内容按|分割字段的格式依次赋给CKPT后面指定的这些@变量,
对于不需要的字段可以不写变量名,
需要注意的是在文件中在标识符CKPT和第一个变量@actno之间是没有|符号的 //???????
<PACKAGE>标签有如下属性:
·DEVICE-打印介质
PRINTER---打印机
SCREEN----屏幕
MSR---------磁条
·LINESPACE-行间距
·DESC-打印时的提示信息
·CHECK-打印之前的判断条件,如果条件不符合则不打印
格式为 变量名=值 或者 变量名?值
变量必须为#变量或者$变量
-->
<!--PRINTER---打印机,DESC-打印时的提示信息-->
<PACKAGE DEVICE="PRINTER" DESC="请打印存款凭条">
CKPT|@actno|@custname|@txamt|@prodname|@txday|@brno|@custno|||||@avbal
</PACKAGE>
<!-- <PRINT>标签的内容是一段脚本,
它在找到每一个与PACKAGE匹配的行时执行,
它可能会被执行多次,在PRINT脚本中可以使用PACKAGE中的@变量
-->
<PRINT>"{
$KINDNO='00';
print( 3,20,'存款凭条');
print( 4, 6,'机 构 号:/[[5 ]/] 操 作 员:[4 ] 流 水 号:[6 ]
',@brno ,$TLRNO,$FD4);
print( 5, 6,'存款帐号:/[[19 ]/]',@actno);
print( 6, 6,'存款户名:[60]',@custname);
print(10, 6,'存款金额:[16]',ltrim(comma(@txamt,16)));
print(12, 6,'帐户余额:[16]',ltrim(comma(@avbal,16)));
}"
</PRINT>
</RESPONSE>
<IMPORT>CXCZ.IMP</IMPORT>
</TRANSACTION>
又学了个C语言的函数:
#include <stdio.h>
#include <string.h>
main(){
char *s="Golden Global View";
clrscr();
memset(s,'F',6);
printf("%s",s);
getchar();
return 0;
}
运行结果:
FFFFFF Global View