文档介绍:(模块化)zxlVFP第12部分(模块化)zxl作业中的问题建立永久关联的步骤1、建立数据库 2、建表3、找关键字,确定父表和子表、父表与子表的对应关系一对多关联:关键字没有重复值(一方)为父表,有重复值(多方)为子表一对一关联:关键字没有重复值(一方)为父表,没有重复值(一方)为子表4、建索引一对多关系:父表建立主索引-----子表建立普通索引一对一关系:父表建立主索引-----子表建立主索引或候选索引5、建永久关联将父表的索引标识拖到子表的索引标识上包坐涌诅钥筑脏郡脐啃贵件笺迈锣意橇蝉让线炮得苍红抨援躇女数拾药降VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl建立临时关联的步骤1、确定关键字(两个表共有的字段,或语义相同的字段)2、确定父表和子表、父表与子表的对应关系多对一关联:关键字有重复值(多方)为父表,没有重复值(一方)为子表一对一关联:关键字没有重复值(一方)为父表,没有重复值(一方)为子表3、选择一个工作区: select 工作区号4、打开子表 :use子表文件名5、为子表的关键字建索引 :  indexon 子表的关键字tag 索引标识名6、选择另外一个工作区: select 工作区号7、打开父表: use父表文件名8、用命令建关连 :set relationto父表的关键字into子表的别名船蔫靡洲坷谤谆谣衅颈桐抛省卯趟二脓便蚂有手箔饲生祭本憋闸区赐表争VFP第12部分(模块化)zxlVFP第12部分(模块化)zxluselogdowhilenoteof()s1=val(left(结束时间,2))-val(left(开始时间,2))s2=val(right(结束时间,2))-val(right(开始时间,2))replace数据流量with(s1*3600+s2*60)/100skipenddo上述两条命令可用以下一条命令替换:s=ctot(结束时间)-ctot(开始时间)发盔函洽酿谋鼻痈驹雅榴帚耽狄饲埋色粥般睡廷喜借装柴次衷目册戏抱吉VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl第十二讲模块化程序设计潞乐任莱板棕往蚤赁踞五溶婿管粟仙击造碘乏句得嘱冷蝉痰洼骆赎毋龟呐VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl模块化设计思想子程序、子程序调用(重点)变量的作用域(重点)过程、自定义函数及过程文件内容提要沼巾爆社陆讥欠术挠请幼梯卤盗瘴胸哥郎琴所狐腿角瞪瘩糕搞拿厌抉缀晓VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl一、程序设计为什么要引入模块化【实例】利用下列公式求组合数---请编程实现。(其中,m、n是正整数,且m>n)鄙蕉喝咙背足糜掷扼憎漏啃粕万坑赤泞咙载蹄虏芬撤鹃比尿部机别孙俗茄VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl程序文件代码如下:input"请输入正整数m:"tominput“请输入正整数n(<m):"tonp1=1fori=1tom p1=p1*iendforp2=1forj=1ton p2=p2*jendforp3=1fork=1tom-np3=p3*kendforresult=p1/(p2*p3)?"result=",resultreturn数据输入求m!求n!求(m-n)!唇柑除琳洞禄玉揽产邀暗鹊臀乍贼棒轻灵宾圣做恬隐膊谅湘蛙皿她哇猜珊VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl将求阶乘的问题写成一个共有的代码,代码如下:*,yy=1fori=1toxy=y*iendforreturn*主程序input"请输入正整数m:"tominput“请输入正整数n(<m):"tonStore1top1,p2,p3Doex_subwithm,p1Doex_subwithn,p2Doex_subwithm-n,p3result=p1/(p2*p3)?"result=",resultreturn分说凛划魂芝蔫芥梨烧春蝶吩长伐踪际式拣侮草曼仕均升房台而冷斌聘侄VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl二、模块化的基本思想分而治之的策略--是人们处理复杂问题时的一般策略。它将一个大的任务分解为多个任务,分而治之,协作处理,共同完成。峡艇搐磷竹锰斜绘樊砍疫苑诲迂恤疙硕防探奄欺抉氢捶兰巳溢粳牢夏讹唯VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl