已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 1 页 共 70 页 中国邮政储蓄银行公司业务系统中国邮政储蓄银行公司业务系统 详细设计说明书 基本公用函数 中国邮政储蓄银行中国邮政储蓄银行 第 2 页 共 70 页 第第 1 1 章章 日期时间类日期时间类 1 11 1 取系统当前时间取系统当前时间 longlong GetTime GetTime 1 1 11 1 1 功能说明功能说明 取系统当前时间 1 1 21 1 2 输入参数输入参数 无 1 1 31 1 3 输出参数输出参数 无 1 1 41 1 4 返回值返回值 hhmmss 格式的时间 1 1 51 1 5 说明说明 本函数取的是当前应用服务器上的机器时间 不同的应用服务器上时间不可能完全同 步 1 21 2 取系统当前日期取系统当前日期 voidvoid rtodayrtoday char char today today 1 2 11 2 1 功能功能 取操作系统当前日期 1 2 21 2 2 输入参数输入参数 无 第 3 页 共 70 页 1 2 31 2 3 输出参数输出参数 9 位字符串 操作系统当前日期 格式为 YYYYMMDD 1 2 41 2 4 返回值返回值 无 1 2 51 2 5 说明说明 本函数取的是当前应用服务器上的机器日期 不同的应用服务器上日期不可能完全同 步 1 31 3 日期转化为年月日日期转化为年月日 intint Date2MDY charDate2MDY char date int date int month int month int day int day int year year 1 3 11 3 1 功能功能 根据字符串日期获取年月日 1 3 21 3 2 输入参数输入参数 字符串日期 date 格式为 YYYYMMDD 1 3 31 3 3 输出参数输出参数 月份 month 日期 day 年份 year 1 3 41 3 4 返回值返回值 0 表示成功 其他值表示失败 当 date 在 01 01 1900 和 12 31 9999 之间时成功 1 3 51 3 5 说明说明 不需要的参数可以填 NULL 不用定义另外的变量 如 只关心日期时可以这样调用 第 4 页 共 70 页 Date2MDY date NULL 1 41 4 是否闰年是否闰年 intint IsLeapYear intIsLeapYear int year year 1 4 11 4 1 功能功能 判断指定年份是否闰年 1 4 21 4 2 输入参数输入参数 整型年份 year 1 4 31 4 3 输出参数输出参数 无 1 4 41 4 4 返回值返回值 TRUE 表示是闰年 FALSE 表示不是 1 51 5 日期转换为天数日期转换为天数 intint Date2Day charDate2Day char date1 9 date1 9 intint retday retday 1 5 11 5 1 功能功能 字符串日期转换为天数 1 5 21 5 2 输入参数输入参数 字符串日期 char 9 1 5 31 5 3 输出参数输出参数 整型日期天数 retday 第 5 页 共 70 页 1 5 41 5 4 返回值返回值 1 转换错误 0 转换成功 1 5 51 5 5 说明说明 天数 从 1899 12 31 开始 1 61 6 根据日期计算星期几根据日期计算星期几 intint rdayofweek charrdayofweek char date date 1 6 11 6 1 功能功能 根据字符串型日期返回 礼拜几 1 6 21 6 2 输入参数输入参数 字符串日期型 1 6 31 6 3 输出参数输出参数 无 1 6 41 6 4 返回值返回值 正整数 0 6 周日 周六 1 失败 1 71 7 根据增加天数计算日期根据增加天数计算日期 intint DateChange charDateChange char in date int in date int days chardays char out date out date 1 7 11 7 1 功能功能 字符串型日期添加天数 第 6 页 共 70 页 1 7 21 7 2 输入参数输入参数 字符串日期型 int 型天数 1 7 31 7 3 输出参数输出参数 字符串日期型 1 7 41 7 4 返回参数返回参数 0 成功 1 失败 1 81 8 日期格式化转换日期格式化转换 intint Date2fmt charDate2fmt char date char date char fmt char fmt char out str out str 1 8 11 8 1 功能功能 字符串型日期格式化输出 1 8 21 8 2 输入参数输入参数 date 字符串日期型 fmt 字符串型格式字符串 支持 Y M D 1 8 31 8 3 输出参数输出参数 out date 格式化后的字符串 1 8 41 8 4 返回值返回值 0 成功 1 失败 第 7 页 共 70 页 1 91 9 取系统时间戳取系统时间戳 voidvoid GetTimeStamp charGetTimeStamp char stamp stamp 1 9 11 9 1 功能功能 取系统时间戳 格式为 YYYYMMDDHHMMSSMMM 共 17 位 1 9 21 9 2 输入参数输入参数 无 1 9 31 9 3 输出参数输出参数 17 位的时间戳 格式为 YYYYMMDDHHMMSSMMM 1 9 41 9 4 返回值返回值 无 1 101 10 取系统时间戳取系统时间戳 intint dtcurrent longdtcurrent long dt dt 1 10 11 10 1 功能功能 取系统时间戳 从 1970 1 1 00 00 00 开始的秒数 1 10 21 10 2 输入参数输入参数 无 1 10 31 10 3 输出参数输出参数 long 型的描述 1 10 41 10 4 返回值返回值 0 成功 1 失败 第 8 页 共 70 页 1 111 11 取时间戳格式化输出取时间戳格式化输出 intint DT2fmt longDT2fmt long dt chardt char fmt char fmt char out str out str 1 11 11 11 1 功能功能 long 型时间戳格式化输出 1 11 21 11 2 输入参数输入参数 long 型 时间戳 字符串格式 支持 Y M D h m s 1 11 31 11 3 输出参数输出参数 格式化后的字符串 1 11 3 11 11 3 1 返回参数返回参数 0 成功 1 失败 1 121 12 字符串时间转换成字符串时间转换成 longlong 时间戳时间戳 intint asc2DT charasc2DT char str long str long dt dt 1 12 11 12 1 功能功能 14 位字符串时间转换成 long 时间戳 1 12 21 12 2 输入参数输入参数 字符串日期型 14 位输入 YYYYMMDDHHMMSS 1 12 31 12 3 输出参数输出参数 long 型的时间戳 第 9 页 共 70 页 1 12 41 12 4 返回参数返回参数 0 成功 1 失败 1 131 13 时间戳转换成字符串时间时间戳转换成字符串时间 intint DT2asc longDT2asc long dt chardt char str str 1 13 11 13 1 功能功能 时间戳转换成字符串时间 1 13 21 13 2 输入参数输入参数 long 型的时间戳 1 13 31 13 3 输出参数输出参数 字符串 14 位 YYYYMMDDHHMMSS 1 13 41 13 4 返回函数返回函数 0 成功 1 失败 1 141 14 月月 日日 年转换成字符串型时间年转换成字符串型时间 intint MDY2Date intMDY2Date int m intm int d intd int y chary char out date out date 1 14 11 14 1 功能功能 int 型月 日 年转换成字符串型时间 1 14 21 14 2 输入参数输入参数 int 型 月 日 年 第 10 页 共 70 页 1 14 31 14 3 输出参数输出参数 字符串日期型 1 14 41 14 4 返回值返回值 0 成功 1 失败 1 151 15 天数转换成字符串型日期天数转换成字符串型日期 intint day2Date intday2Date int days chardays char out date out date 1 15 11 15 1 功能功能 天数转换成字符串型日期 1 15 21 15 2 输入参数输入参数 Int 型天数 1 15 31 15 3 输出参数输出参数 字符串日期型 1 15 41 15 4 返回值返回值 0 成功 1 失败 1 161 16 判断字符串型日期是否合法判断字符串型日期是否合法 intint IsvalidDate charIsvalidDate char date date 1 16 11 16 1 功能功能 判断字符串型日期是否合法 第 11 页 共 70 页 1 16 21 16 2 输入参数输入参数 字符串型日期 1 16 31 16 3 输出参数输出参数 无 1 16 41 16 4 返回值返回值 0 合法 1 非法 1 171 17 计算两个字符串日期的间的天数计算两个字符串日期的间的天数 intint daysBetween chardaysBetween char time1 9 chartime1 9 char time2 9 inttime2 9 int retday retday 1 17 11 17 1 功能功能 计算两个字符串日期的差 1 17 21 17 2 输入参数输入参数 char time1 9 日期一yyyymmdd 格式 char time2 9 日期二yyyymmdd 格式 1 17 31 17 3 输出参数输出参数 int 型日期天数 1 17 41 17 4 返回值返回值 0合法 1 日期非法 第 12 页 共 70 页 1 181 18 初始化日期字符串初始化日期字符串 voidvoid setinitdate charsetinitdate char initdate initdate 1 18 11 18 1 功能功能 初始化日期字符串 1 18 21 18 2 输入参数输入参数 无 1 18 31 18 3 输出参数输出参数 日期型字符字符串 1 18 41 18 4 返回值返回值 无 1 18 51 18 5 备注备注 初始化成 8 个 0 1 191 19 时间戳转换成时间戳转换成 字符串日期和字符串日期和 longlong 型的型的 timetime intint Dt2DateTime longDt2DateTime long dt chardt char date long date long time time 1 19 11 19 1 功能功能 把时间戳转换成 字符串日期和 long 型的 time 1 19 21 19 2 输入参数输入参数 long 型的时间戳 第 13 页 共 70 页 1 19 31 19 3 输出参数输出参数 字符串日期 long 型的时间 hhmmss 1 19 41 19 4 返回返回 0 成功 1 失败 1 201 20 字符串日期字符串日期 long long 型的时间转换成时间戳型的时间转换成时间戳 intint DateTime2Dt charDateTime2Dt char date long date long time long time long timestamp timestamp 1 20 11 20 1 输入参数输入参数 字符串日期 long 型的时间 hhmmss 1 20 21 20 2 输出参数输出参数 long 型的时间戳 1 20 31 20 3 返回值返回值 0 成功 1 失败 1 211 21 计算指定年月的天数计算指定年月的天数 intint DaysOf intDaysOf int year intyear int month month 1 21 11 21 1 功能功能 返回指定年月的天数 1 21 21 21 2 输入参数输入参数 整型年份 year 整型月份 month 第 14 页 共 70 页 1 21 31 21 3 输出参数输出参数 无 1 21 41 21 4 返回值返回值 指定年月的天数 1 221 22 判断整型日期是否是指定类型的日期判断整型日期是否是指定类型的日期 intint IsDayType db longIsDayType db long date intdate int type type 1 22 11 22 1 功能功能 判断整型日期是否是指定类型的日期 1 22 21 22 2 输入参数输入参数 整型日期 date 日期类型 type DAY MONTH BEGIN 表示月初 DAY MONTH END 表示月末 DAY YEAR BEGIN 表示年初 DAY YEAR END 表示年末 DAY PERSONAL INT 表示个人存款结息日 DAY COMPANY INT 表示单位存款结息日 DAY OVERDRAFT INT 表示透支结息日 1 22 31 22 3 输出参数输出参数 无 1 22 41 22 4 返回值返回值 0 日期合法 0 日期为 00000000 1 表示不合法 第 15 页 共 70 页 1 231 23 计算变动日期计算变动日期 intint ShiftDay charShiftDay char SDate int SDate int iCount intiCount int iUnit intiUnit int iAdjustType chariAdjustType char RDate RDate 1 23 11 23 1 功能功能 计算变动日期 1 23 21 23 2 输入参数输入参数 字符串日期 date 变动的数值 count 大于 0 表示向以后变动 小于 0 表示向以前变动 变动的单位 countUnit SHIFT UNIT DAY 表示单位为天 SHIFT UNIT MONTH 表示单位为月 SHIFT UNIT YEAR 表示单位为年 调整类型 adjustType SHIFT NO ADJUST 不进行任何调整 SHIFT MONTH BEGIN 调整到月初 SHIFT MONTH END 调整到月末 SHIFT YEAR BEGIN 调整到年初 SHIFT YEAR END 调整到年末 1 23 31 23 3 输出参数输出参数 无 1 23 41 23 4 返回值返回值 变动后的日期 1 表示参数错误 1 23 51 23 5 说明说明 本函数可以用来计算到期日 求统计区间的起止日期等 当用来计算到期日时 adjustType 填 SHIFT NO ADJUST 函数内部会按照人民银行计算日期的标准对日期进 行自动调整 例如 3 月 31 日存入三个月定期 到期日会是 6 月 30 日 但当变动单位是 天时不进行自动调整 count 为 0 时可以用来求本年年初年末或本月月初月末 第 16 页 共 70 页 1 241 24 计算两个日期间隔的月数计算两个日期间隔的月数 intint DiffMonth charDiffMonth char lDate1 char lDate1 char lDate2 lDate2 1 24 11 24 1 功能功能 返回两个日期间隔的月数 1 24 21 24 2 输入参数输入参数 两个字符串日期 date1 date2 1 24 31 24 3 输出参数输出参数 无 1 24 41 24 4 返回值返回值 两日期间隔的月数 非负整数 1 251 25 重置秒表重置秒表 voidvoid ResetStopwatch ResetStopwatch 1 25 11 25 1 功能功能 重置秒表 清 0 并开始计时 1 25 21 25 2 输入参数输入参数 无 1 25 31 25 3 输出参数输出参数 无 1 25 41 25 4 返回值返回值 无 第 17 页 共 70 页 1 261 26 暂停秒表暂停秒表 voidvoid StopStopwatch StopStopwatch 1 26 11 26 1 功能功能 暂停秒表 1 26 21 26 2 输入参数输入参数 无 1 26 31 26 3 输出参数输出参数 无 1 26 41 26 4 返回值返回值 无 1 271 27 恢复计时恢复计时 voidvoid ResumeStopwatch ResumeStopwatch 1 27 11 27 1 功能功能 恢复计时 1 27 21 27 2 输入参数输入参数 无 1 27 31 27 3 输出参数输出参数 无 1 27 41 27 4 返回值返回值 无 第 18 页 共 70 页 1 281 28 读秒表读秒表 longlong ReadStopwatch ReadStopwatch 1 28 11 28 1 功能功能 读秒表 1 28 21 28 2 输入参数输入参数 无 1 28 31 28 3 输出参数输出参数 无 1 28 41 28 4 返回值返回值 秒表读数 单位 毫秒 1 28 51 28 5 说明说明 本函数不改变秒表状态 本来是停止的还是停止 本来是计时的继续计时 另外 当时间太长时 读数可能溢出 第第 2 2 章章 字符串处理类字符串处理类 2 12 1 去掉字符串前导空白字符去掉字符串前导空白字符 charchar LTrim char LTrim char str str 2 1 12 1 1 功能功能 去掉字符串前导空白字符 使 isspace 返回真的字符 包括空格 TAB 回车等 2 1 22 1 2 输入参数输入参数 字符串 str 第 19 页 共 70 页 2 1 32 1 3 输出参数输出参数 字符串 str 2 1 42 1 4 返回值返回值 字符串 str 2 22 2 去掉字符串尾部空白字符去掉字符串尾部空白字符 charchar RTrim char RTrim char str str 2 2 12 2 1 功能功能 去掉字符串尾部空白字符 2 2 22 2 2 输入参数输入参数 字符串 str 2 2 32 2 3 输出参数输出参数 字符串 str 2 2 42 2 4 返回值返回值 字符串 str 2 32 3 去掉字符串前后空白字符去掉字符串前后空白字符 charchar AllTrim charAllTrim char str str 2 3 12 3 1 功能功能 去掉字符串前后空白字符 2 3 22 3 2 输入参数输入参数 字符串 str 第 20 页 共 70 页 2 3 32 3 3 输出参数输出参数 字符串 str 2 3 42 3 4 返回值返回值 字符串 str 2 42 4 去掉字符串中所有空白字符去掉字符串中所有空白字符 voidvoid Pack charPack char str str 2 4 12 4 1 功能功能 去掉字符串中所有空白字符 2 4 22 4 2 输入参数输入参数 字符串 str 2 4 32 4 3 输出参数输出参数 字符串 str 2 4 42 4 4 返回值返回值 无 2 52 5 字符串比较长度字符串比较长度 intint strrcmp charstrrcmp char s1 char s1 char s2 int s2 int n n 2 5 12 5 1 功能功能 对字符串尾部按字典序进行比较 2 5 22 5 2 输入参数输入参数 字符串 1 s1 字符串 2 s2 长度 n 第 21 页 共 70 页 2 5 32 5 3 输出参数输出参数 无 2 5 42 5 4 返回值返回值 0 表示大于 2 5 52 5 5 说明说明 本函数从尾部开始往前比较 2 62 6 在字符串中查找特定字符在字符串中查找特定字符 charchar strchr char strchr char s int s int c c 系统函数系统函数 2 6 12 6 1 功能功能 在字符串中查找特定字符 2 6 22 6 2 输入参数输入参数 字符串 s 待查字符 c 2 6 32 6 3 输出参数输出参数 无 2 6 42 6 4 返回值返回值 非 NULL 表示 c 在 s 中的第一次出现位置 NULL 表示 s 中不含 c 2 6 52 6 5 说明说明 另外有一个函数 char strrchr char s int c 和本函数功能类似 但从字符串尾部开始 往前查找 第 22 页 共 70 页 2 72 7 获取子串在母串中的第一次出现位置获取子串在母串中的第一次出现位置 charchar strstr char strstr char s1 char s1 char s2 s2 系统函数系统函数 2 7 12 7 1 功能功能 获取子串在母串中的第一次出现位置 2 7 22 7 2 输入参数输入参数 母串 s1 子串 s2 2 7 32 7 3 输出参数输出参数 无 2 7 42 7 4 返回值返回值 非 NULL 表示 s2 在 s1 中的第一次出现位置 NULL 表示 s1 中不含 s2 2 82 8 从母串中截取出子串从母串中截取出子串 intint MidStr charMidStr char s1 int s1 int start intstart int len charlen char s2 s2 2 8 12 8 1 功能功能 从母串中截取出子串 2 8 22 8 2 输入参数 输入参数 母串 s1 起始位置 start 从 0 开始计数 长度 len 2 8 32 8 3 输出参数输出参数 子串 s2 第 23 页 共 70 页 2 8 42 8 4 返回值返回值 0 表示成功 1 表示参数错误 起始位置大于等于母串长 或者长度小于等于 0 或大 于剩余部分长度 当长度大于剩余部分长度时 s2 中仍包含剩余部分 2 92 9 根据分隔符从母串中取子串根据分隔符从母串中取子串 intint GetFld char GetFld char s1 int s1 int n charn char s2 int s2 int c c 2 9 12 9 1 功能功能 根据分隔符从母串中取子串 2 9 22 9 2 输入参数输入参数 母串 s1 字段编号 n 从 0 开始编号 子串 s2 字段分隔符 c 2 9 32 9 3 输出参数输出参数 子串 s2 2 9 42 9 4 返回值返回值 s2 的长度 2 9 52 9 5 说明说明 此函数可以用来从类似于 unload 文本格式中取出指定字段 另外有一个函数 int GetFld char s1 int n char s2 专门用于这个目的 它直接调用 GetFld s1 n s2 2 102 10 判断是否数值字符串判断是否数值字符串 intint IsNumStr charIsNumStr char s s 2 10 12 10 1 功能功能 判断是否数值字符串 包括各种允许的数值形式 如整数 小数 科学计数等 第 24 页 共 70 页 2 10 22 10 2 输入参数输入参数 字符串 s 2 10 32 10 3 输出参数输出参数 无 2 10 42 10 4 返回值返回值 TRUE 表示是 FALSE 表示不是 2 112 11 判断是否数字字符串判断是否数字字符串 intint IsDigitStr charIsDigitStr char s s 2 11 12 11 1 功能功能 判断是否数字字符串 所有字符都是 0 9 之间的字符 2 11 22 11 2 输入参数输入参数 字符串 s 2 11 32 11 3 输出参数输出参数 无 2 11 42 11 4 返回值返回值 TRUE 表示是 FALSE 表示不是 2 11 52 11 5 说明说明 注意这个函数和上面函数的区别 第 25 页 共 70 页 2 122 12 字符串转换为长整数字符串转换为长整数 longlong atol charatol char s s 系统函数系统函数 2 12 12 12 1 功能功能 字符串转换为长整数 2 12 22 12 2 输入参数输入参数 字符串 s 2 12 32 12 3 输出参数输出参数 无 2 12 42 12 4 返回值返回值 长整数 2 12 52 12 5 说明说明 类似还有 atof 转换为 double 型 atoi 转换为 int 型 2 132 13 1616 进制字符转换为进制字符转换为 BCDBCD 码字符串码字符串 intint Char2Bcd charChar2Bcd char hex charhex char bcd bcd 2 13 12 13 1 功能功能 16 进制字符转换为 BCD 码字符串 2 13 22 13 2 输入参数输入参数 16 进制字符 hex 0 9 A F a f 2 13 32 13 3 输出参数输出参数 BCD 码字符串 bcd 4 字节长 第 26 页 共 70 页 2 13 42 13 4 返回值返回值 0 表示成功 1 表示参数非法 2 142 14 BCDBCD 码字符串转换为码字符串转换为 1616 进制字符进制字符 intint Bcd2Char charBcd2Char char bcd char bcd char hex hex 2 14 12 14 1 功能功能 BCD 码字符串转换为 16 进制字符 2 14 22 14 2 输入参数输入参数 BCD 码字符串 bcd 4 字节长 由 0 1 组成 2 14 32 14 3 输出参数输出参数 16 进制字符 hex 2 14 42 14 4 返回值返回值 0 表示成功 1 表示参数非法 2 152 15 计算帐号校验位计算帐号校验位 intint AcctChkBit charAcctChkBit char acct no int acct no int acct type acct type 2 15 12 15 1 功能功能 计算帐号校验位 2 15 22 15 2 输入参数输入参数 帐号 acct no 带不带校验位都可以 帐号类型 acct type ACCT DEP CARD16 表示 16 位储蓄卡 ACCT DEP CARD19 表示 19 位储蓄卡 第 27 页 共 70 页 ACCT DEP20 表示 20 位储蓄帐号 ACCT DEP19 表示 19 位储蓄帐号 ACCT CREDIT 表示信用卡 ACCT ACC 表示会计帐号 ACCT CUSTID 表示客户编号 2 15 32 15 3 返回值返回值 检验位数值 2 162 16 校验帐号校验位校验帐号校验位 intint ChkAcct charChkAcct char acct no int acct no int acct type acct type 2 16 12 16 1 功能功能 校验帐号校验位 2 16 22 16 2 输入参数输入参数 帐号 acct no 帐号类型 acct type ACCT DEP CARD16 表示 16 位储蓄卡 ACCT DEP CARD19 表示 19 位储蓄卡 ACCT DEP20 表示 20 位储蓄帐号 ACCT DEP19 表示 19 位储蓄帐号 ACCT CREDIT 表示信用卡 ACCT ACC 表示会计帐号 ACCT CUSTID 表示客户编号 2 16 32 16 3 返回值返回值 0 表示成功 其他表示失败 2 172 17 产生字符串产生字符串 charchar str char str char fmt fmt 2 17 12 17 1 功能 功能 产生字符串 第 28 页 共 70 页 2 17 22 17 2 输入参数 输入参数 同 printf 2 17 32 17 3 输出参数 输出参数 无 2 17 42 17 4 返回值 返回值 字符串 2 17 52 17 5 说明 说明 返回值指向长度为 1024 的静态缓冲区 每次调用都覆盖以前调用的结果 所以 如果需要保留结果 必须将其复制到其他地方 例如使用 strcpy 同样的原因 不 能在一个函数调用中调用多次本函数 例如 printf s s n str aaa str bbb 另外 当产生的字符串长于 1023 时也不能使用本函数 2 182 18 设置缓冲区设置缓冲区 voidvoid InitStr charInitStr char str int str int bufsize bufsize 2 18 12 18 1 功能 功能 为 StrCat 函数 设置缓冲区 2 18 22 18 2 输入参数 输入参数 字符串 str 缓冲区大小 bufsize 2 18 32 18 3 输出参数 输出参数 无 2 18 42 18 4 返回值 返回值 无 第 29 页 共 70 页 2 18 52 18 5 说明 说明 详见 StrCat 2 192 19 将字符串拼接到缓冲区将字符串拼接到缓冲区 intint StrCat charStrCat char fmt fmt 2 19 12 19 1 功能 功能 将字符串拼接到缓冲区 2 19 22 19 2 输入参数 输入参数 同 printf 2 19 32 19 3 输出参数 输出参数 无 2 19 42 19 4 返回值 返回值 0 表示成功 其他表示失败 缓冲区满 2 19 52 19 5 说明 说明 很多地方需要将很多域拼接到一个字符串中 当域很多时 使用 strcat 效率是很低的 用 InitStr 函数设置字符串的地址和容量 然后用反复调用本函数进行拼接 第第 3 3 章章 金额 数值类金额 数值类 3 13 1 voidvoid Round doubleRound double f int f int prec prec 3 1 13 1 1 功能功能 对双精度数四舍五入 第 30 页 共 70 页 3 1 23 1 2 输入参数输入参数 双精度数 f 取舍精度 小数位数 prec 3 1 33 1 3 输出参数输出参数 双精度数 f 3 1 43 1 4 返回值返回值 无 3 23 2 voidvoid Mny2Chn doubleMny2Chn double mny charmny char chn chn 3 2 13 2 1 功能功能 将双精度型的金额转换为大写汉字字符串 3 2 23 2 2 输入参数输入参数 双精度金额 mny 3 2 33 2 3 输出参数输出参数 大写汉字字符串 chn 如 壹圆伍角整 3 2 43 2 4 返回值返回值 无 3 2 53 2 5 说明说明 当金额太大 超过千亿 时 chn 中将直接存放全角数字字符串 无法读出金额 第 31 页 共 70 页 3 33 3 voidvoid Mny2Sbc doubleMny2Sbc double mny charmny char sbc sbc 3 3 13 3 1 功能功能 将双精度型的金额转换为全角数字字符串 3 3 23 3 2 输入参数输入参数 双精度金额 mny 3 3 33 3 3 输出参数输出参数 全角数字字符串 sbc 如 3 3 43 3 4 返回值返回值 无 3 43 4 voidvoid Mny2Acc doubleMny2Acc double mny charmny char acc acc 3 4 13 4 1 功能功能 将双精度型的金额转换为会计形式的半角数字字符串 3 4 23 4 2 输入参数输入参数 双精度金额 mny 3 4 33 4 3 输出参数输出参数 全角数字字符串 sbc 如 1 234 567 00 3 4 43 4 4 返回值返回值 无 第 32 页 共 70 页 3 53 5 intint PerAcctChkBit intPerAcctChkBit int per acct no per acct no 3 5 13 5 1 功能功能 计算公积金个人帐号检验位 3 5 23 5 2 输入参数输入参数 公积金个人帐号 per acct no 3 5 33 5 3 返回值返回值 帐号校验位 3 63 6 MIN a b MIN a b 3 6 13 6 1 功能功能 返回两数中较小者 3 6 23 6 2 说明说明 这是一个宏 define MIN a b a b a b 第 33 页 共 70 页 3 83 8 ABS a ABS a 3 8 13 8 1 功能功能 返回绝对值 3 8 23 8 2 说明说明 这是一个宏 define ABS a a 0 成功 返回值为通讯句柄 0 表示没有结果包返回 clt AsynRecvReply 函数 依据此句柄获取处理结果 EGENMAC 产生 MAC 失败 ESENDFILE 上传文件失败 ECALL tpacall 失败 说 明 7 clt AsynRecvReply 原 型 intclt AsynRecvReply int piAsynHandle void ppvRecvBuf longlTrxTimeOout longlFlags 功 能 接收异步请求的返回结果 参 数 piAsynHandle 输入参数 clt AsynSendRequest 函数返回的通讯句柄 ppvRecvBuf 输入参数 指向接收缓冲区指针的指针 此缓冲区必须为 tux Alloc 函数 分配的 FML32 缓冲区 且在函数返回时 该缓冲区指针可能被 Tuxedo 系统调整而有所变 化 lTrxTimeOut 输入参数 交易超时时间 如果在指定的时间 以秒为单位 内 没有得 到返回结果 则函数出错返回 通讯头文件中 对于联机交易 联机批处理 日终批处理 分别定义了相应的宏为 TIMEOUT OLTP TIMEOUT OLBJ TIMEOUT DEBJ 用作这个 参数 如果需要指定特别的时间 也可以直接填数值 lFlags 输入参数 标志参数 用来控制通讯函数的行为 其可能取值为 TPGETANY 这个参数表明 clt AsynRecvReply 函数将忽略通讯句柄 第一个参数 返回任意一个结 果 并将通讯句柄赋值为相应的通讯句柄 如果无结果返回 在缺省的情况下 clt AsynRecvReply 函数会阻塞直至有结果到来 返回值 0 成功 第 37 页 共 70 页 EGETRPLY tpgetrply 失败 ETIMEOUT 交易超时 ECHKMAC 校验 MAC 失败 EGETFILE 下传文件失败 说 明 8 clt AsynCancel 原 型 intclt AsynCancel intpiAsynHandle 功 能 放弃异步请求的结果 参 数 piAsynHandle 输入参数 clt AsynSendRequest 函数返回的通讯句柄 返回值 0 成功 1 失败 说 明 4 24 2 服务端通讯设计服务端通讯设计 4 2 14 2 1 接口设计接口设计 所有服务端通讯接口 都冠以 svr 前缀 下面名如 E 的错误码都小于 0 以宏方式定义 在通讯头文件中 1 svr VerifyContext 原 型 intsvr VerifyContext TPSVCINFO pvConext 功 能 在进入服务函数时 首先进行上下文校验 以验证服务请求的正确性 参 数 pvContext 交易数据缓冲区 返回值 0 成功 ECHKMAC 校验 MAC 失败 ECHKIAC 校验 IAC 失败 EILLEAGAL 非法交易 交易包中有敏感字段但又没有任何校验 说 明 所有服务端程序在进入服务后 必须首先调用本接口进行安全验证 2 tux Alloc 同客户端同客户端 3 tux Free 同客户端同客户端 4 svr CallService 原 型 第 38 页 共 70 页 intsvr CallService char pszSerivceName void pvSendBuf void ppvRcvBuf longlFlags 功 能 将请求包发送给服务 并等待结果返回 参 数 pszServiceName 输入参数 被请求的服务名 pvSendBuf 输入参数 指向请求缓冲区的指针 此缓冲区必须为 tux Alloc 函数分配 的 FML32 缓冲区 ppvRecvBuf 输入参数 指向接收缓冲区指针的指针 此缓冲区必须为 tux Alloc 函数 分配的 FML32 缓冲区 且在函数返回时 该缓冲区指针可能被 Tuxedo 系统调整而有所变 化 lFlags 输入参数 标志参数 用来控制通讯函数的行为 其可能取值为 TPNOTRAN 如果客户进程在调用 svr CallService 时处在交易模式下 并且 lFlags 被设置为 TPNOTRAN 则被调用的服务将不是交易的一部分 也就是 服务执行的操作不是调用者 交易的一部分 返回值 0 成功 EGENIAC 产生 IAC 失败 ECALL tpcall ECHKIAC 校验 IAC 失败 说 明 5 svr AsynSendRequest 原 型 intsvr AsynSendRequest char pszServiceName void pvSendBuf longlFlags 功 能 以异步通讯方式将请求包发送给服务 参 数 pszServiceName 输入参数 被请求的服务名 pvSendBuf 输入参数 指向请求缓冲区的指针 此缓冲区必须为 tux Alloc 函数分配 的 FML32 缓冲区 lFlags 输入参数 标志参数 用来控制通讯函数的行为 其可能取值为 TPNOREPLY 如果 lFlags 参数被设置为TPNOREPLY 表明不期望回答 接收应答包 当这个标志 被设定 若成功调用 则 svr AsynSendRequest 函数返回 0 值作为描述符 因为 0 不能 被 svr AsynRecvReply 使用 TPNOTRAN 如果客户进程在调用 svr CallService 时处在交易模式下 并且 lFlags 被设置为 TPNOTRAN 则被调用的服务将不是交易的一部分 也就是 服务执行的操作不是调用者 交易的一部分 第 39 页 共 70 页 返回值 0 成功 返回值为通讯句柄 0 表示没有结果包返回 svr AsynRecvReply 函数 依据此句柄获取处理结果 EGENIAC 产生 IAC 失败 ECALL tpacall 失败 说 明 6 svr AsynRecvReply 原 型 intsvr AsynRecvReply int piAsynHandle void ppvRecvBuf longlTrxTimeOout longlFlags 功 能 接收异步请求的返回结果 参 数 piAsynHandle 输入参数 svr AsynSendRequest 函数返回的通讯句柄 ppvRecvBuf 输入参数 指向接收缓冲区指针的指针 此缓冲区必须为 tux Alloc 函数 分配的 FML32 缓冲区 且在函数返回时 该缓冲区指针可能被 Tuxedo 系统调整而有所变 化 lTrxTimeOut 输入参数 交易超时时间 如果在指定的时间 以秒为单位 内 没有得 到返回结果 则函数出错返回 通讯头文件中 对于联机交易 联机批处理 日终批处理 分别定义了相应的宏为 TIMEOUT OLTP TIMEOUT OLBJ TIMEOUT DEBJ 用作这个 参数 如果需要指定特别的时间 也可以直接填数值 lFlags 输入参数 标志参数 用来控制通讯函数的行为 其可能取值为 TPGETANY 这个参数表明 svr AsynRecvReply 函数将忽略通讯句柄 第一个参数 返回任意一个结 果 并将通讯句柄赋值为相应的通讯句柄 如果无结果返回 在缺省的情况下 svr AsynRecvReply 函数会阻塞直至有结果到来 返回值 0 成功 EGETRPLY tpgetrply 失败 ETIMEOUT 交易超时 ECHKIAC 校验 IAC 失败 说 明 7 svr AsynCancel 原 型 intsvr AsynCancel intpiAsynHandle 功 能 放弃异步请求的结果 参 数 piAsynHandle 输入参数 svr AsynSendRequest 函数返回的通讯句柄 返回值 0 成功 1 失败 第 40 页 共 70 页 说 明 8 svr ServiceForward 原 型 voidsvr ServiceForward char pszServiceName void pvSendBuf longlFlags 功 能 以管道通讯方式将请求包转发给另一个服务 参 数 pszServiceName 输入参数 被请求的服务名 pvSendBuf 输入参数 指向请求缓冲区的指针 此缓冲区必须为 tux Alloc 函数分配 的 FML32 缓冲区 lFlags 输入参数 保留 置为 0 返回值 无 说 明 9 svr ServiceReturn 原 型 voidsvr ServiceReturn intiReturnValue longlReturnCode void pvReturnData longlFlags 功 能 服务处理完毕 将结果返回给客户端 参 数 iReturnValue 输入参数 服务的状态值 成功或失败 该参数的区值为 TPSUCCESS 客户端服务调用返回成功 且如果有应答结果 应答结果出现在客户 端接收缓冲区中 TPFAIL 客户端服务调用返回失败 且如果应答结果 应答结果出现在客户端接收缓 冲区中 TPEXIT 客户端服务调用返回失败 且如果应答结果 应答结果出现在客户端接收缓 冲区中 与 TPFAIL 不同的是 TUXEDO 会重新启动整个服务进程 这个参数仅仅当分配 缓冲区失败时使用 因为分配缓冲区失败一般是因为编程上的疏忽 分配了内存而不释放 长期积累下来导致没有内存可供分配 此时重新启动进程会导致系统自动释放该进程占用 的内存资源 lReturnCode 输入参数 应用逻辑定义的状态码 pvReturnData 输入参数 服务处理返回结果 lFlags 输入参数 保留 置为 0 返回值 无 说 明 第 41 页 共 70 页 第第 5 5 章章 文件处理类文件处理类 5 15
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024全新电子行业工人劳动合同范本3篇
- 镜保险合同模板
- 2024年度砂石料市场价格波动风险共担合同3篇
- 断桥窗购销合同范例
- 2024年度上海市徐汇区教育培训机构合作合同2篇
- 美容院拓客方案合同范例
- 草皮种植合同范例
- 2024年度闭门会议数据安全及商业秘密保护协议3篇
- 综合制合同范例
- 2024年度石油化工企业消防设施升级改造合同8篇
- 手术器械采购投标方案(技术标)
- MSOP(测量标准作业规范)测量SOP
- 中考物理复习交流
- 拉运污水泄漏应急预案
- 八年级历史上册论述题汇总
- 资产评估学教程(第八版)习题及答案 乔志敏
- 体质健康成绩测试全自动化计算模板
- 机械制图习题集-附带答案
- 组织行为学马工程题库
- 小学英语复习讲座课件
- 2023年中级经济师考试真题及答案完整版
评论
0/150
提交评论