原创
lygcw9602
这个作者很懒,什么都没留下…
展开
-
VFP中取得汉字的简拼或全拼
PARAMETERS C,N**** 如果N=1 转换为简拼,N=2 转换为全拼*OLDGZQ=SELECT() && 保存当前工作区STORE "" TO CPY,ZFFOR I=1 TO LEN(ALLTRIM(C)) IF ASC(SUBSTR(ALLTRIM(C),I,1))>128 ZF=SUBSTR(ALLTRIM(C),原创 2012-01-20 11:24:30 · 2273 阅读 · 1 评论 -
身份证第18位校验码验证
* 函数功能:身份证第18位校验码验证**********************************************************PARAMETER SFZHMDYZ="79X584216379X5842" &&与身份证前17位相对应的码。X代表10YZZ="0123456789X" &&X代表10XYM="10X98765432" &&校验码原创 2012-01-22 02:41:49 · 1785 阅读 · 0 评论 -
倒序取字符串函数
PARAMETERS cCLEARP=SPACE(0)I=1DO WHILE I<=LEN(C) x=ASC(SUBSTR(C,I,1)) IF x>127 P=SUBSTR(C,I,2)+P I=I+1 ELSE P=SUBSTR(C,I,1)+P ENDIF I=I+1ENDDO *原创 2012-02-19 18:06:30 · 1926 阅读 · 0 评论 -
数字日期转换为中文文字日期
CLEAR*----年C_YEAR=CHRTRANC(TRANSFORM(YEAR(DATE())),"0123456789","〇一二三四五六七八九")+"年"*----月CMONTH=TRANSFORM(MONTH(DATE()))CMONTH1=IIF(RIGHT(CMONTH,1)="0","",RIGHT(CMONTH,1))C_MONTH=IIF(LEN(CMO原创 2012-05-13 12:57:33 · 1753 阅读 · 0 评论 -
去掉小数点后多余的0,VFP9.0专用
PARAMETERS NUMIF VARTYPE(NUM)="N" RETURN IIF("."$TRANSFORM(NUM),RTRIM(TRANSFORM(NUM),"0"),TRANSFORM(NUM))ELSE MESSAGEBOX("非数值型数据",64,"系统信息") RETURNENDIF原创 2012-08-30 14:16:52 · 1946 阅读 · 0 评论 -
拼音库提取程序[最新版]
*---拼音库提取程序T1=SECONDS()CREATE CURSOR WINPYK (词条 C(40),多音 C(8),汉字 C(28),拼音 C(12))APPEND FROM WINPY.TXT DELIMITED WITH BLANKREPLACE ALL 汉字 WITH LEFT(词条,(LEN(词条)-LENC(词条))*2),拼音 WITH SUBSTRC(词条,(原创 2012-09-26 14:38:54 · 672 阅读 · 0 评论 -
人民币小写转大写[修正版]
PARAMETERS RMBIF VARTYPE(RMB)!=[N] OR LEN(TRANSFORM(INT(RMB*100)))>15 MESSAGEBOX([非数值型数据或数据长度超出范围],64,[系统信息]) RETURN []ENDIFRMB=TRANSFORM(INT(RMB*100))NLEN=LEN(RMB)DXSJ=[零壹贰叁肆伍陆柒捌玖原创 2012-09-23 12:26:10 · 735 阅读 · 0 评论 -
拼音库提取程序
CREATE CURSOR WINPYK (词条 C(40),多音 C(8),汉字 C(28),拼音 C(12))NROW=ALINES(AHZ,FILETOSTR([WINPY.TXT]),CHR(13)+CHR(10))FOR I=1 TO NROW NROW1=ALINES(AH,AHZ(I),[ ]) && 提取行记录 NLEN=LEN(AH(1))-LEN原创 2012-09-24 22:05:12 · 591 阅读 · 0 评论 -
VFP的GRID中行记录上移或下移一行
说明:当前数据表已经建立了索引文件的,先关闭索引文件,否则影响执行效果。 下面的代码是在DFWXJ(清风)的提示下完成的,在此特别感谢DFWXJ(清风)。本代码属于共创作品。因为文章类别管理里没有共创分类,只好用原创了,请DFWXJ(清风)谅解。IF THIS.VALUE=1 &&行记录上移 YH=RECNO() && 源行 MDH=YH-1 && 目的行 I原创 2012-01-18 11:18:20 · 3834 阅读 · 0 评论 -
日期转大写函数
PARAMETERS DDATEB="零壹贰叁肆伍陆柒捌玖"A=DTOS(DDATE)STORE "" TO C,D,EFOR I=1 TO LEN(A) N=VAL(SUBSTR(A,I,1)) IF BETWEEN(I,1,4) C=C+SUBSTR(B,N*2+1,2)+IIF(I=4,"年","")原创 2012-01-20 11:10:03 · 1947 阅读 · 0 评论 -
返回设定日期对应月份的上月月初(末)日期
******************************************** 函数名称:* 函数功能:返回设定日期对应月份的上月月初日期*******************************************PARAMETERS dDate RETURN GOMONTH(dDate-Day(dDate)+1,-1)*****************原创 2012-01-23 13:39:41 · 863 阅读 · 0 评论 -
年月日时分秒星期的设置方法
TRANSFORM(VAL(DTOS(DATE())),'@ 9999年99月99日')+" "+TRANSFORM(val(chrtran(time(),":","")),'@ 99时99分99秒')+" "+"星期"+SUBSTR("一二三四五六日",DOW(DATE(),2)*2-1,2)结果:2012年01月30日 19时21分16秒 星期一原创 2012-01-30 17:20:40 · 1094 阅读 · 0 评论 -
自制进度条的设置方法
自制进度条的设置方法:在表单上分别加入容器控件(Container1)及标签控件(Label1)各一个。容器控件属性设置如下:BackColor=Rgb(255,255,255),SpecialEffect=1,Width=202标签控件属性设置如下:BackColor=Rgb(0,0,255),Caption="",Left=Container1.Left+1,Width原创 2012-02-08 02:51:25 · 2585 阅读 · 0 评论 -
VFP中如何判断GRID单元格的值是否被修改
为表单设置一属性:mVALUE当焦点进入文本框时,在GOTFOCUS事件:IF !EMPTY(THIS.VALUE) THISFORM.mVALUE=THIS.VALUEENDIF当焦点离开文本框前,在VALID事件:IF EMPTY(THISFORM.mVALUE) OR THIS.VALUE==THISFORM.mVALUEELSE MESSAGEBOX原创 2012-02-12 00:06:10 · 3563 阅读 · 0 评论 -
VFP中如何查找表中指定字段内容重复(竖重)的记录
select *,count(*) from T order by a,b,c group by a,b,c having count(*)>1说明:T是你要查重的表,A,B,C是要查重的字段,COUNT(*)>1 记录数大于1说明有重复记录原创 2012-02-14 00:10:06 · 9481 阅读 · 0 评论 -
如何计算年龄
**************************************** 函数名称:JCNL* 函数功能:检查年龄是否周岁***************************************PARAMETERS DDATENL=YEAR(DATE())-YEAR(DDATE)+IIF(MONTH(DATE())-MONTH(DDATE)>0,0,IIF(DAY原创 2012-01-14 14:51:25 · 1369 阅读 · 2 评论 -
身份证号码验证方法
************************** 身份证号码验证方法**************************PARAMETERS SFZCLEARCLOSE TABLES**oldgzq=select()LOCAL RQ,XB,ZFZHSFZ="34052219870228001X"XB="男"SFZH=""*----身份证号码位数验证原创 2012-03-05 01:08:40 · 3089 阅读 · 1 评论 -
身份证号码中,年龄、性别的提取方法
以18位居民身份证号码为例SFZH="320705197803240519"*----"年龄"提取方法:DDATE=CTOD(STUFF(STUFF(SUBSTR(SFZH,7,8),5,0,"."),8,0,".")) &&将提取的出生日期字符串转换为日期型数据NL=YEAR(DATE())-YEAR(DDATE)+IIF(MONTH(DATE())-MONTH(DDATE)>0原创 2012-02-24 00:21:34 · 1454 阅读 · 1 评论 -
如何排名次
SELECT 1use pmb**表结构(ID N 4 ZF N 4 MC N 6)INDEX ON ZF TAG ZF DESCENDING &&降序copy to pmb1SELECT 2use pmb1Y=1 && 分数最高者名次(mc)为1 X=ZFFOR I=1 TO RECCOUNT() GO I原创 2012-01-14 13:15:35 · 1368 阅读 · 2 评论 -
区位码转换为双字节字符(含汉字)
SET TALK OFFCLEARQM="" *CREATE CURSOR QWM (QWM C(4),ZF C(2))FOR I=1 TO 87 QM=IIF(I<10,'0'+STR(I,1),STR(I,2)) @ 0,62 SAY "第 "+STR(I,2)+" 区" FONT "宋体",12 ROW=3 COL=1 W原创 2012-01-28 20:19:47 · 953 阅读 · 0 评论 -
中文日期的生成方法[VFP6.0代码]
*********************************** 中文日期的生成方法[VFP6.0代码] ***********************************CLEARdDate=DATE()* 年?CHRTRANC(TRANSFORM(YEAR(dDate)),[0123456789],[〇一二三四五六七八九])+[年]* 月lcMonth原创 2014-03-23 08:51:36 · 1225 阅读 · 0 评论