2009-07-21 3 views
6

古いデルファイの本は安価に入手できます。独学(上級者)の初心者のために、どのアイデアがまだ関連性があり、最新であり、古くなっているのかを知ることは難しいです。私は少しガイダンスを期待しています。たとえば、BDEを搭載したデータベースについて学ぶには時代遅れでしょうか? COMはもはやよく使われるモデルではありませんか? (注意:私はこれらの用語を使用していますどのようにずれることがあります...私はそれらについて多くを知らない。)あなたの考えのための古いデルファイの教材

感謝を!

+4

BDEは使用しないでください。下記のCOMと喫煙に関するBruceのコメントを参照してください。同じルールがBDEに適用されます。 –

+0

データベースの場合は、dbExpress、ADO(SQL Serverのみ)またはDevArtコンポーネントを参照してください。いずれにしても、BDE、Paradox、DBaseから離れてください。 Pragmatic Programmerの場合は –

答えて

4

多くのDelphiの書籍には、依然として関連するものがたくさんあります。まだ良いことのほとんどは、dlls & bplsを使用してコードを書くなどの低レベルのものです。コンポーネントを書くことさえほぼ同じです。私は先日Delphi 3の本を参考にして、私が望むものを見つけました。

お勧めとして、私は古い本と新しい本の組み合わせを得るでしょう。新しい点では、Marco Cantu's Delphi 2007 & 2009ハンドブック、彼のMastering Delphi 2005(.net stuffを無視する)、またはMastering Delphi 7がかなり良いカバレッジを与え、すべての優れた本を手に入れます。 Bob Swartにも便利な書籍があります。

おそらくバックデルファイ3よりも前のものに行きたくありませんが、一部のパスカルプログラミングの本を参考にすることができます。

古くなったものについては読まないほうがいいでしょう。レガシーコードで作業しなければならないと分かっているので、もっと近代的な本を刷新すれば大丈夫です。

コードコンプリート2またはThe Pragmatic Programmerもお読みください。また、デザインパターンとリファクタリングに関する本を読んでみたいと思うかもしれません。デルファイ用に書かれたものはありません。

+1

+1です。優れた本。私は現在Code Complete 2を読んでいます。 – Pauk

6

BDEは死んでいるが、それはどこかに使用することができる、そしてあなたは、BDEの愛好家を見つけることができます。 BDEはインストールが難しく、法的な問題もありました。 COMも死んでいますが、それはまだ利用可能であり、レガシーアプリケーションで広く使用されています。ほとんどの人は、JEDIやZeosなどの無料のライブラリ、あるいは商用のDevExpressやTMSを使用しています。私は基本的なVCLといくつかの無料のライブラリを学ぶことが始まるのが良いと思います。 Delphiでオブジェクトやクラスがどのように機能するかを正確に把握することは、キャリア開発の大きな助けになります。

7

Delphiの概念(およびコード)の多くは、さらに古いバージョンから、新しいものにも同様に適用されます。特定のコンポーネントはそれ以上のものではありません(NetMastersなど)。一部は固定されており、新しい開発(BDE)に使用しないでください。HUGE number of new featuresがあります。

COMと同様です。リノTadrosの不滅の言葉(デルファイへのCOMサポートを得るに大きく関与男)では:

COMは、喫煙のようなものです:あなたは が開始されていない場合は、あなたがすでに行っている 場合、あなたは、今から始めるべきではありませんそれは停止する時間は です。

+3

+1ええ、喫煙の悪い鍋がありますよ! :-) –

6

コーディング練習の死は非常に相対的なものです。私はまだ実行しているCOBOLアプリケーションについてはまだ知っています...主に彼らはまだ仕事をしていて日付を扱わないので、単に実行させるだけでOKです。ときには、それは何かをするのに最高の "新しい方法"ではないかもしれませんが、それが何の変更もなく動くならば、なぜそれを混乱させるのでしょうか?

COMのコンセプトは本当に、その進化は、それはあなたが理解し、最新の進化を適用することができます使用する方法を知って...死亡していません。あなたは良いDelphiプログラマになるためにアセンブリを知る必要がありますか?絶対にそうではありませんが、ルーチンをよりよく最適化する方法を理解するのに役立つ知識です。

Delphiでは、COMはオブジェクトモデルだけではありません。それはまた、インターフェイスについてです。インターフェイスは依然としてバッグ内で非常に便利なツールとなります。デルファイのCOM開発について知っていれば、インターフェイスの仕組みを知ることができます。

レガシー・ブックについては、私はそれらを棚に置いて、時々それらを見ています。逆戻りすることで、時には跳躍するのに役立つかもしれません。なぜ私はAlgorithms + Data Structures = Programsのコピーを私の棚に持っているのですか?面白いことに、この本のコードのほとんどは、いくつかのマイナーな変更を加えてコンパイルされています。もちろんコードはOOPではありませんが、私は今日使っている概念です。バイナリツリーがどれくらい変化していないか、それを最適化する最良の方法がまだ同じであることに驚かれるかもしれません。単純な古いマスターnew-masterルーチンを使用する方が、データをSQLテーブルにロードしてから更新するよりも速いことがあります。

いつもクールな要因については...時には何がうまくいくのか。

+1

+1。壊れていない場合は、修正しないでください。 –

0

CalvertのDelphi unleashedも、DelphiとCOMのために始まりました。

0

データベースアクセスの場合、古い書籍はBDEを使用することをお勧めしますが、BDEは新しいアプリケーションでは使用しないでください。

BDEは、Borland Database Engineを意味します。 TTable、TQuery、TSession、およびTDatabaseコンポーネントを使用するアプリケーションは、BDEを使用しています。

代わりに使用するデータベースアクセス方法は、dbExpress/clientデータセット切断データアクセスモデルです。それはもう少し複雑で、古いBDEのものと比べると少し難解です。

典型的なBDEアプリケーションではGUIからデータベースへのコンポーネントはコンポーネントがこの

のようにフックアップされているdbExpressのクライアントデータセットのスタイルのアプリケーションでは

をTDatabaseをするのTTableへのTDataSourceにこの

TDBEditのようにフックアップされました

のTDataSourceにTClientDataSetのにTDataSetProviderへのTSQLDataSetにTSQLDatabase

にTDBEdit

その鎖の最初の2つの部分(TDBEdit、のTDataSource)が正確にSを動作あなたが見つけることができるデルファイの本のようにameが説明します。

ClientDataSetとTDataSetProviderは、もともとMIDASと呼ばれていましたが、現在はDataSnapと呼ばれています。彼らもかなりの期間を過ごしていますが、公式に推奨されるデータベースアクセスソリューションとなったのは、最後のいくつかのバージョンでしかありません。

TSQLDataSetとTSQLDatabaseは、そのチェーンの最新の部分であり、DBExpressとして知られています。

0

デルファイの本はほとんどの場合、依然として大部分が関連しているはずです。 Delphi 3では大きな変更が加えられました。その前のものは期限切れになる可能性があります。

私はBDEが無効であると他の人たちと同意します。私はそれがDelphiの主要な選択肢であると考えられていたとしても、それが好きではありませんでした。これは、BorlandがADODBセットのコンポーネントを提供するのにずっと時間を要した理由を説明しているかもしれません(Delphi 5のオプションの追加アイテムとして購入する必要がありました)。

プロセス間通信を行う必要がある場合は、COMはまだまだ関連性があります(私は、COMがデッドであると言うすべての人々がどのような選択肢を利用できるかはわかりません)。実際、COM +(スケーラビリティのためにオブジェクトをホストするWindowsサーバー上のサービス)は、Microsoftの戦略の不可欠な部分です。 COMは決して完璧というわけではありませんが、まだMicrosoftによってコンセプトに置き換えられていません(.NETはそれを置き換えるものではありません)。