很多狐友都不知道VFP,如何显示网络上的图片,今天加菲猫就写一点小代码,轻巧完成这个功能。...&&数据类型 string 字符串 bin 二进制流 Thisform.image1.PictureVal=Qiyu_HttpClient.Send(cUrl) Qiyu_HttpClient VFP
继续使用前面的例子,不过要把上述代码中的Local改为Public,然后把这些代码放入到表单的Init方法中去,运行这个表单后关闭它,看看发生了什么。 “表单关不掉了!是不是死机了?...原因:任何在表单中建立的Public变量在表单释放时都不会自动被释放。 由于我们将oColumn对象声明为Public了,所以oColumn对象在关闭表单后没有被释放。 ...“1—模式”),像表单1那样放上3个文本框,给表单建立一个自定义属性oFrm1Cust,在表单的 Init事件中输入以下代码: PARAMETER oCustom This.oFrm1Cust = oCustom...表单1上的数据现在都传递到表单2的三个文本框里了,现在再把表单2里面的数据改动一下,然后按下命令按钮CmdReturn,表单2中所做的改动又反映到表单1里了!...你可以使用这个方法轻松地在表单间传递多个数据,而且由于可以直接在被调用表单中修改对象引用的数据,你甚至不需要返回任何参数——想想难以从一个表单返回数组的情况、从一个用CreateObject(表单类)的方法建立的表单中无法返回参数的情况
我们会选择模式表单进行返回值操作,为了保证表单的临时表是独立环境,各个表单的数据不会影响,我们选择私有工作期。...Endif 调用模式表单获取表单的返回值 Do Form 模式表单 TO uReturn * 处理uReturn,下面的业务流程 uReturn 为返回值 上面我是设置返回.null....但有以下原因的时候,返回值并非为意想中的值. 1 当模式表单在LOAD,INIT事件加载出错 2 在init事件中 return 0 此时表单不会调用Unload方法返回值,而且没有返回值。...Do Form 模式表单 TO uReturn if !...isnull(uReturn) *--执行工作代码 endif 从表单返回数组 在一个表单(例:frmTest)中新建一个表单属性 oCustom 在表单的 Init 事件中 This.oCustom
想要入门VFP信息管理系统的开发,只需要搞定单表增删查改(多行或单行),多表增删查改,主从表增删查改三种基本模式就可以了。 猫猫今天来讲讲单表增删查改(多行)的模式。...撤消 还原删除行 修改行->撤消 还原编辑行 添加空行->保存 删除行->保存 修改行->保存 实际上用户操作是有一个中间状态的,可以保存或者撤消,称为缓冲 为了达到可以保存和撤消的效果,我们使用VFP...正式开发 表单的设置 首先将表单的opcode设为2-编辑模式 表格控件设为教师表 添加四个控件 添加,删明细,保存,撤消 表单Load事件 *--一般在LOAD事件中准备好表单所需要的数据 SET MULTILOCKS...设置表单属性opcode=0 增加编辑按钮写入click方法 thisform.Opcode=2 保存和撤消按钮最后加一句 thisform.Opcode=0 这样就可以实现各类控件跟随表单状态变化而变化...在祺佑三层开发框架(猫框)的自响应控件可以就表单表三种状态发生响应 0 浏览 1 新增 2 修改 可以应对增删查改操作 自响应控件的好处 拖进表单,无须人工手控thisform.text1.enabled
可以通过methods对象来定义方法,并且使用v-on指令来绑定事件 这样看来跟实现VFP控件的click之类的方法有点像了 v-on可以绑定很多事件 vue的生命周期是什么 很多狐友连VFP的表单的生命周期都不明白...,我现在教 表单从生成到销毁的流程如下 (生成) Load init (销毁) QUERYUNLOAD Destroy Unload Load LOAD 事件先为表单集发生,然后再为其包含的表单发生。...另外, Unload 的发生取决于对象的类型: 当释放引用表单的对象变量或该表单的表单集时,表单对象以代码形式释放。 当释放引用表单集的对象变量时,表单集对象以代码形式释放。...例如,一个表单集中包含一个表单,该表单中包含一个控件(一个命令按钮),释放的顺序如下: 表单集 Destroy 事件 表单 Destroy 事件 命令按钮 Destroy 事件 表单 Unload 事件...表单集 Unload 事件 VFP的控件的生命周期也基本同上,少了几个事件而已,比如Load vue每个组件都是独立的,每个组件都有一个属于它的生命周期,从一个组件创建、数据初始化、挂载、更新、销毁,
表单LOAD和INIT事件中错误处理 我们一般在LOAD和INIT事件就要把要处理的数据都准备好,如果此时发生错误,比如网络中断,程序不应该继续往下执行了,就算表单完全打开了,也没有任何意义。...所以代码如下,在这里返回了一个.F.假,这样VFP的表单就不会再显示了。模式和非模式表单都可以这样写。 LOAD 事件 init 事件(非猫框) if 有错误 ?...endif 如果是模式表单可以在Unload事件中返回值 return 123 模式表单取返回值规范调用方法 平常我们调用模式表单写法如下 Do form 模式表单 with 参数 to uReturn...uReturn 如果模式表单在LOAD事件就Return .f....Do form 模式表单 with 参数 to uReturn if isnull(uReturn) return endif ?
VFP最多26个参数,你写满不为止 Procedure runform Parameters cformname,mformname,Parameter1,Parameter2,Parameter3,Parameter4...WindowState=1 &mformname..WindowState=0 Endif &mformname..Show Endif Endproc 调用方法 runform(表单文件名...,表单定义变量,参数1,[-参数10]) 不带参数 runform("表单2","表单2") 带参数运行(支持10个参数) runform("表单2","表单2","123","456","12345"
本 人一直使用VFP开发程序,对这些东西也没有一个清晰的了解(太笨了),特别对远程数据进行访问时更是不知选什么好。...8、 可以把CursorAdapter对象添加到容器中而不是数据环境中,比如:表单集、表单、和其它的容器中。 9、 不需要与数据环境关联而把CursorAdapter类作为一个独立的类来使用。...注意:VFP9中在TABLEUPDATE( )执行期间不能执行TABLEREVERT( )。...写在最后面的话 加菲猫的VFP公众号接受投稿,一经采用,即有稿费,稿费暂定50元一篇。 加菲猫的vfp倡导用VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发。...已经带领一百多名会员成功掌到VFP的黑科技,进入了移动互联网时代,接下来我们要进入物联网领域。
1.制作表单 2.使用MSSQLHelper来在表单LOAD获取数据 DO setenv LOCAL oDBSQLHelper,nRow,oca &&会员类别表 TEXT TO lcSQLCmd...Endif 3.设置表单属性 如图设置树控件的属性值,displayfield=name,datafield=id qiyu_treeview控件属性说明 属性名 默认性 说明 mainalias...qiyu_treeview1的donodeclick刷新一下表单 LPARAMETERS node thisform.Refresh() 再来运行看看 运行成功,点击任一个树节点,右边的控件都会变化...猫猫的心里话 加菲猫的VFP|狐友会社群接收投稿啦 加菲猫的VFP,用VFP不局限VFP,用VFP混合一切。无论是VFP,还是JS,还是C,只要能混合起来,都可以发表。...加菲猫的vfp倡导用"VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发"。
在 VFP 的帮助文件中,详细解释了如何创建自定义类。而我们需要了解的是,当我们创建应用程序对象类时,是基于非可视类来做的。 如果你使用过 timer 控件,那么,你一定能理解什么是非可视类。...这里再简单解释一下:它将 VFP 主程序予以对象化,并且,成为整个应用程序的“控制”中心。首先,它需要完成环境设置,路径设置,其次,控制应用程序从启动到进入主界面的全过程。...以后的篇幅,有一半是用来解释如何实现这些功能;另一半,当然是用来描述 VFP 中另一个重要的组成部分,数据处理的对象化。 首先,我们先来看一下 VFP 的环境设置。...打开你的 VFP ,启动应用程序向导,不要怕,按提示一步步完成它。然后,你会获得一个 Config.fpw文件,打开它。你会看到更丰富的内容。...(通常情况下,在使用私有数据工作期的表单或表单集时要注意) TALK = OFF MULTILOCKS = ON EXCLUSIVE = OFF SAFETY = OFF * 以下内容根据帮助文件内容添加的
一、拖入一个表单 二、删除自动生成的TEXTBOX1 选中表格,右键->编辑 ,点击列2,可以看右边的属性显示出column2了 选择属性column2点开,选择下方的TEXTBOX1 再点击表格中的...三、表单加载一点数据看看 CREATE CURSOR test(cname c(50),image w) APPEND BLANK xx=FILETOSTR("Picture\416824_副本...猫猫的心里话 加菲猫的VFP|狐友会社群接收投稿啦 加菲猫的VFP,用VFP不局限VFP,用VFP混合一切。无论是VFP,还是JS,还是C,只要能混合起来,都可以发表。...如何帮助使用VFP的人? 用VFP的人,有专业的,有非专业了,很多人其实是小白,问出的问题是小白,如果问题不对,我们引导他们问正确的问题。...加菲猫的vfp倡导用"VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发"。
请注意在两个表单的 INIT 方法中的命令 Application.AutoYield = .f.. 这意味着我们告诉 VFP 不处理方法中的每一个代码行, 让 ActiveX 自己控制它的事件....在表单的 CLOSE 方法中我们包括了 Application.AutoYield = .t. 来允许 VFP 按一般方法控制事件....15 保存登录的用户名 IP_USER 字符 15 保存计算机的 IP PORT_USER 数值 5 保存由计算机生成的端口 ON_CHAT 逻辑 定义用户是否在进行聊天 在运行 CHAT 表单集时...结论 从以上的示例中, 我们可以注意到在 VFP 中使用 Winsock 是非常简单的任务....我们所需要做的只是知道命令集和回应, 我们可以处理 Internet 标准 (RFC) 或象在聊天示例中一样开发一个唯一的标准. 我们也可以观察所有示例中的常用方法.
表单设为私有工作期 表单Load事件添加如下代码 CURSORSETPROP("Buffering", 5) &&开放式表缓冲 SET MULTILOCKS ON use ryxx in 0 表单的...case ans=2 && 选择取消 endcase endif 主界面关闭应该也需要触发关闭提醒 最后的主程序关闭退出代码 Release Windows (TMPFORM[I].Name)发触发表单的...QUERYUNLOAD事件 注:祺佑业务管理系统为主表单的caption,最后才能关。...写在最后面的话 加菲猫的VFP公众号接受投稿,一经采用,即有稿费,稿费暂定50元一篇。 加菲猫的vfp倡导用VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发。...已经带领一百多名会员成功掌到VFP的黑科技,进入了移动互联网时代,接下来我们要进入物联网领域。
因为,无论是进行设计,还是软件操作,我们面对的,绝大多数情况下都是一个个表单。而进行数据处理的表单,应该是占绝大部分。 还有比这更容易的事情吗?...的表单向导生成一个表单得到的,它的作用是删除表中的一条记录。...VFP 的表单向导已经出现很久了,它存在的时间,可能比某些看客学习VFP 的时间还要长……尽管这段代码代表了经典的数据处理方式,但是它仍旧没有跳出过程化的范畴。...从 VFP8 开始,VFP 提供了一个CursorAdapter 类,在 VFP9 中,它得到了完善(为了更好的阐述后面的内容,我翻阅了BOE所写的一些文字,受益匪浅,向前辈致敬!)。...这是 VFP 在数据处理方面的最后的绝唱。 之后的文字,让我们看看,在 VFP 中,所谓的对象化处理数据。 你的反馈是我写作的动力,欢迎评论,未完待续。
在这种情况下,报表引擎会调用由_REPORTPREVIEW所指定的应用程序,这个应用程序则建立一个VFP表单的实例来用作预览窗口,此时,一个对该表单的对象引用将被存储在PreviewContainer属性中...由于报表预览窗口就是一个VFP表单,因此你可以通过适当的设置属性来定制它的行为表现。...在VFP9中,你只要简单的把工具栏上那个打印按钮的Visible属性设置为.F.就行了,不过这里还有两个小麻烦: Listener的PreviewContainer属性不是指向报表预览表单、而是指向一个报表预览表单的代理...图5、ReportListener可以输出到一个VFP表单,这样你就可以建立自定义的预览窗口 这里是取自表单的PreviewReport方法中的关键代码,该方法被Preview按钮的Click方法所调用...我们期待着看到VFP社群会用这些新功能做出更好的东西来。
VFP 应用DMULT.DLL多线程,看到了一线光明… 经过几天实践,在尽力少改原来代码前提下,封装通用类,供分享交流,不当之处,多提宝贵意见。...现在嘛,表单不卡了,某些场景感觉用起来感觉快了,有些场景确实快了。...一、 文件说明 DMULT.DLL 多线程DLL ThreadServer.dll VFP连编COM(要注册) procservsr.prg 接口类 test.scx 示例 二、DMULT.DLL 鸣谢..._CS2.text1.value) +[|]+seep5() &&表单TEXT1写点东东 ENDIF toCallback...._CS5=CS5 ENDPROC PROCEDURE Release RELEASE THIS ENDPROC ENDDEFINE 五、表单中运行 新建一个表单
经典的 VFP 设计方式:新建表单—数据环境—添加表到数据环境—拖动表或字段到表单…… 然而,真的,还有好多人甚至从来没这么干过……依旧延续着 foxbase 时代的习惯……但是这并不影响这些人来阅读我所写下的文字...当我们按照VFP经典方式来设计表单时,也许你根本没有意识到,这也是一种控制Cursor 的机制。...如果你按照标准的方式使用过CA(凡是把CA拖到表单上的做法,我都视为滥竽充数,原因不解释。),那么,你可能会有一点点的感觉。...如果,我是说如果,你觉得这里的描述方式太难理解,那么,你可以到梅子论坛搜索精华帖“VFP真的过时了吗?”,那是一个更通俗易懂的版本。...在 VFP9 中,有一个新的概念:成员数据类。这也是我们得以完成这套管理机制的前提之一。
译者:Fbilo 数据分组的增强 在 VFP 9 中,数据分组有三个增强。 第一个增强,是当报表中有多个自左向右而不是自顶向下打印的字段时,VFP 把组标头放在哪里。...图12、在以前版本的 VFP 中,组标头带区被放在跟细节带区同一行里。 你从图13中可以看到,VFP 9 把组标头对象放在了它们自己的行里。...跟一个表单或者表单类不同,一个 FRX 是不支持引用一个数据环境类的,而是这个数据环境的各种成员会被加载到 FRX 的记录中去。...只是它组合的方式跟一个表单或者表单类的方式不同罢了。 国际化支持 Windows 字体对话框包含一个Script 设置,可以让用户去选择希望的语言脚本。...这个字段并不为 VFP 报表设计器所使用,而是专门为了存储用户自定义信息准备的(以前版本的 VFP 中有一个 Bug,会在保存报表的时候把这个字段的内容给去掉。VFP 9 已经修整了这个问题)。
而VFP常用的就是VFP开发的程序+MSSQL作为服务器的一个组合. 这是由MSSQL提供了服务给其它VFP程序或者其它类型的语言如C#....无论是C# JAVA JS PHP Dephi PB等语言调用了.大家有没有发现,VFP在这个架构体系中有两个位置,一个是可以用来开发客户端,一个用开发WebAPI服务端.也就是VFP跟其它语言的地位是一样的
name=test 这些web请求都会进入我们的vfp程序,而我们的VFP程序则需要判断URL或者其他参数来执行对应的操作 fastcgi_pass 127.0.0.1:9000; 这句意思是,按照...VFP程序发布 Vfp程序发布比较简单,只需要你的EXE+fws.dll和VFP运行库,以及你使用的其他数据、扩展库等,本例中只需要fws.exe和fws.dll即可,发布服务器要注意修改fpm启动的参数...6.VFP FastCGI程序详解 代码比较简单,但想想还是要详细解释下,因为VFP里有太多似是而非的东西。 ?...第三行 Set Path To (JustPath(_vfp.ServerName)) 我们的VFP程序运行的当前路径,都是WEB服务器设定文件夹(当前NGINX设置的文件夹是 d:\fws\nginx...,因为它会切换到vfp9.exe所在位置,这是因为_vfp.ServerName 这个全局对像的属性,在开发环境下是 c:\program files\…\vfp9.exe,而运行环境下就是你的exe的完整路径
领取专属 10元无门槛券
手把手带您无忧上云