我看VB与VFP

LUJUN 2001-07-16 08:43:17
VFP 的优势
它是真正的面对对象开发环境.

是非常明确的以数据为中心的系统.

完全的升级系统, 在 DOS 或 Windows 中用 xBase 方言编写.

处理数据是真真正正的快速.

你可以在一个表单中真正地浏览一个表.

VB 的优势
以 COM 的方式占用较少的 CPU 时间 COM

编程界面的比较
当你处理表单和对象时你会发现有许多开销(overhead), which is really very clunky. 另外在 VFP 中引用
对象不象在 VB 中那么容易. VB 提供了许多较好的开发界面来处理, 环境是干净的且布局是更合理的. 开发者更容易访问象对象浏览器和项目属性这样的开发工具. 在 VFP 中你需要作出多个选项, 而且项目菜单并没有真正提供多少灵活性. 总的来说, VB 比 VFP 提供了更强的和更灵活的开发界面. 至于编程, VFP 的语法在处理数据库时更充分, 但 VB 在这一点上相差也不远. 我使用两种工具, 但相当坦白的说 VB 的界面使它难于与 VFP 一起工作.
-----------------------------------------------------------------------
它们是两种不同用途的工具. 一个好的木匠有许多工具并在不同的工序中使用不同的工 当你购买 Visual Studio 时你同时得到 VB6 和 VFP6.

你必须解决的是什么项目? 是不是面向数据库的? 那么 VFP 是更好的选择. 你是否需要进行一些统计或可能控件一些科学设备? 那么 VB (或者 VC++) 将是更好的选择.

如果你需要数据库并正在谈论使用一个外部数据库 (如 SQL Server) 则 VB 和 VFP 都是很好的工具. 但由于 VFP 是面向数据库的, 而且它有自己的游标和数据库引擎, 因此它可以更容易和更快速操作你从 SQL Server取得的数据集.

VFP6 是面对对象的, 而 VB6 不是. 这可能是你的一个重要的考虑之处. 在文本版本(即根据微软公布的资料) Visual Studio .Net 中, VB 和 VFP 都是面对对象的, 但那是不久的将来的事.

VB 可以创建 ActiveX 控件. VFP 不能. 但 VFP 可以使用那些相同的 ActiveX 控件并派生它们来增加或修改它们的行为, 这些事是 VB6 所不能做的.



VFP 6.0 支持完全的 ANSI SQL 能力, 包括外连接. 这此可以在本地和服务器数据上执行. 同时 VFP 也支持较老的 xBase 结构, 如 SET RELATION, 在使用 VFP 时你不需要使用这些.

作为一个客户/服务器工具, VFP 提供了图形用户界面的视图控制和连接, 并可以比 VB 更好地控制连接. 加上对于服务器数据, 它提供本地 SQL 和 pass-through.

...全文
694 36 打赏 收藏 举报
写回复
36 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
szWilson 2001-08-06
To: Up
看来大家都很赞同微软杀了FOX
可是目前我想做个系统,
很犯愁不知道该使用那个开发工具了
有愿意提供方案或分析一下使用什么来做的吗
请给个EMAIL,我提出问题.
我的EMAIL szyuxin@21cn.com
  • 打赏
  • 举报
回复
「已注销」 2001-08-05
给vfp加上密码多好呀

可惜dbaseIII plus 做到了

VFP依然没做到


@_@
  • 打赏
  • 举报
回复
w102272 2001-08-05
To Foxer:
关键问题是VFP关注本机执行速度,
大数据库关注的则是每秒交易数TPS这样的东西.而且有复制,安全这些机制.
其实把VFP定位在本地数据库,以及C/S模式的客户端开发是最合适的.
本来也不是和大数据库作比较的, 这么比较对VFP很不公正,也误解很多.

本机工作的时候,VFP实在是太快太快.
至于网络环境下, 一个一般的局域网,
事实上采用文件共享方式VFP数据库的性能,要远比SQL模式的那些大数据库高.
作为c/s的C端的时候,它的本地处理能力要远远比ADO这些东西强大.
唯一可惜的是VFP的解释器必须在其环境中运行,这样就限制了和其它语言的集成能力.
如果VFP能够提供一个不启用其图形界面的本地数据库引擎和解释器来替代ADO,
ADO就只能是玩具了.

