DHC log 2009-1-9

        今天局域网连了共享打印机,打了些资料,准备周六周日有时间看一看.

 

        今儿个真高兴,够意思的同学帮我把实习证明和实习报告发给开明的院长,任务搞定了.

 

        前台终于明白套路了,具体代码还需看.

 

        周六同事去题球,矿业大学,可惜没装备,技术也不好,等年后装备全了再参加吧,等会就下班啦:)

 

 

局域网共享打印机:

 

⑴安装打印机的电脑设置:点"开始"---"设置"--- "打印机和传真" 进入打印机管理页面,右键点需要共享的打印机,选择共享就OK了.
⑵其他需要共享打印机的电脑设置:点"开始"---"设置"--- "打印机和传真" 进入打印机管理页面,在打印机管理页面的左边里选择"添加打印机"--"添加网络打印机"---"浏览打印机"---然后系统会自动搜索网络内共享的打印机,搜索完后,选择一个结果一路点下一步就好了。
需要注意的是:必须先设置安装了打印机的电脑,另外其他电脑需要使用打印机的时候,安装有打印机的电脑必须开机,要不然打印不了.

 

 

<?xml version="1.0" encoding="GBK" ?>
<TRANSACTION RIGHTS="11100000000000000000000000000000" TITLE="3201 一般存款"
  xmlns="http://www.otd.org/MENU" xmlns:W3CNS="http://www.w3c.org">
<!--
COMMSEND标签的内容是一段脚本,这段脚本在交易被提交前(非callserver函数)被执行
-->
<COMMSEND>"{
        <!-- 自定义函数配置文件的默认位置是$HOME/xml/FUNCTIONS.XML --> 
 
 commsend_001();
  
 <!--
 <USERFUN NAME="commsend_001">"{
 $FD2=$OPNBR;
 $FD3=$KINBR;
 $FD5=$HDATE;
 $FD7=$TLRNO;
 $FD10=$TTYNAME;
 $FD16=$TXNO;
 $FD79=#PASSWD;
 //$FD6=time();
 }"
 </USERFUN>
 -->
 
 commsend_101();
 
 <!--
 存款交易结构
 <USERFUN NAME="commsend_101">"{
 $FD101=getitems('#ACTNO24#ACTSEQ#TXAMT#VOCTYPE#VOCNUM#DESC10#NBFLAG#CUSTNAME#AVBAL#CURCD#CASHFLAG#DSCPT#ACTTYPE#ACTSEQ_2#PRODNAME');
 }"
 </USERFUN>
 -->
 
 // if(waitsuper()){
 
 <!--
 
 <USERFUN NAME="waitsuper">"{
 dim @bak_fd78 as string;
 dim @bak_fd16 as string;
 dim @bak_fd72 as string;
 dim @bak_fd77 as string;
 dim @bak_fd9 as string;
 dim @tota as string;
 dim @ch as string;
 @bak_fd78=$FD78;
 @bak_fd16=$FD16;
 @bak_fd72=$FD72;
 @bak_fd77=$FD77;
 @bak_fd9=$FD9;
 $FD77=$FD16;
 $FD16='9597';
 $FD72='1';
 $FD78='00000000';
 @tota=callserver();
 $FD9=@bak_fd9;
 if($FD12!='0000'){
  showmsg(geterror());
  $FD78=@bak_fd78;
  $FD16=@bak_fd16;
  $FD72=@bak_fd72;
  $FD77=@bak_fd77;
  return(false);
 }
 while(true){
  while(true){
   @ch=showmsg('请监督柜员监督['+$FD78+'],监督完成后请按1,取消请按2');
   if(@ch=='1' or @ch=='2'){
    break;
   }
  }
  if(@ch=='2'){
   $FD78=@bak_fd78;
   $FD16=@bak_fd16;
   $FD72=@bak_fd72;
   $FD77=@bak_fd77;
   return(false);
  }
  $FD72='0';
  @tota=callserver();
  if($FD12!='0000'){
   showmsg(geterror());
   $FD78=@bak_fd78;
   $FD16=@bak_fd16;
   $FD72=@bak_fd72;
   $FD77=@bak_fd77;
   return(false);
  }
  if($FD72!='2'){
   showmsg('原交易未监督完成,不能提交!');
  }else{
   break;
  }
 }
 $FD9=@bak_fd9;
 $FD78=@bak_fd78;
 $FD16=@bak_fd16;
 $FD77=@bak_fd77;
 if($FD72=='2'){
  $FD72=@bak_fd72;
  return(true);
 }else{
  $FD72=@bak_fd72;
  return(false);
 }
}"
</USERFUN>
 
 -->
 
       // return(true);
   // }else{
  //      return(false);
   // }

}"
</COMMSEND>

