GO HOME

「Delphiパーソナルプログラミング」追補情報


  ここは、拙著のDelphi入門書「Delphiパーソナルプログラミング」(毎日コミュニケーションズ、352頁CD-ROM付、3200円)に関するコーナーです。現在、初版の見直し作業をしていますが、校正情報やよくある質問の答えなどをここでまとめて掲載します。  また、記述間違い、校正漏れ、「これが全然わかんない!」といったことがあれば、どうぞ掌田津耶乃(tuyano@mac.com)まで御連絡ください。ここで補足していきたいと思います。


 ★バグ・校正情報★

※ここでは、ソースコードや内容に関する記述間違い、校正ミスなどについて整理しておく予定です。現在、まだチェックの途中ですが、確認したところまで掲載しておきます。

 

※P.36

本文6行目中の「テキストで表示」 → (正)「エディタで表示」


※P.90

図3-9のキャプションで、「リスト3-9」となっていますが、「リスト3-6」の間違いです。


※P.92

中央付近の、「Xの値が5以下かつ・・」 →(正)「Xの値が5以上かつ・・」


※P.115

リスト4-3
ここではクリックする度にLabelの色が変わるようになっていますが、初期状態でLabelの色がclRed,clGreen,clBlue以外の色になっていると機能しません。手順として「Labelの色を変更する」という説明がないので、デフォルトのままで「クリックしても動かない」と悩んだ人もいることでしょう。ソースコードを記述したら、上記のいずれかの色にLabelの表示を変更して動かして下さい。


※P.121

図4-7
キャプション内に「GroupBox」とありますが、これはRadioGroupの間違いです。

 

※P.163

リスト5-8 コメント部分の説明
「Canvas Pen.〜」 → 「Canvas.Pen.〜」
最後から4行前「Canvas Pen.〜」 → 「Canvas.Brush.〜」

コードの説明をコメントとして後から編集部で追加したのですが、チェック洩れをしていました。コードは正しいので、よく見れば間違いには気づくと思いますが・・。

 

※P.219

リスト6-11 SaveButtonClickプロシージャ
「SaveImage」 → 「SaveImage;」

最後のセミコロンが抜けていました。

 

※P.230

4行目に、「オブジェクトは、それ自身が破棄されるまでちゃんと消えずに残っている」とありますが、これだとユーザーが明示的に破棄を宣言しないと永久に消えないように読めてしまいます。「使われなくなるまでちゃんと消えずに残っている」としておきます。すなわち、どこからも使われなくなったら、オブジェクトは必要に応じて消える、と考えてください。


※P.250

図7-2を見ると、Linesの部分が「Lines[1]」から始まっていますが、これは本文の説明にあるように「Lines[0]」から始まるのが正しい状態です。イラストレータさんにうまく伝わっていなかったようです。

 

※P.274

割り付けるプロシージャの一覧で、最後にある「CheckMemoFile」と「CheckFont」は、ユーザー定義プロシージャなので、オブジェクトインスペクタで割り付ける必要はありません(というか、そもそも表示されませんが)。

 

 

※もし、上記に掲載されている他に何か問題点を発見された方は御一報くださいませ。



 ★補足説明コーナー★

※ここでは、本書の内容について説明の足りなかった部分などを追補していく予定です。


●作成プログラム3-1 整数電卓について

ここではちょっと操作の変わった整数電卓を作っています。数字を入力してから演算記号を押す、という使い方の電卓です。ここで、現在の値が0の状態でわり算の記号を押してしまうと、「ゼロによる除算」というエラーが発生します。これで「どこが悪いんだ?」と思った人もいることでしょう。
 本書では、始めの内は「完全なサンプル」を作ることより、「ここで勉強するポイント以外ははしょって簡単にしたサンプル」を作ることを重視してあります。ですので、使い方を間違えたりするとこうやってエラーになったりするのです。
 では、どうすればエラーが出なくできるか。——それは、読者であるあなたが自分で試してみることです。がんばって挑戦してみて下さいね。


●TColorの値の大きさについて

114頁のTColorの説明部分で、TColorは「8桁の16進数」とありますが、「000000〜FFFFFFの6桁では?」と考えた方も多いでしょう。そうなのですが、コンピュータではCPUが処理しやすいように2、4、8Byteという単位で値は揃えられています。このため6桁の16進数(2桁=1byteなので3byte)は、8桁(4byte)の値として使われます。説明が舌足らずでわかりにくかったかも知れません。




 ★FAQコーナー★

※ここでは、本書の内容についての質問にお答えします。読んでいて不明な点などありましたら、どうぞ掌田津耶乃までお問い合わせください。その場合は、必ずお使いのOSのバージョンなど動作環境について明記ください。

 


●この本では、Visual Basicはオブジェクト指向に対応していなくてダメダメだといってますが、最近のVBはオブジェクト指向に対応済みでは?

答え) 本書のP13にてVBとDelphiの比較をしていますが、これはVB ver.6を念頭においた比較で、新しいVB .Netについての比較ではありません。本書の原稿を執筆したのが昨年の12月で、その当時にはまだVB .Netのリリースはずっと先だと思っていたのでver. 6を基準に比較しました。
 現在、VB .Netではオブジェクト指向に対応し、「オブジェクト指向の対応が未熟でダメだ」という批判は当たらなくなりました。VB .Netでは文法が大幅に変わり、オブジェクト指向にしっかり対応した形になっています。また「プログラムの中心部分を隠蔽している」という問題もかなり解消されすっきりとしています。その点では、Delphiが有利とはいえなくなりました。
 が、逆に強化されたせいでVBの最大のウリであった「すぐに使える簡単さ」がなくなっています。VB .Netは、従来のVBに比べてかなり難しくなっているのです。Delphiとあんまり変わらないぐらい難しくなってしまったので、「VBの方がわかりやすくてビギナーには有利」という推薦理由がなくなってしまいました。また速度的な面でも、まだまだDelphiとは雲泥の差があります。更に、VB .Netはお金を払って買わないといけませんが、DelphiのPersonal版ならタダです! というわけで、「とりあえずDelphiがお勧め」という点は全く変わりません。


●最初のうちはビギナー向けの説明という感じがしましたが、途中からどんどん難しくなり、最後の章はほとんど理解できませんでした。とてもビギナー向けの本とは思えません。

答え) 確かに、全くプログラミング経験がない方だと、最後まで読み通すのは難しいでしょう。が、Delphiという開発環境は非常に高度なレベルのことまでサポートしていますので、その全体像を一通り説明しようとすると、どうしてもかなりのレベルの知識が要求されてしまうのです。最後の第8章は、「おまけ」だと書いてあるように、理解しないといけないというものではありません。ある程度Delphiに慣れたら、これにも挑戦してみよう、という中級編のようなものです。
 プログラミングに入る前に強調したように、「全て理解しないとダメ!とは絶対に思わない」でください。ざっと通して読んだだけで全て理解できると思っていた人には、本書はかなり難しいものに感じるでしょう。まず、第5章までを確実に覚えましょう。それで「ビギナー編は終了! この先は別に読まなくてもとりあえずいいんだ!」ぐらいに考えておくとよいでしょう。更に一歩進みたければ第6〜7章を勉強する。それも卒業し、もっともっと上を目指したければ第8章に挑戦してみる、というように考えてください。


●同じことが何度も説明されていたりしてとても読みにくいです。

答え)本書は「とりあえず最初にざっと読む部分」と、「ある程度慣れてから読む部分」を分けてあります。片方だけ読み進めても意味がわかるような形で執筆してあるわけです。そのため、全部を通して読むと、「あれ? これは前に説明してあったぞ」と思うところがあるでしょう。最初のうちは、特別講義をすべて飛ばして学習されることをお勧めします。そしてある程度概略が頭に入ったところで、もう一度読み直してみて下さい。


GO BACK
GO HOME