在软件发展过程中,人们没有把VFP定位在客户端RAD工具上,而是拿它和大数据库比较,
是VFP衰落下去的原因,记得当时最主要的指责,就是它不安全.

而微软其实从来也没有想好好发展VFP, 一心希望发展它的ADO,早期是RDO,DAO这些东东, 微软买下了FOX,其实是杀了它.连vfp3,5这样的东西都是迫于用户压力开发的.
VFP:英雄末路呀.
  • 打赏
  • 举报
回复
「已注销」 2001-08-05
to 楼上

坚守八年fox
的确令我佩服啊
数据库原理我不懂
但我想出于安全考虑和Server服务机制
那些大型数据库需要付出很多的

@_@
  • 打赏
  • 举报
回复
sywxy 2001-08-05
比较一下VFP和PB的不同之外,VFP既是开发工具又是一个数据库系统,而PB只是一个开发工具,它本身并不带数据库。另外它们在编程序时都有各自的优缺点,VFP在开发多用户时考虑的内容要多一些,而且所需的代码量要大,而PB在开发C/S程序时,很多功能PB都自己实现对于开发者来说很多东西都不用考虑了,另外PB的数据窗口对象是它的最大的卖点而VFP在设计表单时可能要麻烦一些。不过VFP检索数据的速度是非常快的,这要得利于其专利技术rushmore,并且在VFP中可以通过视图而很方便地修改来自多个数据表中的数据,并且视图中可以带参数,而PB中要实现利用视图修改多个表中的数据太复杂了,并且视图中无法定义参数。VFP修改数据表的结构很方便,PB中的数据表不能随便修改。
  • 打赏
  • 举报
回复
Foxer 2001-08-03
我用VFP已经8年了,VB、Delphi都试过(PB没用过)。
要讲数据库应用,综合起来,哪个都不如VFP,我觉得VFP最大的弱点就是太容易被反编译了,另外,对ActiveX控件的支持不太好,比如vs-FlexGrid 7.0,在VFP中就无法正常使用。
微软以前讲过,当超过250万记录后,VFP性能就要下降了,但我觉得一般的应用很少有能达到这个数量级的。
要说DBF数据库,我觉得目前可能还是速度最快的,包括什么ORACLE、SQL SERVER、SYBASE等等,VFP处理数据的速度实在太快了,我一直为此感到不解,为什么那么多的大型数据库,数据处理速度竟然不如小小的VFP。
  • 打赏
  • 举报
回复
tramplyc 2001-08-01
同意:DGNO_1(如果爱情可编程),我觉得微软在vfp的开发上根本就没有用心。foxpro的起点还是很高的。
  • 打赏
  • 举报
回复
cxmcxm 2001-07-29
对C/S VFP最大的缺点是只支持ODBC中的静态游标,所以对SERVER 中的ID列,在VFP中添加后不能立即看到,需REQUERY视图。对查询,哪是大大的好,SQLEXEC( ,SELECT...)之后,本地可继续对返回结果进行 SELECT...,灵活性非常高,也可减轻SERVER端的负担.
  • 打赏
  • 举报
回复
nononono 2001-07-28
skybook(): "不支持一些容器类控件;" 说错了吧?!
  • 打赏
  • 举报
回复
「已注销」 2001-07-28
但PB一连上就非常方便

之所以说麻烦是因为你无法抛弃VFP的思考方式

我以前用VFP的

学了PB

发现PB确实不是吹的

但目前的项目我决定用VFP

因为快速开发和系统需求他很棒呀

@_@
  • 打赏
  • 举报
回复
LUJUN 2001-07-28
认同skybook()!
  • 打赏
  • 举报
回复
隐者神归 2001-07-27
我用VFP开发过多个C/S系统,在数据库处理上VFP有着许多的优势:
1、桌面数据与后台数据的结合,很多数据处理作为光是前台开发工具是无法胜任的,如许多的后台数据需要转换、计算,如多种算法的记录抽样等等,需要很多中间数据过程。
2、VFP作C/S开发的方式非常灵活,绝对比VB,PB之流强大,PB里面和后台数据库的动态连接不知多麻烦!
3、我感觉到的VFP的缺点:
自身控件少(如果还在Fox公司应该更多),但VFP的data grid控件功能绝对比任何开发工具的grid的功能强百备,如动态数据转换、无穷尽的控件层次;不支持一些容器类控件;界面比较粗糙;...
4、所以作这些数据库应用开发我只用vFP.
  • 打赏
  • 举报
