公共组件详细设计说明书.docx

上传人:b****1 文档编号:1921784 上传时间:2023-05-02 格式:DOCX 页数:66 大小:59.12KB
下载 相关 举报
公共组件详细设计说明书.docx_第1页
第1页 / 共66页
公共组件详细设计说明书.docx_第2页
第2页 / 共66页
公共组件详细设计说明书.docx_第3页
第3页 / 共66页
公共组件详细设计说明书.docx_第4页
第4页 / 共66页
公共组件详细设计说明书.docx_第5页
第5页 / 共66页
公共组件详细设计说明书.docx_第6页
第6页 / 共66页
公共组件详细设计说明书.docx_第7页
第7页 / 共66页
公共组件详细设计说明书.docx_第8页
第8页 / 共66页
公共组件详细设计说明书.docx_第9页
第9页 / 共66页
公共组件详细设计说明书.docx_第10页
第10页 / 共66页
公共组件详细设计说明书.docx_第11页
第11页 / 共66页
公共组件详细设计说明书.docx_第12页
第12页 / 共66页
公共组件详细设计说明书.docx_第13页
第13页 / 共66页
公共组件详细设计说明书.docx_第14页
第14页 / 共66页
公共组件详细设计说明书.docx_第15页
第15页 / 共66页
公共组件详细设计说明书.docx_第16页
第16页 / 共66页
公共组件详细设计说明书.docx_第17页
第17页 / 共66页
公共组件详细设计说明书.docx_第18页
第18页 / 共66页
公共组件详细设计说明书.docx_第19页
第19页 / 共66页
公共组件详细设计说明书.docx_第20页
第20页 / 共66页
亲,该文档总共66页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

公共组件详细设计说明书.docx

《公共组件详细设计说明书.docx》由会员分享,可在线阅读,更多相关《公共组件详细设计说明书.docx(66页珍藏版)》请在冰点文库上搜索。

公共组件详细设计说明书.docx

公共组件详细设计说明书

 

详细设计说明书

基本公用函数

 

 

中国邮政储蓄银行

第1章日期时间类

1.1取系统当前时间 longGetTime()

1.1.1功能说明

取系统当前时间

1.1.2输入参数

1.1.3输出参数

1.1.4返回值

hhmmss格式的时间

1.1.5说明

本函数取的是当前应用服务器上的机器时间(不同的应用服务器上时间不可能完全同步)。

1.2取系统当前日期 voidrtoday(char*today)

1.2.1功能

取操作系统当前日期

1.2.2输入参数

1.2.3输出参数

9位字符串,操作系统当前日期(格式为YYYYMMDD)

1.2.4返回值

1.2.5说明

本函数取的是当前应用服务器上的机器日期(不同的应用服务器上日期不可能完全同步)。

1.3日期转化为年月日intDate2MDY(char*date,int*month,int*day,int*year)

1.3.1功能

根据字符串日期获取年月日

1.3.2输入参数

字符串日期*date(格式为YYYYMMDD)

1.3.3输出参数

月份*month

日期*day

年份*year

1.3.4返回值

0表示成功;其他值表示失败。

当date在(01/01/1900)和(12/31/9999)之间时成功。

1.3.5说明

不需要的参数可以填NULL,不用定义另外的变量。

如:

只关心日期时可以这样调用:

Date2MDY(date,NULL,&day,NULL);

1.4是否闰年 intIsLeapYear(intyear)

1.4.1功能

判断指定年份是否闰年

1.4.2输入参数

整型年份year

1.4.3输出参数

1.4.4返回值

TRUE表示是闰年;FALSE表示不是。

1.5日期转换为天数intDate2Day(chardate1[9],int*retday)

1.5.1功能:

字符串日期转换为天数

1.5.2输入参数

字符串日期char[9];

1.5.3输出参数

整型日期天数:

retday

1.5.4返回值

-1,转换错误;0转换成功

