GDBWin Readme.gdb もくじ

■ はじめに
### ベータリリースです ###
### 0.83bについて ###[X] 更新
### このファイルについて ###
### メールアドレスの廃止について ###[X] 更新
  開発にあたり
  著作権・使用許諾
  動作報告&バグレポート
  謝辞
■ 概 要
  GDBWinについて
  使用できるファイルの種類
■ 絶対に注意すること
  大事なGDBは開かない(開くこと自体が危険)
  変換ツールを使うときは注意
  GDBWinで変更したGDBファイルをそのまま配布しない
  特殊なGDBには使わない
  同じファイルを同時に開かない
  フィールドの違うGDBにレコードをコピーしない
■ 使い方
  キーアサイン
  「ファイル」
  「編集」
  「表示」[X] 更新
  「検索」
  「オプション」
  カテゴリー
  サブセットの変更[X] 更新
  ファンクションキー
  スマートクリップの変更[X] 更新
  カラムの変更[X] 更新
  アクセスキー
  Note編集画面
  編集補助1
  編集補助2
  Note補助
  データカード[X] 更新
  iPeXサポート
■ オプション
  「コントロールを立体的に表示」
  「コントロールの拡大率」
  「フォントによって固定」[X] 更新
  「色」と「フォント」
  「拡張子関連付け」
  「GDBファイルのメモリへの読み込み」
  「バックアップフォルダ」と「バックアップの削除」
  「Note編集にRichEditを使用する」
  「iPeXサポート」
  「日時書式」[X] 更新
  「カラム幅」[X] 更新
■ エラー対処
  ルックアップがなんとかといってエラーが出ます
  メモリが足りないと言われました[X] 更新
  ルックアップテーブルを保存しないと言われました
■ 既知のバグ
  Note編集画面のClear(F4)動かない
  LXでレコードを編集するとアラームが鳴る
■ サンプル
  スマートクリップサンプル
  iPeXコマンドサンプル
■ GDBあれこれ
  制限一覧
  どの程度互換性があるのか
  レコード数などに制限はあるのか
  ソート結果が食い違っても問題はないのか
  壊れているGDBについて
  付加テストについて


■ はじめに
このたびば、GDBWinをダウンロード、御試用頂き、大変ありがとうございます。

このソフトは、まだベータバージョンです。正直に言うと、アルファ以上、ベータ未満といった感じですから(笑)、御試用の際には、細心の注意をはらって御使用ください。

また、ご使用後の感想、ご意見などを、お寄せ頂ければ、正式リリースにおける貴重な資料となりますので、ぜひ忌憚のないご意見をお寄せいただければ幸いです。特に、GDBファイルは多種多用なため、動作報告は非常に役立ちます。ぜひお願いします。
m(__)m

宮森徹
NIFTY-Serve : PXB04052(南 徹)

戻る 目次へ

### ベータリリースです ###
ご自身で責任の取れない方は使用をお控えください。最悪の場合、GDBファイルが壊れます。

また、 ### 操作によっては、データを変更していなくても、ファイルに書き込みが行われますから注意してください ####

もしGDBが壊れた場合は、基本的に復旧できないとお考えください。

こちらでは、原因追求などは、できる限り行いますが、GDBファイル自体の復旧は受け付けることはできません。

ご了承ください m(__)m

戻る 目次へ

### 0.83bについて ###[X] 更新
0.80bから0.83bにかけての修正の柱は下記のとおりです。

・こまかな動作修正(特にデータカードまわり)
・サブセット、スマートクリップの定義変更機能追加
・カラム表示変更機能追加
・GDBファイルサポートの内部処理一部変更

すでに、かなりデカくなってきました。機能も増えてきて、ルートチェックも
ままならない感じです。開発が本格化して以来、私自身は、LXを使う時間が無
くなりました(笑)。GDBも、妙なGDBのデバック作業の繰り返しで、普通に使
うということがなくなったため、思いっきりバグを見逃していることがありま
すから、その節は、バグレポートお願いしますm(__)m。

今回追加した機能群については、要望云々よりも、先行してGDBまわりの機能
を追加しておかないと、後々改修の手間が増えるためという意味合いが強いです。

そのため、需要の多いと思われるCSVの読み込み、書き込みなどは、後回しに
しています。

また、SSLやSmartClipの部分では取りこぼしも多いかもしれません。

要望などは、自由に言っていただいてかまいませんが、時期については、なん
とも答えようがないため、そのへんご了承願います。

当面は、使い勝手や、別機能よりも、基本機能の安定とLXの整合性が優先されます。
戻る 目次へ

### このファイルについて ###
このファイルは、GDBWinで見やすいように、Note部分にほとんど改行を使っていないので、LXに持っていかない方が良いでしょう。
一応、スマートクリップでHTMLに吐き出せるようになっています。見たい人は最初の「HTMLヘッダ」をクリップして中身を読んでください。

このファイルは、開発の区切りに書きなぐってるので、誤字脱字が多いのですが我慢してください(^_^;)
更新チェックが付いてるものは、このバージョンにおいて更新された部分です。
戻る 目次へ

### メールアドレスの廃止について ###[X] 更新
従来、このファイルに載せていた、fronttom@ro.bekkoame.ne.jpは
廃止されました。直接私にメールされる方は、すべてNIFTY経由でお
願いします。

私から返事を差し上げる場合、シグネチャにはInternetのアドレス
が記載されて送付されますが、その場合にも、NIFTY側を使うようにして
ください。