<COMMRECV>"{
 commrecv_001();
 <!--
 <USERFUN NAME="commrecv_001">"{
 //showmsg('FD12=['+$FD12+']');
 }"
 </USERFUN>
 -->
}"
</COMMRECV>

<!--
界面及输入项的配置位于标签<VARIABLE>内,
每个<ITEM>标签表示一个输入项,在处理交易的过程中循环顺序执行所有的<ITEM>,
直到遇到SUBMIT按钮或者其他使处理循环结束的条件。

<VARIABLE>标签有一个属性UPLOOP可以为"TRUE"或者"FALSE"表示是否允许按上箭头从第一个输入项跳到最后一个输入项,
默认为FALSE。
-->
<VARIABLE UPLOOP="TRUE">
 
  <ITEM LINE="3"  COL="3" TYPE="%-44s" FUNCTIONS=
    "T(3201                            储蓄存款)"/>    <!-- 显示项,LINE、COL等属性定位坐标,用于前台界面显示 -->
  <ITEM LINE="4"  COL="3"  TYPE="%-74s" FUNCTIONS=
   "T(─────────────────────────────────────)"/>
 
  <ITEM NAME="#TXNO"    TYPE="%-4s"  FUNCTIONS="T($TXNO=2201)"/>    <!--赋值给全局变量$TXNO -->
  <ITEM NAME="#MSGTYPE" TYPE="%-5s"  FUNCTIONS="T($MSGTYPE=03001)"/> <!--赋值给全局变量$MSGTYPE -->
  <ITEM NAME="#TXCD"    TYPE="%4s"   FUNCTIONS="T(3201)"/>      <!---交易代码--->
  <ITEM NAME="#TXNAME"  TYPE="%-10s" FUNCTIONS="T(储蓄存款)"/>  <!---交易名称--->
 <!--
关于TYPE的用法:
TYPE属性是<ITEM>的数据类型。
基本类型有三种,s-表示字符串,d-表示数字串,f-表示浮点型。
如果属性的第一个字符为"-"表示为左对齐,否则为右对齐。
基本类型之前可以跟长度,对于f型变量还可以指定整数和小数为数。
例如:"%-20s"表示长度为20的左对齐的字符串,"%13.2f"表示总长为13(含小数点)小数位数为2的浮点型变量。
-->
   <IMPORT>SVACTINFO.IMP</IMPORT>
 

  <!--输出变量--->
  <ITEM NAME="#FD13"    TYPE="%-1s"  FUNCTIONS="T($FD13,1,1)"/>  <!---FD13域-打折的标志--->
  <!--
  T(ITEM,YYYY,ZZZZ),
  ITEM为一个变量,YYYY和ZZZZ可以是变量或者常量,
  此函数的作用是把ITEM从第YYYY位起的ZZZZ个子符赋给当前变量,
  偏移量从1开始计算。
  -->
 
  <ITEM LINE="21" COL="59"  TYPE="%-6s" FUNCTIONS="T(确  定)" INPUT="SUBMIT"/>
  <!--
  INPUT="SUBMIT",提交按钮,它不响应按下事件,而是在按下时直接把交易提交
  -->

</VARIABLE>

 


<!--
<REQUEST>配置发送的数据包格式,它有两个主要的属性:TYPE表示数据包的格式,
"8583"表示为8583数据包,此时<REQUEST>不需要有内容,TYPE为"TITA"为自定义格式,
此时<REQUEST>的内容为输入变量的组合。
默认为8583;NAME属性表示REQUEST的名字,
当存在多个REQUEST时用于区分它们,当只有一个REQUEST时可以不指定NAME
-->
<REQUEST>
</REQUEST>