1.5.5说明

天数(从1899.12.31开始)

1.6根据日期计算星期几intrdayofweek(char*date)

1.6.1功能

根据字符串型日期返回礼拜几

1.6.2输入参数

字符串日期型

1.6.3输出参数

1.6.4返回值

正整数(0~6)周日~周六-1失败

1.7根据增加天数计算日期intDateChange(char*in_date,intdays,char*out_date)

1.7.1功能

字符串型日期添加天数

1.7.2输入参数

字符串日期型

int型天数

1.7.3输出参数

字符串日期型

1.7.4返回参数

0成功;-1失败;

1.8日期格式化转换intDate2fmt(char*date,char*fmt,char*out_str)

1.8.1功能

字符串型日期格式化输出

1.8.2输入参数

date字符串日期型

fmt字符串型格式字符串支持%Y%M%D

1.8.3输出参数

out_date格式化后的字符串

1.8.4返回值

0成功-1失败

1.9取系统时间戳voidGetTimeStamp(char*stamp)

1.9.1功能

取系统时间戳,格式为YYYYMMDDHHMMSSMMM,共17位。

1.9.2输入参数

1.9.3输出参数

17位的时间戳,格式为YYYYMMDDHHMMSSMMM

1.9.4返回值

1.10取系统时间戳intdtcurrent(long*dt)

1.10.1功能

取系统时间戳(从1970/1/1/00.00.00开始的秒数)

1.10.2输入参数

1.10.3输出参数

long型的描述

1.10.4返回值

0成功-1失败

1.11取时间戳格式化输出intDT2fmt(longdt,char*fmt,char*out_str)

1.11.1功能

long型时间戳格式化输出

1.11.2输入参数

long型时间戳

字符串格式支持%Y%M%D%h%m%s

1.11.3输出参数

格式化后的字符串

1.11.3.1返回参数

0成功-1失败

1.12字符串时间转换成long时间戳intasc2DT(char*str,long*dt)

1.12.1功能

14位字符串时间转换成long时间戳

1.12.2输入参数

字符串日期型14位输入YYYYMMDDHHMMSS

1.12.3输出参数

long型的时间戳

1.12.4返回参数

0成功-1失败

1.13时间戳转换成字符串时间intDT2asc(longdt,char*str)

1.13.1功能

时间戳转换成字符串时间

1.13.2输入参数

long型的时间戳

1.13.3输出参数

字符串14位YYYYMMDDHHMMSS

1.13.4返回函数

0成功-1失败

1.14月,日,年转换成字符串型时间intMDY2Date(intm,intd,inty,char*out_date)

1.14.1功能

int型月,日,年转换成字符串型时间

1.14.2输入参数

int型月,日,年

1.14.3输出参数

字符串日期型

1.14.4返回值

0成功-1失败

1.15天数转换成字符串型日期intday2Date(intdays,char*out_date)

1.15.1功能

天数转换成字符串型日期

1.15.2输入参数

Int型天数

1.15.3输出参数

字符串日期型

1.15.4返回值

0成功-1失败

1.16判断字符串型日期是否合法intIsvalidDate(char*date)

1.16.1功能

判断字符串型日期是否合法

1.16.2输入参数

字符串型日期

1.16.3输出参数

1.16.4返回值

0——合法-1——非法

1.17计算两个字符串日期的间的天数intdaysBetween(chartime1[9],chartime2[9],int*retday)

1.17.1功能

计算两个字符串日期的差

1.17.2输入参数

chartime1[9]日期一yyyymmdd格式

chartime2[9]日期二yyyymmdd格式

1.17.3输出参数

int型日期天数

1.17.4返回值

>=0合法

-1日期非法

1.18初始化日期字符串voidsetinitdate(char*initdate)

1.18.1功能

初始化日期字符串

1.18.2输入参数

1.18.3输出参数

日期型字符字符串

1.18.4返回值