上記、fronttom@ro.bekkoame.ne.jpは98/10/1付けで廃止されてい
ます。もし、この日付以降に私にメールして、返事をもらっていない
方は、私の所へ届いていませんので、お手数ですが、再度送信してく
ださい。


戻る 目次へ

  開発にあたり
本来は、違うツールを作るためにGDBまわりの解析をしていたんですが、どうもや ってくウチに、できそうだったので、ぼつぼつやっていくと、どういう訳か、最初の目的のツー ルより先にできてしまいました(笑)。

画面まわりなど、GDBの破壊に繋がらない部分のコードは、半分もうろうとしながら書いてるので、けっこう変な動作をするかもしれませんが、おかしな動作を見つけたら教えてください。

根本的には、GDBまわりの足回りを確認するためのソフトなので、けっこう心もとないところもありますが、ちょっとした時のGDBビ ューワー として、使っていただければ幸いです(バックアップは忘れずに!!!)
戻る 目次へ

  著作権・使用許諾
・GDBWinの著作権は、著作者である私(宮森徹、南徹)が所有しています。

・GDBWinはいわゆるフリーソフトです。個人が使用するにあたり。使用者が著作権者に対して対価を払う義務はありません(カンパは歓迎(^_^;)、アクセスギフトで良いです)。

・GDBWinは現在ベータリリースの段階です。著作者の許諾なしに、再配布、転載することを禁止します。

・GDBWinを利用したことにより発生したあらゆる種類の損害に関して、著作者は一切の責任を負いません。

・GDBWinはLXユーザーのためのソフトです。ユーザー以外の使用を禁止します。持ってない人はすぐに買ってください。

#####################################################
iPeXは、Brahma氏によるLXの内蔵PIMに画像表示機能
を付加する常駐プログラムで、著作権者は同氏であり、
著作権は同氏が所有します。
#####################################################
GDBWinでは、あくまでもコマンド指定を受け取り、ある
程度似たような表示をするだけでありソフト的には関係
ありません。
#####################################################
戻る 目次へ

  動作報告&バグレポート
おかしな動作をした場合だけでなく、ちゃんと動作している場合にも、「うごいてるよん」だけで結構ですから、動作報告などを頂けると幸いです。GDBは汎用で、かつLXは結構許容範囲が広いので、なかなか、すべてのGDB形式に対しての確証が持てません。動作報告を頂けると、それだけ速くベータを外せるようになりますので、ぜひお願いします
m(__)m

NIFTY-Serve : PXB04052

また、NIFTY-ServeのFHPPCにもたぶん居ますから、そちらでも結構です。
戻る 目次へ

  謝辞
このソフトを作るにあたり、Apptoutの作者である☆ ぬ〜 ☆ さんこと福嶋 朗さんにApptoutのソース開示をお願いしました。氏の実績あるコードにおかげで、開発初期段階において、格段の期間短縮を計ることができました。この場をかりてお礼を申し上げます。ありがとうございました。
m(__)m

同様に、iPeXサポート部分においては、iPeXの作者であるBrahmaさん作の、PCX_ICNのソースを参考にさせていただきました。お礼を申し上げます。ありがとうございました。
m(__)m

また、NIFTY-Serve、FHPPCフォーラムのシスオペであるNORIさんにもお礼を申し上げます。その節はありがとうございました。やっと一つできました。
例の方も開発を進めておりますので、もうしばらくお待ちください。
m(__)m


さらに、動作報告、バグレポートを下さったみなさんにもお礼を言います。これからもなにかありましたら、よろしくお願いいたします。また、気がついた点などありましたら、なんでも結構ですから、ぜひお願いします。
m(__)m


最後に、LX上で動くソフト、ツール、データをフリーで、あるいは安価に提供されている方々にもお礼を言います。みなさんのソフトやデータなければ、私はLXを買わなかったでしょうし、このソフトも作らなかったでしょう。本当にありがとうございました。
m(__)m
戻る 目次へ

■ 概 要
概要です
戻る 目次へ

  GDBWinについて
GDBWinは、HP200LX内蔵データベースPIMが使用するGDBフォーマットファイルを、Window環境で読み書きするためのアプリケー ションです。

現在、GDBフォーマットに準拠している各データベースファイル(GDB、PDB、NDB)を読み書きすることができます。ただし、データベースの定義を変更することはできません。

あくまでも、既存のGDBファイルに対してのデータの追加、削除ができるだけです。
戻る 目次へ

  使用できるファイルの種類
下記ファイルが使用できます。
・GDB
・PDB
・NDB

LXの内蔵PIMの多くが、GDB形式のファイルフォーマットを使用しています。Database(.GDB)はもちろん、Phone(.PDB)、Note(.NDB)などは、ほぼ同様のフォーマットですので、GDBWinで入力ができます。

Appointment Book(.ADB)も、ベースはGDB形式ですが、Appointment用に独自の拡張を施しているため、対象外とさせていただきます。

World Time(.WDB)も、GDB形式ですが、需要があるとは思えないのと、ROMレコードという形で、組み込みの情報を持つため、対象外とさせていただきます。
戻る 目次へ

■ 絶対に注意すること
このソフトはベータバージョンです。細心の注意を払って御試用くださいm(__)m
戻る 目次へ

  大事なGDBは開かない(開くこと自体が危険)
たとえ、レコードを書きこまなくても、操作によってはGDBWinはデータベースに対してインデックス情報などを書きこみを行いますから注意してください。

