原代码排版后如下:
nnumber=437
cresult=space(0)
if nnumber#0
do while nnumber>0
n=mod(nnumber,16)
nnumber=int(nnumber/16)
if n<10
cresult=str(n,1)+cresult
else
cresult=chr(asc('A')+n)+cresult
endif
enddo
else
cresult=0
endif
wait wind "十六进制数表示为"+cresult
只要将这句
cresult=chr(asc('A')+n)+cresult
改成
cresult=chr(asc('A')+n-10)+cresult
里面要减去10, 因为只有n=10,才是A
1在打包VFP程序生成安装盘的时候常常会出现CAB压缩错误提示,这时要看看你打包时是否关掉了程序中的项目管理器,如果没有关掉,系统在压缩程序时无法压缩正在使用的项目文件信息,所以出现压缩错误提示。
2在编译生成可执行程序后或生成安装盘重新安装运行时,程序主画面闪一下后就退出了,用户无法进行控制 *** 作,这时要看看在你的主程序的末尾是否加上了READ EVENTS 语句,以使程序暂停运行等待用户响应。
3程序打包后,安装运行时无法脱离VFP主窗口环境。这时你可以自己我一个CONFIGFPW系统配置文件对生成的程序进行运行环境等各方面的设定。具体方法如下:
在应用程序中打开项目管理器,在代码一栏内新建一程序其代码如下:
screen=off
sysmenu=off
然后存为一个名叫CONFIG的文件,这时系统默认的扩展名为:PRG,保存好文件后退出。在刚才保存的位置找到刚才存好的CONFIG PRG文件,将其重命名为CONFIGFPW然后重新进入项目管理器,在代码栏内选中该文件,单击右键选择“排除”一项,这样系统在编译的时候就不将其编译在内而将它视为系统文件,这样你的程序一运行就先自动搜索当前路径或默认路径下是否存在该系统配置文件,如存在就执行进入系统配置。
4在程序表单中设计退出按钮时为保险起见要加语句:CLEAR EVENTS 来结束用户 *** 作,使程序安全退出。
5在VFP50上面编写的程序可以不出问题地移植到VFP60上,但VFP6上面写的程序虽然用的语句VFP5上面全都具备,但你编译打包时出现的错误提示之多令你无法忍受,所以一般不要进行这种由高版本到低版本的移植。
程序写的一般呢,既然要改错,我就给你照样改了,错了三处:
vfp程序纠错,将十进制数转化为二进制数表示
store
37
to
nnumber
cresult=space(0)
if
nnumber#0
&&
原nnumber=0
do
while
nnumber>0
n=mod(nnumber,2)
nnumber=int(nnumber/2)
cresult=str(n,1)+cresult
enddo
&&
原endif
else
cresult="0"
endif
wait
windows
"二进制数表示为"+cresult
&&
原str(cresult),因cresult是字符型,所以不用转换了
没有VFP 相应版本的运行库,把运行库与你的程序文件放在同一文件夹下即可VFP6 的运行库:vfp6rdll、vfp6rchsdll、gdiplusdll (VFP6RUNEXE、VFP6RDLL、VFP6RENUDLL)
VFP7 的运行库:msvcr70dll、vfp7rdll、vfp7rchsdll、gdiplusdll、vfp7renudll
VFP8 的运行库:msvcr70dll、vfp8rdll、vfp8rchsdll、gdiplusdll
VFP9 的运行库:msvcr71dll、vfp9rdll、vfp9rchsdll、gdiplusdll、(vfp9tdll)
VFP[x]Rdll 文件是单线程运行库,而 VFP[x]Tdll 文件是多线程运行库。如果你用 Visual FoxPro 开发的是一个服务程序或是dll 文件,必须同时发布 VFP[x]Tdll 文件
[x]可为6、7、8或9另外,如果你的程序还使用了其他控件的话,也一同放到同一文件夹下,但有些控件需要在系统中注册后方可使用,这个可以在网上或MSDN上查一下就可知晓
以上就是关于VFP程序改错答案 在线等!!!!!!!!!全部的内容,包括:VFP程序改错答案 在线等!!!!!!!!!、计算机二级VF辅导:VFP程序的五点经验、vfp程序纠错,将十进制数转化为二进制数表示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)