1.18.5备注

初始化成8个0

1.19时间戳转换成字符串日期和long型的time intDt2DateTime(longdt,char*date,long*time)

1.19.1功能

把时间戳转换成字符串日期和long型的time

1.19.2输入参数

long型的时间戳

1.19.3输出参数

字符串日期,long型的时间(hhmmss);

1.19.4返回

0成功-1失败

1.20字符串日期,long型的时间转换成时间戳intDateTime2Dt(char*date,long*time,long*timestamp)

1.20.1输入参数

字符串日期,long型的时间(hhmmss)

1.20.2输出参数

long型的时间戳

1.20.3返回值

0成功-1失败

1.21计算指定年月的天数intDaysOf(intyear,intmonth)

1.21.1功能

返回指定年月的天数

1.21.2输入参数

整型年份year

整型月份month

1.21.3输出参数

1.21.4返回值

指定年月的天数

1.22判断整型日期是否是指定类型的日期intIsDayType(db_longdate,inttype)

1.22.1功能

判断整型日期是否是指定类型的日期

1.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.3输出参数

1.22.4返回值

>0日期合法;=0日期为”00000000”;-1表示不合法。

1.23计算变动日期intShiftDay(char*SDate,intiCount,intiUnit,intiAdjustType,char*RDate)

1.23.1功能

计算变动日期

1.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.3输出参数

1.23.4返回值

变动后的日期。

-1表示参数错误

1.23.5说明

本函数可以用来计算到期日、求统计区间的起止日期等。

当用来计算到期日时,adjustType填SHIFT_NO_ADJUST,函数内部会按照人民银行计算日期的标准对日期进行自动调整(例如3月31日存入三个月定期,到期日会是6月30日)。

但当变动单位是天时不进行自动调整。

count为0时可以用来求本年年初年末或本月月初月末。

1.24计算两个日期间隔的月数intDiffMonth(char*lDate1,char*lDate2)

1.24.1功能

返回两个日期间隔的月数

1.24.2输入参数

两个字符串日期date1;date2

1.24.3输出参数

1.24.4返回值

两日期间隔的月数(非负整数)

1.25重置秒表voidResetStopwatch()

1.25.1功能

重置秒表(清0)并开始计时

1.25.2输入参数

1.25.3输出参数

1.25.4返回值

1.26暂停秒表voidStopStopwatch()

1.26.1功能

暂停秒表

1.26.2输入参数

1.26.3输出参数

1.26.4返回值

1.27恢复计时voidResumeStopwatch()

1.27.1功能

恢复计时

1.27.2输入参数

1.27.3输出参数

1.27.4返回值

1.28读秒表longReadStopwatch()

1.28.1功能

读秒表

1.28.2输入参数

1.28.3输出参数

1.28.4返回值

秒表读数(单位:

毫秒)

1.28.5说明

本函数不改变秒表状态(本来是停止的还是停止;本来是计时的继续计时)。

另外,当时间太长时,读数可能溢出。

第2章字符串处理类

2.1去掉字符串前导空白字符char*LTrim(char*str)

2.1.1功能

去掉字符串前导空白字符(使isspace返回真的字符,包括空格、TAB、回车等)

2.1.2输入参数

字符串str

2.1.3输出参数

字符串str

2.1.4返回值

字符串str

2.2去掉字符串尾部空白字符char*RTrim(char*str)

2.2.1功能

去掉字符串尾部空白字符

2.2.2输入参数

字符串str

2.2.3输出参数

字符串str

2.2.4返回值

字符串str

2.3去掉字符串前后空白字符char*AllTrim(char*str)

2.3.1功能

去掉字符串前后空白字符

2.3.2输入参数

字符串str

2.3.3输出参数

字符串str

2.3.4返回值

字符串str

2.4去掉字符串中所有空白字符voidPack(char*str)

2.4.1功能

去掉字符串中所有空白字符