♯「使い方」の「ファイルメニュー」を良く読んでから使ってください。
戻る 目次へ

  変換ツールを使うときは注意
GDBの変換ツールなどを使う場合は、一度、LX側で、「File」-「New」して「File」-「Merge」するなどして、GDBをクリーンにしてください。
ある意味では、GDBWinは、LXよりも、細かくファイルを変更します。GDBのファイルフォーマット定義に書かれていない部分や、単なるLXの動作のくせの結果に依存したツール類は、使えないことがあります。

0.80bより、レコード単位のコピー・ペーストができるようになりました。この機能を使うと、ある程度データベースをきれいにできます。

GDBWinのすべてのレコードを選択して(サブセットに注意)、「切り取り」「貼り付け」してください。レコード番号が、すべて振りなおされて、順番に並び変わります。変換ツールによっては、これで処理が可能になるかもしれません。
将来的には、LX側の機能に近いものをつけるつもりです。

戻る 目次へ

  GDBWinで変更したGDBファイルをそのまま配布しない
単に処理の信頼性の問題なんですが、GDBWinで変更したGDBファイルを、そのまま、NIFTYなどにアップするのは止めてください。一度、LX側で、「File」-「New」してから、元のファイルを「File」-「Merge」するなどして、GDBをクリーンにしてください。

別にGDBWinが変なことをしている訳ではないですが、安全ですし、無駄な部分も消えて、ファイルサイズも小さくなります。

戻る 目次へ

  特殊なGDBには使わない
GDBファイルの、ファイル種別判定は、あくまでもファイル中の特定フラグで判定されます。これはGDBWinでも、同様です。ですからファイル拡張子が、必ずGDB、PDB、NDBである必要はありません。

逆に、特殊なユーザー定義レコード、フィールドを使っているにも関わらず、これらのフラグを、GDB用のフラグにしたままだと、読み込みに失敗します。データベースAPIを使って独自に作成したファイルなどにはGDBWinを使用しないでください。ファイルが壊れるかもしれません。

本来のGDBファイル仕様を満たしたつつ、拡張がなされているGDBファイルは、おそらく読み込みは可能ですが正式サポートはできません。
戻る 目次へ

  同じファイルを同時に開かない
GDBWinをファイルをメモリに読みこむ設定で使っている場合には、他のGDBWinで編集中のファイルでも、注意メッセージが出るだけで開くことができます。この場合、最後に保存した方の内容が残り、ややこしいことになるだけですから、やめましょう。
直接ファイルを開く設定にしている時は、他のGDBWinで開いているファイルを同時に開くことはできません。

PCカード上のファイルなどを直接編集している場合は特に注意してください。LXで編集中(HP Databseなどがファイルを開いたままになっている)のファイルでも、メッセージが出るだけで開くことができます。
編集中のファイルを開いたりした場合は、LXの電源を再度入れたときにエラーになったり、最悪ファイルが壊れるかもしれません。

GDBWinが異常終了した結果、GDBファイルにオープンステータスが残ってしまって、上記メッセージが表示された時は、基本的に問題ないので、強制的に開いても大丈夫です。

戻る 目次へ

  フィールドの違うGDBにレコードをコピーしない
0.80bより、レコード単位のコピー機能が付きましたが、フィールド定義の違うデータベース同士でコピー、貼り付けを行わないでください。
現在、定義のチェックを行っていないため。エラーになれば良いのですが、たまたまうまく行く場合もあります。見た目がよくても、データの中身が良いとは限りませんから、注意してください。

同じ定義のGDBファイル同士は問題ありません。
戻る 目次へ

■ 使い方
LXと違う部分にしぼって書きます
戻る 目次へ

  キーアサイン
キーアサインは、ほとんどLXのものを使っています。0.80bよりカテゴリー部分も同じになりました。

LX側に無い機能については、適当に割り振っています。
戻る 目次へ

  「ファイル」
・開く
GDBファイルを開きます

・上書き保存
現在編集しているデータベースの内容をファイルに保存します。
(「ファイルをメモリに読み込む」オプションを使っているときだけ使用できます)

・コピーして保存
現在編集しているデータベースのコピーを作成して、新規ファイルとして保存します。保存した後も編集を続行します

・閉じる
現在編集しているデータベースの内容をファイルに保存して閉じます

・保存しないで閉じる
現在編集しているデータベースの内容を破棄して閉じます
(「ファイルをメモリに読み込む」オプションを使っているときだけ使用できます)

・終了(閉じると同じです)

ファイルの保存まわりをかなり書き換えました。

上記以外にファイルを開くときに、「読み取り専用ファイルとして開く」を選択できます。「読み取り専用ファイルとして開く」をチェックすると、元ファイルへの反映ができなくなります。変更結果を保存する場合は「コピーして保存」を使ってください。

あくまでもロジック上の処理ですから、バグなどが、不安な方は、GDBファイルそのものの書きこみ許可を外してご使用ください。直に保存はできなくなりますが、必要であれば、いつでも違うファイル名で保存できます。

戻る 目次へ

  「編集」
・レコードを編集
レコードリスト画面で、フォーカスを持っている(四角い点線で囲まれた)レコードの編集画面を表示します

・新規レコードの追加
空のレコード追加画面を表示します

・削除
レコードを削除します(復活できません)

・元に戻す
レコード編集画面のみ使えます。入力しているテキストの状態を一度だけ戻すことができます(場合によっては戻せません)

・切り取り
レコード編集画面では、選択しているテキストを切り取ります。レコードリスト画面では、選択しているレコードを切り取ります(レコードの切り取りは、コピー&削除と同じです)

・コピー
レコード編集画面では、選択しているテキストをコピーします。レコードリスト画面では、選択しているレコードをコピーします

・貼り付け
レコード編集画面では、一番最後にコピーか切り取られたテキストを貼り付けます。レコードリスト画面では、一番最後にコピーか切り取られたレコードを挿入します(レコードの場合は常に挿入です)

・すべてを選択
レコード編集画面では、現在のコントロールのすべてのテキストを選択します。レコードリスト画面では、すべてのレコードが選択されます

♯現在、バージョンでは、クリップボードのクリアを行っていません。
戻る 目次へ

  「表示」[X] 更新
・サブセット
サブセットの切り替えができます。

・並べ替え
現在のサブセットをソートしなおします。ソートフィールドの定義は、GDBファイルに保存されます。
並べ替えのフィールドは、LXで指定できないタイプも指定できますが、その場合、LXに持っていった時に、使えないフィールドタイプ以降の設定がクリアされますので注意してください。

・カラムの表示変更
レコードリストに表示するカラムを変更することができます。詳しくは、「カラムの変更」を参照しください。

・Note編集画面
ウィンドウサイズのNote編集画面に切り替えます

・データカードを表示
データカードの表示/非表示を切り替えます

戻る 目次へ

  「検索」
・検索
レコードを検索します。

・再検索
前回の、方向、条件で再度、検索します。

・前検索
前回の条件で前(レコードリストでは上)方向に検索します

・下検索
前回の条件で後(レコードリストでは下)方向に検索します

・前のレコード
レコード編集画面を1つ前(レコードリストでは上)のレコードに切り替えます

・次のレコード
レコード編集画面を1つ次(レコードリストでは下)のレコードに切り替えます
戻る 目次へ

  「オプション」
・スマートクリップ
現在選択されているレコードをスマートクリップします

Note部分の改行修正項目を追加しました
「None」通常どおりです
「CRCR to CR」2つ連続した改行を1つにし、単独の改行を削除します
「CR to [BR]>」改行をHTMLの[BR]に変換します
「Delete All CR」すべての改行を削除します

・オプション
各種設定をします
戻る 目次へ

  カテゴリー
LXと同じキーで、カテゴリーリストを操作できます。ESCは非選択、Enterは選択です。TABはESCと同じ動きをします。
戻る 目次へ

  サブセットの変更[X] 更新
サブセットの変更は、SSL直接書き込みのみサポートします。
基本的に、ここで変更すると、LXに持っていったときに、レコードイメージでの編集ができなくなると考えてください。

まだ、処理が全体的に甘いので、GDBWinでとおるSSLが、LXではエラーになったり、その逆にもなることがあります。

{}で囲むユーザー定義のデータ形式は、LX側でまれに変な形で保存されるので、GDBWinでは、すべてエラーではじく事にしました。

また、フィールド名は日本語をそのまま処理するようにしてあります。半角文字はLXと同様に数字、アルファベット以外は、無視して処理します。その結果、SSLで、「社名#"株式会社"」などと、LXでは通らないSSLも一応とおります。

半角はLXと同じということを忘れないでください。例えば、「str,field」という、フィールドを指定するときは、「strfield」と入力する必要があります。
戻る 目次へ

  ファンクションキー
LXと同様の配列で、ファンクションキーをサポートしました。文字が表示され、押すことができるものは、使用できます。

たたし、押すことができてもデータの状態にそぐわないものは実行されない場合もあります。
戻る 目次へ

  スマートクリップの変更[X] 更新
スマートクリップの定義を変更する場合、各フィールドの展開指定は、テキスト文字列に置き換えて表示されます。フォーマットは下記の通りです

区切り文字 ・・・ %#
フィールド名 ・・・ フィールド名,
Suppress Line ・・・ ?,
Reverse Name ・・・ ~,
字取り幅 ・・・ 0から80までの半角数字,
文字寄せ ・・・ L、C、Rのどれか,
区切り文字 ・・・ %#

例)
・デフォルトでフィールド「foo」をクリップ
%#foo%#
・字取り50文字右寄せでフィールド「foo」をクリップ
%#foo,50,R%#
・字取り50文字中寄せで、Suppress Line、Reverse Name、フィールド「foo」をクリップ
%#foo,?,~,50,R%#

実は、フィールド名以降は、順番はとうでも良いですし、カンマもいりません。
判定ルーチンに時間を割くことはできなかったので、動いてラッキーぐらいに
考えてください。

区切りとなる「%#」で囲まれた文字列の判定に失敗した場合には、以降、すべての展開指定の読み込みに
失敗します。失敗した場合には、先頭の「%#」は削除され、ただの文字列として登録されます。

また、「%#」をただの文字列として登録することはできません。

戻る 目次へ

  カラムの変更[X] 更新
カラムの変更は、オプション設定によって、動作を変更できます。御自身の使用方法にあった設定でお使いください。

F8(Columns)で変更するのは、表示するカラムと順番だけです。変更した時点で、幅が一定幅にそろった状態で表示されますから、画面上で任意の幅に変更してください。変更した幅は、サブセットが切り替わるタイミングで自動で保存されます。

「オプション」の項の「カラム幅」も読んでください。
戻る 目次へ

  アクセスキー
GDBファイルの持つ、各フィールドのアクセスキーは、そのまま使用できます。ただし、&Fや&Eなど、Windows標準で使われるものと重なった場合も、コントロール側が優先されますから、メニューの選択などは、Altを単独で押してから行ってください。

