Masayuki Nii(msyk@msyk.net)
New !
|
since Nov. 1, 1998 |
このページは、新居雅行の著作のうち、Windows関連の書籍についての総合窓口になっています。サポートページのある書籍については、そちらのページを御覧ください。特別にWebページを設けていない書籍についての連絡は、このページを御覧ください。
新居雅行への連絡先 | ||
|
||
極めるExcel2002 データベース構築法 |
ローカス | |
チャレンジ!Java JBuilder編 サンデープログラマシリーズ 8週間でらくらくマスター |
ローカス | |
チャレンジ!Java サンデープログラマシリーズ 8週間でらくらくマスター |
ローカス | |
完全制覇Access 2000 基礎、応用 |
日経BP社 | |
完全制覇Excel 2000 基礎、応用 |
日経BP社 | |
Visual Basic 6.0 データベース構築法 |
ビー・エヌ・エヌ/ エクシードプレス |
|
Visual InterDev 6.0 Webデータベース構築法 |
ビー・エヌ・エヌ/ エクシードプレス |
|
|
||
読者サポート Webページの ある書籍一覧 |
ファイルへのリンク | 紹介している節 | 備考 |
---|---|---|
koutsuhi-seisan-R4.xls | 1-4 フォームを利用したデータベース入力 | 書籍の上でのファイル名は「交通費精算R4.xls」ですが、Webサーバにアップロードするために、ファイル名を1バイト文字で構成しました。 |
ExcelXPDB-02.xls | 2-5 テキストファイルの読み書き | Sheet3にマクロSetPhoneticが定義されています。なお、選択範囲に対して実行するので、Sheet3でないと実行しないわけではありません。 |
ExcelXPDB-03.xls | 3-1 売上管理の概要 | |
ExcelXPDB-04.xls | 4-1 基本的なクロス集計処理 | 4章の作業をするための元データです |
MatrixData.xls | 4-3 さまざまな集計方法 | アンケート集計処理 |
ExtDB_Sales.mdb.zip | 5-1 Microsoft Queryによるデータベースアクセス | 外部データベースの元データです。zip形式で圧縮してあるので、ダウンロードしてから解凍をしてください |
ページ | 場所 | 誤 | 正 | 備考 |
---|---|---|---|---|
144? | 21行目 | =IF(ISERROR(MATCH(検索値,範囲,0)),"(該当なし)",''DEX(範囲, MATCH(検索値,範囲,0),列番号)) | =IF(ISERROR(MATCH(検索値,範囲,0)),"(該当なし)",INDEX(範囲, MATCH(検索値,範囲,0),列番号)) | |
(2001/9/28)
別掲の記事以外の正誤表です。御迷惑をおかけします。
ページ | 場所 | 誤 | 正 | 備考 |
---|---|---|---|---|
99 | リストの中の11行目 |
String str3 = new String("Javaプログラミング。") |
String str3 = new String("Javaプログラミング") | 文字列中の句点は必要ありません。なお、CD-ROMに付属のプログラムファイルでは、句点は含まれていません。 |
(2001/7/23)
本書を執筆した時には、JBuilderの開発元はまだ「インプライズ」でしたが、その後「ボーランド」に社名が変更され、JBuilderもVer.5が出てくるなど製品を取り巻く環境が変化しています。そのため、書籍で紹介しているページが存在しないなど、紹介した操作そのままではうまくいかない状況に成っています。そのため、現状にあわせるために、以下のように、本書の内容を変更して御覧ください。
(2001/7/17)
第1週目の土曜日のところで、書籍に付属のCD-ROMよりJBuilder4のインストールを方法を説明しているところがありますが、紙面で紹介している図版と、実際のCD-ROMでフォルダ名が違っています。添付CD-ROMのルートにあると説明しているJBuilderフォルダは、Fndcdjb4_jaフォルダが実際のフォルダ名です。おわびするとともに訂正させていただきます。また、CD-ROMのファイルの内容と、紙面で紹介しているページの画像に違いがあります。訂正箇所は以下の通りとなります。(以下の図はクリックすると、別のウインドウに原寸で表示されます)
(2001/4/28 - 7/17更新)
CS教育テレビでの放送番組『プログラム入門講座Java編』で、「チャレンジ!Java Win編」をテキストとして採用しています。収録は、2003年5〜6月にかけて行いました。こちらでは、Windows 2000を使って説明をしています。また、Java2 SDKのバージョンも、Ver.1.4.1となっています。
Java2 SDK 1.4.1をインストールすると、MicrosoftのInternet Explorer上で、APPLETタグを使ってアプレットを稼働させることができるようになっています。MicrosoftがInternet ExplorerでのJava環境を変化させてしまったのでテキスト通りに作業ができなかったのですが、逆に現状では書籍通りに作業ができると考えていただいていいでしょう。Internet Explorerのツールメニューからインターネットオプションを選択し、詳細設定のタブで、<applet>にJava 2 v1.4.1_02を使用といったチェックがあるので、それをオンにしてください。
Windows 2000/XPでは、コマンドプロンプトでCDコマンドを入れて、カレントフォルダを移動しますが、そのとき、まじめにパスを手で入れるのはあまりに面倒です。そこで、「CD」スペースと入力したあと、エクスプローラのウインドウから、フォルダのアイコンをコマンドプロンプトのウインドウにドラッグ&ドロップしてください。すると、そのフォルダへの絶対パスが自動的に入力されます。フォルダはウインドウにあるアイコンでもいいですし、アドレスバーにあるアイコンでもかまいません。
テキスト、第5週目の日曜日に、Visual Age for Javaをご紹介していますが、講座では、JBuilder 8 Personalを、統合開発環境(IDE)としてご紹介しています。Visual Ageも聞かなくなったなと思ったら、Eclipseとしてパワフルによみがえるなど、状況の変化は大きいですね。
8-3 もぐらが出てくるアニメーションのところで、もぐらの画像を1つだけアニメーションさせるプログラムを紹介しています。書籍を作った当時と今ではパソコンの性能がそこそこ変わっていて、このプログラムだとエラーが出てアニメーションができない場合があります。というのは、Canvasのコンポーネントをアプレットに追加した後でないと、getGraphics()メソッドで取得したグラフィックス環境の準備ができていないようで、そこで描画をしようとしてもできません。取得したGraphicsオブジェクトはnullつまり、描画環境はないという状態になります。
プログラムは、スレッドをコンストラクタ内でスタートさせていて、その後にコンポーネントをアプレットに追加するという段取りになっていますが、パソコンがそれなりに遅い場合は、それでもスレッドがほんとうに始まるまでにアプレットへの追加ができていました。このところのマシンだと、状況がよければスレッドの開始までの時間が非常に短くなり、アプレットに追加する前にrun()メソッドに入ってしまうため、描画に関するメソッドを呼び出したときにエラーになってプログラムはストップします。
そうならないために、以下のように修正をしてください。修正後のファイルは、ここをクリックしてダウンロードしていただけます。また、Moguraクラスのpaintメソッド(p263の真ん中あたりにある、public void paint(Graphics g) { } の部分)は不要です。
●Moguraクラスのinitメソッドを修正 | |
修正前: | add(new AnimatedCanvas(moguraImage)); |
修正後: | AnimatedCanvas ac; add(ac = new AnimatedCanvas(moguraImage)); ac.start(); |
●AnimatedCanvasクラスのコンストラクタ | |
削除する行: | myTh.start(); |
●AnimatedCanvasクラスに以下のメソッドを追加 | |
追加プログラム: | public void start() { myTh.start(); } |
なお、267ページにある、プログラムも、同様に修正をしないと263ページのプログラムでエラーが出た場合は、やはりエラーが出ます。修正をかけたあと、指定の変更をするか、あるいは、こちらをクリックしてダウンロードしてください。
その後のプログラム(日曜日)は、こうした状況でもとりあえず回避されるように、あまりスマートな方法ではありませんが、逃げを打っています。また、プログラムを追加すると適度に処理が重くなって、うまく事が運ぶようです。あまり素直に動くプログラムではありませんが、簡単化しているということで、ご了承いただければと思います。
(2003/6/21)
「チャレンジ!Java」は、1999年に執筆された書籍で、Windows 98で使うことを想定した書籍です。そのため、2001年にリリースされたWindows XPでの動作チェックなどを行っているということは、当然ですがあり得ません。Windows XPで変更があった点について、書籍に記載された内容と異なることもあり得ます。そうした点についてお問い合わせもあり、中には間違えているというご指摘をされる方もいらっしゃいますが、間違いではなく、Windows側の状況が変わったのです。
Windows XPで「チャレンジ!Java」の通りに作業をされる場合には、細かい点も含めるといろいろなところで違いがでてきます。本書は裏表紙にもあるように、あくまでWindows 98での利用を想定したものですので、その旨、ご承知おきください。しかしながら、Windows XPの事情に合わせて作業をすれば、Windows XPでもプログラムの学習は進めることは可能です。ただし、本書については改訂の予定はないために、その全てをフォローすることは不可能ですので、ポイントになるところだけを解説しておきます。
執筆時点の最新版を書籍に添付しましたが、より新しいバージョンのものがリリースされています。なお、書籍にバンドルされているJava2 SDK 1.2.2は、当然ながらWindows XPは動作保証OSではありません。また、Ver.1.3.1も、明確にはWindows XP対応をうたっていませんので、その旨はご承知置き下さい。
Java2 SDK, Standard Edition, v 1.3.1_02
「MS-DOSプロンプト」は、「コマンドプロンプト」に名称が変更されています。スタートメニューの「すべてのプログラム」にある「アクセサリ」から「コマンドプロンプト」を呼び出します。
毎ドキュメントフォルダは、Windows 98では、基本的にはC:\My Documentsで一定でした。しかしながら、Windows XPでは異なります。たとえば、msykというアカウントの場合、C:\Documents and Settings\msyk\My Documentsになります。ただし、コマンドプロンプトを呼び出した最初はC:\Documents and Settings\msykがカレントディレクトリとなるので、「cd "My Documents"」とコマンドを入力すれば、マイドキュメントフォルダをカレントフォルダにできます。
「システム設定ユーティリティ」はなくなっています。パスの設定は次の手順で行えます。
手順6では、それまでに設定されている変数値を消してしまうと、システムが正しく機能しなくなることもありますので、細心の注意を払って下さい。間違えて消しても、キャンセルをすればOKです。それまでに入力されいたテキストのいちばん最後まで文字カーソルを移動してから、Java2 SDKのパスを半角のセミコロンで区切って入力します。「編数値」の中のどこかをクリックして、右矢印ボタンを何度か押して、スクロールしなくなったところが、編数値の文字列の最後の位置になります。
Windows XPに付属するInternet Explorerは、Javaコンソールの機能はないようです。したがって、p26の設定はできません。Java Plug-inを使って標準出力を得る方法もあるのですが、以下に示す方法を利用する方が手軽だと思われます。
書籍中で、Internet Explorerでアプレットを実行している場面は、p37で説明しているappletviewerを使って、コマンドプロンプトから起動してください。そのときは、標準出力の結果は、コマンドプロンプトのウインドウに表示されます。
たとえば、p61では、BasicSyntax.classやrun.htmlがあるフォルダがカレントフォルダになっている状態で、
appletviewer run.html
というコマンドを入れて実行させてください。
新たにコマンドプロンプトで命令を入れたいときは、アプレットのウインドウを閉じてください。
どうしても、ブラウザのJavaコンソールを使いたい人は、コントロールパネルにある「Java Plug-in」をダブルクリックし、「基本」のタブで「Javaコンソールの表示」にチェックを入れてから、Internet Explorerを起動してください。標準出力がなされれば、おそらく自動的にJava Consoleというウインドウが表示されます。ただし、Java Plug-inが稼働するという前提条件があります。Java Plug-inのインストールなどは、Java2 SDKのインストールで問い合わされるので、そこで適切に設定されていないと稼働しないかもしれません。Java Plug-inについての詳細は、Sun Microsystemsのサイトなどで御覧下さい。
(2002/1/29)
正誤表です。御迷惑をおかけします。
ページ | 場所 | 誤 | 正 | 備考 |
---|---|---|---|---|
199 | 図の右のキャプション | 左から純に | 左から順に | |
134 | 図の中 | inf | int | 3箇所あります。infというオブジェクトだと言い張ることもできなくもないですが…、元の図はintでした |
219 | 4行目(リストの1行目) | … extends Button extends ActionListener | … extends Button implements ActionListener | |
224 | 6行目 | run.htmlのAPPLEタグ | run.htmlのAPPLETタグ |
(2000/6/6)
p32〜34にかけて、「システム設定ユーティリティ」を使って、Autoexec.batファイルを書き換える方法を説明しています。システムの状態によって、このユーティリティが使えない場合には、次のように作業をして、Autoexec.batファイルを書き直してください。
(2000/5/3)
p34の末尾にAutoexec.bat中にpathで始まるものがあれば…というあいまいな記述しかしていませんが、少し詳しく説明をします。
この「パス」というものがなんなのかを説明しておきましょう。
Windowsは一般には起動するアプリケーションをファイル名で指定します。そのとき、現在のフォルダからアプリケーションのファイルを探すだけでなく、システムに記憶させた「パス」で指定したフォルダも探します。
パスを指定するには PATH コマンド、あるいは SET PATH として環境変数への書き込みで行います。パスは複数指定でき、通常は、セミコロンで区切ります。
javacというファイル名のアプリケーションを動かすのに、javac のようにファイル名だけでファイルを指定しますが、ファイル(コマンド)の存在するパスを設定しておくことによって、アプリケーションのファイルを現在のフォルダだけでなく、パスで指定したフォルダも探すようになります。つまり、Java2 SDKのbinフォルダにあるアプリケーションも、ファイル名(コマンド名)だけの指定で利用できるようになります。
一方、ドライブ名から始まる絶対パスを指定してもコマンドは起動できるのですが、とても面倒になるので、手作業のときはそうした方法は使いません。
こちらで調べた限りでは、Windows 98をそのまま使う場合には、書籍の説明の通りなのですが、アプリケーションソフトなどをセットアップした場合などで独自のパスの記述を加える場合があります。(たとえば、McAfee Virus Scan)
たとえば、以下の例は、読者の方からの御質問でいただいたのですが、「McAfeeVirusScan」をセットアップされているかと思います。その状態で、単に「path c:\jdk1.2.2\bin」という行を加えると、Windowsを起動するアプリケーションへのパスが通らなくなるために、Windowsがそのままでは起動しなくなってしまいます。
Autoexec.bat中に、すでに PATH … あるいは SET PATH … が存在する場合には、「c:\jdk1.2.2\bin」をその存在する行に追加してください。たとえば、
SET PATH=%PATH%;C:\PROGRA~1\NETWOR~1\MCAFEE~1
という行がある場合には、その行の後に;で区切って、次のように記述を加えます。
SET PATH=%PATH%;C:\PROGRA~1\NETWOR~1\MCAFEE~1;c:\jdk1.2.2\bin
このように、既存のパス設定がある場合には、既存の設定を殺さないように、Java2 SDKのツールへのパスも加えるようにします。
(2000/5/7)
たとえば、p37に指定したコマンドを入力したときに、上記のようなメッセージが表示されるような場合は、パスの設定が正しく行われていないのが原因だと思われます。前項の「p34のパスの指定について」を御覧ください。
(2000/5/29)
McAfee Virus Scan 4.0をお使いの方は、p34に紹介している作業で、pathコマンドを追加するのではなく、前項の「p34のパスの指定について」に記載されたように、Autoexec.batを変更してください。富士通のWindows 98搭載のパソコンなどにもVirusScanは組み込まれている模様ですので、その場合も同様に対処して下さい。
(2000/6/1)
p261に「1つのソースファイルでは、1つのpublicなクラスしか定義できません。」と、書いてありますが、リスト7-4の電卓プログラムにはpublic classという記述が4つもあります。この点については、説明が足りませんでしたので補足しておきます。
1つのソースにpublicなクラスが1つだけというのは、内部クラスを除いてのことです。内部クラスはそのおおもとのクラスに属するものとして考えます。だから、電卓プログラムを全体的に見た場合には、Dentakuクラスというpublicなクラスが1つだけがソースファイルに記述されいると見ることができるのです。
複数のpublicなクラスが複数あってはいけないというのは、つまり、
public classA { }
public classB { }
のようなソースのファイルはエラーとなるということを言いたかったのです。
(2000/6/6)
appletvewerコマンドなど、Java2 SDKに含まれているコマンドをMS-DOSプロンプトで実行したとき、
This program cannot be run in DOS mode
と表示されて起動しない場合があります。その場合には、MS-DOSプロンプトのツールバーにある「プロパティ」ボタンをクリックして、ダイアログボックスを開き、 「プログラム」のタブで「詳細設定」ボタンをクリックしてください。そしてさらに表示されるダイアログボックスで、「MS-DOSプログラムにWindowsを検出させない」のチェックボックスをオフにしてください。このチェックボックスが入っていると、上記のエラーが出ます。
(2000/7/18)
以下のように、訂正いたします。御迷惑をおかけしました。お許しください。
ページ | 場所 | 誤 | 正 | 備考 | |
---|---|---|---|---|---|
基礎 | p307 | 練習問題2.2の解答の図版 | (IDフィールドの数値が左詰めになっている) | (IDフィールドの数値は右詰めになる) | オートナンバー型フィールドも数値なので既定の状態では数値は右詰め(右寄せ)で表示されます。 |
「応用編」の練習問題をやるためのサンプルデータを、以下のリンクをクリックすることでダウンロードできます。約170KBのサイズで、LZH形式で圧縮したファイルになっています。
ページ | 場所 | 誤 | 正 | 備考 |
---|---|---|---|---|
67 | 手順3の図 プロプラム下から7行目 |
(プログラムの一部が欠けています) | 欠けのある行のプログラムは次の通りです
insert into meisai(denpyo_id, item_id, qty) values(@d_id, @i_id, @q) |
書籍で紹介したサンプルプログラムのBASICのソースコード部分をご利用できるようにしておきます。
以下のリンクをクリックすると、Webブラウザの画面にソースコードが表示されるので、コピー&ペーストなど適当な方法で、ご自分で作られているプロジェクトのモジュールウインドウに取り込んでください。
リンク先は単なるテキストファイルです。このページに戻るには、Webブラウザの「戻る」ボタンをクリックするなどしてください。
このプログラムを単に利用するだけでは、アプリケーションは機能しません。Data EnvironmentやConnection、あるいはデータベースエンジンなど周辺の設定を適切に行った上で、プログラムをご利用ください。ここでは、主として、プログラムを手作業で入力する手間を軽減するために、ソースプログラムをテキストとしてご提供することが目的です。そのままで稼動するプログラムをご提供するのが目的ではありません。よろしくお願いします。(1999/4/24)
ページ | 場所 | 誤 | 正 | 備考 |
---|---|---|---|---|
26 | 9行目 | Visual Stuio | Visual Studio | |
166 | 下から5行目 | 何かの項目を | プロジェクト名を | |
217 | 8行目 | 3.4節 | 3.3節 | |
221 | 手順7 | Command1 | Connection1 | 2個所あります |
(1999/10/2)
Visual Studio 6.0のサービスパック1(SP1)がマイクロソフトよりリリースされています。修正箇所を見る限りでは、Visual InterDev 6.0についての修正はありません。
(サービスパックは、更新されています。)
Visual Studio 6.0のサービスパック2(SP2)がマイクロソフトよりリリースされています。やはり、修正箇所を見る限りでは、Visual InterDev 6.0についての修正はありませんが、Visual InterDev Professional版は修正対象に入っています。(1999/2/4)
Visual Basicについての記述も具体的には見当たらないので、おそらく「再配布可能な共有ファイルの問題」に関してという部分があるので、基本的にはサービスパックを利用しておく必要があると思われます。(1999/4/24)
Visual Studio 6.0のサービスパック3(SP3)がマイクロソフトよりリリースされています。修正内容を見ると、各サービスリリースではいろいろと細かなバグが修正されています。Visual Studioを使っているのであれば、サービスパックは適用しておくべきでしょう。(1999/5/24)
(1999/3/25修正)
「Visual InterDev 6.0 Webデータベース構築法」で、データベースツールを使ったSQL Serverの管理について解説をしています。P118の「ストアドプロシージャの転送」で解説をした通り、筆者の使っているサーバーでデータベースを新たに作成したときには、データツールに必要なストアドプロシージャなどが作成されないため、別のデータベースから持ってくる必要がありました。
しかしながら、別のサーバーで、データベースを新たに作成したときには、自動的にデータツールに必要なストアドプロシージャも組み込まれて、ストアドプロシージャの転送は不要でした。書籍には必要な作業として説明していますが、実際にデータベースを作った時に、ストアドプロシージャとしてdt_で始まるものがデータベースに含まれていれば、そのまま作業をしても問題ないと思われます。
何が原因であるかははっきりとは分かりませんが、推定すると次の通りです。執筆段階で使用したサーバーは、コンポーネントをセットアップしたり削除したりして、かなりいじってしまったということがあります。また、Visual Studio 97に含まれるSQL Server 6.5をセットアップした状態で、Visual Studio 6.0のSQL Server 6.5をセットアップしました。一方、自動的にストアドプロシージャが作られたサーバーは、最初からVisual Studio 6.0のSQL Server 6.5をセットアップしました。違いとして考えられるのはこれくらいです。
また、何人かの読者の方から、dt_で始まるストアドプロシージャがもともとどこにもないという報告をいただいています。SQL Server 6.5 SP4、つまり、Visual Studioに付属のデータベースでもその現象が出ているようです。残念ながら対策は分かりません。試しにAccessのアップサイジングキットを使って、データベースを作ってみるくらいしか思いつきません。
上記のテーマの文書がマイクロソフトのサイトにアップロードされています。日本語の文書です。一般的なSQL Serverに関することが中心ですが、SQL Server 6.5との違いについても記述されているので、SQL Server 7.0ベースで開発する人は、とりあえずは一通り目を通しておくのがいいかと思われます。
Visual Studio 6.0を使ってSQL Server 7.0に アクセスする
Visual Studio 6.0データベース ツールとSQL Server 7.0を組み合わせて使用する
(1999/3/25作成)
Internet Explorer 5.0がリリースされました。さっそくセットアップしている方も多いことでしょう。ただし、Visual Studio 6.0をセットアップされている場合には、マイクロソフトが提供している以下のドキュメントを必ずご覧ください。多くは、DHTML関連のトラブルだと思われますが、Visual InterDev関連の注意点がいくつもあります。特に、IE4と混在をした場合にトラブルが発生するあたりは要注意ではないかと思われます。
Visual Studio 6.0 と Internet Explorer 5を同時使用する際の留意点について