<RESPONSE><!-- <RESPONSE>标签配置输出打印的格式 -->
 <!--SCREEN---屏幕,DESC-打印时的提示信息-->
 <PACKAGE DEVICE="SCREEN" DESC="储蓄存款"><!-- 应答在显示器的过程 -->
 NOTHING
 </PACKAGE>
 
 <!--
 <PRINT>标签的内容是一段脚本,
    它在找到每一个与PACKAGE匹配的行时执行,
    它可能会被执行多次,在PRINT脚本中可以使用PACKAGE中的@变量
    -->
 
 <PRINT>
 "{
 <!--
  print(number,number,string,[string …])
 参数:
 行号(0开始)
 列号(0开始)
 输出内容
 变量组
 功能:
 输出一行
 -->
  print( 3,30,'储蓄存款');
  print( 4,22,'帐    号:[19]',#ACTNO);
  print( 5,22,'户    名:[60]',#CUSTNAME);
  print( 6,22,'产品名称:[30]',#PRODNAME);
  print( 7,22,'凭证类型:[30]',#SVOCTYPE);
  print( 8,22,'凭证号码:[16]',#VOCNUM);
  if(substr(#ACTNO,0,6) != '622936')  <!--substr()函数,截取子串 -->
  {
   print( 9,22,'有无存折:[ 4]',#SNBFLAG);
   print(10,22,'存款方式:[ 4]',#SCASHFLAG);
   print(11,22,'交易金额:[21]',#LTXAMT);
   print(12,22,'流 水 号:[ 6]',$FD4);
  }
  else
  {
   print( 9,22,'存款方式:[ 4]',#SCASHFLAG);
   print(10,22,'交易金额:[21]',#LTXAMT);
   print(11,22,'流 水 号:[ 6]',$FD4);
  }
 }"
 </PRINT>
 
</RESPONSE>

<IMPORT>CXCZ.IMP</IMPORT>

 

<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" LINESPACE="11" DESC="请打印储蓄存款凭证"> <!-- 应答在打印机的过程 -->
 CKPT|@actno|@custname|@txamt|@prodname|@opn_day|@brno|@custno|||||@avbal||||||@tx_type|||@ct_name||||||||||@id_type|@id_no|@br_name||@note_no||@acc_no|@tx_brno|@term|@term_type|@rate|
 </PACKAGE>
 
 <!--
 <INIT>标签的内容是一段脚本,
 它在找到第一个与PACKAGE匹配的行时执行,
 且只会被执行一次,
 在INIT的脚本中可以使用PACKAGE中的@变量
 -->
 <INIT>
 "{
  $KINDNO='00';
 }"
 </INIT>
 
 <!-- <PRINT>标签的内容是一段脚本,
    它在找到每一个与PACKAGE匹配的行时执行,
    它可能会被执行多次,在PRINT脚本中可以使用PACKAGE中的@变量
    -->
 
 <PRINT>"{
  dim @txday  as string;
  dim @txtime as string;
  dim @year   as string;  //年
  dim @month  as string;  //月
  dim @day    as string;  //日
  
  @txday  = substr($HDATE,0,4)+'-'+substr($HDATE,4,2)+'-'+substr($HDATE,6,2);
  @txtime = substr($SYSTIME,0,2)+':'+substr($SYSTIME,2,2)+':'+substr($SYSTIME,4,2);
  @year   = substr($HDATE,0,4);
  @month  = substr($HDATE,4,2);
  @day    = substr($HDATE,6,2);
  
  //
  print(11, 16,'[7      ]                                                 [20                  ]         [8]',@acc_no,#TXNAME,$HDATE);
  if(substr(@actno,0,6) != '622936')//帐号和卡号分开
  {
   print(13, 11,'帐    号:[20                    ]   户    名:[20                  ]  开 户 行:[5    ]             [20]',@actno,@custname,@brno,@actno);
  }
  else
  {
   print(13, 11,'帐    号:[20                    ]   户    名:[20                  ]  开 户 行:[5    ]',@actno,@custname,@brno);
  }
  print(15, 11,'储    种:[20                    ]   利    率:[7      ]%              流 水 号:[6     ]',@prodname,@rate,$FD4);
  if(substr(@actno,0,6) == '622936')//帐号和卡号分开
  {
   print(17, 11,'存    期:[2 ][2 ]                   交易金额:[21                   ] 交易日期:[8       ]           [20]',@term,@term_type,ltrim(comma(@txamt,16)),$HDATE,@actno);
  }
  else
  {
   print(17, 11,'存    期:[2 ][2 ]                   交易金额:[21                   ] 交易日期:[8       ]',@term,@term_type,ltrim(comma(@txamt,16)),$HDATE);
  }
  print(19, 11,'凭 证 号:[16                ]       余    额:[21                   ] 操 作 员:[4   ]               [20]',@note_no,ltrim(comma(@avbal,16)),$TLRNO,@custname);
  print(21, 11,'交易类型:[ 4    ]                   现转标志:[4   ]                  交 易 行:[7      ]',@tx_type,@ct_name,@tx_brno);
  print(23,102,'[21]',ltrim(comma(@txamt,16)));<!-- ltrim(string):功能:去掉左边空格 -->
  <!-- comma(string,[number]):功能:把一个数字型字符串转换为','分割的形式,返回值:string,字符串-->
  print(26,102,'[21]',ltrim(comma(@avbal,16)));
  print(29,102,'[20]',@prodname);
  print(32,102,'[2 ][2 ]',@term,@term_type);
  print(35,102,'[7]%',@rate);
  print(38, 74,'[4   ]                        [4]',$TLRNO,$TLRNO);
 }"
 </PRINT>
</RESPONSE>

</TRANSACTION>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值