グループボックスにTABによってフォーカスが移動しないのは、デフォルトボタン指定していないためで、どれがONになっている場合は、TABによるフォーカス移動が可能になります。
戻る 目次へ

  Note編集画面
Note編集画面では、LXと同様に、ファイルからの挿入、ファイルへの書き出しができます。ファイルからの挿入は、常にカレット位置にテキストが挿入されます。ファイルへの書き出しは、常にすべてのNoteが書き出されます。
戻る 目次へ

  編集補助1
Note部分では以下の編集補助メニューが使えます。

・##桁で強制改行
Noteで、選択領域(選択されていない時はすべて)を##桁(半角)で強制改行します。##は標準で50桁です。

・改行位置のセット
上記の##を指定します。この設定は、一度GDBファイルを閉じると50桁にリセットされます

・改行を倍にする
Noteで、選択領域(選択されていない時はすべて)の「改行」を「改行」+「改行」に変換します

・改行を半分にする
Noteで、選択領域(選択されていない時はすべて)の2つ連続した改行1つに。単独の改行を削除します。

・改行を削除する
Noteで、選択領域(選択されていない時はすべて)の改行をすべて削除します。
戻る 目次へ

  編集補助2
日付フィールドと時間フィールドで下記の編集補助が使えます

・一つ増加(「テンキーの+」)
項目の内容を一つ増加します

・すこし増加(Ctrl+「テンキーの+」)
項目の内容をすこし増加します(日付:7日、時間:15分)

・一つ減少(「テンキーの-」)
項目の内容を一つ増加します

・すこし減少(Ctrl+「テンキーの−」)
項目の内容をすこし増加します(日付:7日、時間:15分)

すべての文字列フィールドで下記の編集補助が使えます

・今日の日付(Ctrl+E)
今日の日付文字列を挿入します

・現在時刻(Ctrl+T)
現在時刻を挿入します
戻る 目次へ

  Note補助
フルスクリーンNoteでのみ使用できます

・行の折り返し
ウィンドウ幅での折り返しを中止します

・縦書き
ちゃんと動きません(笑)

上記オプションを切り替えた場合には、Undoは使えなくなります(っていっても1回だけだけど・・・)
戻る 目次へ

  データカード[X] 更新
データカードも作って見ました(^_^;)

当幅に表示してますから、表示フォントによっては文字が欠ける場合かあります。
また、LXと違い、データカードは実は裏でスマートクリップしてるだけだったりします。そのため、改行に続いて「=」や「-」などの文字をNote等に使っていると、線として表示されます。

さらに、LXでは、Note以外は折り返して表示されませんが、すべての文字が折り返して表示されます。

0.83bより、GDB、PDB、NDBのそれぞれのイメージが表示されます。PDBかGDBかの判断は、ファイル名の拡張子をもとに行いますから、PDBのデータカードイメージを表示させるには、ファイル拡張子が「pdb」である必要があります。

同様に、データカードを上に持っていったり、下に持っていったり、別ウィンドウにしてみたりとできるようになりました。使い方は見ればわかると思いますので書くのは省略します(^_^;)
戻る 目次へ

  iPeXサポート
0.80bよりiPeXの画像表示指示を受け付けるようにしました。

#####################################################
iPeXは、Brahma氏によるLXの内蔵PIMに画像表示機能を付加
する常駐プログラムで、著作権者は同氏であり、著作権は
同氏が所有します。
#####################################################
GDBWinでは、あくまでもコマンド指定を受け取り、ある程
度似たような表示をするだけでありソフト的には関係あり
ません。
#####################################################

・基本的な部分はiPeXの決まりに準じています
・表示できる画像はPCX、ICN(ともにモノクロのみ)とビットマップ
・ビットマップは生で読んでるのでOS/2形式はサポートしません
・ビットマップを表示させたい場合は、iPeXの画像ファイル名指示で、拡張子を"bmp"にしてください。それ以外はiPeXのコマンド指示に合わせた解釈がされます
・モノクロ画像は基本的に重ね合わせ処理されます
・カラー画像は、すべて上書処理きされます
・XORなどはサポートしません。

画像は、一度読み込みに失敗すると、同じGDBファイルを開いている間は、2度と読み込み動作をしません。

画像ファイルは、20個まで、キャッシュされ、メモリ中に残ります。1つのファイルに20個以上の画像を使っている場合には、レコードを開くたびに、画像の読みこみ動作が発生します。

1件のデータレコードにつき最大5個のコマンド指示しか受け付けません。

下の方にあるサンプルが見えればOKです
戻る 目次へ

■ オプション
ある程度、表示概観には幅を持たせてあります。
戻る 目次へ

  「コントロールを立体的に表示」
いるかな?とおもって付けましたが、いりません(^_^;)。標準の配色で使われる方には良いのかもしれません。
戻る 目次へ

  「コントロールの拡大率」
この設定が0の場合、各コントロールはGDBファイルの持つ座標情報を、ウィンドウの幅と比較してリマップします。

拡大率をしていすると、さらにその分だけ、コントロールの縦座標を拡大します。使用フォントとウィンドウサイズに合わせて調整してみてください。

私の感覚からすると、10ポで表示するとして3割増しぐらいにすると、しっくり来ます。
戻る 目次へ

  「フォントによって固定」[X] 更新
フォントの設定オプションで「エディットボックスのフォント」に指定しているフォントを使って、コントロールの拡大を固定します。

オプションを切り替えた直後に表示に反映しない場合は、ウィンドウサイズを変更すると反映されます。

このオプションによって拡大は固定化されますが、LXのXY座標とGDBWinのXY座標比率が保証されるわけではありません。

このオプションは試験的に付けただけです。NTや環境によっては、サイズが合いません。
戻る 目次へ

  「色」と「フォント」
ある程度の色とフォントの設定は可能です。表示は、各人の好みが強いので、できるだけオプションにしてありますが、作りこみが必要になるものは、先送りしています。

また、コントロールの高さは、フォントと連動しませんから、御自分の使われるフォントにあわせて「コントロールの拡大率」を使って設定してください。

0.80bより、色の変更対象を増やしましたが、色のチェックは一切しませんから、反転色などを同じ色にして見えなくならないようにご注意ください。

256色環境では、使える色と使えない色があります。使えない色の場合は、適当な色で表示されますが、ハイカラー以上の環境に切りかえると、設定本来の色で表示されます。

256色環境では、データカードの枠色が、背景と同色にならない場合があります。
戻る 目次へ

  「拡張子関連付け」
GDBWinは起動時に常に、GDB,PDB,NDBの拡張子登録を行います。すでにこれらの拡張子が使われている場合は、登録されませんが、それ以外でも使用したくない場合には、「オプション」-「環境設定」-「動作」より、「拡張子登録を有効にする」を解除してください。次回起動時に、拡張子登録は削除されます。
戻る 目次へ

  「GDBファイルのメモリへの読み込み」
GDBWinは、GDBファイルのすべてをメモリに読み込んでから動作することも、ディスク上のファイルに対しても同様の処理が可能です。オプション設定で、どちらの動作をするか選ぶことをできるようにしてありますが、

このオプションを外すと、純粋にファイルの大きさだけ、メモリの使用量が減りますが、所詮GDBファイルなので、メモリに読んでも対して変わらないと思います。

内部では、メモリだろうがファイルだろうが、ロジックはまったく同じため、バグの頻度が変わるわけではありませんが、変な書きこみをした時を考えると、メモリに読み込んでいるほうが、ほんのちょっぴり安心な気がします(^_^;)。

♯メモリに読みこまない場合は、編集結果を破棄する手段がありませんから注意してください。

戻る 目次へ

  「バックアップフォルダ」と「バックアップの削除」
一応自動バックアップを付けときました。これは、GDBファイルを開く瞬間に、ファイルを適当な名前で、バックアップフォルダにコピーします。コピーされたGDBファイルは、あくまでも、開く前のものです。編集途中の変更は、一切保存されていません。

「初期設定」で「バックアップを削除する」という指定(デフォルト)にしておくと、ファイルを閉じた時にエラーが発生していない場合は、そのファイルを開く時に作成したバックアップファイルを自動で削除します。

この設定を外すと、起動するたびにバックアップファイルが作成されて、ディスクを圧迫しますから注意してください。手で消してもいいですけど(^_^;)

♯バックアップファイル名はプレフィックス"GW"と時刻を元に生成される任意の名前が使用されます。
もし、同名のファイルが存在する場合は、無条件に上書きされるので注意してください。

♯0.78bでは、ファイルを開く時にエラーが発生すると、バックアップが削除されないバグがありました。心あたりのある方は、バックアップが残っていないか確認して見てください(拡張子が0とか1とかのファイルです)

♯本来、上書き禁止の時は、バックアップを作る必要は無いのですが、今は作ってます。
戻る 目次へ

  「Note編集にRichEditを使用する」
私はどちらかというと、GDBを細かい文書のバインダー的に使っているので、Noteはあまり気にしてなかったのですが、Noteに長い文章を入れてらっしゃる方もいらっしゃったので、組み込みコントロールではありますが、RichEditコントロールも使えるようにして置きました。

Noteをゴリゴリ書く方は、このオプションをチェックしてお使いください。多少は、書きやすいです。

ただし、RichEditコントロールは重いし、メモリを食いますから、Noteはたいして気にしてない人や、メモリ環境のシビアな人、他のエディタを使う人は、外してください。ノーマルのエディットコントロールが使われるようになります。

ちなにみ、RichEditを使うと特典として、ちゃんと動かない縦書きモードが使えます(笑)

♯このオプションはGDBWinを再起動後に保存します。
戻る 目次へ

  「iPeXサポート」
・画像フォルダ
表示する画像があるフォルダを指定してください。「削除」を押して、未設定の状態にすると、画像ファイルは、GDBファイルのあるフォルダから読み込まれます。

・サポートを中止する
画像は、表示に必要になった時点(レコードを開く時)で読みこまれます。そのため、画像によっては、処理がもたつく場合があります。画像表示の必要の無い方は、ここを設定してください。

♯このオプションはGDBWinを再起動後に反映します。
戻る 目次へ

  「日時書式」[X] 更新
日時書式を変更できます。
ここで設定することで、SSLにDate#"Aug"など、日付を文字列として条件付けしている場合に動作するようになります。たぶん(^_^;)
戻る 目次へ

  「カラム幅」[X] 更新
♯GDBWinでカラム幅を設定した場合は、幅の数値は8の倍数に切り捨てられます。

1)LXと統一し、変更を保存しない

常にLX側で設定した保存が採用され、GDBWinで設定した幅、順番は無視されます。

2)LXと統一し、保存する

常にLX側で設定した保存が採用され、GDBWinで設定した幅、順番はLXで使用する際にも、そのまま適用されます

