也谈VFP的优劣势(原)

在Visual FoxPro中使用ADO数据源 专栏作品在Visual FoxPro中使用ADO数据源张洪举 ADO是一种面向对象的数据连接方式,与ODBC有着许多相似之处。使用ADO作为数据源,首先需要一个建立一个连接对象(ADO Connection),这类似于ODBC的连接句柄;然后需要建立一个记录集合对象(ADO RecordSet),用于存放读取的数据,这类似于Visual FoxPro的临时表;最后便是使用记 阅读详情
作者:冷月(tinysf(#)163.com )

优势:
1.首先是数据处理速度。微软之所以收购DBASE/FoxBase+发展Visual Foxpro确实是因为在本地数据处理引擎上有绝对性能的优势(MS买来目的其实是用来发展其他产品)。对比Delphi,.Net,C++虽然在其他任务处理(特别是对OS底层没法比)但在处理百万条数据记录时速度在绝对一流,特别是在Foxpro2.x加入了Rushmore技术。 同时VFP结合ODBC/ADO+处理SQL SERVER/Oracle数据时速度也非常有优势。 我曾开发一个大型的MIS软件,在SQL SERVER在大数据记录/稳定/安全/触发器等大型数据库的优势以及VFP在内存处理Cursor表的优势上做了一个合理的权衡,其性能远远优于其他软件开发的同类系统。
2.开发速度。VFP在RAD开发上绝对一流,同时对开发展技术水准要求不高,稍稍学习一段时间可立即上手。(当然如果要灵活运用VFP的对像技术,Cursor Adapter处理技术需要一段时间的积累) 另外因为是解释执行,所以调试程序时也显示非常方便,不用像C++/Delphi等需要全编译一个项目才能运行,她可以让您直接Do/Run/?一下就可看到程序输出结果。
3.伸缩性及开发成本。从开发一个小型的DBF数据库软件到VFP+SQL/ORACLE上VFP都能应付自如。针对软件的要求不同可以灵活考虑DBF或SQL数据库,以便在开发成本/速度及稳定性上做权衡。

劣势:
无论如何,VFP注定要渐渐地退出历史舞台,让我们来分析一下成因:
1.代码的安全性。虽然解释执行有其优势所在,但是注定她不能真正编译成.EXE文件。这也给软件设计者带来很严肃的一个问题:代码的安全性。一个小的VFP软件倒也无所谓,如果一个开发团队花很多精力开发出的一个商业软件,就被他人轻易的破译了,而且几乎可以得到全部原生源码,试想是何等的沮丧? 虽然也穷出了不少的Foxpro源码加密软件,但无论如何也改变不了VFP的宿命!(我倒觉得MS很是聪明,微软根本没有考虑过加密VFPEXE文件,因为微软自己也改变不了-或者说不想改变 目前VFP伪编译机制。)
2.开发领域的限制。VFP除了在数据库软件开发上有优势所在,在网络、多媒体、WEB程序、OS底层操作上都没有任何优势。或者说市场上几乎看不到此类VFP程序的身影。特别现在B/S、B/S+C/S结合已是大势所趋,很多大一点的软件都是要多个层面的开发技术结合, Foxpro不能在其他开发领域有所表现的话,注定被抛弃的命运不难被理解。
3.发展与支持。虽然VFP也渐渐在发展,但是无论如何MS在VFP的投入力度上比起其他项目上就显得十分可怜。MS包括测试、文档编写的整个项目组人员也不过十来人。Foxpro8/9确实带来了很多新的技术,像:CursorAdapter/XMLAdapter/EventBind/ReportListener等,但是已珊珊来迟。另外MS早就抛出VFP要被终结命运的消息已能让很多意志不算坚定的老一辈FOXPRO程序员逃离VFP开发阵营。虽然后来MS也意识到对不住这些紧跟步伐的VFP忠爱者,为了留住一些人心做了些努力,但不可否定MS对VFP的的命运早已做出了判决。

总之,对VFP的厚爱更多的还是一些老一辈程序员。如果VFP不能改变其根本的劣势,被历史抛弃的命运是注定的。
从硬件到软件:探索IAR中函数执行时间测量的多种方法及其适用场景 本文详细探讨了在IAR Embedded Workbench环境下测量函数执行时间的多种方法,包括硬件级测量、核心寄存器测量法、IAR Timeline工具链和高级软件分析法。通过实战案例和技术细节,帮助开发者根据不同的开发阶段和精度需求选择最佳方案,提升嵌入式系统性能优化的效率和准确性。 阅读详情

相关推荐

VFP6.0衰落原因与替代技术分析

Visual FoxPro(VFP)6.0被淘汰的主要原因包括:微软2007年终止官方支持,导致兼容性和安全问题;功能局限,无法满足Web和移动开发需求;高校课程转向MySQL等主流数据库;开源技术(如PostgreSQL)和数据分析工具(Python/R)的冲击;遗留系统迁移成本高。目前企业应用占比已不足0.5%,学术研究也大幅减少。

The_weeknd__的博客 864

VFP的优劣势

VFP的优劣势:优点与缺点是一回事,能不能流行又是另一回事,vfp9的推出,可见微软件是不会放弃vfp的。对小型应用,vfp+sql server数据库引擎不错,开发起来也快。其实各种语言都差不多,学会了一种,再学其它的会很容易。不过vfp处理数据更方便,如直接对临时表执行select 查询,还没有其它哪种前台应用语言能对一ado recordset执行select 的不知道为什么

apple_8180(十豆三) 的专栏 1万+

yolov5改进VariFocalNet

VariFocalNet | IoU-aware同V-Focal Loss全面提升密集目标检测(附YOLOV5测试代码) 准确地对大量候选检测器进行排名是高性能密集目标检测器的关键。尽管先前的工作使用分类评分或它与基于IoU的定位评分的组合作为排名基础,但它们都不能得到可靠地排名结果,这会损害检测性能。 在本文中,作者提出学习可同时表示对象存在置信度和定位精度的IoU感知分类评分(IACS),以在密集对象检测器中产生更准确的检测等级。特别地本文还设计了一个新的损失函数,称为Varifocal损失,.

jacke121的专栏 1万+

Visual FoxPro已经过时了吗 ?我也经常问自己!

恕我直言,这样的问题我真的听腻了。这个问题我听了好几年了。从谣言出现到今天Visual FoxPro的版本已经生了两次变化,就是Visual FoxPro 6.0 与2001年春天推出的Visual FoxPro 7.0。根据微软的官方消息,Visual FoxPro 8(可能是这个名称吧)已经在研发之中了。我不敢保证是否会有Visual FoxPro 9.0(这就像我不敢保证微软是否在那时还存在...

sinat_40730205的博客 1万+

基于VFP的学生成绩管理系统设计与实现

VFP 是一个面向对象的编程语言,同时也是一种功能强大的数据库管理系统。它允许用户创建和维护数据库应用程序,这些应用程序可以实现数据的增删改查,以及用户界面的设计。VFP 的开发环境提供了集成的代码编辑器、调试工具和多种数据库管理功能。在VFP中,报表的生成是通过报表设计器来完成的,它允许开发者设计数据的呈现格式。首先,选择“文件”菜单中的“新建”,然后选择“报表”选项,打开报表设计器。在报表设计器中,开发者可以设置报表的各个组成部分,比如标题、分组、细节、总计等。

weixin_30765637的博客 1087

VFP现代物流企业管理系统(源代码+论文).rar

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、本项目仅用作交流学习参考,请切勿用于商业用途。

解锁C++多态的魔力:灵活与高效的编码艺术(下)

继上篇解锁C++多态的魔力:灵活与高效的编码艺术(上)多态性是面向对象编程的重要特性之一,而C++通过虚函数、继承等机制实现了这一强大的功能。多态性使得代码更加灵活和可扩展,允许不同类型的对象以统一的方式进行操作。在本篇文章中,我们将深入探讨C++中多态的实现原理、使用场景及其优劣势,并通过具体代码示例展示如何利用多态来提升代码的可维护性和复用性。静态绑定动态绑定绑定发生在编译时绑定发生在运行时不需要虚函数表依赖虚函数表(vtable调用的是编译时确定的类型的函数调用的是运行时对象实际类型的函数。

17的博客 4209

Unity 游戏实例开发集合 之 Car Racing 2D (2D赛车) 休闲小游戏快速实现

Unity 游戏实例开发集合 之 Car Racing 2D (2D赛车) 休闲小游戏快速实现 目录 Unity 游戏实例开发集合 之 Car Racing 2D (2D赛车) 休闲小游戏快速实现 一、简单介绍 二、Car Racing 2D (2D赛车) 游戏内容与操作 三、相关说明 四、游戏代码框架 五、知识点 六、游戏效果预览 七、实现步骤 八、工程源码地址 九、延伸扩展 一、简单介绍 Unity 游戏实例开发集合,使用简单易懂的方式,讲解常见游戏的开发实现过程,方便

仙魁XAN 7701

上海报班学哪种计算机语言,现在学哪种编程语言最好

该楼层疑似违规已被系统折叠隐藏此楼查看此楼在刚开始接触计算机的时候,你是不是也感觉到它很神奇,简直是无所不能的。它可以在一秒之内实现几十亿次的运算,可以在按下鼠标的一瞬间,搜索出几十万条相 关的信息量,但它始终是一台机器。它的每次动作,每个步骤都是按照已经用计算机语言编好的程序来执行的。所以,只要人们掌握了计算机语言,掌握了编程技术,就能向这个“庞然大物”发号施令。世界上现在流行的编程语言非常多...

weixin_39768762的博客 143

高效复用PCB设计:Cadence Sub-Drawing跨项目复制技巧

本文详细介绍了Cadence Allegro中Sub-Drawing功能的应用技巧,帮助PCB工程师高效复用成熟设计模块。通过分步教学,从精准导出到完美导入,并提供了解决坐标错位与DRC冲突的实用避坑指南。掌握这一技巧能显著提升设计效率,实现团队知识的标准化积累与快速复用。

weixin_29172201的博客 391

Ubuntu20.04系统Cuckoo sandbox所需环境搭建及安装(超详细图文)

请勿叫我大神,我只是互联网的搬运工~ 前言 本教程以Ubuntu20桌面版作为示范,服务器版同样适用,但可能稍微麻烦一点,服务器版本的话安装Xmanage套装使用可能会相对轻松一些,由于后面会使用到vbox的使用,对vbox命令行操作不熟悉的小伙伴用xmanage可能会相对轻松一点。 提示:以下是本篇文章正文内容,下面案例可供参考 安装ubuntu20桌面版 步骤1:转到https://ubuntu.com/download/desktop下载下载.iso。 步骤2:使用您选择的虚拟机监控程序(VMWa

ElsonHY的博客 1万+

VFP提取源码中各项信息,快速转换语言,时间比钱值钱

您辛苦了很长时间,编写了一套很不错的管理软件,行业使用很不错,代码行10万+,有一天一位外国客户找到您,说想购买使用您的软件,但显示语言需要是英语的,三五天内就要使用,你怎么办?或者,您获取到一套很不错的含代码的大型开源软件,想全面学习借鉴一下,可惜注释和显示文字都是英文的,甚至可能是德文的.....一点一点翻译吧,太费时间了!又或者,有好几个软件想翻译出来学习一下,人工一点一点翻译,不知道...

加菲猫的VFP 680

BDD测试之Behave使用入门

BDD测试(Behavior-Driven Development Testing)是一种基于“行为驱动开发”(BDD)理念。

想要成为酷盖但是失败的小明 580

有关ADO

1、导入库文件 使用ADO前必须在工程的stdafx.h文件最后用直接引入符号#import引入ADO库文件,以使编译器能正确编译。代码如下: #import "C:Program Filescommon filessystemadomsado15.dll" no_namespace rename("EOF","EndOfFile") rename("BOF","FirstOfFile") ADO

一粒沙的专栏 651

EBSD数据转ABAQUS的inp文件实操指南

晶体塑性有限元模拟中,如何将材料微观组织表征数据转化为可计算的有限元模型,是连接实验与仿真的关键环节。EBSD技术能够获取材料表面的晶体取向、晶粒形貌和晶界分布信息,但这类数据需要经过格式解析、欧拉角转换、网格生成等步骤,才能被ABAQUS等有限元软件读取。通过将扫描点坐标映射为节点、按像素邻域生成单元,并将Bunge约定欧拉角变换为局部坐标系方向余弦,用户可以准确构建包含真实微观结构的inp文件模型。这一流程广泛应用于金属材料形变、织构演化及应力集中分析等研究场景,有效提升仿真结果与实验的一致性。围绕数据

weixin_42509513的博客 310

FPGA实践教程: 使用HLS将C程序生成IP核心进行FPGA开发

请根据您使用的FPGA开发板和供应商选择适当的HLS工具,并按照他们的安装指南进行安装。根据您使用的FPGA开发板和供应商选择适当的HLS工具,并按照他们的安装指南进行安装。通过本教程,您了解了如何使用HLS工具将C程序生成IP核心,并将其用于FPGA开发。在HLS项目中,您可以对C程序进行设计和优化,以生成对应的IP核心。在HLS项目中,您可以对C程序进行设计和优化,以生成相应的IP核心。将导出的IP核心导入到FPGA项目中。使用FPGA开发环境的菜单中的"导入"或"添加文件"选项导入IP核心。

CqpFsharp的博客 454

在VF中像本地表一样使用ADO远程数据表 VF9.0中使用CursorAdapter更新数据

VF中,我们可以通过ADO来取得数据并且可以绑定到窗体上 但是ADO使用使用起来并不是那么方便,比如不能方便地插入,更新数据,而在VF的本地环境中,如果加载了数据环境 那么这一切就变得比较轻松了, 这里我们可以做使用VF自带的数据环境中的ADO的自动生成CursorAdapter 的向导来,为我们生成相关的代码,然后加以改造就可以了 生成的SCX文件用EditPlus或者UtlraEd...

weixin_30500105的博客 381

6、硬件工程师笔试面试知识器件篇——电容(2025版本)

本文系统介绍了电容器的基本原理、类型分类、应用场景及相关设计问题。首先阐述了电容的定义、工作原理及计算公式,详细分析了陶瓷、电解、薄膜、钽等不同类型电容的特性差异。针对高频电路设计,重点讨论了如何评估和优化电容器的寄生效应(ESR/ESL)、频率特性、温度特性等关键参数。文章还提供了PCB布局优化策略,包括缩短走线、多层板设计、去耦网络配置等方法。最后涵盖了电容器寿命计算、稳定性评估及电源电路设计中的纹波电流处理等实用内容,为硬件工程师提供了全面的电容器选型和应用指南。

XU157303764的博客 3868

VFP开发微信、支付宝扫码支付

本文介绍了一个基于Visual FoxPro开发的微信和支付宝线下支付系统源代码。该系统无需域名,只需输入微信公众号、商户号、API密钥等必要参数即可实现多种支付功能:1)生成微信/支付宝支付二维码;2)扫描付款码直接支付;3)查询支付状态;4)关闭/撤销未支付订单;5)已付款订单退款。代码包含详细的函数声明和支付流程实现,如订单生成、状态查询、订单关闭等操作。系统采用模块化设计,支持微信和支付宝两种支付方式,开发者可根据实际需求进行二次开发。

1866

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

手撸VFP版的PostMan,送礼自用都可以,有源码

作者:浙江小雨 前一段子,我们浙江开始做国家医保接口。使用的就是HTTP的接口。这样就免不了要使用PostMan这个工具。于是,自己做了一个简易版的VFP程序的PostMan,用起来也得心应手。 看界面。 用说明: 上面第一条,接口网址是我们要调用的网址。 输入报文一栏,是我们要发送的内容。注意,以POST发送,是整段代码或JSON字符串等内容。如果以GET发送的,必须以键值对形式写,如xm=浙江小雨&nl=20&xl=本科 输入报文下面的复制按钮,就是把 “输入报文”一栏里的内容,复制到

加菲猫的VFP 423

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Spring Boot 数据源与 MyBatis(-Plus) 自定义配置详解

本文详解 Spring Boot 中单数据源环境下 HikariCP 与 MyBatis-Plus 的自定义配置。通过手动声明 SqlSessionFactory,实现下划线转驼峰、日志输出、一级缓存策略等精细化控制。结合 HikariCP 核心参数调优(如最大连接数、连接生命周期),确保高性能与稳定性。适用于仅需访问单一数据库的场景,避免多数据源复杂性,兼顾性能与可维护性。

BADAO_LIUMANG_QIZHI的博客 192

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

下一篇: 5分钟快速理解ERP思想(转)
tinysoft
博客等级 码龄23年 2粉丝 7原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值