かご存じて、しようか。ご存じない方のため るためのツールて、す。 Windows3.0 用と 3.1 にいいますと , STUB ( スタブと発音 ) プロ 用のふたつが付属しています。 グラムが動作して , 「このプログラムを実行 リソースコンパイラ ツールの取り扱い方法は , Windows ヘル するには , MS-Windows が必要てす」と表示 リソースファイルをコンパイルするため プファイルにて提供されています。また AP されるのて、す。つまり , プログラマが独自 のツールて、す。 Windows3.1 対応版が用意さ I のリファレンスは , アドバイザ (QuickHe に STUB プログラムを作成すれば , Wind0 れていました。 lp ) ファイルにて提供されています。 TabIe ws と DOS の両方て、動作するプログラムを作 ズームインユーティリティ (Fig. 35 ) 9 が提供されるヘルプファイル一覧て、す。 ることがて、きるのて、す。 SETUP. EXE など 画面の一部を拡大するためのツールて、す。 アイコンなどを作成したりする場合に利用 がその例て、す。 こて、の本題は STUB の話をすることて、 します。サポートする色数は 16 色て、す。 はないのて、 , 元の話に戻します。 Windows ヘルプ 本来このツールは , 本特集 Part2 て、紹介し もし , Windows プログラムを DOS プロン 本来はここに書くものて、はないのて、すが , なくてはならないものなのて、すが , プログ プトから動かせるとしたらどうて、しよう。 Windows3.1 のヘルプに対応した WINHEL ラムの性格上 SSDK といっしょに紹介するこ おもしろそうだと思いませんか。 WX サーバ P. EXE が Windowsi•イレクトリにコヒ。ーさ 、 0 を使うとそれが可能になるのて、す。ただし れます。 読者の方々は , Windows のプログラムを DOS プロンプトといっても Windows 工ンハ DOS プロンプトて、動かすとどのようになる Fig. 36 Windows プログラムは MS ー DOS 上では起動しない 37 WX サーバで起動した Windows プログラム Fig. プロクラムマネーシャ ⅷ Microsoft VXServer ヘルプ WX サーバ F> T 日 このプログラムの実行には , 「 1i0 「。 3)ft Ⅲ面 ows が必要です . 当時計新第 フ 設定 ( S ) メモ帳 呼 - X 平 0 物れ↓ : き 時計 the co 池に aDOS ー Wm 0 物 $ 総 nWSe Ⅳ orW/HELPfot m 面 朝物 .0 扣 5 刊 ー朝 Ⅳⅸ面面 0 1 ー tSpot Editor 、 server 7.0 ANSWERS) DETAILS 0 ◆ 39 QuickWin 機能を利用すれば List 31 も Windows プログラムに変身 Fig. Fig. 38 何の変哲もない MS ー DOS プログラム「万年カレンダ LIST31 Stdin/Stdout/Stderr 1 ーっー . 宀亠う》マー 4 1 亠亠っマ 7 41 ・ 金 2 9 金 2 9 r,J 月 - 木 18 馬四 7 木ー 8 馬四 水 7 了了水 7 凵 1 終終 1 火 6 に ー火 6 ファイル旧集旧状態に ) ウイントワ ( W ) ヘルブⅢ ) 入力 ( 終了はマ ) ” 19 入力 ( 終了は ) ” 12 1 2 年 12 月 日月火水木金土 1 2 3 4 5 6 7 8 9 11 12 ー 3 川馬肥 17 18 19 21 四 24 円田 凶 31 入力 ( 終了はマ ) 〉増 新ー驫ー望第 入 1-4 -- 76 C MAGAZINE 1992 12
新 MS - DOS プログラミング入門 C プログラマのための 日付 ( 時分秒 : 0 ) に変更します。ファイル名 やディレクトリ名には途中にスペースを入 れることがて、きませんが , ポリュームラベ AH ニ 43h の場合も Table 11 の関数を使用していま ァイル属性の設定に関してはディレクトリ 属性などを設定することがて、きるため , フ 数て、ディレクトリにシステム属性や不可視 順て、日付を更新しています。 TabIe 11 の関 ディレクトリに関しては今回説明した手 ないと思います。 ことばかりて、すから , とくに説明はいら ルに関してはこれまて、の連載て説明してき 用しています (Table 2 , Table 11 ) 。ファイ ンクションを呼び出すライプラリ関数を使 ョンて、サポートされているため , DOS ファ 方法ても更新て、きますが , DOS ファンクシ ファイルに関してはディレクトリと同じ ユーティリティの説明 ファイル検索 まくいかない場合があります。 特殊なポリュームラベルをつけているとう ルにはスペースを入れることがてきるため , Fig. 2 ファイル検索ユーティリティの使用法 [-a く dvsharw>] [ - s く属性 > ] ト t く日付 > ] ト d く日付 > ] [-fipw] す。 di Fig. 3 を定義しています。 このフラグは常にセッ [ く検索ファイル > ] ー t く日付 > の例 ー t1987-3-8 1 : 01 - t88-8-26 1 : 1 0 -t--- ( 年月日省路 ) どちらにしても di. c ( 付録ディスク収録 ) を クトリ ( とポリュームラベル ) の日付を更新 クトリを同じように処理しますが , ディレ て、指定されると該当するファイルとディレ なお , 現バージョンて、はワイルドカード 略します。 思います。よって , プログラムの説明は省 眺めてもらえば何をやっているかわかると fdirdatechg するモードとして Fig. 4 指定ディレクトリを再帰的に検索する - f の例 カレントディレクトリ以下のすべてのファイル (d : *. * ) ルートディレクトリ以下のすべてのファイル ( \ *. * ) di -f di 「 di -f file dir 以下のすべてのファイル (dir**. * ) ルートティレクトリ以下のすべての f ⅱ e di -f d : file カレントティレクトリ以下のすべての f ⅱ e di -f dir*file dir 以下のすべての f ⅱ e (*file) (d : file) (dir*file) ( * ) は例外操作で本ユーティリティを最初に作成したときにこの形式だけをサポート していたため互換性を考慮してこのような形になっている TabIe 12 DOS ファンクション 43h ( ファイル属性の取得 / 設定 ) 入力バラメータ DS : DX : AS ロ刀ヾス名のアドレス AL : OOh : ファイル 1 取得 AL : 01h : ファイ儿属 1 ー CX : ファイル属性 キャリー cx ニファイル属性 ( AL : 0 の場合 ) 返り値 AX : 01 h : 無効なファンクション ニ 02h : ファイルが存在しない : 03h . 無効なバス : 05h : アクセスの拒否 キャリー トされた状態て、すから , ディレクトリの日 付を変更することがないのてあればオプシ ョンスイッチて、 ON / OFF てきるように修正 してください。現在の仕様て、も拡張子を指 定すればディレクトリを除外することがて きるため , オプションスイッチて、の ON/OF F はやめました。 通常 , ディレクトリには拡張子をつけま せんが , ディレクトリにも拡張子をつける ことがてきるため , ディレクトリに . C と か . DOC といった拡張子をつけている場合は 拡張子て区別て、きなくなります。ディレク トリに拡張子をつける場合はファイルにつ けない拡張子をつけてください まとめ 今回はディレクトリの日付を変更する方 法に関して簡単に説明しました。同じ手法 を用いればディレクトリ内を直接ソートす るユーティリティを作成することも難しく ありません。 ディスクを直接読み書きすれば「何て、もあ り」といった状態になりますが , 失敗した場 合の危険度も高くなり , DOS ファンクショ ンを使用する場合と比較してプログラムも めんどうになります。 なお , 今回紹介したユーティリティてス イッチー f を指定すると再帰的に処理される 新 MS-DOS プログラミング入門 113 てください る可能性があります。十分注意して使用し 用されるため , 間違えて変更すると後々困 ルの日付は MAKE ユーティリティなどて使 非常に便利なスイッチなのてすが , ファイ ディスク全体を一度に処理したい場合には ため , スイッチを間違えるとたいへんてす。
新 MS ー DOS プロクラミング入門 C プログーマのための TabIe 2 ファイルの日付と時刻の設定 dos setftime 関数 #include く dos. h> unsigned dOS setftime( handle, date, time ) ・ 日付と時刻を変更するファイル八ンドル 最終更新日付 15 14 13 12 1 1 10 9 8 7 6 5 を使用してディスクを直接読み書きしてや ることにより機種依存せずに MS ー DOS のレ ベルて行うことが可能てす。 ルートティレクトリにあるティレクトリ 2HD ( 1.2M バイト ) ディスクのフォーマッ トは Fig. 1 のような構造をしています。ルー トディレクトリに登録されているディレク トリては論理セクタ番号 05h ~ 0Ah の領域を アプソリュートディスクリード / ライト (Ta ble 3 , Table 4 ) のシステムファンクション を使用して直接読み書きしてやります。ル ートディレクトリが格納されている位置は DOS ファンクション 32h ( 付録ディスクに D PB. TBL として収録 ) ての PB アドレスを取得 ・ルートディレクトリ領域開始論理セク タ番号 ・データ領域の開始論理セクタ番号 を参照すれば簡単にわかります。 ルートディレクトリ領域には TabIe 5 の内 容が 32 バイト一組て書き込まれているため , Table 5 の最終編集時刻と最終編集日付を 更新してディスクに書き戻してやればよい ことになります。また , ディレクトリを作 成したときにはふたつのディレクトリ 自身のディレクトリ 親ディレクトリ が必ず作成されているため , この日付と 時刻も同じように更新しておきます。 なお , このようにディスクに直接書き込 んだときは DOS ファンクション 0Dh てディ スクのリセットを行う必要があります。 サプティレクトリにあるティレクトリ MS ー DOS てはサプディレクトリにもディ レクトリを作成することがてきますが , のときディレクトリはデータ領域に作成さ れます。ルートディレクトリにはファイル 数とディレクトリ数の合計 ( 工ントリ数 ) に 制限がありますが , サプディレクトリはデ ータ領域に作成されるため , 工ントリ数に (MS-C, LSI C) int handle unsigned date 4 3 2 1 0 年 : 0 ~ 1 1 9 ( 1980 ~ 2099 ) 月 : 1 ~ 12 最終更新時刻 15 14 13 12 11 unsigned time ・ 10 9 8 7 6 5 分 : 0 ~ 59 4 3 2 1 0 時 : 0 ~ 23 han 引 e で指定したファイルの日時を変更する 返り値 : 0 : 正常終了 ! : 0 : 工ラー ( MS - DOS のエラーコード ) 参照 DOS ファンクション 57h (TabIe 1 ) se 血面 e 関数 #include く io. h > int setftime( handle, pftime ) : int handle struct ftime * pftime struct ftime { : 5 : / * 秒 / 2 unsigned 升 tsec : 6 : / * 分 unsigned 升 min : 5 : / * 時 unsigned 升 hour . 5 : / * 日 unsigned 升 day . 4 ・ / * 月 unsigned 負 month . 7 ・ / * 年 - 1980 unsigned 負 year 秒 / 2 : 0 ~ 29 (Turbo C/C 十十 ) 日付と時刻を変更するファイル八ンドル ファイルの日付と時刻 han 引 e で指定したファイルの日時を変更する 返り値 . 正常終了 : 0 ー 1 工ラー 参照 DOS ファンクション 57h (Table 1 ) 新 MS-DOS プログラミング入門 107
TEC ′ 0 ′ m 誂 io System CO ゆ・ W ・ s 対応 C コンヾイラ プログラムマネージャー [WDK] ファイルのオプション⑨ ウインドウ⑨ヘルプ⑧ MYPAL MENU DEMO Menu Example File CoIo 「 s States 釦幵盟「 e 以 n click in the window f0 「 a popup menu Eatte 「 n iTTY TTY き三 bittrap Applicati0Eß 日 tma p Meta Wa 「 e MULTIPAD COMBO FiIe Open を TXI ・ d:V. .\sdk\multipad D irectones Open Fde Name OK 新発売 ※写真は開発中のものです。 MetaW9re 社 H庵目 C386 WDK は、 MS-Windows Ve 「 .3.0 のエンハン トモードを完全にサポトした C 言語コンパイラです。 Windows A の サポートにより、優れた u 陸有するアプリケーションの構築ができます。 また、 Ph 計 L 言ト社の 38 引 DOS-Extender にも対応しているので 640KB のメモリ制限を越えた DOS アプリケーションの構築もできます。 HIGH 0386 ◆豊富なコプロセッササポート しかも、強力な最適化機能と 32 ビットネイテイプコードの生成 数値演算コプロセッサ 80287 、 80387 、 80486 、 EMC87 、 により、超高速な実行速度を実現。また、漢字対応なので Weitek 1167 / 3167 を完全にサポートしており、高速な 日本語の処理ができます。 浮動小数点演算処理を実現します。 3 DOS ー Extender の DPMI 規格対応により作成された ◆ 32 ビットタイナミックリンクライプラリ DOS プログラムは、 MS-Windows の DOS 互換 BOX で実行 独自の DLL スーパーバイザにより、 32 ビットの DLL 可能です。 DOS 工クステンダブログラムの、デバッグには、ソー fo 「 MS-Windows Ve 「 .3.0 (Dynamic Link Library) を生成できるので、多機能 スレベルラヾッガが使用できます。 かっスマートな Windows アプリケーションが開発可 Enhanced & 38 引 DOS-Extender 能です。 ー / SX / / 4 SX CPUÆ載機 ◆ 16 ビットタイナミックリンクライプラリの呼び出し ◆開発効率を向上させるメイクユーティリティ NEC シリーズ、 EPSON PC シリーズ、旧 M PC/AT 互換機 ハードディスクと 2 ル旧以上のプロテクトモードメモリ MWMAKE は、シンカレなマクロと豊富なオプションスイツ 1 16 ( ) 関数により MS-Windows SDK でつくられ ー Windows プログラミングに必要なソフトウェアー チにより、ソースコードの修正に伴うプログラムのコンパイ た 16 ビット DLL を 32 ビット Windows アプリケーションか ー M ℃「 09 代 Windows Ve 「 .3.0 ルとリンク処理を効率良く行うユーティリティです。 ら使用できます。 ( 但し、 Unlock Data( ) を使用でき - DOS 工クステンダブログラミングに必要なソフトウェア - ◆ Windows A サポート ません ) IPharLap 社 OOLBOX v 部 .4 •MS-DOS V 既 3 ヨ以上または相当品 0 「日本旧 M DOS/V v 既 4.2 以上 ◇ DOS 工クステンダ対応 標準で 6 開種類にも及ぶ Windows API 関数を全てサ ※ DOS 工クステンダブログラミング専用の H 旧 H C386 もあります。 ポート数は HIGH C386 WDK に含まれるヘッ 38 引 DOS ー E ender 対応なので、ポインタが 32 ビットに ダファイル ( windows. h ) で 32 ビット関数としてプロトタイプ なり FAR ポインタを使用せずに 4G バイトに及ぶアドレッ 宣言されており、パスカル呼び出し規約に従って使用で シングが可能で、 640KB のメモリの壁を気にせずに、巨 定価 \ 238 , 000 きます。 大な DOS プログラムをスムーズに開発できます。 ( 価格に消費税は含まれておりません。 ) テック情報システム株式会社 〒 261-71 千県千葉市美浜区中 2-6 WBG マリフィースト 12F TEL043-29 た 3061 代 FAX043-29 た 3060 / 製品についてのお問い合わせ 043 ー 284-4822 ( 旧テックソフト & サービス株コンビュータ事業部 *MS DOS 、 MS-Wndows 、 MS-Wndows SDK は M ℃「 0S0 負 Co 「 p の商標です。 * その他プログラム名、システム名、コプロセッサ名、 CPU 名は一般に各メーカーの登録商標です。 く資料請求番号 024 >
引 TOD : ・ 3 すやミり・ 新発売 TEC 加′ m io System Co ゆ . 640KB の壁を破る DOS プロクラムのための開発ッ→ Phar Lap 社の開発した 38 例 TOOLBOX です 開発できますこれを含む開発ツールキットが米国 DPMI 環境下で実行可能なアプリケーションを XMS 環境に完全対応し、 Windows の様な (DOS Protected Mode lnterface) 環境と PharLap 社の DOS 工クステンダは、 DPMI プログラムを 386 本来のスピードで実行します な領域として、ユーザプログラムに提供し、ユーサ DOS 工クステンダは、膨大な拡張メモリをフラット はアプリケーション開発にとって最大の障壁です 壁と 80386CPU 等の本来のスピードを使えない事 16 ビット DOS のプログラム開発において 640KB の ー 32 ビットフルセット開発ツールま TOOLBOX 386 001 田 OX は、 DOS 工クステング・アセンプラ・リンカ・ ライプラリアン・デバッガ・仮想記憶マネージャ及び環境カ スタマイズーティリテイからなる強力な開発ツールキットで す。米国では CAD システム等の開発ツールとして絶大な信 頼を得ています。 開発した製品を販売する場合のみランタイムライセンスが 必要です。 ◆柔軟で高機能な開発環境を提供 ツール群の柱となる PharL 叩社の DOS 工クステンダは MS ー DOS を拡張し、 386CPU 本来のスヒ。ードと 4G バイト のアドレス空間をユーザプログラムに提供します。 DOS 工クステング自身が DOS プログラムのため、従来の工 タ等のツールや DOS の管理下にあるデバイスドライバを 利用できます。 V に AM 等へのアクセスも専用セクメントを使 い直接アクセスできます。また、 DOS へのシステムコールの 他、リアルモード手続きの呼出し、プロテクトモード割り込 みをするための拡張システムコールを標準サホート。 ◆ DPMlsXMS 、 VC 曰完全サポート DOS 工クステンタで実行されるプログラムは、その幅広い 阨 2.2 い既 4 バージョンアップサー 実行環境により、 MS ー W ⅲ dows に代表される DPN Ⅱ環境 や [S 環境下での実行や他のアプリケーションとの共存 が可能です。 ◆プロフェッショナルアセンプラを標準装備 TOOI 田 OX の 32 ビットアセンプラは 8086 ~ 486CPU : 団 87 ・ 287 ・ 387NDP の全命令を使え、ソースプログラム形式はマ イクロソフト社の MASMVer. 5 とほば完全な上位互換性を 実現、 32 のトプログラムへの移植は容易です。しかも、アセン カレ動作は超高速で内部のシンポルテーカレなどにサイ ズ制限がないので大きなプログラムのアセンフルに最適です ◆ユーサーパワーを拡張する 32 ビットリンカ TOOLBOX のリンカは 32 ヒ。ットオプジェクトや SM 等の 16 ビットオプジェクトとのリンクができ、 32 ビットプログラミン グに最適です。しかも、プロテクトモードで動作し、 640 KB の制限なく、より大きなプログラムを高速にリンク します。 ◆仮想記憶マネージャ 386 IVMM 386 IM はデマントページング方式の仮想記憶マネー ジャです。ハードスクの空き領域を利用し、本体に実装 されている以上のメモリー空間をプログラムに提供します。 ビス実施引お問い合わせはテク = カルサポート ~ DOS 工クステンダ対応高級言語 ( 別売 ) MetaWare 社 High C386(NEC, 旧 M 版 ) ソースレベルデパッガ ( 旧 M 版 ) 定価 \ 198 , OOO 及び相当品 SOFT: MS-DOS V 3.1 以上 2MB 以上のプロテクトモードメモリ ハードディスク * 富士通 FMR シリーズ版については、御連絡下さい。 旧 M PC / AT 互換機、各種 AX マシン東芝 J ー、 J ー 3 0 シリーズ NEC PC - 、 H98 シリーズ、 EPSON PC 6 シリーズ HARD : 80386 / 386SX / 486CPU 搭載機 ー動作環境 NDP C386(NEC, 旧 M 版 ) MicroWay 社 NDP FORTRAN386(NEC, 旧 M 版 ) ・なおユーザー登録を必すしておいて下さい。 * ランタイムライセンス \ 68 , 08 ( 税別 / 使用機種別に購入して頂く必要があります ) テック情報システム株式会社 , 丿プ← , ト 12F 〒 261-71 千葉県千葉市美浜区中冫頼 2-6 TEL043-297-3061 代 FAX043-297-3060 朝日テックソフト & サービス株コンヒ。ュータ事業部 ) 製品についてのお問い合わせ 容 043-284-4822 *MS DOS は、 M ℃「 0S0 れ Co 第の登録商標です , ネその他、フログラム、システム、コフロセッサ、 CPU 名は、各メーカーの登鉧商標です * 6 (X)S-Extender, 3 新 ASM. 凵 NK, 。 DEBUG. 3 VMM は米国 Pha 「 L 叩社の登録商標です。 く資料請求番号 023 〉
ソフトの道具箱 C/Window ( シーウインドウ ) 「 DOS の統合開発環境を実現」 ロライフラリ関数のソースコードーーー完全公開 きわめて移植性の高いコートなのて , コン八イラの八一ション・アップへの対応や , 異なるコンバイラ 「異機種の開発かあなたのマシンで OK み 通常のアプリケーション・プロクラムへの組み込みに対するロイヤリティーは一切不要 ロ組み込みロイヤリティーーーー無料 への移植作業はこ自身の手て容易に実行可能 ¥ 60 , 000 ( 機種別 ) C/Dbase ( シーティーベース ) ¥ 90 , 000 ( os 別 ) 仮想画面をナポートした本格的なオーバーラップ型マルチウインドウ・アプリケーション開発用の関 C/Print ( シープリント ) イツはで日本語完全サポート。 低レベルな入出力から高機能なスクリーンエデ ・力なテキスト操作処理 色 , タイル , 亜なり順序の変史。 拡大縮小、移動 , 表示 ON/OFF, 枠タイトル、 ・多彩なウインドウ操作 画面に投影。 巨大な仮想画面を設定可能。ビューとして物理 ・仮想画面の概念を導入 プログラムがそのまま異機種で動作可能。 ひとつの機種て、開発されたアプリケーション・ すべて吸収 ・異機種間の画面制御方式の相違を 数ライプラリ。グラフィックスもサポートしているので , きめ細かな画面設計が容易に実現可能。 \ 30 , 000 ( 機種別 ) BorIand (Turbo) C 十十 Microsoft C (Quick C), ・対応言語 : MS-DOS, DOS/V ・対応 OS : シリーズ , FM-R シリーズ PC ー 9800 シリーズ、 , DOS,/V'+2 コン , J ー 3100 ・対応機種 : すべて図形として管理。 背景模様 , グラフィック文字 , イメージデータ等 , 線 , 矩形 , 円 , 楕円 , 準りつぶし , マーカ , 枠 , ・メモリ効率のよいグラフィック管理 ラインプ ) ンタでもべージプリンタ感覚でレイアウト可能。 仮想べージ・プリンタ方式を採用したテキスト十グラフィックス印字ツール , C / Window と完全連動。 C/Graph ( シーグラフ ) C / Window にて作成された画面の印字も可能。※別売の C / Window が必要て、す。 ■ C / W dOW と連動 図形表示 , 塗りつぶし全面 / 部分画面コヒ。 ・豊富なグラフィック処理機能 種々の文字サイズ , 文字属性 , 網掛けをサポ ・テキスト装飾機能 パソコン / プリンタで出力が可能。 駐させるので , プログラムの変更なしに異機種 プリンタの機種依存部はすへて BIOS として常 ・異機種パソコン / プリンタに対応 PC ー 9801 シリーズ , DOS/V'€Y コン , J ー 3100 ・対応機種 : BorIand (Turb0) C 十十 Microsoft C (Quick C), 対応言語 . MS-DOS, DOS/V ・対応 OS : PC-PR201 系 , ESC/P 系 ・対応プリンタ : シリーズ , FN ト R シリーズ 検索ロジックに正当な Btree + アルゴリズムを採用 , 本格的データ・べース構築用関数ライプラリ。 提供関数群は ISAM 関数 , Data 関数 , Btree 関数の 3 グループこ大別。 ISAM 関数は一般的 な業務用データ・べースの構築に最適。 Data, Btree 関数は文献検索システム、 CD-ROM 検索 システム等にも威力を発揮。 ・完全マルチ・プロセス対応 レコードレベル、ファイルレベル排他制御を ・豊富な検索機能 キー値によるアクセスに加えて , レコード番号によ るアクセスも可能。 ー削除レコードの復旧機能 削除レコードはファイルのパージを行うまでファ イル内に存在するので . 必要に応じて復旧可 能。 ー充実したファイルの破壊対策機能 ファイルの整合性検証およびに修復の機能は ユーティリテイだけでなく関数としても提供。 C/BCD ( シー七一シーテー ) ・高速な検索スビード データ量が多くなるほど , 威力を発揮。 ・ DOS 版 対応 OS : MS-DOS, DOS/V 対応言語 : Microsoft C (Quick C). BorIand (Turbo) C 十十 ・ WINDOWS 版 (DLL 方式 ) 対応 OS : MS-WINDOWS ( V3.0 ) MS-WINDOWS ( V3.1 ) 対応言語 : Borland C 十十Ⅳ 3.0 ) Microsoft C/C 十十 ( V7.0 ) ・ OS / 2 版 ( DLL 方式 ) , UNIX 版 対応 OS : 問い合わせ下さい。 対応言語 : 問い合わせ下さい ¥ 30 , 000 お金の計算のように高い演算精度が要求処理を実現すごめの関数ライプラリ。サポートは 四則演算のみだが , double への型変換を行えば科学技術計算も可能。また , BCD 型データは C / Db ” e にてサポートされる ISAM キー値としてそのまま使用可能。 ¥ 30 , 000 PC ー 9801 シリーズ , DOS / V パソコン , J ー 3100 ス、軸 , セグメントラベル , 凡例 ) の属性の規定値を変史することにより , キャンバスの枠 , 背景色な 1 つあるいよ複数のデータ系列から 13 種類の図表を簡単に作成可能。また , 各図表要素 ( キャンバ ■異 OS への移植か簡単 すべて c 言語で記述 , 異 OS への移植が容易。 ・豊富な編集機能 sprintf ( ) のよプょ手軽さで BCD 型のデータを編 集可能。 Comming Soon ・ C/Window Lite ( Y30 , 000 ) C / Window サプセットのテキスト型ウインドウ。 スト型ても見栄えは良好。 DOS / V 用と PC ー 9801 用がレヾッケージ : 'C/Print Lite ( \ 30 , 000 ) ・対応 OS : MS-DOS, DOS/V ・対応言語 . Microsoft C (Quick C), Borland (Turbo) C 十十 ( 近日発売予定 ) DOS / V の豊富な文字属性をサポート , テキ どきめ細かい変史がグラフごとに可能。 ・多彩なグラフ種類 横棒グラフ ( 4 種類 ) , 縦棒グラフ ( 4 種類 ) , 折 れ線グラフ ( 2 種類 ) , 円グラスレータ・一チャー ト , 散布図をサポート。 ・多彩な図表要素 種類豊富な枠形状 , 線種 , マーカ形状 , 文字 サイズ , 背景模様 , 塗りつぶしパターンをサポ ・上記価格には , 消費税は含まれておりません。 ・対応機種 : BorIand (Turb0) C 十十 Microsoft C (Quick C). ・対応言語 : MS-DOS, DOS/V ・対応 OS : シリーズ , FM-R シリーズ。 ※別売の C / Window が必要て、す。 C/Print のサプセット。テキスト + グラフィクスの印字が可能。帳表印字等に最適。 DOS / V 用と PC ー 9801 用が 1 パッケージ。 ・ C 十十用製品 ツールクラフトては、今後 C + + 用のクラスライプラリ製品を販売する予定ております。ご期待下 ※上記機種以外のパソコンへの移植も以下の条件にてこ相談に応します・・・・・・作業期間司 ~ 8 週間 , 受注価格 = 応談 , 受注条件 = 作業期間中パソコン貸与 く資料請求番号 182 〉 TEL. 0424 ( 89 ) 0202 FAX .0424 ( 89 ) 4888 〒 182 東京都調布市国領町 2 ー 3 ー 15 センチュリー K & AI 102 号 AQLFT 黯 " ツールクラフト ■開発元・販売元・問い合わせ先 ・ MS-DOS. MS-OS/2, MS-WINDOWS, MS-C, Quick C は米国 Mic 「 0SOft 社の商標です Borland c 十十 . TurbO C は米国 Borland te 「 na む on 社の商標です DOS/V' 旧 M / 2 は米国旧 M CO 「 p. の商標です
3 0 ー A 0 The レⅲ O わ c ト O れ d Programming BORLAND 0 + 現在、活躍中の PC -98 版に加えて DOS / V 対応版、できました。 ロ国回圄回回国回回回曰困国ロ ロ回画回回国国回国囹回ロ国 ロ囚回国回回団囮囮国ロ国 = 回団回回回ロロ@国二 ロロ = = = ロロロ ANSI C 、 AT&T C + + 3.0 対応の超高速最適化 ークポイント設定や、ローカル / グローバルなヒーフの キャラクターベースの DOS アプリケーションに提供 コン / ヾイラ「 BORLAND C + + & APP 凵 CATION 検査が可能な Turbo Debugger など、高性能なツ します。ほんの少しのコードて、、マウス対応のオーバ FRAMEWORKS 3.0 」。 DOS と Windows のアプ ーラッフマルチウインドウやプルダウンメニュー、ダイ ール類を、すべて標準て、装備しています。 リケーション開発に必要な環境・機能・ツール類 アログボックス、ボ、タン等を駆使したイベントドリプ ■動作環境・適応機種 : DOS / v 版・・ IBM PS/ の全てを備えたこの " 世界標準プロフェッショナル 55 シリーズ、 PC / AT100 % 互換機 (DOS/V 動作マ ン・アプリケーションを、望み通りに実現て、きます。 開発環境 ' に、今回「 DOS / v 対応版」が新登場 ■機能と信頼性を向上させる高機能なツール群 シンに限る ) 、 98 版・ NEC PC ー 9800 シリーズ ( ハイレ 従来の PC -9801 版と合わせて、プロ開発者の高 プログラムの実行に関してどこがボ、トルネックになっ ゾモード対応、 XA を除く ) 、 EPSON 286 / 386 シリー 度なアプリケーション開発を強力に支援します。 ている力、を指摘する Turbo ProfiIero DOS の標準 ズ (CPU 80286 以上のマシン ) ・ OS : DOS/V 版 EObjectWindows IBM DOS バージョン J5.02 / V 以上必須、 MS ー 入出力を Windows 上にエミュレートする EasyWin ライプラリ。新しくオプジクト指向に機能拡張され Windows 用の画面制御クラスライプラリ・ Object Windows 3.02 以上 ( Windows アプリケーション作 Windows は、ボ、一ランド独自の、 Windows メッセ た Turbo AssembIero 高機能なオーバーレイ技 成時のみ ) 、 98 版・・ MS ー DOS バージョン 3.0 以上 ージを処理するダイナミックテンスパッチ機能により、 術により、 DOS アプリケーションの 640KB の壁を突 必須、 MS-Windows 3.0 以上 ( Windows アプリケ Windows フログラミングのモデンレを簡素化し、 破する VROOMMoWindows メッセージへのプレ ーション作成時のみ ) ・メモリ : 最低 IMB 以上のプ Windows アプリケーション開発を合理化します。 ロテクトメモリ必須 ( 推奨プロテクトメモリ 8MB 以上 ) また、 MDI やカスタムコントロールへのアクセスと ・周辺機器 : 最低 15MB 以上のハードテンスク容 いった Windows の特徴的な機能を活用したフ 量必須 ( 最大容量 BC + + AFX : 50MB 、 BC + + : 33 ログラムを、簡単・短時間に作成て、きます。 MB ) 、マウス対応 ETurbo Vision ■価格 DOS 用画面制御クラスライプラリ・ Turbo Vision BC + + & AFX 3.0 ・ ¥ 98 , 000 は、構造的に優れたユーザーインターフェースを、 BORLAND C + + 3.0 ・ \ 58 , 000 ( 本製品の価格には消費税は含まれておりません ) い BORLAND 0 、調 ( " BORIAND い & A 一 FRA 、び KS & ÅPPLICÅTION FRÅMEWORKS 3.0 こ・注意 : VCP はたは DP Ⅵに対応していないプロテクトメモリを使用するアプリケーション ( EMS ドライバなど ) とは共存できません。 ボーラント株式会社 〒 151 東京都渋谷区笹塚 1-64-8 笹塚サウスビル TEL ℃ 3-5350-9380 X ℃ 3-5350-9369 ※ AII Borland Products are trademarks 0 「 registered trademarks Of Borland lnternational, 抦 c. OBorland lnternational, lnc. ※ Windows は米国マイクロソフト社の登録商標です。その他、商品名は一般に各社の商標です。 ※詳しくは、カタログをこ・請求ください。 旧ⅢⅢ懼刪刪川 II く資料請求番号 F04 〉 雑誌 14325 ー 12 T 1 01 4 5 2 5 1 2 0 9 8 4 C ソフトパンク凸版印刷 Printed in Japan
に , そのユーティリティのバージョンを時 更します。変更に当たってはひとつずっ聞 更します。 刻に設定する場合に使用て、きます。 いてきます。 ( 10 ) di -fD カレントドライプのすべてのファイルと ( 12 ) di -id ( 14 ) di a : -ad -d トリを現在の日付時刻に変更しま a : ドライプのカレントディレクトリのデ カレントディレクトリのファイルとディ ディレク す。かなり危険なコマンドになりますから , レクトリを今日の日付 ( 時分秒 : 0 ) に変更し ィレクトリを今日の日付 ( 時分秒 : 0 ) に変更 注意してください ます。変更に当たってはひとつずっ聞いて します。ディレクトリはひとつずっセクタ リード / ライトて、処理するため , ファイルに きます。 ( 11 ) di -d--- 1 : 00 * . exe ( 13 ) di -fid 比較して時間がかかります。 カレントディレクトリの EXE ファイルの カレントドライプのすべてのファイルと 日付を現在の日付にして時刻を 1 時 00 分 00 秒 ( 15 ) di a : -av -d にします。ユーティリティを作成したとき ディレクトリを今日の日付 ( 時分秒 : 0 ) に変 a : ドライプのポリュームラベルを今日の TabIe 9 プートセクタの内容 Table 1 1 ファイル属性の設定 内 オフセットバイト dOS setfileattr 関数 3 プートストラップトチンへの sho 卍 nea 「ジャンプ 00h 8 OEM ネームとバージョン 03h #include く dos. h> 2 1 セクタ当たりのバイト数 ( バイト / セクタ ) OBh unsigned dOS setfileattr( path, a 「 ) ・ 1 クラスタ当たりのセクタ数 ( セクタ / クラスタ ) ODh 1 2 予約セクタ数 OEh 属性を設定するファイル名 char * path FAT の数 1 Oh 1 0 設定する属性 unsigned a 「・ 2 ルートティレクトリのエントリ数 path で指定したファイルまたはディレクトリに a 「で指定した属性を設定する 2 論理セクタ数 ( 1 6 ビットセクタ ) 13h フ 1 メティアバイト メ 15h 属性定数 設定値 2 1 FAT 当たりのセクタ数 ( セクタ /FAT) 16h タ DOS 3. x 以降 プ 通常のファイル A NORMAL 0X00 ロ 書き込み不可属性 2 トラック当たりのセクタ数 ( セクタ / トラック ) A RDONLY 0X01 18h ツ 隠し属性 A 印 D D E N 0X02 2 ヘッド数 1Ah ク システム属性 A SYSTEM 0X04 4 隠しセクタ数 1 Ch ボリューム A VO LI D 0X08 DOS 4.0 以降 (DOS 3. x : 15h ~ 25h : 予約 ) サプティレクトリ A S U B D 旧 Ox 10 ( 32 ビットセクタ ) 4 論理セクタ数 20h アーカイプ属性 A ARCH 0X20 1 物理ドライプ番号 24h 返り値 = 0 : 正常終了 80h : 最初の物理ディスクドライプ 00h : 左記以外 ! : 0 : 工ラー ( MS-DOS のエラ ーコード ) 1 予約 25h 1 拡張プート識別コード ( 29h ) 26h 参照 DOS ファンクション 43h (Table 12 ) 4 ホリュームシリアル番号 27h 1 1 ボリュームラベル chmod 関数 2 B h DOS 5.0 以降 #include <dos. h> 8 ファイルシステムタイプ 36h #include く iO. h > 1 2 ピット FAT ” FAT12 1 6 ビット FAT "FAT16 int chmod(path, 1 , a 「 ) ・ 属性を設定するファイル名 char * path 設定する属性 int a 「・ path で指定したファイルまたはティレクトリに a 「で指定した属性を設定する 属性定数 設定値 書き込み不可属性 FA RDONLY 0X01 隠し属性 FA HIDDEN 0X02 システム属性 FA SYSTEM 0X04 ボリューム FA LABEL 0X08 サプティレクトリ FA D 旧 EC Ox 1 0 アーカイプ属性 FA ARCH 0X20 返り値 ー 1 : ファイル属性 ( 正常終了 ) ー 1 : 工ラー 参照 DOS ファンクション 43h (Table 12 ) (MS-C, LSI C) 0 の場合 意味 (Turbo C/C 十十 ) ()S 01) Table 10 バス名の置換 DOS ファンクション 60h バス名の置換 引数 AH = 60h DS : : バス名のアドレス ES : 引ニ置換後のノヾス名のアドレス INT 21 h 返り値 キャリー AX : 02h : ファイルが存在しない AX : 03h : 無効なバス キャリー 正常終了 U BST/JOIN/ASSIGN コマンドなどで置換されたノヾス名の実際の 理的なノヾス名を返す ES : 引レジスタで指定したバッフアには d : *path*filename. e または **machine*path*filename. ext( ネットワークドライプ ) という形式でセットされる (DOS 非公開 ) 意味 ( 128 バイト ) 機能 C MAGAZINE 1992 12 112
新 - OS プログー、 / グ入門 C カグラマ のための 中島信行 第 27 回ディレクトリの日付変更 ディスクを配布するときにファイルの日付とい っしょにティレクトリの日付も揃えておきたく なる場合もあることでしよう。今回はティレク トリの日付を変更する方法について説明します。 ンクションて、ディレクトリの日付を変更す DOS ファンクションて、取得可能なため , アプソリュートディスクリード ( Table 3 ) ることはて、きません。しかし , ディスク上 て、ディレクトリが書き込まれている位置は アプソリュートディスクライト (Table 4 ) Table 1 DOS ファンクション 57h ( ファイルの日付時刻の取得 / 設定 ) 入力バラメータ 返り値 AH ニ 57h BX : ファイル八ンドル 無効なファンクション AX : 01 h AL ニ 00h : 日付と時刻の取得 無効な八ンドル ニ 06h AL : 01h : 日付と時刻の設定 キャリー 正常終了 CX ニ設定時刻 CX : 時刻 ( AL : 00h の場合 ) DX : 設定日付 DX : 日付 ( AL = 00h の場合 ) はじめに 1991 年 1 ・ 2 月号て、ファイルの日付を変更 する方法について説明しましたが , そのと き説明した方法て、はディレクトリの日付は 変更て、きませんて、した。ディレクトリの日 付の変更は DOS ファンクションて、サポート されていないため , ディスクを直接読み書 きしなくてはいけません。言葉て、いえば簡 単て、すが , 実際はけっこうたいへんな作業 になります。 キャリー Fig. 1 2HD ( 1.2M バイト ) ディスクフォーマットと DPB 情報との対応 ( 予約セクタ数 ) FAT 領域開始 論理セクタ番号 ティレクトリの日付変更 ファイルの日付と時刻の設定て、あれば以 前説明したように DOS ファンクション 57h (TabIe 1 ) を呼び出す TabIe 2 のライプラリ 関数を使用すればよいだけて、す ( 付録ディス ク収録 BUNKEN. TXT の [ 1 ] 参照 ) 。この 関数はファイルハンドルを指定するように なっていることからもわかるようにディレ クトリには適用て、きません。 MS ー DOS て、はファイルとディレクトリは まったく別の構造になっており , DOS ファ テータ領域開始 論理セクタ番号 ( クラスタ番号 : 2 ) ルートディレクトリ領域 開始論理セクタ番号 0 1 2 3 4 セクタ 5 6 7 8 トラック ルートディレクトリ 01 02 03 04 00 05 06 07 08 09 OA OB OC OD OE OF テータ 1 2 3 4 5 6 7 8 論理セクタ番号 6 7 106 C MAGAZINE 1992 12
0 0 し 300 円 し 300 円 し 300 円 し 300 円 L300 円 ・・・ 3 ′ 600 円 ・・・ 2 ′ 200 円 ・ 3 ロ 00 円 2 , 400 円 ・・ 2 , 400 円 し 900 円 し 500 円 し 900 円 ・・・ 2.300 円 ・・・ 2 ′ 300 円 L900 円 ・・・ 2 ′ 400 円・ ・・・ 2.300 円 ・・・ 2 す 980 円 はじめの一歩工コロジⅡ はじめの一歩 MS-DOS 3.3D はじめの一歩花子 Ve 「 .2 はじめの一歩 VZ 工テイター し 300 円 はじめの一歩 Lotus1-2-3 R2.3 はじめの一歩一太郎 Ve 「 .4 なお、現品が売れて補充中の場合もありますのでご注意ください。 その他にも小社の出版物を豊富に取り揃えております。 PracticaI C Programming ・ C プログラマのためのアルゴリズムとテータ構造 C: 98 スー / ←ライプラリ 新 C 言語入門応用編 新 C 言語入門シニア編 新 C 言語入門ピギナー編 新 C 言語入門スーノ←ピギナー編・ 新 MS-DOS Ve 「 .5.0 入門ヒギナー編・ 新 MS-DOS 入門応用編 新 MS-DOS 入門シニア編・ 新 MS-DOS 入門ピギナー編 旧 M-PC AT 互換機ガイドブック・ 新 98NOTE スーバーブック・ まること FD ブック・ フェア取扱書籍 準備万全で、あなたをお待ちしています ! 深まる秋とともにもう一歩、奥まで学んでみては ? 初めての方も、ちょっとかじった方も、 ご好評いただいているソフトバンクのフックフェス今回は秋の登場。 読書の秋、勉学の秋、パソコンの秋。 全国有名書店にて開催 ! はじめの一歩 コン めのツ 0 ぃ はじめの一歩フェア