※この場合、Windows環境の広い画面で設定した幅がそのままLXでも適用されてしまうという問題があります

3)GDBWin用の保存をする

常にGDBWin専用の幅、順番を保存します。LXで使用する際には、LXで設定した幅、順番が使用されます。

※この設定は、データの保存領域として、LX用のカラム幅設定領域の空き部分を使用します。
そのため、本来カラム幅は19個まで登録できますが、GDBWin専用の幅は(19-LXで設定しているカラム数)個に限定されます。
また、LX側で、カラム幅を設定しなおした場合は、GDBWin専用の幅設定は、クリアされます。
この空き部分を使う方法の安全性については、なんとも言えません。とりあえず、思ったとおりに動くようですが、保証はできません。

戻る 目次へ

■ エラー対処
戻る 目次へ

  ルックアップがなんとかといってエラーが出ます
ただ単に「ルックアップテーブルは新規に作成されました」というメッセージだけの場合は、問題ありません。開きっぱなしのGDBファイルの場合は必ず出ます。

そのほかメッセージで、編集続行が不可能な場合は、お使いのGDBが壊れているか、私のGDBに対する理解が間違っているか、どちらかです(^_^;)一度、問題のGDBをLX側で、空のGDBに対してマージしてみてください。その結果、エラーが出ないのであれば、気づかないウチにGDBが壊れていた可能性があります。
戻る 目次へ

  メモリが足りないと言われました[X] 更新

たぶん出ないと思うのですが・・・

オプション設定でGDBWinをメモリに読み込んでいて、GDBファイルサイズが数Mに及ぶ場合は、外してみてください。
このオプションをチェックしていると数Mを超えるGDBファイルを扱う場合、モロにメモリを食うので無理がでます。
チェックを外すと一応非公開バージョンでは、80Mを超えるファイルでも使えます(LX側では16Mを超えるとファイルを扱えないので、公開バージョンは15M以上のファイルは扱えなくしてあります)

ちなみに、動くというだけで、快適に使えるという意味ではありません。
戻る 目次へ

  ルックアップテーブルを保存しないと言われました
処理中に、エラーが出た場合、開いていたデータベースに対して、ルックアップテーブルと呼ばれるインデックス情報の出力を中止するようにしてあります。これは、不正なルックアップテーブルが存在するくらいであれば、無い方がましだからです。
ルックアップテーブルのないGDBを、LXで開いた場合には、ルックアップテーブルは、ファイル内をサーチして、新規に作成されます。レコード数が多い場合には、かなり時間がかかりますが、その結果使えるようであれば、ラッキーなのでそうしてあります。そのようなことが起こったときには、ぜひバグレポートをお願いしますm(__)m
戻る 目次へ

■ 既知のバグ
戻る 目次へ

  Note編集画面のClear(F4)動かない
はい。中身書いてません(^_^;)
戻る 目次へ

  LXでレコードを編集するとアラームが鳴る
かなり悩みましたが、GDBWinの問題ではなさそうです。

とりあえず以下の条件を満たすと発生します。

・NoteフィールドとNumberフィールドがあるGDBを作る
・DataCardスマートクリップにNoteフィールドを含める
・Noteフィールドに、一定の長さ以上の文字を入れたレコードを作る
・このレコードを保存して、再度編集画面に移る
・Numberフィールドにフォーカスを合わせた状態でキャンセル(F9)する
・レコードリスト画面に表示が戻るともに「ピッ」と鳴る

ちなみに、このReadme.gdbファイルが上の条件を満たします。このファイルをLXに持っていって、適当なレコードの編集画面にして2ページに目に移った直後にF9すると鳴ります。

戻る 目次へ

■ サンプル
戻る 目次へ

  スマートクリップサンプル
このレコードを表示した状態で、「F5」キーを押すか、下のバーの「Clip」ボタンをおして、スマートクリップ選択ダイアログを表示して、タイトルを選択してください。クリップボードにタイトルに合わせた文字列がコピーされます。

戻る 目次へ

  iPeXコマンドサンプル
iPeXのサンプルです。だるま見えます?
見えないときは、「サポートを中止する」オプションと画像ファイルフォルダの設定を確認してください。
戻る 目次へ

■ GDBあれこれ
ここの話はプログラムしない人にはちょっと重いです。
戻る 目次へ

  制限一覧
◆データベースの制限

最大レコード総数 たぶん5040
・これはあくまでも内部処理におけるレコード数です
※GDBWinは5000

最大サブセット数 16
最大スマートクリップ数 16
最大フィールド数 99
最大ページ数 4

最大フィールド名長さ 20
各種タイトル名長さ 31
・共にNul文字含まず

データレコードに保持できるデータ量 約2K
・このデータ量にはNoteはレコード番号(2byte)として含まれます。

◆各フィールドの入力制限

[String]
最低11byte、最大93Byte(Nul文字含めて)
・最大の93byteは、これ以上幅の広いStringフィールドを作成できないため
・最大文字数は、フィールドの幅により変化します

[Number]
最低11byte、最大15byte(Nul文字含めて)

[Date,Time]
実際の入力制限はStringと同じだが、値保存のため、データのサイズには影響しない。

[Category]
固定128byte
・ひとつのNul文字とエントリの区切りである";"を含めて
・Category全体は256byteまで(Nul文字含めて)

[Note]
約 32K byte
・たぶんレコードバッファが32Kだと思うので、32K-6?

※GDBWinは最大31Kです。これは、LX側で開いた際に、ワードラップによって、
膨らむ可能性があるためです。


◆Smart Clip

定義文字列の最大サイズ 2000 byte
・1つのフィールド定義を11byteとして換算
・改行は2byte換算

上記制限より、一つのSmart Clipに
定義できるフィールド展開は最大181個

定義は上記制限以内であれば、自由ですが、
実際のクリップボードへの展開は、クリップ
ボードに割り当てられたメモリによります。

※GDBWinは1レコード最大32Kで切り捨てます

◆Subset

定義文字列の最大サイズ 改行8以下で384byte以下
戻る 目次へ

  どの程度互換性があるのか
GDBWinは、GDBファイルを、本来のHP Databaseと似たような扱いをします。ただし、未確認、無保証です。また、処理の互換性は、あくまでも、データベースを閉じた時点におけるスナップショットのレベルですから、エラーによる中断や、作者の想定外のフォーマットが現れた場合には、一発でデータベースが壊れてしまうので、くれぐれも気をつけてください。

また、現時点では、ファイルを一度すべてメモリに読み込んでから処理しています。そのため、実際に変更が反映されるのは、あくまでもデータベースを閉じるタイミングですから、一度に大量のレコードを追加して、最後にエラーが出ると、全部パァになります。正式リリースまでは、大切なデータのご使用をお控えください。m(__)m
戻る 目次へ

  レコード数などに制限はあるのか
基本的にLXの制限に準じていますが、多少少なめに設定しています。

・レコード数は5000レコードまでです(LX自体は多分5040までです)。
・フィールド数は99までです
・Noteは31Kまで(1024*31)です(LX自体は多分32K-6です)
・個々のテキストフィールドは255バイトまで

レコード数の5000レコードとは、データベース内部でのカウント方法で5000という意味ですから、データが5000件入るという意味ではありません(たとえば、Noteを持つデータは内部では2レコードです)。実際に格納できるデータ件数は、これよりも少なくなります。

また、Noteの制限は本来32Kですが、LX側でのワードラップによるサイズ増加の兼ね合いもあるため、31Kで切っています。
その他の制限は、概ねGDBの仕様に沿った形で設定されています。

GDBWin上で、操作中にレコードり制限を越えた場合は、それ以上レコードの追加ができなくなります。こちらで見てる限りではGDBWinで制限に達したGDBもLXで使えています。
戻る 目次へ

  ソート結果が食い違っても問題はないのか
処理するうえでは問題がないと言えます。GDBファイル内では、ソート結果は、レコード番号の一覧として保持されています。これらはGDBWin-LX、LX-GDBWinの場合にもそのまま適用されますから、どちらかの環境でソートをやり直すまでは、ソート順番はそのまま使われます(新規レコード、修正レコードは、その場でソートされます)。
ただ、あまりに食い違っている場合は、LX側でソートをしなおしたときに、画面表示がおかしくなったりするようです。

極端にソート結果やサブセットの切り替え結果が食い違っている場合は、バグレポートとして挙げていただいてかまいません。
戻る 目次へ

  壊れているGDBについて
基本的にLXでは、GDBファイルは、逐次処理されて表示されます。つまり、実際に使うデータ以外にアクセスすることは、ほとんど無いので(インデックスの作りなおしや、ソートのやり直し以外では)、GDBが壊れていても、あるいは不正な状態になっていも、露見しない場合があります。

GDBWinは、ファイルを開く際に、すべてのレコードヘッダをサーチして、新規にインデックスを作成した後、ファイル中にインデックスが保存されていれば、それを読み込み、最初に作成したインデックスと付き合わせる処理を行っています。

この結果、補正できる食い違いは補正しますが、不可能な場合もあります。結果としてLXで使えるGDBがGDBWinでは使えないということもありえます。
戻る 目次へ

  付加テストについて
GDBファイルフォーマットには、厳格な意味でのサイズ制限は
特に規定されていません。汎用なため、個々の制限にあった
ものであれば、どんなに大きなファイルでも編集が可能です。

今回、リリースに合わせて、再現できる最大サイズのGDBを
作成して、動作検証しました。

なお、あくまでもGDBWinの動作確認のためですから、細かい
部分はそれに合わせて調整しています。

最初に、GDBWinは最大5000レコードのレコードを使用できます。
この規定で、ファイルサイズを最大にするには、極力フィール
ド数を多くしたデータレコードとNoteレコードを最大数格納す
る必要があります。

GDBの組み込みレコードには下記のものがあります

・DBHEADER 1
・LINKDEF 2
・VIEWPTDEF 1
・VIEWPRTABLE 1
・CARDDEF 1
・CARDPAGEDEF 1

さらに、データレコードを最大サイズにするために、
フィールドを22レコード必要とします

これで29レコード使用してしまうので、残り4971レコード
をデータレコードとNoteレコードで使いきるのが、最も、
大きなGDBファイルを作成することができます。

実際作成したGDBファイルの大きさは82Mです。いちおう動作します。
でもLXに持ってけないじゃん(^_^;)・・

現行のものは15Mを超えるGDBは扱えなくしてあります。また、GDBを
1Mを超えるサイズで使うのは、やめたほうがいいと思います。分割
しましょう。GDBWinは遅いし(^_^;)

戻る 目次へ


HOME BACK TOP

このホームページに掲載されている文章、画像、その他いかなるものでも
無断で、複製、転載、再利用することを禁じます。
Copyright(C) 1997-1998 TORU MIYAMORI All right reserved.