m程序设计 第4讲程序设计基础 程序的编辑与调用 输入输出程序设计 FoxproForWindowshttp://cc.synu.edu.cn
FoxPro For Windows http://cc.synu.edu.cn 1 FoxPro程序设计 第4讲 程序设计基础 程序的编辑与调用 输入输出程序设计
m程序设计 程序编辑、调用 命令和程序方式的区别 输入若干条命令 命a set defa to c: \cj\foxp2003 保存程序文件 use student 运行程序文件 窗 口 成功执行返回运行结果 go top copy to d: \st udent 1 BC xsglprg 米屏幕显示输出1-100个自然数 set talk off 输入单条命令 do whil x=100 程序编辑窗口 回车执行, ? 结果显示在背景窗。 t talk FoxproForWindowshttp://cc.synu.edu.cn 2
FoxPro For Windows http://cc.synu.edu.cn 2 FoxPro程序设计 程序编辑、调用 • 命令和程序方式的区别 命 令 窗 口 程 序 编 辑 窗 口 输入单条命令, 回车执行, 结果显示在背景窗。 输入若干条命令 保存程序文件 运行程序文件 成功执行返回运行结果
m程序设计 程序的建立和修改 MODIFY COMMAND I?&&默认扩展名为prg E MODIFY FILE ? &&无默认扩展名,需指定。 【例】 modi comm xsgl 程序编辑: 书写规则:动词开头,子句任意,隔以 程序编辑窗口 空格;一行一条,<2048字符,以‘;'续 行;关键字可缩写前4个,大小写任意。 rEC xsgl. prg x 8g⊥.prg use student 文本编辑:选定、剪切、复制、粘贴可 list copy to d:\ student1 for sex=’男 用控制键,也可借助di菜单 use d:\student 1 list 存盘退出:按[ctr+W]键。 放奔存盘退出:按[Es]或[ctrl+Q]。 ·从File菜单上选择"cose" FoxproForWindowshttp://cc.synu.edu.cn 3
FoxPro For Windows http://cc.synu.edu.cn 3 FoxPro程序设计 • 程序的建立和修改 MODIFY COMMAND [|?] &&默认扩展名为.prg 或 MODIFY FILE [|?] &&无默认扩展名,需指定。 程序编辑: •书写规则:动词开头,子句任意,隔以 空格; 一行一条,<2048字符,以‘;’续 行;关键字可缩写前4个,大小写任意。 •文本编辑:选定、剪切、复制、粘贴,可 用控制键,也可借助dit菜单; •存盘退出:按[Ctrl+W]键。 •放弃存盘退出:按[Esc]或[Ctrl+Q]。 •从File菜单上选择"Close"。 【例】 程序编辑窗口
m程序设计 程序文件的结构 【例】简单的程序 结构: *xsgl. prg 注释命令:*NOTE(行) 2003.3 && (尾部) SET TALK OFF 状态设置命令: USE STUDENT 程序的主体: COPY TO PX USE PX LIST RETURN 返回命令: RETURN返回程序调用处 CANCEL结束运行,返回命令窗口。 QUIT结束运行,退出 Foxpro FoxproForWindowshttp://cc.synu.edu.cn
FoxPro For Windows http://cc.synu.edu.cn 4 FoxPro程序设计 • 程序文件的结构 【例】简单的程序 结构: *xsgl.prg *2003.3 RETURN 返回程序调用处 CANCEL 结束运行,返回命令窗口。 QUIT 结束运行,退出Foxpro。 注释命令: * |NOTE (行) && (尾部) SET TALK OFF 状态设置命令: USE STUDENT COPY TO PX USE PX LIST 程序的主体: RETURN 返回命令:
m程序设计 程序的调用、执行 命令 do xsgl DO文件名 程序(源程序prg)→编译目标文件(fxp)→执行 Xsgl. prg s tx FoxproForWindowshttp://cc.synu.edu.cn 5
FoxPro For Windows http://cc.synu.edu.cn 5 FoxPro程序设计 • 程序的调用、执行 程序(源程序.prg) 编译目标文件(.fxp) 执行 DO 文件名
m程序设计 【例】试编写按学号查询程序 按学号查询Play52,prgl 【例】试编写将工程师工资增加 SET TALK OFF 100元,然后显示的程序 USE STUDENT LOCATE FOR Sno=990101 Set talk off DISPLAY USE GZK RETU Repl工资with工资+100for职称-工程师 运行时在命令窗口输入: LIST for职称=工程师 plays DO pI RETU 假如只给几个人增加工资呢? 需要交互语句!! FoxproForWindowshttp://cc.synu.edu.cn 6
FoxPro For Windows http://cc.synu.edu.cn 6 FoxPro程序设计 【例】试编写按学号查询程序 *按学号查询 [Play52.prg] SET TALK OFF USE STUDENT LOCATE FOR sno='990101' DISPLAY RETU 运行时在命令窗口输入: DO play52 【例】试编写将工程师工资增加 100元,然后显示的程序。 Set talk off USE GZK Repl 工资 with 工资+100 for 职称=‘工程师’ LIST for 职称=‘工程师’ RETU 假如只给几个人增加工资呢? 需要交互语句!!
m程序设计 输入输出程序设计 【例】 按学号查询 Iplay53.prgl SET TALK OFF 提示信息 USE STUDENT ACCEPT"请输入学号:" TO Sno1 LOCATE FOR Sno=Sno1 DISPLAY 2/Microsoft Visual FoxPro 文件(编辑E显示(格式Q工具(T程序P窗口帮助H RETURN D回回幽d 国同盛翻图? 请输入学号:990102 记录号Sm BIRTHDAY SCORE SCHOSHITP EXPERTENCE PHOTO 990102赵 12/03/81 140 只接受字符型数据! FoxproForWindowshttp://cc.synu.edu.cn 7
FoxPro For Windows http://cc.synu.edu.cn 7 FoxPro程序设计 【例】 *按学号查询 [play53.prg] SET TALK OFF USE STUDENT ACCEPT "请输入学号:" TO sno1 LOCATE FOR sno=sno1 DISPLAY RETURN 只接受字符型数据!!! 提示信息 输入输出程序设计
m程序设计 【例】 INPUT语句输入任意类型数据 NPUT“A=”TOA &&24数值型 INPUT“请输入欲查询学生姓名:"TOXM &&“王亚洲”字符型 NPUT“请输入欲查询日期:"TORQ &&{80/10/25} CTOD(“80/1025”) 注意:日期、字符要加定界符 引号、括号要用半角(英文) FoxproForWindowshttp://cc.synu.edu.cn 6
FoxPro For Windows http://cc.synu.edu.cn 8 FoxPro程序设计 【例】 INPUT语句输入任意类型数据 INPUT “A=” TO A && 24 数值型 INPUT “请输入欲查询学生姓名:” TO XM && “王亚洲” 字符型 INPUT “请输入欲查询日期:” TO RQ && {80/10/25} CTOD(“80/10/25”) 注意:日期、字符要加定界符 引号、括号要用半角(英文)
m程序设计 【例】 浏览 student数据库play54prgl SET TALK OFF USE STUDENT WAIT DISP WAIT“请按下任意键继续… WINDOW TIMEOUT5 SKIP DISPLAY RETURN 只接受键盘单字符 FoxproForWindowshttp://cc.synu.edu.cn 9
FoxPro For Windows http://cc.synu.edu.cn 9 FoxPro程序设计 【例】 *浏览student数据库[play54.prg] SET TALK OFF USE STUDENT WAIT DISP WAIT “请按下任意键继续 ……" WINDOW TIMEOUT 5 SKIP DISPLAY RETURN 只接受键盘单字符
m程序设计 基本输入命令 ACCEPTTO INPUT K TO WAIT expC>I toWINDOWSIITIMEOUT为提示信息 TO输入字符保存在内存变量中,无此项,不保存。 。 WINDOWS:把提示信息中的内容显示在屏幕右上角的一个窗口内。 。 TIMEOUT:设置等待时间,到时后自动执行下一条命令。 FoxproForWindowshttp://cc.synu.edu.cn 10
FoxPro For Windows http://cc.synu.edu.cn 10 FoxPro程序设计 • 基本输入命令 ACCEPT [] TO INPUT [] TO WAIT [] TO [WINDOWS][TIMEOUT] 功能:中断程序运行,等待用户从键盘输入。 ACCEPT:只接收字符型数据,不必用定界符; INPUT:接收任意类型数据,不同类型数据要用不同定界符区分。 WAIT:接收由键盘输入的单个字符。使程序暂停并显示提示信息。 。 为提示信息. 。TO 输入字符保存在内存变量中,无此项,不保存。 。WINDOWS:把提示信息中的内容显示在屏幕右上角的一个窗口内。 。TIMEOUT:设置等待时间,到时后自动执行下一条命令