2.4.2输入参数

字符串str

2.4.3输出参数

字符串str

2.4.4返回值

2.5字符串比较长度intstrrcmp(char*s1,char*s2,intn)

2.5.1功能

对字符串尾部按字典序进行比较

2.5.2输入参数

字符串1s1

字符串2s2

长度n

2.5.3输出参数

2.5.4返回值

<0表示s1后n个字符组成的子串小于s2后n个字符组成的子串;0表示等于;>0表示大于

2.5.5说明

本函数从尾部开始往前比较

2.6在字符串中查找特定字符char*strchr(char*s,intc)系统函数

2.6.1功能

在字符串中查找特定字符

2.6.2输入参数

字符串s

待查字符c

2.6.3输出参数

2.6.4返回值

非NULL表示c在s中的第一次出现位置;NULL表示s中不含c

2.6.5说明

另外有一个函数char*strrchr(char*s,intc)和本函数功能类似,但从字符串尾部开始往前查找

2.7获取子串在母串中的第一次出现位置char*strstr(char*s1,char*s2)系统函数

2.7.1功能

获取子串在母串中的第一次出现位置

2.7.2输入参数

母串s1

子串s2

2.7.3输出参数

2.7.4返回值

非NULL表示s2在s1中的第一次出现位置;NULL表示s1中不含s2

2.8从母串中截取出子串intMidStr(char*s1,intstart,intlen,char*s2)

2.8.1功能

从母串中截取出子串

2.8.2输入参数:

母串s1

起始位置start(从0开始计数)

长度len

2.8.3输出参数

子串s2

2.8.4返回值

0表示成功;-1表示参数错误(起始位置大于等于母串长,或者长度小于等于0或大于剩余部分长度,当长度大于剩余部分长度时,s2中仍包含剩余部分)

2.9根据分隔符从母串中取子串int_GetFld(char*s1,intn,char*s2,intc)

2.9.1功能

根据分隔符从母串中取子串

2.9.2输入参数

母串s1

字段编号n(从0开始编号)

子串s2

字段分隔符c

2.9.3输出参数

子串s2

2.9.4返回值

s2的长度

2.9.5说明

此函数可以用来从类似于unload文本格式中取出指定字段。

另外有一个函数intGetFld(char*s1,intn,char*s2)专门用于这个目的,它直接调用_GetFld(s1,n,s2,’|’)

2.10判断是否数值字符串intIsNumStr(char*s)

2.10.1功能

判断是否数值字符串(包括各种允许的数值形式:

如整数、小数、科学计数等)

2.10.2输入参数

字符串s

2.10.3输出参数

2.10.4返回值

TRUE表示是;FALSE表示不是

2.11判断是否数字字符串intIsDigitStr(char*s)

2.11.1功能

判断是否数字字符串(所有字符都是’0’~’9’之间的字符)

2.11.2输入参数

字符串s

2.11.3输出参数

2.11.4返回值

TRUE表示是;FALSE表示不是

2.11.5说明

注意这个函数和上面函数的区别。

2.12字符串转换为长整数longatol(char*s)系统函数

2.12.1功能

字符串转换为长整数

2.12.2输入参数

字符串s

2.12.3输出参数

2.12.4返回值

长整数

2.12.5说明

类似还有atof(转换为double型)、atoi(转换为int型)

2.1316进制字符转换为BCD码字符串intChar2Bcd(charhex,char*bcd)

2.13.1功能

16进制字符转换为BCD码字符串

2.13.2输入参数

16进制字符hex(’0’~’9’|’A’~’F’|’a’~’f’)

2.13.3输出参数

BCD码字符串bcd(4字节长)

2.13.4返回值

0表示成功;-1表示参数非法

2.14BCD码字符串转换为16进制字符intBcd2Char(char*bcd,char*hex)

2.14.1功能

BCD码字符串转换为16进制字符

2.14.2输入参数

