| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 472 人关注过本帖
标题:小弟才大一,复习时遇到不明白的VFP问题,望各位大虾直接
只看楼主 加入收藏
baby2008mnp
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-6-11
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
小弟才大一,复习时遇到不明白的VFP问题,望各位大虾直接
题目有点小白而且较长,望各位大侠体谅
求解答&&()中的疑问,共19个问题
题目目的:用学生表查点东西
set talk off
clear                                          
use 学生表
do while .t.
  accept "请输入要查询的字段名:" to zdm
if type(zdm)<>"C"
     ?"输入的字段类型错误,请重新输入"
      loop
endif
accept "请输入查询字段所对应的查询内容:" to nr
locate for zdm=nr     改为   locate for &zdm=nr  &&(1.&在这里是什么意思丫,zdm和nr不都是字符型嘛)
do while !eof()
   disp
   wait
   continue
enddo
wait "还要继续查询吗(y/n)" to yn
if upper(yn)="N"
  loop      改为   exit  
endif
enddo

题目目的:判断素数
set talk off
clear
input"请输入一个数:"to m
for i=2 to m-1    &&(2.为什么这里m-1可以,填m时也可以)
if mod(m,i)=0
    exit
endif
endfor
if m=i
?str(m)+"是素数"
else
?str(m)+"不是素数"
endif
set talk on


题目目的:查看指定的表文件(表文件从键盘输入)

SET TALK OFF
CLEAR
ACCEPT  "请输入要显示的表名(扩展名请省略)" TO  BM
bm=allt(bm)                                      &&(3.它这是在干什么涅?)
bm=bm+”.dbf”
IF  FILE(BM)                                     &&(4.它这是在干什么涅?)
 use &BM                                         &&(5.它这是在干什么涅?)
   BROWSE
ELSE
   MESSAGEBOX("指定表不存在!")
ENDIF
USE
SET TALK ON


题目目的:编写一个自定义函数dz,能将输入的英文字符串中的空格删去,然后倒置输出,指定输入“a b c  e f  ”,输出“fedcba”
set talk off
accept"请输入英文字符串" to x
ch=dz(x)
?"原始字符串:",x
?"去掉空格,倒置输出后的结果:",ch
USE DATAOUT
appe blank
REPL  jg WITH ch
use

func dz
para a
ch=space(0)
l=len(a)
for i=l to 1 step -1
  ss=subs(x,i,1)
  if ss!=space(1)             &&(6.它这是在干什么涅?)
    ch=ch+ss                  &&(7.它这是在干什么涅?)
  endif
endfor
return
endfunc


题目目的:将给定的正整数分解因式,并输出各个质子因子,如24的因子有:2、2、2、3
set talk off
clear
input "请输入一个正整数m:" to m
?alltrim(str(m,19))+"的质数因子有:"  &&( 8.alltrim(str(m,19)是在干什么涅?)
i=2
do while i<=m
  if mod(m,i)=0
    ??str(i,6)
    m=int(m/i)
    loop
  endif
  i=i+1

题目目的:编制一个表单完成表文件“学生。dbf”内容的查询显示功能

Form1的init事件:
index on 班级 to x unique            &&(9.它这是在干什么涅?)
scan
(班级)           &&(10.它这是在干什么涅?)
endscan
set index to         (ps:只是解答的一部分)


题目要求:将student。dbf(有字段:number,name,sex,birthday)和score。dbf(有字段:number,degree)一一关联,然后让年龄18岁的学生的成绩(degree)增加2分,最后显示全体学生的学号、姓名、成绩。
Set talk off
 Clear
 Select 1
 Use student exclusive
 Index on number tag number           &&(11.它这是在干什么涅?)
 Select 2
 Use score exclusive
 Set relation to  number into a      &&(12.它这是在干什么涅?)
 *******found*******
 Replace degree with degree+2 for year(date())-year(a.Birthday)=18
 List number, a->name,degree
 Set relation to
 Close all
 Set talk on



题目目的:利用“学生成绩表。dbf”,当在列表框中选择一个学生姓名后,显示该学生的总分及排名。

导入数据环境list1的rowsource 学生成绩表.姓名 rowsourcetype 2-别名
List1的click事件
thisform.text1.value=数学+英语+计算机
use 学生成绩表
go top
for i=1 to RECCOUNT()               &&(13.它这是在干什么涅?)
  go i                               &&(14.它这是在干什么涅?)
 a=thisform.text1.value
 p=1
  go top
  do while !eof()
  if a<数学+英语+计算机
   p=p+1
  endif
  skip
 enddo
 go i                               &&(15.它这是在干什么涅?)
thisform.text2.value=p
endfor



题目目的:
备份四个表文件sco1.dbf sco2.dbf sco3.dbf sco4.dbf

NH=str(year(date()),4)      
for i=1 to 4
BM=”sco”+str(i,1)         &&(16.它这是在干什么涅?)
NBM=NH+BM                     &&(17.它这是在干什么涅?)
use BM                        &&(18.它这是在干什么涅?)
copy to   NBM       &&(19.它这是在干什么涅?)
endfor


[ 本帖最后由 baby2008mnp 于 2011-6-11 21:59 编辑 ]
搜索更多相关主题的帖子: 学生 
2011-06-11 21:56
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
收藏
得分:10 
看了上面的问题,总结一条,是你对vfp的常用函数不懂,这些函数,在教科书里大部分都有的.
如str(),是数值型数据转变为字符型数据.
&是宏代函数

[ 本帖最后由 muyubo 于 2011-6-12 06:38 编辑 ]
2011-06-12 06:35
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:10 
不看教材,直接到论坛求助,这样的效果不会太好。因为坛友的回答很难会有教材来得全面、系统。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2011-06-12 07:05
快速回复:小弟才大一,复习时遇到不明白的VFP问题,望各位大虾直接
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026972 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved