一.编程基础
1.项目管理器是所有对象与数据的“控制中心”,通过“项目管理器”捆绑在一起,可视化集成管理所有的各种类型文件。选项卡结构与应用:有六个选项卡(选项页):
数据选项页:管理数据库、表等;文档选项页:管理表单、报表、标签;类库选项页:管理控件(对象)的仓库代码选项页:程序文件的管理;
其他选项页:管理菜单文件、文本文件;全部选项页:以上五个页的综合管理。
2.数据和数据类型(数据不仅指数字,还可以指文字、图形、图像或声音等多种类型),有13种类型的数据:数值型 N;字符型C;日期型D;日期时间型T;
货币型 Y;逻辑型L;双精度型N;浮点型N;整型N;通用型G;备注型M;二进制字符型;二进制备注型。 Eg:Time() 为字符型,year() 为U,datetime()为T。
3.常量/变量:常量: 在程序运行中保持不变的数据;变量:数据的存储单元。变量分为:内存变量、字段变量。【当打开表以后“字段变量”才有效,优先于内存变量】。怎样检查“变量”的类型:?Type(“变量名”)或vartype(变量名)
4.运算符与表达式:VFP有5类运算符与表达式(数值、字符、日期(时间)、关系、逻辑)
5.函数:就是一段程序,一般有参数(自变量),有一个返回值。同数学上的函数,如 SIN(X)。。。。。常用函数分为:eg数学函数:取整 INT、随机数 RAND;取余 MOD。 eg字符函数:截掉空格 TRIM()、LTRIM()、RTRIM()、ALLTRIM();
字符串截取 SUBSTR(“c1”,n1,n2);
字符串长度 LEN(c1);字符左截取LEFT(c1,n1)字符右截取RIGHT(c1,n1)日期函数:系统日期 DATE();系统时间TIME();系统日期时间DATETIME();取年 YEAR(〈日期表达式〉)、取月 MONTH()、取天DAY(); 计算第几周 WEEK(〈日期表达式〉)转换函数:数值转字符串 STR(数值表达式,n,m)字符串转数值 VAL(字符表达式);字符转日期CTOD(〈字符表达式〉);日期转字符 DTOC(〈日期表达式〉);日期转日期时间型 DTOT(〈日期表达式〉);字符转日期时间型 CTOT(〈字符表达式〉) &&注意区别str和substr
二.顺序结构及表单概述
1.程序:是指将完成某一种功能的一组命令按一定的逻辑结构和语法规则,编写一个完整的命令序列(即代码的集合)
2.工作方式:菜单方式、命令方式、程序方式。
3.基本语句:注释:NOTE [〈注释内容〉] ;* [〈注释内容〉];&& [〈注释内容〉]-----行尾注释;续行:在行未加上续行符“;”(半角分号)
5.表单:表单即表的输入输出单子,即建立程序的窗口或界面
6.表单
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
器包括:表单设计器工具栏、表单控件工具栏、属性窗口、代码窗口。
8.标签: WordWrap:自动换行;立体标签:两个同样标签:Backstyle=0透明, 置前(后) 9.文本框:输出数据信息、还能输入数据的对象。属性-----Value:文本框的数据值;
Value属性的值与捆绑的变量的值是相同的;ControlSoure捆绑的变量名; PasswordChr 作为口令时显示的字符(只显示特定的字符);ReadOnly只读;InputMask:数据格式:X-任意字符、9-数字与符号、#-数字符号空格、.-小数点。
文本框TEXT:获得焦点GotFocus/When;失去焦点LostFocus /Valid 10.事件: InteractiveChange 更改数据时发生的事件。 When获得焦点时发生的事件。做合法检查。
Valid 失去焦点之前发生的事件:做合法检查(RETURN .F. (RETURN 0)不能失去光标,多用于密码的验证)
KeyPress:按键发生的事件,LPARA nKeyCorde, nShiftAltCtrl 参数 nKeyCorde是数值,按建的ASCII码,(ins、del、移动键等特殊键也有相应的编码) 12.编辑框(EditBox)控件:同文本框,可显示多行信息(可以编辑)属性:ScrollBars 滚动条的类型------0—无,2—垂直滚动
条。 13.对话框(一般用于分支结构中);显示信息(提示后再关闭?)。格式:变量=MessageBox(<信息>[,类型[,标
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
]])(类型见表4-10、4-13)(以信息框显示结果?)
11.焦点(FOCUS)就是光标。对象有“焦点”才能响应用户的输入。对象如何获得焦点:1、Tab键,2、用鼠标点,3、代码SetFocus方法。 Tab键属性:TabIndex次序值,TabStop是否可用Tab。
Tab键设置:在“表单设计器工具栏”开/关“设置Tab次序”按钮: 1、交互方式;2、列表方式:“工具”->“选项”->“表单”->改变Tab键显示状态。
14.对象:代码和数据的组合,具有:属性、事件和方法。
事件:由动作(如点鼠标左键、右键、键盘等)引发代码的执行。
表单运行:先执行装载事件Load、初始化init、再执行表单活动事件activate。
三.选择结构
1.对给定的条件进行分析、比较和判断,根据结果采取不同的操作,让计算机具有智能性。
2.分支:IF…. ELSE ….ENDIF
分支嵌套IF…语句 A IF ..语句 1 ELSE.. 语句 2 ENDIF ELSE..语句 B ENDIF 多分支语句: DO CASE ….Case….OTHERWISE…. ENDCASE
依次判断各条件是否满足,若<条件i>的值为真(.T.),就执行相应的<语句组i>,再转向ENDCASE 之后的语句。
如果所有CASE条件都不为真,就执行OTHERWISE后面的语句。 IIF函数:N=IIF(<逻辑表达式>,<表达式1>,<表达式2>)若<逻辑表达式>的值为.T.时: N=<表达式1> 若<逻辑表达式>的值为.F.时: N=<表达式2> Eg:计算运费问题。。。(1)。W=THISFORM.TEXT1.VALUE X=IIF(W<=50,0.25*W, IIF(X<=100,0.25*50+0.35*(W-50),0.6*50+0.45*(W-100)) ) THISFORM.TEXT 2.VALUE=X (2)。W=THISFORM.TEXT1.VALUE IF W<= 50 X=0.25*W
ELSE &&W>50
IF W<= 100 &&50
100
X=0.60*50+0.45*(X-100) ENDIF ENDIF
THISFORM.TEXT2.VALUE=X
3.关系表达式:数据以关系运算符连接的运算表达式,比较两数据间的大小等同的关系关系运算符:大小:< , <= , > , >= 等于: = 不等于:<> ,#, != 等同于:= = 包含于:$ (要与AT 函数区别???????这个函数怎么用??)-- Eg:”12”$”123”为T,”1234”$”123”为F;
字符按ASCII码比较,大写字符大于小写字符
等于:= 右边字符串逐个与左字符串比较,比较完右字符串为止。 Eg:“abcd”=“ab”值为真.T.;”ab”=”abcd”为.f.。
等同于:= =精确匹配字符串。“abcd”==“ab”值为真.F.,只能完全匹配。 eg:b=a=2 理解为 b= ( a=2)
4.优先运算顺序: x+y>a+b and not y
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
,1-图形。 7.控件类对象:文本、编辑框、列表框、
9.表单上画图:表单上线的颜色:thisform.forcolore=;表单底色:thisform.backcolore=;
表单上画线方法:thisform.line(x,y) 从当前点画线到(x,y)位置表单设置点颜色方法: thisform.pset(x,y) 或称抬笔画到(x,y)位置、不画线到点(x,y);设置画线的宽度: thisform.DrawWidth=;清除表单上画线方法:thisform.cls
四.循环结构
1.循环结构也称重复结构,是按照给定的条件,重复执行程序段(语句组)。(1)。当型循环:DO WHILE …. (LOOP …. EXIT …. ).…ENDDO;
若条件为真(.T.),则执行循环内语句组一遍,遇到ENDDO,再转到DO WHILE 。若条件为假,则结束该循环,转到ENDDO之后的语句
遇到LOOP语句,转到ENDDO;遇到EXIT语句,转到ENDDO之后的语句一般LOOP、EXIT放在分支结构内。
Eg:判断质数循环(循环里嵌套选择的情况,还有循环里嵌套循环的情况。) N=THISFORM.TEXT1.VALUE
S=0 &&S=0 标记变量,不是素数 I=2 && 从2开始,…到n-1
DO WHILE I= <初值> TO <终值> (LOOP …. EXIT……. );ENDFOR|NEXT。遇到ENDFOR,“循环变量”增加一个步长值(即中间的间隔值),并再次判断循环条件 (循环变量<=终值);若不写“步长”子句,系统默认“步长”为1 ;循环次数为:(终值-初值)/步长 + 1 (3)表扫描型循环:(专用于表的扫描)SCAN ……( LOOP …. EXIT……. )ENDSCAN SCAN [<范围>] [FOR <条件1>] [WHILE <条件2>] .ENDSCAN
对范围内满足条件的
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
进行扫描处理,遇到ENDSCAN,记录指针自动移动下一条记录,再执行一遍循环语句。
若有WHILE条件子句,记录不满足“条件2”,就结束该循环语句。 2. 对表遍历循环: (1) SCAN … ENDSCAN (2) GO TOP
DO WHILE .NOT.EOF() … SKIP ENDDO
3.列表框:AddItem、AddListItem。
属性: RowScoureType:列表类型。6-字段,5-数组,7文件;RowSoure: 列表内容来源名。数组、字段、表结构 ControlSoure:捆绑的变量名,存选定的数据项;BoundColum:多列时Value捆绑的列。 Value: 所选择的项值。MoverBars:移动按钮栏;ColumnCount:列数。MultSelet: 是否多选;list(i)列表框第i行内容;listcount:行数。方法事件:AddItem: 在列表中增加项;Clear: 清楚各项; RemoveItem:删除一项;Requery:更新列表;AddListItem(s,行,列)多列时增加项。
4.组合框:文本框+下拉式列表框;下拉式,可输入,不能多选。
属性: BoundColumn:列表框中与Value捆绑的列;RowScoureType:列表源类型。6-字段,5-数组,7文件;RowSoure: 列表内容来源。数组、字段、表结构;ControlSoure:捆绑的变量名,存选定的数据项;Value: 所选择的项值。 DisplayValue:输入值;Style: 0-下拉组合框,2-下拉列表
框; ListCount:列表的项数。List:列表数据数组。方法事件: AddItem: 在列表中增加项数; Clear: 清楚各项;RemoveItem:删除一项。Requery:更新列表。
5. Visual Foxpro
6.0中有两种可插入的OLE对象:OLE容器控制型 ,和OLE绑定型. OLE容器控制型:启动WORD、EXC等软件;OLE绑定型:绑定图片字段等。 6.表格:控制型OLE对象;绑定型OLE对象(通用字段);按行和列显示数据表的容器类对象。属性:RowScoureType:列表类型。1-别名,3-查询,4-SQL说明;RowSoure: 列表内容来源名; ColumnCount:列数,默认值为-1,指在运行时,表格将包含与其链接的表中字段同样数量的列。
8.页框:由若干个“页”容器组成,页内可放其他控件;表单由“单页”变为“多页”的书。
属性: PageCount:页框内页的个数;ActivePage:页框内当前活动的页号;Tabstretch: 单行还是多行排列;Pages: 页名数组。Pages(2)等价于页框内第二页对象;Thisform.页框名.页名.容器.对象.属性|方法;Thisform.Pageframe1.Pages(1).text1.Forcolor=... 事件: Pageframe1.Pages(3).Zorder:置page3页放在最前。
7.微调器:鼠标或键盘输入数值,通过单击上箭头、下箭头输入一个数值,或在用键盘输入一个数值。
属性:KeyBoardHighValue,KeyBoardLowValue键盘输入最大、最小数;SpinnerHighValue, SpinnerLowValue鼠标微调最大、最小数;Increment :微调数值增减量。事件: InteractiveChange微调控件内数据变化执行的事件。
9.计时器:以Interval时间间隔,执行Timer 事件代码。(在表单设计时可见的,运行时不可见的的对象)
Interval:毫秒为时间间隔单位,调用计时器(Timer)事件的时间间隔,置0计时器不工作。(微调器与计时器之间的联系,代码?)
五.过程、对象程序设计
1.程序:是指将完成某一种功能的一组命令按一定的逻辑结构和语法规则,编写一个完整的命令序列(即代码的集合)
2.面向对象程编程:对象:代码和数据集合。类、控件工具栏。Thisform.xxx.xxx 对象:容器、控件。
对象:属性:外观物理特征参数,事件:动作引发要执行的代码;方法:调用才能执行
其代码。
六.过程、自定义方法与属性
1.子程序:单个程序文件,以return结束程序文件的保存:文件扩展名PRG
运行:“程序”菜单->“运行”;常用工具拦“!”按钮;命令窗口:DO 程序文件名 2.过程文件:存放多个子程序的文件。
3过程:文件中的子程序。现在对象的事件、方法的代码也称“过程”。 4.自定义表单的属性、过程。
(1)对象的属性就是与对象相联系的数据元素。
自定义属性就是依附到表单上的内存变量,不具有对象的物理特征含义,在表单存在时期内,可以象“全局变量”一样使用。
(2)自定义表单的方法,即是自定义“过程”。
自定义方法的参数传递与返回值:自定义方法中以参数语句开头:PARAMETERS 以RETUEN 语句结束
5.参数传递:数值传递、地址传递(实参前加@为地址传递);形参可多余实参数自定义方法的调用:Thisform.自定义方法名()。
6.变量作用域:全局PUBLIC、局部/私有PRIVATE、区域LOCAL。
全局变量:PUBLIC &&定义变量以后,在任何过程中都可使用的变量。
私有变量:PRIVATE &&未加任何变量类型说明,直接赋值使用的内存变量,本过程其调用的下层过程中有效。
区域变量: LOCAL && 区域变量只能在建立它的过程中使用,不能在上层及下层过程中使用。
7.数组:一组内存变量,用一个统一的变量名称表示。定义:DIMENSION 数组名(下标上限1,下标上限2) DECLARE 数组名 (下标上限1,下标上限2) 使用:整个数组赋值数组名=表达式。
数组中单个变量—数组元素:数组名(下标)。
Eg:DIME AB(10)&&数组AB有10个元素—变量;AB(6)--数组中第6个元素—第6个变量。
变量释放:RELEASE <数组名列表>|<内存变量列表>
7.递归:在过程代码中直接或间接调用该过程本身,称过程的递归调用
七.数据库基础
1.数据处理技术发展:人工、文件、数据库。
2.数据库系统含:数据库、管理、计算机、人。
3.数据模型:层次、网状、关系、混合。
4.关系数据库:结构、记录。
5.关系运算:选择、投影、连接。
6.实体/属性,实体、域、参照完整性
八.表
1.表设计器:建立表结构的设计器(SQL定义功能) 命令建立表:建空表—create;若自己定义字段--create table 表名 (xh c(12),xm c(6)。。。。) 打开表:use 表名;【若要独占状态后加exclusive】关闭表:use
2. 修改表结构:利用“表设计器”交互式修改-----打开表->“显示”-“表设计器”;或命令MODIfy STRUcture(此命令也是调出表设计器)
命令方式修改表结构: 添加字段---alter table 表名 add column 字段名类型(长度,小数位数) &&类型前没括号;删除字段: alter table 表名 drop column 字段名;修改字段: alter table 表名 alter column 字段名类型(长度,小数位数) ;重命名字段: alter table 表名 rename column 字段名 to 新字段名。(课本p315-318 ) 3.命令方式添加数据:
添加记录:APPE (以“编辑”方式输入新记录);APPEnd Blank----添加空记录。备份数据表(整个备份):COPY TO 新表名若备份部分字段:copy field 字段名 to 新表名
4.数据来源于另一个表:APPEND FROM <文件名> | ?;APPEND FROM <文件名> [FIELDS 字段列表] [ TYPE SDF|XLS | DELIMITED ] 从其他类型文件中追加数据。
5.备注字段输入:浏览状态,双击当前记录memo字段;或Ctrl+PgUp;或Ctrl+PgDn 。进入输入窗口,Ctrl+w或关闭窗口完成输入。当前记录字段值变为Memo(M变大写)
通用字段输入:浏览状态,双击当前记录gen字段,或Ctrl+PgUp,或Ctrl+PgDn 。进入图象输入窗口,“编辑”菜单->“插入对象”。 Ctrl+w或关闭窗口,当前记录字段值变为Gen。 6.EDIT 命令(直接进入编辑状态)
7.表中数据的操作命令:REPLACE、DELE、PACK、ZAP REPLACE 字段 WITH 修改值(表达式) FOR 范围 (SQL命令)UPDATE 表 SET 字段=修改值(表达式)
INSERT INTO表(字段,字,…)VALUES(值,值,…)『一定要注意数据类型一致,字符型加引号。。』LOCATE FOR …/ CONTINUE『直接用locate for 字段名=“。。。”(类型要一致),若查询结束直接显示到文件尾』
8.显示记录:brow(在表里显示)、list(直接在屏幕上显示结果),display。。 9.格式:命
继续阅读