BCD码字符串bcd(4字节长,由’0’|’1’组成)

2.14.3输出参数

16进制字符*hex

2.14.4返回值

0表示成功;-1表示参数非法

2.15计算帐号校验位intAcctChkBit(char*acct_no,intacct_type)

2.15.1功能

计算帐号校验位

2.15.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.15.3返回值

检验位数值

2.16校验帐号校验位intChkAcct(char*acct_no,intacct_type)

2.16.1功能

校验帐号校验位

2.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.3返回值

0表示成功;其他表示失败

2.17产生字符串char*_str(char*fmt,…)

2.17.1功能:

产生字符串

2.17.2输入参数:

同printf

2.17.3输出参数:

2.17.4返回值:

字符串

2.17.5说明:

返回值指向长度为1024的静态缓冲区,每次调用都覆盖以前调用的结果。

所以,如果需要保留结果,必须将其复制到其他地方(例如使用strcpy)。

同样的原因,不能在一个函数调用中调用多次本函数(例如printf(“%s%s\n”,_str(“aaa”),_str(“bbb”)))。

另外,当产生的字符串长于1023时也不能使用本函数。

2.18设置缓冲区voidInitStr(char*str,intbufsize)

2.18.1功能:

(为StrCat函数)设置缓冲区

2.18.2输入参数:

字符串str

缓冲区大小bufsize

2.18.3输出参数:

2.18.4返回值:

2.18.5说明:

详见StrCat

2.19将字符串拼接到缓冲区intStrCat(char*fmt,…)

2.19.1功能:

将字符串拼接到缓冲区

2.19.2输入参数:

同printf

2.19.3输出参数:

2.19.4返回值:

0表示成功;其他表示失败(缓冲区满)

2.19.5说明:

很多地方需要将很多域拼接到一个字符串中。

当域很多时,使用strcat效率是很低的。

用InitStr函数设置字符串的地址和容量,然后用反复调用本函数进行拼接。

第3章金额、数值类

3.1voidRound(double*f,intprec)

3.1.1功能

对双精度数四舍五入

3.1.2输入参数

双精度数*f

取舍精度(小数位数)prec

3.1.3输出参数

双精度数*f

3.1.4返回值

3.2voidMny2Chn(doublemny,char*chn)

3.2.1功能

将双精度型的金额转换为大写汉字字符串

3.2.2输入参数

双精度金额mny

3.2.3输出参数

大写汉字字符串chn,如”壹圆伍角整”

3.2.4返回值

3.2.5说明

当金额太大(超过千亿)时,chn中将直接存放全角数字字符串(无法读出金额)

3.3voidMny2Sbc(doublemny,char*sbc)

3.3.1功能

将双精度型的金额转换为全角数字字符串

3.3.2输入参数

双精度金额mny

3.3.3输出参数

全角数字字符串sbc,如”¥1·50”

3.3.4返回值

3.4voidMny2Acc(doublemny,char*acc)

3.4.1功能

将双精度型的金额转换为会计形式的半角数字字符串

3.4.2输入参数

双精度金额mny

3.4.3输出参数

全角数字字符串sbc,如”-1,234,567.00”

3.4.4返回值

3.5intPerAcctChkBit(intper_acct_no)

3.5.1功能

计算公积金个人帐号检验位

3.5.2输入参数

公积金个人帐号per_acct_no

3.5.3返回值

帐号校验位

3.6MIN(a,b)

3.6.1功能

返回两数中较小者。

3.6.2说明

这是一个宏。

#defineMIN(a,b)((a)<(b)?

(a):

(b))

3.7MAX(a,b)

3.7.1功能

返回两数中较大者。

3.7.2说明

这是一个宏。

#defineMAX(a,b)((a)>(b)?

(a):

(b))

3.8ABS(a)

3.8.1功能

返回绝对值。

3.8.2说明

这是一个宏。

#defineABS(

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2