foxpro中的年月日怎么转换成大写?

foxpro中的年月日怎么转换成大写?,第1张

分类: 电脑/网络 >>电脑常识

问题描述:

foxpro中的的年月日怎么批量转换成大写?大写年份、月份和日期分别生成一个字段。跪谢!!橘清!!

解析:

将年份、月份、日期分别转换成单个的数字字符,再转换成相应的大写,再合成。

将下列程序存为xxtodx.prg

调用时xxtodx(express)

PARAMETERS rq

SET date to ymd

SET MARK to "-"

yearsz=YEAR(rq)

yearc=STR(yearsz,4)

yearc1=SUBSTR(yearc,1,1)

yearc2=SUBSTR(yearc,2,1)

yearc3=SUBSTR(yearc,3,1)

yearc4=SUBSTR(yearc,4,1)

monthsz=MONTH(rq)

monthc=STR(monthsz,2)

monthc1=SUBSTR(monthc,1,1)

monthc2=SUBSTR(monthc,2,1)

daysz=DAY(rq)

dayc=STR(daysz,2)

dayc1=SUBSTR(dayc,1,1)

dayc2=SUBSTR(dayc,2,1)

yearzf=szzh(yearc1)+szzh(yearc2)+szzh(yearc3)+szzh(yearc4)

DO case

case monthsz<10

monthzf=szzh(monthc2)

CASE monthsz=10

monthzf="十"

CASE monthsz>10

monthzf="十"+szzh(monthc2)

ENDCASE

DO case

case daysz<10

dayzf=szzh(dayc2)

CASE daysz=10

dayzf="十"

CASE daysz>10.and.daysz<20

dayzf="十"+szzh(dayc2)

CASE daysz=20 .or.daysz=30

dayzf=szzh(dayc1)+"十"

CASE daysz>20

dayzf=szzh(dayc1)+"十"+szzh(dayc2)

ENDCASE

RETURN yearzf+"侍链年"+monthzf+"月"+dayzf+"日"

PROCEDURE szzh (szzf)

DO case

CASE szzf="0"

RETURN "○"

CASE szzf="1"

RETURN "一"

CASE szzf="2"

RETURN "二"

CASE szzf="3"圆谈前

RETURN "三"

CASE szzf="4"

RETURN "四"

CASE szzf="5"

RETURN "五"

CASE szzf="6"

RETURN "六"

CASE szzf="7"

RETURN "七"

CASE szzf="8"

RETURN "八"

CASE szzf="9"

RETURN "九"

ENDCASE

用upper()函数都转换为大写或行型冲用lower()函数都档歼转化为小写,例如:

要比对'租锋fiDNkdfj'与'DJkdjNVE',可用下列命令:

?upper('fiDNkdfj')==upper('DJkdjNVE')

或者用

?lower('fiDNkdfj')==lower('DJkdjNVE')

1:

CLEAR

C="南京大学弊滑信息管漏坦理系"

FOR I=1 TO LEN(C)/2

IF I%2<>0 &&如果 I 不能被 2 整除

??SUBS(C,2*I-1, 2) &&输出由 2*I-1 开始的双字节字符

ENDIF

ENDFOR

输出 “南大信管系”

等同:

CLEAR

C="南京大学信息管理系"

FOR I=1 TO LENC(C)

IF MOD(I,2)<>0

??SUBSTRC(C,I, 1)

ENDIF

ENDFOR

2:

FOR n=7 TO 1000 STEP 7 &&以步长 7 进行循环

ch= STR(n) &&先将 n 转换成字符型

IF "5" $ ch &&如果发现字符型 n 中包含 "5"

?n &&输出结果

ENDIF

ENDFOR

3:(看不到图)

4:

CLEAR

cstring= "VisualFoxPro"

nresult=0

m=len(cstring) &&获得字串 cstring 的长度

FOR n=1 to m

c=SUBSTR(cstring,n,1) &&顺序取 cstring 的 1 个字符

IF !BETWEEN(ASC(c), ASC("A"), ASC("Z")) &&如果 非大写 A—Z

LOOP &&不执行后续语句,继续循环

ENDIF

&&如果通过(即 是大写字母),就计返卜桐数

nresult=nresult+1

ENDFOR

? nresult &&输出结果

输出结果 3

这是一段统计全单字节字串中大写字母数的程序


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12312788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存