代码之家  ›  专栏  ›  技术社区  ›  Al C

旧Delphi教学材料[关闭]

  •  6
  • Al C  · 技术社区  · 16 年前

    有很多旧的德尔福书可以便宜买到。作为一个自学(高级)的初学者,我很难知道哪些想法还是相关的、最新的,哪些已经过时了。我希望能得到一些指导。例如,了解bde支持的数据库是否过时?COM不再是常用的模型了吗?(注:我可能对我如何使用这些术语不感兴趣……我对他们不太了解。)

    谢谢你的想法!

    7 回复  |  直到 12 年前
        1
  •  4
  •   Alister    16 年前

    大多数德尔福的书中仍然有大量相关的东西。大多数仍然很好的东西都是低级的,例如编写代码、使用dlls&bpls。即使是编写组件也基本相同。前几天我参考了一本德尔菲3的书,找到了我想要的。

    作为推荐,我会买一些旧的和新的书。在新的方面,我会得到 Marco Cantu's Delphi2007&2009手册,以及他对Delphi2005的掌握(忽略了.NET的东西)或是对Delphi7的掌握,这些都会给你很好的覆盖率,都是优秀的书籍。 Bob Swart 还有一些有用的书。

    你可能不想回到Delphi3之前的任何东西,但是一些Pascal编程书籍是有用的。

    你可能不应该偏执于阅读过时的东西,意识到这是非常有帮助的,如果你必须与遗产代码,只要你刷一些更现代的书,你应该是好的。

    我还建议阅读代码完整2或实用程序员。您可能还想阅读有关设计模式和重构的书籍——没有专门为Delphi编写的书籍。

        2
  •  7
  •   Community CDub    8 年前

    很多Delphi概念(和代码),即使是旧版本的,也同样适用于新版本。某些组件不再存在(netmaster等),一些已冻结,不应用于新开发(bde),并且 HUGE number of new features 赶上

    至于com。用LinoTadros(主要负责获取Delphi的COM支持的人)的不朽的话来说:

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

        3
  •  6
  •   smok1    16 年前

    bde已经死了,但它可能在某个地方使用,你可能会发现bde爱好者。安装BDE很困难,也存在一些法律问题。COM也是死的,但它仍然可用,并在遗留应用程序中广泛使用。大多数人使用免费的图书馆,如绝地武士或宙斯,或商业图书馆、德夫莱斯特图书馆或TMS图书馆。我认为学习基本的VCL和一些免费的图书馆将是很好的开始。同时也知道在Delphi中对象和类是如何工作的,这将对你的职业发展有很大的帮助。

        4
  •  6
  •   skamradt    16 年前

    编码实践的死亡是一件非常相关的事情。我仍然知道COBOL应用程序仍在运行…主要是因为他们仍在工作,不处理日期,所以让他们跑就可以了。有时候这可能不是最好的“新方法”,但如果它没有任何变化的话…为什么要搞砸它。

    COM的概念还没有真正消亡…它的发展,以及知道如何使用它可以帮助您理解和应用最新的发展。要成为一名优秀的Delphi程序员,您需要了解汇编吗?当然不是,但这是有助于理解如何更好地优化您的程序的知识。

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

    至于旧书……我说把它们放在架子上,不时地瞥一眼。有时回头看可能会帮助你向前跃进。这就是为什么我有一份 Algorithms + Data Structures = Programs 在我的架子上。有趣的是,这本书中的大部分代码仍然是通过一些小的改动来编译的。当然,代码不是OOP,但是这些概念仍然是我今天使用的。你可能会惊讶于二叉树有多少没有改变,优化它的最佳方法仍然是一样的。有时使用一个简单的旧主控-新主控例程比将数据加载到SQL表中然后执行更新要快得多。

    这并不总是关于酷的因素…有时是关于什么有效。

        5
  •  0
  •   Marco van de Voort    16 年前

    Calvert的Delphi Unleashed对于Delphi和COM来说也是一个不错的开端。

        6
  •  0
  •   LachlanG    16 年前

    对于数据库访问,旧的书籍将建议使用bde,但是bde已被弃用,不应在新的应用程序中使用。

    bde是指Borland数据库引擎。任何使用ttable、tquery、tsession和tdatabase组件的应用程序都使用bde。

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

    在一个典型的bde应用程序中,从GUI到数据库的组件连接如下

    tdbedit到tdatasource到ttable到tdatabase

    在DBExpress客户机数据集样式的应用程序中,组件连接如下

    tdbedit到tdatasource到tclientdataset到tdatasetprovider到tsqldataset到tsqldatabase

    链中的前两个部分(tdbedit,tdatasource)与您能找到的任何Delphi书籍所描述的工作完全相同。

    接下来的两个部分,clientdataset和tdatasetprovider,最初称为midas,但现在称为datasnap。它们也存在了很长一段时间,但只有在最近的几个版本中,它们才成为官方推荐的数据库访问解决方案。

    tsqldataset和tsqldatabase是该链的最新部分,称为dbexpress。

        7
  •  0
  •   Toby Allen mercator    16 年前

    任何Delphi3之后的Delphi3书在大多数方面都应该是相关的。Delphi3发生了重大变化,因此之前的任何变化都可能过时。

    我同意其他人的观点,即bde已经失效。我从来都不喜欢它,即使它应该是德尔福的主要选择。这可能解释了为什么Borland花了这么长时间才提供一套像样的内置ADODB组件(在Delphi5中,您必须购买它们作为可选的额外组件)。

    如果您有必要进行进程间通信,那么COM仍然是非常相关的(我不确定对于所有说COM已经死了的人来说,有什么替代方法可用)。事实上,COM+(Windows服务器上的一种服务,承载可扩展性对象)仍然是Microsoft战略的一个组成部分。COM绝非完美,但作为一个概念,它还没有被微软取代(没有.NET取代它)。