- 博客(33)
- 资源 (15)
- 收藏
- 关注
原创 VFP 连号查询
ClearClear AllCREATE CURSOR test (数字 N(5,0))INSERT INTO test values(7)INSERT INTO test values(88)INSERT INTO test values(9)INSERT INTO test values(8)INSERT INTO test values(103)INSERT INTO tes
2015-02-18 02:28:47
796
原创 VFP 断号查询
CREATE CURSOR test (数字 N(5,0))INSERT INTO test values(7)INSERT INTO test values(88)INSERT INTO test values(9)INSERT INTO test values(8)INSERT INTO test values(103)INSERT INTO test values(12)INS
2015-02-18 02:27:43
666
转载 提取驱动器盘符
方法一Clear Declare Long GetDriveType In "kernel32" String nDrive Local lnI, DrvName, DrvType For lnI = 1 To 25 DrvName = Chr(lnI + 65) + ":" DrvType = GetDriveType(DrvNam
2015-02-14 21:08:13
610
原创 判断一个数是否是质数的方法
CLEARlncnt=0lnnum=123456789098765if (lnnum>=4 and (inlist(mod(lnnum,6),0,2,3,4))) or mod(lnnum,5)=0 return messagebox("["+transform(lnnum)+"]不是质数")endifmessagebox("12345")for lnI=2 to lnnum
2015-02-12 20:50:54
630
原创 Excel工作表标题(A,B,......DC)
x=132y=Iif(x>26,Chr(64+Ceiling(x/26)-1),"")+Chr(64+Iif(Mod(x,26)=0,26,Mod(x,26)))MessageBox(y)
2015-02-05 22:40:15
657
转载 编辑框中限制字符数的方法
IF LENC(THIS.VALUE)>100 =MESSAGEBOX("您输入的备注超出100个字符限制,请修改!",0+64,"提示") THIS.SETFOCUSENDIF
2015-02-03 17:37:27
854
转载 判断表单是否已经打开
你可以遍历所有窗口来确定指定窗口是否已打开,当然,你设计的所有表单其 name 属性应该确保唯一lExist = .F.For ii = 1 to Application.Forms.Count If Application.Forms(ii).name == 'xxx' lExist = .T. Exit EndifEndforMess
2015-02-02 20:49:12
634
原创 阿拉伯数字转人民币大写测试版
SET CONSOLE OFF text说明整数位:最多12位,小数位:最多2位调用方法:rmbdx(100000000000.30)endtextMessageBox(rmbdx(100200000000.30))Function rmbdxlparameters count1z1="仟佰拾亿仟佰拾万仟佰拾元角分"z2="零壹贰叁肆伍陆柒捌玖"lcstr=Alltrim(
2015-02-02 19:23:19
1036
原创 行记录转换为列记录
clear clear allcreate cursor t2 (学号 c(4),姓名 c(8),课目 c(10),成绩 n(3))insert into t2 values ("1001","张三","数学",102)insert into t2 values ("1001","张三","语文",120)insert into t2 values ("1002","李四","数学",1
2015-01-31 18:21:19
539
原创 列记录转换为行记录
clear allcreate cursor t3 (学号 c(4),姓名 c(8),课目 c(10),成绩 n(3))create cursor t1 (学号 c(4),姓名 c(8),数学 n(3),语文 n(3))insert into t1 values ("1001","张三",102,120)insert into t1 values ("1002","李四",119,108)
2015-01-31 18:19:07
536
转载 获取图片的宽和高(像素)
* 方法一cImg = Getpict() && 获取 bmp, jpg, gifxImgObj = LoadPicture(cImg)With xImgObj lnWidth = Int(.Width/26.458) lnHeight = Int(.Height/26.458)EndwithMessagebox("宽度 = " + Transform(lnWid
2015-01-31 14:54:56
1438
转载 适应屏幕分辨率
IF SYSMETRIC(1)=1024 AND SYSMETRIC(2)=768 x=800 y=600 lcDevMode=replicate(chr(0),156) declare integer EnumDisplaySettings IN user32 integer,integer,string @ declare integer ChangeD
2015-01-31 14:39:41
684
原创 中文日期的生成方法[VFP6.0代码]
*********************************** 中文日期的生成方法[VFP6.0代码] ***********************************CLEARdDate=DATE()* 年?CHRTRANC(TRANSFORM(YEAR(dDate)),[0123456789],[〇一二三四五六七八九])+[年]* 月lcMonth
2014-03-23 08:51:36
1309
原创 拼音库提取程序[最新版]
*---拼音库提取程序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
705
原创 拼音库提取程序
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
629
原创 人民币小写转大写[修正版]
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
785
原创 去掉小数点后多余的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
2045
原创 数字日期转换为中文文字日期
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
1823
原创 身份证号码验证方法
************************** 身份证号码验证方法**************************PARAMETERS SFZCLEARCLOSE TABLES**oldgzq=select()LOCAL RQ,XB,ZFZHSFZ="34052219870228001X"XB="男"SFZH=""*----身份证号码位数验证
2012-03-05 01:08:40
3166
原创 身份证号码中,年龄、性别的提取方法
以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
1537
原创 倒序取字符串函数
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
2009
原创 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
9762
原创 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
3671
原创 自制进度条的设置方法
自制进度条的设置方法:在表单上分别加入容器控件(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
2653
原创 年月日时分秒星期的设置方法
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
1135
原创 区位码转换为双字节字符(含汉字)
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
999
原创 返回设定日期对应月份的上月月初(末)日期
******************************************** 函数名称:* 函数功能:返回设定日期对应月份的上月月初日期*******************************************PARAMETERS dDate RETURN GOMONTH(dDate-Day(dDate)+1,-1)*****************
2012-01-23 13:39:41
899
原创 身份证第18位校验码验证
* 函数功能:身份证第18位校验码验证**********************************************************PARAMETER SFZHMDYZ="79X584216379X5842" &&与身份证前17位相对应的码。X代表10YZZ="0123456789X" &&X代表10XYM="10X98765432" &&校验码
2012-01-22 02:41:49
1855
原创 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
2375
1
原创 日期转大写函数
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
2002
原创 VFP的GRID中行记录上移或下移一行
说明:当前数据表已经建立了索引文件的,先关闭索引文件,否则影响执行效果。 下面的代码是在DFWXJ(清风)的提示下完成的,在此特别感谢DFWXJ(清风)。本代码属于共创作品。因为文章类别管理里没有共创分类,只好用原创了,请DFWXJ(清风)谅解。IF THIS.VALUE=1 &&行记录上移 YH=RECNO() && 源行 MDH=YH-1 && 目的行 I
2012-01-18 11:18:20
3945
原创 如何计算年龄
**************************************** 函数名称:JCNL* 函数功能:检查年龄是否周岁***************************************PARAMETERS DDATENL=YEAR(DATE())-YEAR(DDATE)+IIF(MONTH(DATE())-MONTH(DDATE)>0,0,IIF(DAY
2012-01-14 14:51:25
1435
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
1425
1
VFP6.0中文帮助.chm
2012-08-31
SQL-SELECT(任明汉).doc
2012-03-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人