回复
w102272 2001-07-27
呵呵,vfp并不差劲.它每个版本都在变化,不要用静态眼光看问题.以为就是一文件共享数据库,现在大家只是不用这个工具了,但是要是自己对VFP的认识还停留在dbase时代的DBF时代,就不要乱评论.
.vfp里头调用api和com什么都能干.从通信到多媒体播放,从web server到xml解析.到了这个级别,大家都是call api,有什么谁高谁低?
.vfp里头sql太差这个说法纯粹是无稽之谈,不信者可以自己试验一下,除了大数据库以外,那个桌面数据库在sql里头有udf解释执行能力?vfp的所有函数都可以支持在sql里头用,别的桌面数据库呢?access是一大堆固定的函数,至于paradox就别提了,惨不忍睹.
.vfp的速度,如果用在网络环境下,它的远程视图未必比vb慢多少,而且那种情况是作为c/s前端工具来应用的,性能取决于后台数据库.和VFP没多少关系.至于本机应用,说老实话,速度,性能,方便性,存储能力现在还没有什么桌面数据库能够和VFP象比较.access,paradox这类东西只能称为玩具.如果不信,搞上一百万记录建个索引,search一下试验试验.要么搞上1千万条数据看看.至于sqlserver这些c/s模式的大数据库,根本不是桌面数据库,关注的也不是同一种性能需求.
.VB这种东东就是能够方便访问系统,所以用来写一些小的行业软件和共享软件而已.在数据库系统这里,pb和vfp还出于同一个级别.vb算个中间的东西.访问db也是靠rdo,ado,dao,反正没有一个是自己的引擎.delphi+bde,效率比odbc 3高不了多少.但是它支持midas,以后更有xmlbroker,这些东西作多层应用和web多层应用,所以也有自己的特色.所以也不可比较.

在单机系统和桌面数据库领域,VFP是永远的老大.
  • 打赏
  • 举报
回复
weiqihp 2001-07-27
不管是什么开发工具,只要你玩得熟,我想总归有用的。
  • 打赏
  • 举报
回复
cxmcxm 2001-07-27
对C/S VFP其实也不错,只要把SERVER端只要放数据表,其它什么都不用,VFP一样可工作得很好,VB如果SERVER端不写些视图,存储过程之类的东东,简直是寸步难行。
  • 打赏
  • 举报
回复
kingoftiger 2001-07-24
不管是什么开发工具,只要你玩得熟,我想总归有用的。本人失败就失败在于什么环境都略知一点,但都谈不上行
  • 打赏
  • 举报
回复
szWilson 2001-07-24
我对LUJUN的看法比较认同,但VFP中的功能实在是太少了。
VB吧数据方面处理是很差,DELPHI吧,功能强大当然是很不错的工具了。
PB我是很少用。
但我想问大家一个问题,在C/S结构中用什么来开发POS系统最好呢?
我想大家都知道前台用WINDOWS往往由于收获员的误操作,或系统本身的不稳定性
而造成种种错误。
那么,用什么来开发前台的收银系统而后台可以使用WINDOWS的SQL为最好的方案呢?
  • 打赏
  • 举报
回复
Ebier 2001-07-19
VFP的应用在各位没用精通它之前不要乱加评论,我用过VFP开发过系统,觉得它还是能完成很多系统的,它的用处很大,我的观点是:不要下车伊始就大喊大叫!!
  • 打赏
  • 举报
回复
tmx 2001-07-18
PB的WinAPI能力也还可以吧。
  • 打赏
  • 举报
回复
everyask 2001-07-18
哦,忘了,还有VB和VC也是一家,如果VB在某些方面有困难或太麻烦,可以用VC加以补充。
  • 打赏
  • 举报
回复
加载更多回复
发帖
MS-SQL Server
加入

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
申请成为版主
帖子事件
创建了帖子
2001-07-16 08:43
社区公告
暂无公告