较旧的德尔福教学材料

时间:2009-07-21 20:39:17

标签: delphi

有很多旧的德尔福书籍价格便宜。作为一个自学成才的(高级)初学者,我很难知道哪些想法仍然相关和最新,哪些想法已经过时。我希望得到一点指导。例如,了解由BDE驱动的数据库会不会过时? COM不再是常用的型号吗? (注意:我可能对我如何使用这些术语感到不满......我对它们的了解不多。)

感谢您的想法!

7 个答案:

答案 0 :(得分:7)

许多Delphi概念(和代码),即使是旧版本,也适用于较新版本。某些组件不再存在(NetMaster等),有些组件被冻结,不应用于新开发(BDE),并且有HUGE number of new features可以赶上。

至于COM。在Lino Tadros的不朽言论中(主要负责将COM支持引入Delphi的人):

  COM就像吸烟:如果你没有   如果开始,你现在就不应该开始   你已经在做了,现在是时候了   停下来。

答案 1 :(得分:6)

BDE已经死了,但可能会在某个地方使用,你可能会找到BDE爱好者。 BDE安装起来很棘手,也有一些法律问题。 COM也已经死了,但它仍然可用并在传统应用程序中广泛使用。大多数人使用免费的图书馆,如JEDI或Zeos - 或商业,DevExpress或TMS。我认为学习基本的VCL和一些免费的图书馆会很好。还要确切了解对象和类在Delphi中的工作方式,这将对您的职业发展有很大的帮助。

答案 2 :(得分:6)

编码练习的死亡是一个非常相对的事情。我仍然知道仍然在运行的COBOL应用程序...主要是因为它们仍然可以工作而且不处理日期,所以让它们运行起来还不错。有时它可能不是做事的最佳“新方法”,但如果它没有任何改变就行了......为什么要把它搞得一团糟。

COM的概念并没有真正消失......它的发展,知道如何使用它可以帮助你理解和应用最新的进化。你需要知道汇编才能成为一名优秀的德尔福程序员吗?绝对不是,但知识有助于理解如何更好地优化您的惯例。

在Delphi中,COM不仅仅是关于对象模型。它也涉及接口。接口仍然是一个非常有用的工具,如果您了解Delphi中的COM开发,您就知道接口是如何工作的。

至于传统书籍...我说要把它们放在架子上,不时看一眼。有时回头看可能会帮助你向前跳跃。这就是为什么我的架子上有Algorithms + Data Structures = Programs的副本。有趣的是,书中的大多数代码仍然会编译一些细微的变化。当然代码不是OOP,但概念仍然是我今天使用的。您可能会惊讶于二叉树没有改变多少,以及优化它的最佳方法仍然是相同的。有时使用简单的old-master new-master例程比将数据加载到SQL表然后执行更新更快。

它并不总是关于很酷的因素......有时它的含义是什么。

答案 3 :(得分:4)

大多数德尔福书籍中仍有大量相关内容。大多数仍然很好的东西是低级别的东西,比如编写代码,使用dll和amp; bpls。即使编写组件也几乎相同。前几天我又回到了Delphi 3的书,找到了我想要的东西。

作为推荐,我会得到旧书和新书的组合。就新的而言,我得到了Marco Cantu's Delphi 2007& 2009年的手册,以及他的Mastering Delphi 2005(忽略.net的东西)或Mastering Delphi 7,它将为您提供相当好的报道,并且都是优秀的书籍。 Bob Swart也有一些有用的书籍。

你可能不想回到Delphi 3之前的任何东西,但是一些pascal编程书可能会有所帮助。

你可能不应该对阅读过时的东西感到偏执,要知道如果你必须使用遗留代码它是非常有用的,只要你刷一些更现代的书你就应该没问题。

我还建议阅读Code Complete 2或The Pragmatic Programmer。您可能还想阅读有关“设计模式”和“重构”的书籍 - 这些书籍都没有专门为Delphi编写。

答案 4 :(得分:0)

Calvert的Delphi释放对Delphi和COM来说也是一个不错的开始。

答案 5 :(得分:0)

对于数据库访问,旧书将建议使用BDE,但不推荐使用BDE,不应在新应用程序中使用。

BDE表示Borland数据库引擎。任何使用TTable,TQuery,TSession和TDatabase组件的应用程序都在使用BDE。

您应该使用的数据库访问方法是dbExpress / client数据集断开连接的数据访问模型。这听起来有点复杂,是的,与旧的BDE相比,它有点困难。

在典型的BDE应用程序中,从GUI到数据库的组件就像这样连接起来

TDBEdit到TDataSource到TTable到TDatabase

在dbExpress客户端数据集样式应用程序中,组件像这样连接起来

TDBEdit到TDataSource到TClientDataSet到TDataSetProvider到TSQLDataSet到TSQLDatabase

该链中的前两个部分(TDBEdit,TDataSource)与您可以找到的任何Delphi书籍完全相同。

接下来的两个部分ClientDataSet和TDataSetProvider最初称为MIDAS,现在称为DataSnap。它们已经存在了很长一段时间,但只有在最后几个版本中它们才成为官方推荐的数据库访问解决方案。

TSQLDataSet和TSQLDatabase是该链的最新部分,称为DBExpress。

答案 6 :(得分:0)

Delphi 3以来的任何Delphi书籍在大多数方面仍然具有很大的相关性。 Delphi 3进行了重大更改,因此之前的任何内容都可能已过时。

我同意其他人说BDE已经不存在了。即使它应该是Delphi的主要选项,我也从不喜欢它。这也许可以解释为什么Borland花了这么长时间来提供一个体面的内置ADODB组件(你必须在Delphi 5中将它们作为可选附件购买)。

如果你有必要进行进程间通信,那么COM仍然非常重要(我不确定所有说COM死的人都有什么选择)。实际上,COM +(托管对象以实现可伸缩性的Windows服务器上的服务)仍然是微软策略的一个组成部分。 COM绝不是完美的,但它还没有被微软取代为一个概念(没有.NET不能取代它)。