(57)【要約】    【課題】 グラフィカルユーザーインタフェースを用い、キー入力処理を行うとき、プログラムを単純化し、処理時間がかからないようにする。    【解決手段】 入力フィールド処理手段３５でキー入力イベントを取り出して入力処理するとともに表示処理を行い、文字列入力処理手段３６で文字列入力を判別して文字列入力の処理を行い、半角文字入力処理部３７で半角文字入力を判別して半角文字入力の処理を行い、符号入力処理手段３８で符号入力のみを入力処理するとともに符号の設定値を返し、正数入力処理手段３９で正数入力のみを入力処理するとともに正数の設定値を返し、整数入力処理手段４０で整数入力を入力処理するとともに、符号の設定値と正数の設定値の積を返す。【選択図】      図１
2004164661.tif 000002
【特許請求の範囲】
【請求項１】
グラフィカルユーザーインタフェースを有し、キー入力された文字列のアプリケーション処理に対する入力処理を行う情報処理装置に於いて、
キー入力された文字列が表示されるウィンドウと、
前記ウィンドウ内に非表示状態で設定された１又は複数の入力フィールドと、
前記入力フィールド毎にマスク対象文字を指定し、マスク対象文字の入力を判別した場合は無視して表示せず、マスク対象文字以外の入力を判別した場合はそのまま又は予め定めた所定の処理を施して前記入力フィールドに表示する入力処理部と、
を備えたことを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置に於いて、
前記入力フィールドは整数入力フィールドであり、前記整数入力フィールド内に符号入力フィールドと整数入力フィールドを順番に設定し、
前記入力処理部は、前記符号フィールドについて正又は負の符号以外の文字のマスク対象文字に指定することにより正又は負の符号のみを入力して表示し、前記整数入力フィールドついて正数以外の文字のマスク対象文字に指定することにより正数のみを入力して表示することを特徴とする情報処理装置。
【請求項３】
請求項２記載の情報処理装置に於いて、前記入力処理部は、データと処理を一纏めにした対象物として扱うオブジェクト指向の処理部であり、
前記アプリケーション処理からキー入力イベントを取り出して入力処理するとともに表示処理を行う入力フィールド処理手段と、
前記入力フィールド処理手段を継承し、文字列入力を判別して文字列入力の処理を行う文字列入力処理手段と、
前記入力フィールド処理手段と文字列入力処理手段を継承し、前記文字列入力手段が処理した文字列について半角文字入力のみを判別して半角文字入力の処理を行う半角文字入力処理手段と、
前記半角文字入力処理手段を継承し、前記半角文字入力手段が処理した文字列について、符号入力のみを入力処理するとともに符号の設定値を前記アプリケーション処理に返す符号入力処理手段と、
前記半角文字入力処理手段を継承し、前記半角文字入力手段が処理した文字列について、正数入力のみを入力処理するとともに正数の設定値を前記アプリケーション処理に返す正数入力処理手段と、
前記符号入力処理手段と正数入力処理手段を内部に包含し、整数入力を入力処理するとともに、前記符号の設定値と前記正数の設定値の積を前記アプリケーション処理に返す整数入力処理手段と、
を備えたことを特徴とする情報処理装置。
【請求項４】
グラフィカルユーザーインタフェースを有し、キー入力された文字列のアプリケーション処理に対する入力処理を行う情報処理装置に於いて、
キー入力された文字列が表示されるウィンドウと、
前記ウィンドウ内に非表示状態で設定された１又は複数の入力フィールドと、
特定の入力フィールドにつきマスク対象文字を指定し、マスク対象文字の入力を判別した場合は無視し表示せず、マスク対象文字以外の入力を判別した場合はそのまま又は予め定めた所定の処理を施して対応する入力フィールドに表示し、更に、他の特定の入力フィールドにつき入力文字を指定することにより特定文字のみを入力して対応する入力フィールドに表示する入力処理部と、
を備えたことを特徴とする情報処理装置。
【請求項５】
請求項１記載の情報処理装置に於いて、
前記入力フィールドは実数入力フィールドであり、前記実数入力フィールド内に、
仮数部の符号入力フィールド、
仮数部の正数入力フィールド、
小数点表示の文字定数フィールド、
仮数部の正数入力フィールド、
指数記号の文字定数入力フィールド、
指数部の符号入力フィールド、及び
指数部の正数入力フィールド
を順番に設定し、
前記入力処理部は、
前記仮数部の符号フィールドについて正又は負の符号以外の文字のマスク対象文字
に指定することにより正又は負の符号のみを入力して表示し、
前記仮数部の正数入力フィールドついて正数以外の文字のマスク対象文字に指定することにより
正数のみを入力して表示し、更に
前記小数点表示の文字定数フィールドに対し小数点符号を入力文字に指定することにより小数点
のみを入力して表示し、
前記部の符号フィールドについて正又は負の符号以外の文字のマスク対象文字に指定することに
より正又は負の符号のみを入力して表示し、
前記仮数部の正数入力フィールドついて正数以外の文字のマスク対象文字に指定することにより
正数のみを入力して表示し、更に
前記指数部の符号入力フィールドに対し指数符号を入力文字に指定することにより指数符号のみを入力して表示する
ことを特徴とする情報処理装置。
【請求項６】
請求項５記載の情報処理装置に於いて、前記入力処理部は、データと処理を一纏めにした対象物として扱うオブジェクト指向の処理部であり、
前記アプリケーション処理からキー入力イベントを取り出して入力処理するとともに表示処理を行う入力フィールド処理手段と、
前記入力フィールド処理手段を継承し、文字列入力を判別して文字列入力の処理を行う文字列入力処理手段と、
前記入力フィールド処理手段と文字列入力処理手段を継承し、前記文字列入力手段が処理した文字列について半角文字入力のみを判別して半角文字入力の処理を行う半角文字入力処理手段と、
前記半角文字入力処理手段を継承し、前記半角文字入力手段が処理した文字列について、符号入力のみを入力処理するとともに符号の設定値を前記アプリケーション処理に返す符号入力処理手段と、
前記半角文字入力処理手段を継承し、前記半角文字入力手段が処理した文字列について、正数入力のみを入力処理するとともに正数の設定値を前記アプリケーション処理に返す正数入力処理手段と、
前記入力フィールド処理手段を継承し、文字定数入力を判別して文字定数入力の処理を行う文字定数入力処理手段と、
前記符号入力処理手段、正数入力処理手段及び文字定数入力手段を内部に包含し、実数入力および指数入力の入力処理を行うとともに仮数部の設定値、指数部の設定値および実数部の設定値を前記アプリケーション処理に返す実数入力処理手段と、
を設けたことを特徴とする情報処理装置。
【請求項７】
グラフィカルユーザーインタフェースを有し、キー入力された文字列のアプリケーション処理に対する入力処理を行う入力処理プログラムを記録したコンピュータ読取可能な記録媒体に於いて、
コンピュータに、
キー入力された文字列が表示されるウィンドウを設定し、
前記ウィンドウ内に非表示状態１又は複数の入力フィールドを設定し、
前記入力フィールド毎にマスク対象文字を指定し、マスク対象文字の入力を判別した場合は無視して表示せず、マスク対象文字以外の入力を判別した場合はそのまま又は予め定めた所定の処理を施して前記入力フィールドに表示する入力処理を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項８】
グラフィカルユーザーインタフェースを有し、キー入力された文字列のアプリケーション処理に対する入力処理を行う入力処理プログラムを記録したコンピュータ読取可能な記録媒体に於いて、
コンピュータに、
キー入力された文字列が表示されるウィンドウを設定し、
前記ウィンドウ内に非表示状態１又は複数の入力フィールドを設定し、
前記入力フィールド毎にマスク対象文字を指定し、マスク対象文字の入力を判別した場合は無視して表示せず、マスク対象文字以外の入力を判別した場合はそのまま又は予め定めた所定の処理を施して前記入力フィールドに表示し、更に、他の特定の入力フィールドにつき入力文字を指定することにより特定文字のみを入力して対応する入力フィールドに表示する入力処理を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィカルユーザーインタフェースを用いて、特に整数入力処理及び実数入力処理を行う情報処理装置及び整数入力処理及び実数入力処理のプログラムを格納した記憶媒体に関する。
【背景技術】
【０００２】
グラフィカルユーザーインタフェースを用いる情報処理装置においては、整数入力および実数入力は、それぞれのアプリケーションプログラムがマスク処理を行う必要があり、かなり複雑な判定処理が必要であった。このため、実装プログラムが複雑となり、また、きめ細かい表示制御もできなかった。整数入力処理および実数入力処理において、実装プログラムの単純化と表示処理の自由度の向上が要望されている。
【０００３】
従来の情報処理装置としては、ハードディスク内にＯＳとグラフィカルユーザーインタフェース（以下、ＧＵＩという）を格納したものがある。
【０００４】
このＧＵＩを用いることで、コマンドをキーインするのではなく、画面のアイコン（絵文字）をマウスなどで選択でき、直感的な機能選択が可能で操作が簡単であり、コマンドを覚えなくても良い。
【０００５】
一方、グラフィカルなデータは文字データに比べるとはるかに多量になるので、ディスク、画像専用のメモリ（Ｖ−ＲＡＭ）、主記憶、ＣＰＵの処理速度などの資源も多量に必要となる。
【０００６】
この情報処理装置においては、ＧＵＩを用いて動作するアプリケーションが出力を表示したりユーザーからの入力を受け取ったりする画面上の長方形の領域を示すウィンドウを用いる。ウィンドウは、アプリケーション自身やほかのアプリケーションのウィンドウと画面を共有し、ユーザーから入力を受け取ることのできるウィンドウは、一度に１つだけある。ユーザーは、マウスやキーボードなどの入力デバイスを使って、ウィンドウやウィンドウを所有するアプリケーションと対話することができる。
【０００７】
情報処理装置において、簡単な入出力（Ｉ／Ｏ）処理を実行するためにアプリケーションがほかのウィンドウとともに使用する子ウィンドウがコントロール部品であり、ユーザーはコントロール部品を使って、コマンドの選択、状態の表示、テキストの表示と編集などを行う。
【０００８】
通常、ＧＵＩはアプリケーションに標準的な下記のコントロール部品を提供している。
・ボタン
ユーザーがこのコントロール部品を選択したときに親ウィンドウに通知する。
・リストボックス
ユーザーが項目を１つ以上選択するためのリストを表示する。
・エディット
ユーザーは、このコントロール部品を使ってテキストを表示、編集できる。
・コンボボックス
項目を選択、編集するためのリストボックスとエディットのコントロール部の組み合わせからなり、組み合わせを用いる。
・スタティック（ラベル）
文字列を表示する。これはほかのコントロール部品のラベルとしてよく使われている。
【０００９】
ここで、エディットによる入力処理のうちの従来の整数入力のフローチャートを図５０に示す。
【００１０】
この従来例においては、整数入力は、単一の入力フィールドでマスク処理を行う。図５０において、まず、ステップＳ１０１で符号入力か判別し、符号入力のときは、ステップＳ１０２で１文字目か判別する。１文字目でないときは、ステップＳ１０３でエラー処理を行い、１文字目のときは、ステップＳ１０４で符号入力の処理を行う。符号入力でないときは、ステップＳ１０５で数字入力か判別し、数字入力でないときはステップＳ１０６でエラー処理を行い、数字入力のときはステップＳ１０７でゼロか判別する。ゼロのときはステップＳ１０８で数字の１文字目か判別し、１文字目のときはステップＳ１０９で無視し、１文字目でないときは、ステップＳ１１０で数字入力の処理を行う。
【００１１】
この従来例においては、符号入力は１文字目のみ許されるので２文字目以降のチェックが必要となる。またゼロサプレスする場合に、先頭文字が数字のときはゼロ入力を無視、符号のときは２文字目が数字か未入力かのチェックが必要となってくる。
【００１２】
次に、従来の実数入力のフローチャートを図５１に示す。
【００１３】
図５１において、まず、ステップＳ１１１で符号入力か判別し、符号入力のときはステップＳ１１２で仮数部または小数部の１文字目が判別する。１文字目でないときはステップＳ１１３でエラー処理を行い、１文字目のときはステップＳ１１４で符号入力の処理を行う。符号入力でないときはステップＳ１１５で小数点であるか判別し、小数点のときは、ステップＳ１１６でキャレットが仮数部にあるか判別する。仮数部にないときはステップＳ１１７でエラー処理を行い、仮数部にあるときは、ステップＳ１１８で小数点の１文字目か判別し、１文字目でないときはステップＳ１１７でエラー処理を行い、１文字目のときはステップＳ１１９で小数点入力を行う。
【００１４】
小数点でないときは、ステップＳ１２０で指数記号か判別し、指数記号のときは、ステップＳ１２１でキャレットが仮数部にあるか判別する。仮数部にないときは、ステップＳ１２２でエラー処理を行い、仮数部にあるときはステップＳ１２３で指数記号の１文字目が判別し、１文字目でないときはステップＳ１２２でエラー処理を行い、１文字目のときはステップＳ１２４で指数記号入力の処理を行う。
【００１５】
指数記号でないときは、ステップＳ１２５で数字入力か判別し、数字入力でないときは、ステップＳ１２６でエラー処理を行い、数字入力のときはステップＳ１２７で０であるか判別する。０であるときは、ステップＳ１２８で数字の１文字目であるか判別し、１文字目のときはステップＳ１２９で無視し、１文字目でないときは、ステップＳ１３０で数字入力の処理を行う。また、ステップＳ１２７でゼロでないときは、ステップＳ１３０で数字入力の処理を行う。
【００１６】
この従来例においては、符号入力は仮数部と指数部の１文字目のみ許されるので、キャレットが仮数部にあるか指数部にあるかの判定と、それぞれの２文字目以降のチェックが必要となる。また、小数点入力は仮数部のみに許されるので、その判定と、２文字以上の入力チェックが必要となる。さらに、小数点以下の部分ではゼロサプレスしてはならないので、ゼロサプレス時には仮数部の最初の１文字目か指数部の１文字目かの判定が必要となる。
【特許文献１】渡辺成良、コンピュータによる数値演算の基礎知識、インターフェース、      ＣＱ出版株式会社、１９９５年５月１日、第２１巻、ｐ５６−７１
【発明の開示】
【発明が解決しようとする課題】
【００１７】
このような従来の情報処理装置にあっては、整数入力および実数入力は、それぞれアプリケーションプログラムがマスク処理を行うようになっているため、複雑な判定処理が必要であり、プログラムが複雑になり、処理に時間がかかるという問題があった。また、書式設定ができるコントロール部品は、書式を文字列で指定するため、きめ細かい表示位置の制御ができないという問題もあった。
【００１８】
本発明は、このような従来の問題に鑑みてなされたものであって、複雑な判定処理が必要でなく、プログラムが単純化され、処理時間もかからず、さらに表示の自由度を向上させることができる情報処理装置及びプログラムを格納した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１９】
この目的を達成するために、本発明は、図１のように構成する。
【００２０】
請求項１の発明は、グラフィカルユーザーインタフェースを有し、キー入力された文字列のアプリケーション処理に対する入力処理を行う情報処理装置に於いて、
キー入力された文字列が表示されるウィンドウと、
ウィンドウ内に非表示状態で設定された１又は複数の入力フィールドと、
入力フィールド毎にマスク対象文字を指定し、マスク対象文字の入力を判別した場合は無視して表示せず、マスク対象文字以外の入力を判別した場合はそのまま又は予め定めた所定の処理を施して前記入力フィールドに表示する入力処理部と、
を備えたことを特徴とする。
【００２１】
請求項２の発明は、請求項１記載の情報処理装置に於いて、
入力フィールドは整数入力フィールドであり、前記整数入力フィールド内に符号入力フィールドと整数入力フィールドを順番に設定し、
入力処理部は、前記符号フィールドについて正又は負の符号以外の文字のマスク対象文字に指定することにより正又は負の符号のみを入力して表示し、整数入力フィールドついて正数以外の文字のマスク対象文字に指定することにより正数のみを入力して表示することを特徴とする。
【００２２】
請求項３の発明は、請求項２記載の情報処理装置に於いて、入力処理部は、データと処理を一纏めにした対象物として扱うオブジェクト指向の処理部であり、図１（Ａ）のように、
アプリケーション処理からキー入力イベントを取り出して入力処理するとともに表示処理を行う入力フィールド処理手段３５と、
入力フィールド処理手段３５を継承し、文字列入力を判別して文字列入力の処理を行う文字列入力処理手段３６と、
入力フィールド処理手段３５と文字列入力処理手段３６を継承し、文字列入力手段３６が処理した文字列について半角文字入力のみを判別して半角文字入力の処理を行う半角文字入力処理手段３７と、
半角文字入力処理手段３７を継承し、半角文字入力手段３７が処理した文字列について、符号入力のみを入力処理するとともに符号の設定値をアプリケーション処理に返す符号入力処理手段３８と、
半角文字入力処理手段３７を継承し、半角文字入力手段が処理した文字列について、正数入力のみを入力処理するとともに正数の設定値をアプリケーション処理に返す正数入力処理手段３９と、
符号入力処理手段３８と正数入力処理手段３９を内部に包含し、整数入力を入力処理するとともに、符号の設定値と正数の設定値の積をアプリケーション処理に返す整数入力処理手段４０と、
を備えたことを特徴とする。
【００２３】
請求項４の発明は、グラフィカルユーザーインタフェースを有し、キー入力された文字列のアプリケーション処理に対する入力処理を行う情報処理装置に於いて、
キー入力された文字列が表示されるウィンドウと、
ウィンドウ内に非表示状態で設定された１又は複数の入力フィールドと、
特定の入力フィールドにつきマスク対象文字を指定し、マスク対象文字の入力を判別した場合は無視し表示せず、マスク対象文字以外の入力を判別した場合はそのまま又は予め定めた所定の処理を施して対応する入力フィールドに表示し、更に、他の特定の入力フィールドにつき入力文字を指定することにより特定文字のみを入力して対応する入力フィールドに表示する入力処理部と、
を備えたことを特徴とする。
【００２４】
請求項５の発明は、請求項１記載の情報処理装置に於いて、
入力フィールドは実数入力フィールドであり、実数入力フィールド内に、
仮数部の符号入力フィールド、
仮数部の正数入力フィールド、
小数点表示の文字定数フィールド、
仮数部の正数入力フィールド、
指数記号の文字定数入力フィールド、
指数部の符号入力フィールド、及び
指数部の正数入力フィールド
を順番に設定し、
入力処理部は、
仮数部の符号フィールドについて正又は負の符号以外の文字のマスク対象文字に指定することにより正又は負の符号のみを入力して表示し、
仮数部の正数入力フィールドついて正数以外の文字のマスク対象文字に指定することにより正数のみを入力して表示し、更に
小数点表示の文字定数フィールドに対し小数点符号を入力文字に指定することにより小数点のみを入力して表示し、
仮数部の符号フィールドについて正又は負の符号以外の文字のマスク対象文字に指定することにより正又は負の符号のみを入力して表示し、
仮数部の正数入力フィールドついて正数以外の文字のマスク対象文字に指定することにより正数のみを入力して表示し、更に
指数部の符号入力フィールドに対し指数符号を入力文字に指定することにより指数符号のみを入力して表示することを特徴とする。
【００２５】
請求項６の発明は、請求項５記載の情報処理装置に於いて、入力処理部は、データと処理を一纏めにした対象物として扱うオブジェクト指向の処理部であり、図１（Ｂ）のように、
アプリケーション処理からキー入力イベントを取り出して入力処理するとともに表示処理を行う入力フィールド処理手段３５と、
入力フィールド処理手段３５を継承し、文字列入力を判別して文字列入力の処理を行う文字列入力処理手段３６と、
入力フィールド処理手段３５と文字列入力処理手段３６を継承し、文字列入力手段３６が処理した文字列について半角文字入力のみを判別して半角文字入力の処理を行う半角文字入力処理手段３７と、
半角文字入力処理手段３７を継承し、半角文字入力手段３７が処理した文字列について、符号入力のみを入力処理するとともに符号の設定値を前記アプリケーション処理に返す符号入力処理手段３８と、
半角文字入力処理手段３８を継承し、半角文字入力手段３８が処理した文字列について、正数入力のみを入力処理するとともに正数の設定値をアプリケーション処理に返す正数入力処理手段３９と、
入力フィールド処理手段３５を継承し、文字定数入力を判別して文字定数入力の処理を行う文字定数入力処理手段４８と、
符号入力処理手段３８、正数入力処理手段３９及び文字定数入力手段４８を内部に包含し、実数入力および指数入力の入力処理を行うとともに仮数部の設定値、指数部の設定値および実数部の設定値をアプリケーション処理に返す実数入力処理手段４９と、
を備えたことを特徴とする。
【００２６】
請求項７の発明は、グラフィカルユーザーインタフェースを有し、キー入力された文字列のアプリケーション処理に対する入力処理を行う入力処理プログラムを記録したコンピュータ読取可能な記録媒体に於いて、
コンピュータに、
キー入力された文字列が表示されるウィンドウを設定し、
ウィンドウ内に非表示状態１又は複数の入力フィールドを設定し、
入力フィールド毎にマスク対象文字を指定し、マスク対象文字の入力を判別した場合は無視して表示せず、マスク対象文字以外の入力を判別した場合はそのまま又は予め定めた所定の処理を施して入力フィールドに表示する入力処理を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体よりなる。
【００２７】
請求項８の発明は、グラフィカルユーザーインタフェースを有し、キー入力された文字列のアプリケーション処理に対する入力処理を行う入力処理プログラムを記録したコンピュータ読取可能な記録媒体に於いて、
コンピュータに、
キー入力された文字列が表示されるウィンドウを設定し、
ウィンドウ内に非表示状態１又は複数の入力フィールドを設定し、
入力フィールド毎にマスク対象文字を指定し、マスク対象文字の入力を判別した場合は無視して表示せず、マスク対象文字以外の入力を判別した場合はそのまま又は予め定めた所定の処理を施して前記入力フィールドに表示し、更に、他の特定の入力フィールドにつき入力文字を指定することにより特定文字のみを入力して対応する入力フィールドに表示する入力処理を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体よりなる。
【発明の効果】
【００２８】
このような構成を備えた本発明は、整数入力処理において、従来のような複雑な判定処理が必要でなくなり、プログラムを単純化することができ、処理時間を短縮することができ、また、表示の自由度を向上させることができ、さらに、絶対値を簡単に取得することができる。
【００２９】
また本発明は、実数入力処理において、従来のような複雑な判定処理が必要でなくなり、プログラムを単純化することができ、処理時間を短縮することができ、また、表示の自由度を向上させることができ、さらに、絶対値を簡単に取得することができる。
【発明を実施するための最良の形態】
【００３０】
図２は本発明の一実施形態を示す全体構成図である。図２において、１はＣＰＵであり、ＣＰＵ１にはバス２を介して２次キャッシュメモリ３が接続されている。また、ＣＰＵ１にはバスコントローラ４を介してＤＲＡＭよりなる主記憶５およびＲＯＭ６、また、ディスクコントローラ７、ディスプレイアダプタ８、ボードマウスコントローラ９、フロッピィコントローラ１０が接続されている。ＲＯＭ６内には主記憶５、ディスプレイアダプタ８、ボードマウスコントローラ９を制御する制御プログラムが格納されている。
【００３１】
ディスプレイアダプタ８は、コントロール部品により入出力処理が行われるウィンドウを有するディスプレイ１１を制御し、ボードマウスコントローラ９はキーボード１２およびマウス１３を制御する。また、フロッピィコントローラ１０は、フロッピイ１４を制御する。また、ディスクコントローラ７はＣＤ−ＲＯＭ１５およびディスク装置１６を制御する。ディスク装置１６内にはＯＳ１７、ＧＵＩ１８、アプリケーションプログラム１９が格納され、また、整数入力処理を行う整数入力処理プログラム２０および実数入力処理を行う実数入力処理プログラム２１がそれぞれ格納されている。
【００３２】
図３はディスプレイ１１の表示画面を示す図である。
【００３３】
図３において、２２はウィンドウと呼ばれる表示画面であり、ユーザーはマウス１３やキーボード１２などの入力デバイスを用いて、ウィンドウやウィンドウを所有するアプリケーションプログラム１９と対話することができる。表示画面２２内にはコントロール部品である子ウィンドウが設けられている。ユーザーはコントロール部品を用いて、コマンドの選択、状態の表示、テキストの表示、編集などを行う。
【００３４】
通常、ＧＵＩ１８は、コントロール部品として、ボタン２３、リストボックス２４、エディット２５、コンポボックス２６、ラベル２７などを提供している。ボタン２３はユーザーがコントロール部品を選択したとき親ウィンドウに通知する。リストボックス２４はユーザーが項目を１つ以上選択するためのリストを表示する。
【００３５】
エディット２５は、このコントロール部品を使ってテキストを表示し、編集する。コンポボックス２６はリストボックス２４とエディット２５の組み合わせで、ポインタ２８で三角印２９を押すと、コンポボックス２６が開く。スタティック（ラベル）２７は、文字列を表示し、他のコントロール部品のラベルとしてよく使用される。なお、３０はエディット２５で用いるキャレットである。
【００３６】
コントロール部品は、プログラムの使用者がプログラムの動作を指定するために使用するインタフェース画面の構成要素のことであり、文字や絵の入力および編集を補助するための構成要素がエディットコントロール部品である。
【００３７】
図４に示すように、エディットコントロール部品は単一または複数の入力フィールド３１と一つのキャレット３０で構成される。キャレット３０はキーボード１２から入力された文字がどこに表示されるか示しており、エディットコントロール部品内のいずれかのフィールドが所有している。入力フィールド３１の外枠３２は表示画面２３上では表示されず、またユーザーからはその境界は区別できない。
【００３８】
エディットコントロール部品にはＧＵＩ１８より読み出されるイベントハンドラ（メソッド）が用意される。
・キー入力
・ウィンドウ内でのマウス１３の操作
・コントロール部品のサイズ変更または再表示
ユーザーの操作（キーボード１２やマウス１３による画面操作）やプログラム実行上での異常事態（ディスク装置１６の故障や容量不足）などの事象がイベントであり、この事象をＧＵＩ１８がプログラムに通知するためにプログラム上の処理を呼び出す。呼び出される処理がイベントハンドラである。また、データと処理を一纏めにした対象物として扱うオブジェクト指向では、その対象物の振る舞いを示す属性がプロパティであり、その対象物を操作する処理がメソッドである。
【００３９】
（１）キー入力イベントでの処理
コントロール部品はキー入力イベントが発生すると、キャレット３０を保持している入力フィールド３１のキー入力イベントハンドラを呼び出す。その入力フィールド３１のイベントハンドラがキー入力を処理しなかった場合、その右側の入力フィールド３１のキー入力イベントハンドラを呼び出す。入力フィールド３１が内部に入力フィールド３１を保持している場合は、その内部の入力フィールド３１のキー入力イベントハンドラが任意の順序で呼び出される。
【００４０】
図５はエディットコントロール部品のキー入力イベント処理を説明するフローチャートである。
【００４１】
図５において、ステップＳ１でキャレット３０を保持する入力フィールド３１のキー入力メソッドを呼び出す。ステップＳ２でそのキー入力が処理されたか判別し、処理されているときはキー入力イベント処理終了とし、処理されていないときは、ステップＳ３で次の入力フィールド３１のキー入力メソッドを呼び出す。
【００４２】
（２）マウスイベントでの処理
エディットコントロール部品内でマウス１３がクリックされると、ＧＵＩ１８が規定した操作に従って、クリック位置の入力フィールドへのキャレット移動操作または文字列のカットアンドペースト操作などが行われる。
【００４３】
ＧＵＩ１８環境では、文字または絵が表示された表示画面２２上の領域をマウス１３をドラグすることで選択して切り取り（カット）を行ったり、切り取った情報を別の画面上の領域に貼り付け（ペースト）したりすることができる。この切り取った情報を保管するメモリ領域がクリップボードである。
【００４４】
（３）再描画の処理
エディットコントロール部品のサイズが変更されたり、再描画されたりしたときは、左端または右端の入力フィールド３１から順序書き直しの処理メソッドが呼び出される。
【００４５】
複数のプログラムが並列に動作し、それぞれの仮想的な表示画面２２（ウィンドウ）が多重に表示されるＧＵＩ１８環境では、別のプログラムのウィンドウによって自プログラムのウィンドウの一部または全部が隠されてしまうことがある。この隠された領域の画面情報をＧＵＩ１８が保持するには膨大なメモリ領域が必要とされるので、ＧＵＩ１８はこの隠された領域の画面情報を保持せず、隠された領域が再び表示されたとき（他のプログラムのウィンドウが消されたりそのウィンドウより前面に表示されたときに）、そのウィンドウを再び描きなおすようにプログラムに指示する。この事象が再描画イベントである。
【００４６】
図６に再描画のフローチャートを示す。
【００４７】
図６において、ステップＳ１１で左端または右端の入力フィールド３１の再描画メソッドを呼び出す。ステップＳ１２で再描画がすべて処理されたかを判別し、処理されたときは、再描画イベント処理を終了とし、処理されていないときは、ステップＳ１３で次の入力フィールド３１の再描画メソッドを呼び出す。こうして、再描画処理が行われる。
【００４８】
なお、図７に示すように、外側入力フィールド３３の中に内側入力フィールド３４を入れて、入力フィールド３１は入れ子にすることもできる。この場合、エディットコントロール部品は一番外側の外側入力フィールド３３のイベントハンドラ（メソッド）を呼び出す。外側入力フィールド３３のイベントハンドラは、任意の順序で内側入力フィールド３４のイベントハンドラを呼び出す。
【００４９】
図８は整数入力処理プログラム２０の構成例を示す図（ＯＭＴ図）である。
【００５０】
図８において、整数入力処理プログラム２０は、入力コマンド処理手段としての入力フィールド処理部３５、文字列入力処理手段としての文字列入力処理部３６、半角文字入力処理手段としての半角文字入力処理部３７、符号入力処理手段としての符号入力処理部３８、正数入力処理手段としての正数入力処理部３９および整数入力処理手段としての整数入力処理部４０により構成される。図中、三角（△）は継承を示し、ひし形は集合を示す。
【００５１】
入力フィールド処理部３５は、アプリケーションプログラム１９からキー入力を取り出し、キー入力処理を行うとともに、表示位置の処理を行う。すなわち、エディットコントロール部品の前述したようなイベント処理を実装するため、入力フィールド処理部３５は下記のメソッドとプロパティを備える。
メソッド
・キー入力処理
・キャレット３０の取得または喪失処理
・再描画処理
プロパティ
・入力フィールド３１内での位置情報
・入力フィールド３１内でのキャレット位置
【００５２】
図９は入力フィールド処理部３５のＯＭＴ図である。
ＯＭＴ図は、オブジェクト指向（制御対象物のデータとそれに特化した処理を一纏めにして扱う）のモデル作成のための方法としてＯＭＴ（Object ModelingTechnique ）があり、それにより記述されたオブジェクト（制御対象物）の構成図である。
【００５３】
図９において、４１は入力処理部名（クラス名）、４２はプロパティ名、４３はメソッド名を示す。入力フィールド処理部３５は、プロパティとして位置情報を有し、これにより、整数入力処理において、＋，−の符号は左寄せ、数字は右寄せに表示する表示処理を行う。
【００５４】
入力フィールド処理部３５を継承する文字列入力処理部３６、半角文字入力処理部３７、符号入力処理部３８、正数入力処理部３９、整数入力処理部４０の各入力処理部は入力フィールド処理部３５の定義したプロパティ（属性）とメソッドを備えている。エディットコントロール部品は、入力フィールド処理部３５の定義したインタフェースで各入力処理部のメソッドを呼び出す。
【００５５】
文字列入力処理部３６は、文字列の入力処理を行い、キーボード１２から入力された文字列を表示する。文字列入力処理部３６は入力フィールド処理部３５を継承している（すなわち、入力フィールド処理部３５の備えているプロパティとメソッドをすべて持っている）。これに加えてＩＭＥを制御するためのＩＭＥモードを指定するプロパティを持っている。
【００５６】
ＩＭＥ（Input Method Editor ）はＯＳ１７、ＧＵＩ１８または専用のアプリケーションプログラム１９によって提供される日本語入力編集機能のことであり、ＩＭＥにより日本語が使用できるＧＵＩ上ですべてのプログラムが同じ操作で日本語入力を行うことができる。
【００５７】
文字列入力処理部３６は、図１０に示すようなプロパティとメソッドを保持する。通常ＯＭＴでは、継承したプロパティとメソッドを区別するために図１１のように表記する。派生した入力処理部では新たに追加したプロパティとメソッドのみが記述される。文字列入力処理部３６ではＩＭＥモードプロパティが追加されているので、図１１ではＩＭＥモードのプロパティのみが記述されている。
【００５８】
図１１において、△（三角記号）は、継承関係を示す。この継承は、オブジェクト指向の概念の一つで、同じ性質を持った複数のオブジェクト（制御対象物）のより抽象的な概念を考える（犬、猫→動物 あるいは乗用車、トラック→自動車）ことで、それぞれに必要な処理を共通化した対象物を作り、その性質を受け継いだものでは共通部と違う処理のみを記述する。これにより差分プログラミングが可能となりプログラム開発量を減らすことができる。抽象的なオブジェクトをスーパー入力処理部（スーパークラス）、具体的なオブジェクトを派生入力処理部（派生クラス）、抽象的なオブジェクトから性質を受け継ぐことを継承する、という。
【００５９】
ＩＭＥモードには、入力フィールド処理部３５にキャレット３０が入ったときのＩＭＥの状態を設定する。
【００６０】
ＩＭＥの状態は、日本語では次のようなものがある。
・全角ひらがな入力
・全角カタカナ入力
・全角英数入力・半角カタカナ入力
・半角英数入力
・変換ＯＮ／ＯＦＦ
文字列入力処理部３６ではＩＭＥを制御するために入力フィールド処理部３５のキャレット取得／喪失メソッドをオーバーロード（置き換え）する。継承したメソッドを派生入力処理部が別のメソッドに置き換えることで同一インタフェースによりプログラム間通信を行う。
【００６１】
図１２はキャレット取得処理を示すフローチャートである。
【００６２】
図１２において、ステップＳ２１で文字列入力処理部３６ではＩＭＥモードプロパティ設定値にしたがって、ＩＭＥを状態設定して、キャレット３０を取得する。
【００６３】
エディットコントロール部品は、キー入力、再描画は入力フィールド処理部３５のメソッドを呼び出し、キャレット取得処理だけ文字列入力処理部３６のメソッドを呼び出す。
【００６４】
半角文字入力処理部３７は、半角文字のみ入力処理し、符号入力または正数入力を判定する。半角文字入力処理部３７は文字列入力処理部３６を継承している。すなわち、文字列入力処理部３６と入力フィールド処理部３５の備えているプロパティとメソッドをすべて持っている。半角文字入力処理部３７は、これに加えて特定の半角文字の入力マスク機能を提供するための入力マスクプロパティを持っている。
【００６５】
すなわち、図１３に示すように、半角文字入力処理部３７は、プロパティとして、入力マスクを追加している。
【００６６】
半角文字入力処理部３７が文字列入力処理部３６と入力フィールド処理部３５から継承されることを図１４は示している。
【００６７】
半角文字入力処理部３７では、ＩＭＥモードプロパティを常に“変換ＯＦＦ”の状態に設定する。これにより、半角文字入力処理部３７にキャレット３０が移動したときにＩＭＥの変換モードが強制的にオフ状態になり、半角文字の入力しか行えなくなる。（したがって、半角文字／全角文字の判定は不要である）。
【００６８】
図１５は半角文字入力処理部３７におけるキャレット取得処理を示すフローチャートである。
【００６９】
図１５において、ステップＳ３１で半角文字入力処理部３７ではＩＭＥの変換機能をオフにして、キャレット３０を取得する。
【００７０】
半角文字入力処理部３７では、キー入力メソッドをオーバーロード（置き換え）することにより、特定の文字を入力時の処理を変更することができる。通常、入力された文字はエディットコントロール部品の入力フィールド３１のある場所に表示される。この処理は入力フィールド処理部３５のキー入力メソッドが行う。半角文字入力処理部３７では、入力マスクプロパティに設定された文字について、下記の操作のいずれかを行う。
・入力された文字の文字コードに特定の演算を行う。
【００７１】
入力された文字が大文字の‘Ａ’（ＡＳＣＩＩコードで６５）ならば、この値に３２を加えることにより小文字の‘ａ’（ＡＳＣＩＩコードで９７）に変換することができる。
・入力された文字を表示した後で、キャレット３１を他の入力フィールド３１へ移動する。
【００７２】
ある特定の文字やキー（改行キーや矢印キー）が押されたときに、別の入力フィールド３１へキャレット３０を移動する。次の文字からは移動先の入力フィールド３１のキー入力メソッドが呼ばれることになる。
・入力された文字を無視する。
・入力された文字を別の入力フィールド３１へ送る。
【００７３】
特定の文字またはキー入力で他の入力フィールド３１のキー入力メソッドを呼び出す。      
【００７４】
これらの機能を実装するために、半角文字入力処理部３７はキー入力メソッドをオーバーロード（置き換え）する。
【００７５】
図１６は半角文字入力処理部３７のキー入力処理を示すフローチャートである。
【００７６】
図１６において、ステップＳ４１でマスクする文字か判別し、マスクする文字のときには、ステップＳ４２で入力マスクプロパティで設定して処理を行い、マスクする文字でないときは、ステップＳ４３で通常の処理として、入力された文字を描画する。
【００７７】
符号入力処理部３８は、符号入力のみを入力処理するとともに、＋，−の設定状態を＋１，−１の数値としてアプリケーションプログラム１９に返す。
【００７８】
符号入力処理部３８は半角文字入力処理部３７を継承している。すなわち、符号入力処理部３８においては、半角文字入力処理部３７の機能を使用して、正負（‘＋’，‘−’）の記号以外の入力をできなくし、また正負の文字列以外に、プラス、マイナスキー入力時の文字を置き換える（たとえばマイナスキーが押されたときに‘−’ではなく代わりに‘▲’を表示する）機能が追加されている。また、プラス、マイナスの設定状態を数値として−１または＋１を返す機能も追加されている。
【００７９】
すなわち図１７に示すように、符号入力処理部３８では、プロパティとして文字を置き換えるための表示文字、＋，−の設定値を返すための設定値が設けられている。符号入力処理部３８の継承関係は、図１８に示される符号入力処理部３８では表示文字、設定値が追加されている。
【００８０】
図１９は符号入力処理部３８のキー入力処理を示すフローチャートである。なお、破線内は半角文字入力処理部３７のキー入力処理を示している。
【００８１】
図１９において、ステップＳ５１で符号文字であるか判別し、符号文字でないときは、ステップＳ５２で入力マスクプロパティで設定した処理（無視）を行う。符号文字のときは、ステップＳ５３で表示文字、例えば、＋，−，△などに置き換えて表示する。表示文字は入力マスクプロパティで指定する。次に、ステップＳ５４で設定値プロパティに値を設定する。例えば、＋１，−１を設定する。
【００８２】
整数入力処理部３９は、数字（０〜９）のみを入力処理するとともに、設定された文字列を数値に変換してアプリケーションプログラム１９に返す。
【００８３】
正数入力処理部３９は半角文字入力処理部３７を継承している。すなわち、正数入力処理部３９においては半角文字入力処理部３７の機能を使用し、数字（‘０’〜‘９’）以外の入力をできなくした。また、設定された文字列を数値として返す機能も追加されている。
【００８４】
すなわち、図２０に示すように、正数入力処理部３９においては、プロパティとして設定された文字列を数値として返す設定値が設けられている。
【００８５】
正数入力処理部３９の継承関係を図２１に示す。正数入力処理部３９は、数字入力のために半角文字処理部３７の入力マスクプロパティの機能を使用する。
【００８６】
図２２は正数入力処理部３９のキー入力処理を示すフローチャートである。なお、破線内は半角文字入力処理部３７のキー入力処理を示す。
【００８７】
図２２において、ステップＳ６１で数字であるか判別し、数字でないときは、ステップＳ６２で入力マスクプロパティで設定した処理（無視）を行う。数字のときはステップＳ６３で数字を表示する。この表示は入力マスクプロパティで指定する。次に、設定値プロパティに数値を設定する。すなわち、設定された数字列を設定値として設定する。
【００８８】
整数入力処理部４０は、整数入力の処理を行うとともに符号入力処理部３８からの設定値と正数入力処理部３９からの設定値により整数値（設定値）を取得してアプリケーションプログラム１９に返す。整数入力処理部４０は符号入力処理部３８と正数入力処理部３９を内部に包含した入力処理部（クラス）である。
【００８９】
図２３に示すように、エディットコントロール部品の外枠３２内において、整数入力フィールド４４は、符号入力フィールド４５と正数入力フィールド４６により構成される。
【００９０】
整数入力処理部４０は、入力フィールド処理部３５を継承しており、入力フィールド処理部３５で定義される下記のメソッドを備えている。
・キー入力
・キャレットの取得／喪失
・再描画
【００９１】
また、整数入力処理部４０は符号入力処理部３８と正数入力処理部３９の設定値から整数値を取得するためのプロパティと符号文字入力処理部３８に設定する正負の表示文字のプロパティを備えている。
【００９２】
図２４に示すように、整数入力処理部４０においては、プロパティとして＋，−などの表示文字、整数値として返すための設定値が設けられる。すなわち、整数入力処理部４０の表示文字プロパティは包含する符号入力処理部３８の表示文字プロパティに設定される。また、設定値プロパティは次の式の計算値である。
【００９３】
整数入力の設定値＝符号入力の設定値×正数入力の設定値
図２５は正数入力のキー入力処理を示すフローチャートである。
【００９４】
図２５において、ステップＳ７１でキャレット位置が符号入力にあるか正数入力にあるか判別し、符号入力にあるときは、ステップＳ７２で符号入力のキー入力処理を行い、ステップＳ７３で処理されたらステップＳ７８に進み、処理されていないときは、ステップＳ７４でキャレットを正数入力に移動して、ステップＳ７１に戻る。キャレット位置が正数入力にあるときは、ステップＳ７５で正数入力のキー入力処理を行い、ステップＳ７６で処理されたか判別し、処理されているときは、ステップＳ７８に進み、処理されていないときは、ステップＳ７７で符号入力のキー入力処理を行う。ステップＳ７８では設定値の更新を行う。
【００９５】
なわち、整数入力処理部４０は、キーが押されたときにまずキャレット３０を保持している方の入力フィールド処理部３５のキー入力メソッドを呼び出し、呼び出されたキー入力メソッドがキー入力を処理しなかった場合、他方のキー入力メソッドを呼び出す。この処理フローによりユーザーから見て通常の実装方式によるキー入力と同様の操作性が得られる。
【００９６】
図２６および図２７は整数入力フィールド４６に「−１２３」が入力したときの動作を説明する図である。
【００９７】
図２６（Ａ）に示すように、整数入力処理部４０は最初に符号入力フィールド４５にキャレット３０を置く。
【００９８】
次に、図２６（Ｂ）に示すように、マイナスキーの入力により、符号入力フィールド４５には‘−’が表示される。このとき符号入力フィールド４５の設定値は−１となる。
【００９９】
次に、図２６（Ｃ）に示すように、数字の１が入力される。この時、符号入力フィールド４５はこの文字を処理しないでキャレット３０を正数入力フィールド４６に移動させる。ユーザーにはフィールドの境界が見えないので、図２６（Ｂ）と図２６（Ｃ）は同じに見える。
【０１００】
次に、図２７（Ｄ）に示すように、正数入力フィールド４６が数字の１を処理し、１が表示される。ここで正数入力フィールド４６の設定値が１になり、整数入力フィールド４４の数値として−１×１＝−１が設定される。
【０１０１】
次に、図２７（Ｅ）に示すように、数字の２が入力される。正数入力フィールド４６がキー入力を処理し、「１２」と表示される。正数入力フィールド４６の設定値は「１２」となり、整数入力フィールド４４の数値として−１×１２＝−１２が設定される。
【０１０２】
次に、図２７（Ｆ）に示すように、数字の３が入力される。正数入力フィールド４６がキー入力を処理し、「１２３」と表示される。正数入力フィールド４６の設定値は「１２３」となり、整数入力フィールド４４の数値として−１×１２３＝−１２３が設定される。
【０１０３】
本実施形態においては、従来の単一の整数入力処理に比べ、次のような効果がある。
・数値入力の途中で＋，−の符号を無視する処理が不要である。
・数値入力の途中で＋，−の符号の反転処理ができる。
・＋，−の符号は左寄せ、数字は右寄せといった表示処理ができる。
・絶対値が簡単に取得できる。
【０１０４】
したがって、従来のような複雑な判定処理が必要でなくなり、プログラムを単純化することができ、処理速度が早くなる。また、表示の自由度を向上させることができる。
【０１０５】
図２８は本発明の第２の実施形態を示す実数入力処理プログラムの構成例を示す図である。
【０１０６】
図２８において、図８の入力フィールド処理部３５、文字列入力処理部３６、半角文字入力処理部３７、符号入力処理部３８、正数入力処理部３９に加えて、ラベル入力処理部４７、文字定数入力処理手段としての文字定数入力処理部４８が設けられ、整数入力処理部４０に代えて実数入力処理手段としての実数入力処理部４９がそれぞれ設けられている。
【０１０７】
入力フィールド処理部３５は、実数入力処理においては、小数点より上の部分を右寄せに、小数点以下の部分を左寄せにして表示処理することができる。また、入力フィールド処理部３５は、指数部を上付に表示することができる。文字列入力処理部３６、半角文字入力処理部３７、符号入力処理部３８、正数入力処理部３９は、図８と同様の機能を有する。
【０１０８】
ラベル入力処理部４７は、特定の文字または絵を表示する。ラベル入力処理部４７は、入力フィールド処理部３５を継承しており、入力フィールド処理部３５の備えているプロパティとメソッドをすべて持っている。ラベル入力処理部４７は文字列入力処理部３６と異なりあらかじめ決められた文字または絵の表示機能を備える。
【０１０９】
図２９はラベル入力処理部４７が備えるプロパティとメソッドを示す。
【０１１０】
図３０に示すように、ラベル入力処理部４７では追加されたプロパティはない。また、ラベル入力処理部４７はキー入力の処理を行わない。エディットコントロール部品または入力フィールド処理部３５は、ラベル入力処理部４７がキー入力処理を行わないので、次の入力フィールド３１にキャレット３０を移動させる。
【０１１１】
文字定数入力処理部４８は、文字定数を表示する。文字定数入力処理部４８は、ラベル入力処理部４７を継承して実装され、文字列表示専用の入力処理部である。文字定数入力処理部４８は表示するための文字列を保持するプロパティを備えている。すなわち、図３１に示すように、文字定数入力処理部４８は、プロパティとして表示文字列を備える。
【０１１２】
文字定数入力処理部４８は表示文字列プロパティで指定された文字と同じキーが押されたときに表示するように動作する。これはキー入力メソッドをオーバーロード（置き換え）して実装される。文字定数入力処理部４８のＯＭＴ図を図３２に示す。
【０１１３】
図３３は文字定数入力処理部４８のキー入力処理を示すフローチャートである。
【０１１４】
図３３において、ステップＳ８１でキー入力が表示文字列と同じであるか判別し、同じであるときは、ステップＳ８２で文字列を表示して、キャレット３０を次の入力フィールド３１に移動する。
【０１１５】
実数入力処理部４９は、符号入力および正数入力が処理された後に実数入力処理および指数入力処理を行って、仮数部の設定値、指数部の設定値、実数部の設定値をアプリケーションプログラム１９に返す。
【０１１６】
実数入力処理部４９の実数入力フィールド５０は、図３４に示すように、仮数部の符号入力フィールド５１、仮数部の正数入力フィールド５２、小数点表示の文字定数フィールド５３、仮数部の正数入力フィールド５４、指数記号の文字定数フィールド５５、指数部の符号入力フィールド５６、指数部の正数入力フィールド５７により構成される。
【０１１７】
これらの各フィールド５１〜５７は、それぞれ次のものを表示する。
・仮数部の正負の符号
・仮数部の小数点左の数値
・仮数部の小数点
・仮数部の小数点右の数値
・指数記号文字
・指数部の符号
・指数部の数値
【０１１８】
実数入力処理部４９は、入力フィールド処理部３５を継承しており、入力フィールド処理部３５で定義される下記のメソッドを備えている。
・キー入力
・キャレットの取得／喪失
・再描画
【０１１９】
また、実数入力処理部４９は仮数部の符号入力処理部３８と正数入力処理部３９の設定値から仮数部の実数値を取得するためのプロパティと、指数部の符号入力処理部３８と正数入力処理部３９の設定値から指数値（整数）を取得するためのプロパティ、およびこれらの設定値から設定された実数値を取得するプロパティを備えている。
【０１２０】
すなわち、図３５に示すように実数入力処理部４８は、プロパティとして位置情報、キャレット位置、表示文字列に加えて仮数部の設定値、指数部の設定値、および実数部の所定値を備えている。
【０１２１】
実数入力処理部４８の仮数部の設定値は次の式の計算結果である。
【０１２２】
【数１】
2004164661.tif 000003
【０１２３】
また、指数部の設定値は次の式の計算結果である。
指数部の設定値＝符号入力の設定値×正数入力の設定値
【０１２４】
また、設定された実数の設定値は次の式の計算結果である。
【０１２５】
【数２】
2004164661.tif 000004
【０１２６】
図３６は実数入力処理部の入力処理を示すフローチャートである。
【０１２７】
図３６において、まず、ステップＳ９１でキャレット位置が正数入力にあるか符号入力にあるか判別し、正数入力にあるときは、ステップＳ９５に進み、符号入力にあるときは、ステップＳ９２に進む。
【０１２８】
ステップＳ９２では符号入力のキー入力処理を行い、ステップＳ９３で符号入力の処理がされたか判別し、されたときはステップＳ９９に進み、されていないときはステップＳ９４でキャレット３０を正数入力に移動して、ステップＳ９１に戻る。
【０１２９】
キャレット位置が正数入力にあるときは、ステップＳ９５で正数入力のキー入力処理を行って、ステップＳ９６で正数入力の処理がされたか判別する。処理がされているときはステップＳ９９に進み、処理がされていないときはステップＳ９７で入力フィールド３１の右側の文字定数のキー入力処理を行う。ステップＳ９８ではこのキー入力処理が処理されたキーを判別し、処理されていないときはステップＳ９７に戻り、処理されたときはステップＳ９９で設定値の更新を行う。
【０１３０】
図３７（Ａ）〜（Ｃ）、図３８（Ｄ）〜（Ｆ）、図３９（Ｇ）〜（Ｈ）は実数入力フィールド５０に例えば「１２３．４５」を設定したときの動作を説明する説明図である。
【０１３１】
まず、図３７（Ａ）に示すように、実数入力処理部４９は仮数部の符号入力フィールド５１にキャレット３０を置く。
【０１３２】
次に、図３７（Ｂ）に示すように、数字の１が仮数部の符号入力フィールド５１に入力される。符号入力フィールド５１はこの文字を処理しないでキャレット３０を右側の正数入力フィールド５２に移動させる。ユーザーにはフィールドの境界が見えないので、図３７（Ａ）と図３７（Ｂ）は同じに見える。仮数部の符号入力フィールド５１の設定値はあらかじめ設定されている１のままである。
【０１３３】
次に、図３７（Ｃ）に示すように、仮数部の小数点左の正数入力フィールド５２が数字の１を処理し、１が表示される。小数点左の正数入力フィールド５２の設定値が１になる。まだ文字が設定されていない小数点右の正数入力フィールド５４の設定値は０のままであり、仮数部の設定値は計算式より１．０となる。文字が未設定の指数部の符号入力フィールド５６と正数入力フィールド５７の設定値はそれぞれ１と０であり、指数部の設定値は０となる。実数部の設定値は計算式より１．０になる。
【０１３４】
次に、図３８（Ｄ）に示すように、数字の２が入力される。仮数部小数点左の正数入力フィールド５２がキー入力を処理し、１２と表示される。この正数入力フィールド５２の設定値は１２となり、仮数部の設定値は計算式より１２．０となる。指数部の設定値は０のままであり、実数部の設定値は計算式より１２．０となる。
【０１３５】
次に、図３８（Ｅ）に示すように、数字の３が入力される。仮数部小数点左の正数入力フィールド５２がキー入力を処理し、１２３と表示される。この正数入力フィールド５２の設定値は１２３となり、仮数部の設定値は計算式より１２３．０となる。指数部の設定値は０のままであり、実数部の設定値は計算式より１２３．０となる。
【０１３６】
次に、図３８（Ｆ）に示すように、小数点‘．’が入力される。仮数部小数点左の正数入力フィールド５２はキー入力を処理せずにその右側の入力フィールド、すなわち小数点の文字定数フィールド５３のキー入力処理メソッドを呼び出す。文字定数フィールド５３はキー入力を処理して小数点を表示し、キャレット３０をその右側の正数入力フィールド５４へ移動させる。
【０１３７】
次に、図３９（Ｇ）に示すように、数字の４が入力される。仮数部小数点右の正数入力フィールド５４がキー入力を処理し、４と表示される。この正数入力フィールド５４の設定値は４となり、このときの桁数は１である。計算式より、仮数部の設定値は１２３．４となる。指数部の設定値は０のままであり、実数部の設定値は計算式より１２３．４となる。
【０１３８】
次に、図３９（Ｈ）に示すように、数字の５が入力される。仮数部小数点右の正数入力フィールド５４がキー入力を処理し、４５と表示される。この正数入力フィールド５４の設定値は４５となり、このときの桁数は２である。計算式より、仮数部の設定値は１２３．４５となる。指数部の設定値は０のままであり、実数部の設定値は計算式より１２３．４５となる。
【０１３９】
図４０（Ａ）〜（Ｃ）、図４１（Ｄ）〜（Ｆ）、図４２（Ｇ）〜（Ｉ）は実数入力フィールド５０に「−１２３．４５」を設定したときの動作を説明する説明図である。
【０１４０】
まず、図４０（Ａ）に示すように、実数入力処理部４９は仮数部の符号入力フィールド５１にキャレット３０を置く。
【０１４１】
次に、図４０（Ｂ）に示すように、マイナスキーの入力により、符号入力フィールド５１には‘−’が表示される。この時符号入力フィールド５１の設定値は−１となる。
【０１４２】
次に、図４０（Ｃ）に示すように、数字の１が入力される。この時、符号入力フィールド５１はこの文字を処理しないでキャレット３０を右側の正数入力フィールド５２に移動させる。ユーザーにはフィールドの境界が見えないので、図４０（Ｃ）と図４１（Ａ）は同じに見える。
【０１４３】
次に、図４１（Ｄ）に示すように、仮数部の小数点左の正数入力フィールド５２が数字の１を処理し、１が表示される。小数点左の正数入力フィールド５２の設定値が１になる。まだ文字が設定されていない小数点右の正数入力フィールド５４の設定値は０のままであり、仮数部の設定値は計算式より−１．０となる。文字が未設定の指数部の符号入力処理部３８と正数入力処理部３９の設定値はそれぞれ１と０であり、指数部の設定値は０となる。実数部の設定値は計算式より−１．０となる。
【０１４４】
次に、図４１（Ｅ）に示すように、数字の２が入力される。仮数部小数点左の正数入力フィールド５２がキー入力を処理し、１２と表示される。この正数入力フィールド５２の設定値は１２となり、仮数部の設定値は計算式より−１２．０となる。指数部の設定値は０のままであり、実数部の設定値は計算式より−１２．０となる。
【０１４５】
次に、図４１（Ｆ）に示すように、数字の３が入力される。仮数部小数点左の正数入力フィールド５２がキー入力を処理し、１２３と表示される。この正数入力フィールド５２の設定値は１２３となり、仮数部の設定値は計算式より−１２３．０となる。指数部の設定値は０のままであり、実数部の設定値は計算式より−１２３．０となる。
【０１４６】
次に、図４２（Ｇ）に示すように、小数点‘．’が入力される。仮数部小数点左の正数入力フィールド５２はキー入力を処理せずにその右側の入力フィールド、すなわち小数点の文字定数フィールド５２のキー入力処理メソッドを呼び出す。文字定数フィールド５３はキー入力を処理して小数点を表示し、キャレット３０をその右側の正数入力フィールド５４へ移動させる。
【０１４７】
次に、図４２（Ｈ）に示すように、数字の４が入力される。仮数部小数点右の正数入力フィールド５４がキー入力を処理し、４と表示される。この正数入力フィールド５４の設定値は４となり、このときの桁数は１である。計算式より、仮数部の設定値は−１２３．４となる。指数部の設定値は０のままであり、実数部の設定値は計算式より−１２３．４となる。
【０１４８】
次に、図４２（Ｉ）に示すように、数字の５が入力される。仮数部小数点右の正数入力フィールド５４がキー入力を処理し、４５と表示される。この正数入力フィールド５４の設定値は４５となり、この時の桁数は２である。計算式より、仮数部の設定値は−１２３．４５となる。指数部の設定値は０のままであり、実数部の設定値は計算式より−１２３．４５となる。
【０１４９】
図４３（Ａ）〜（Ｃ）、図４４（Ｄ）〜（Ｆ）、図４５（Ｇ）は実数入力フィールド５０に例えば「１２×１０3 」を設定したときの動作を説明する説明図である。
【０１５０】
まず、図４３（Ａ）に示すように、実数入力処理部４９は仮数部の符号入力フィールド５１にキャレット３０を置く。
【０１５１】
次に、図４３（Ｂ）に示すように、数字の１が仮数部の符号入力フィールド５１に入力される。符号入力フィールド５１はこの文字を処理しないでキャレット３０を右側の正数入力フィールド５２に移動させる。ユーザーにはフィールドの境界が見えないので、図４３（Ａ）と図４３（Ｂ）は同じに見える。仮数部の符号入力フィールド５１の設定値はあらかじめ設定されている１のままである。
【０１５２】
次に、図４３（Ｃ）に示すように、仮数部の小数点左の正数入力フィールド５２が数字の１を処理し、１が表示される。小数点左の正数入力フィールド５２の設定値が１になる。まだ文字が設定されていない小数点右の正数入力フィールド５４の設定値は０のままであり、仮数部の設定値は計算式より１．０となる。文字が未設定の指数部の符号入力フィールド５６と正数入力フィールド５７の設定値はそれぞれ１と０であり、指数部の設定値は０となる。実数部の設定値は計算式より１．０となる。
【０１５３】
次に、図４４（Ｄ）に示すように、数字の３が入力される。仮数部小数点左の正数入力フィールド５２がキー入力を処理し、１３と表示される。この正数入力フィールド５２の設定値は１３となり、仮数部の設定値は計算式より１３．０となる。指数部の設定値は０のままであり、実数部の設定値は計算式より１３．０となる。
【０１５４】
次に、図４４（Ｅ）に示すように、指数記号文字‘ｅ’が入力される。仮数部小数点左の正数入力フィールド５２はキー入力を処理せずにその右側の入力フィールド、すなわち小数点の文字定数フィールド５３のキー入力処理メソッドを呼び出す。文字定数フィールド５３のキー入力処理メソッドは、キー入力を処理しないでさらに右の文字定数フィールド、すなわち指数記号の文字定数フィールド５５のキー入力処理メソッドを呼び出す。この文字定数フィールド５５はキー入力を処理して指数記号‘ｅ’を表示し、キャレット３０をその右側の符号入力フィールド５６へ移動させる。この時、文字定数フィールド５３と右の正数入力フィールド５４は文字が未設定であるので表示幅が切り詰められる。正数入力フィールド５４の設定値は０のままであり、仮数部の設定値は計算式より１３．０となる。
【０１５５】
次に、図４４（Ｆ）に示すように、数字の３が指数部の符号入力フィールド５６に入力される。符号入力フィールド５６はこの文字を処理しないでキャレット３０を右側の正数入力フィールド５７に移動させる。ユーザーにはフィールドの境界が見えないので、図４４（Ｅ）と図４４（Ｆ）は同じに見える。指数部の符号入力フィールド５６の設定値はあらかじめ設定されている１のままである。
【０１５６】
次に、図４５（Ｇ）に示すように、指数部の正数入力フィールド５７が数字の３を処理し、３が表示される。指数の正数入力フィールド５７の設定値が３になる。仮数部の設定値は計算式より３となる。実数部の設定値は計算式より１３．０×１０3 となる。
【０１５７】
次に図４６（Ａ）〜（Ｃ）、図４７（Ｄ）〜（Ｆ）、図４８（Ｇ）〜（Ｉ）、図４９（Ｊ），（Ｋ）は実数入力フィールド５０に「１２．４×１０-12 」を設定したときの動作を説明する説明図である。
【０１５８】
図４６（Ａ）に示すように、まず、実数入力処理部４９は仮数部の符号入力フィールド５１にキャレット３０を置く。
【０１５９】
次に、図４６（Ｂ）に示すように、数字の１が仮数部の符号入力フィールド５１に入力される。符号入力フィールド５１はこの文字を処理しないでキャレット３０を右側の正数入力フィールド５２に移動させる。ユーザーにはフィールドの境界が見えないので、図４６（Ａ）と図４６（Ｂ）は同じに見える。仮数部の符号入力フィールド５１の設定値はあらかじめ設定されている１のままである。
【０１６０】
次に、図４６（Ｃ）に示すように、仮数部の小数点左の正数入力フィールド５２が数字の１を処理し、１が表示される。小数点左の正数入力フィールド５２の設定値が１になる。まだ文字が設定されていない小数点右の正数入力フィールド５４の設定値は０のままであり、仮数部の設定値は計算式より１．０となる。文字が未設定の指数部の符号入力フィールド５６と正数入力フィールド５７の設定値はそれぞれ１と０であり、指数部の設定値は０となる。実数部の設定値は計算式より１．０となる。
【０１６１】
次に、図４７（Ｄ）に示すように、数字の２が入力される。仮数部小数点左の正数入力フィールド５２がキー入力を処理し、１２と表示される。この正数入力フィールド５２の設定値は１２となり、仮数部の設定値は計算式より１２．０となる。指数部の設定値は０のままであり、実数部の設定値は計算式より１２．０となる。
【０１６２】
次に、図４７（Ｅ）に示すように、小数点‘．’が入力される。仮数部小数点左の正数入力フィールド５２はキー入力を処理せずにその右側の入力フィールド、すなわち小数点の文字定数フィールド５２のキー入力処理メソッドを呼び出す。文字定数フィールド５３はキー入力を処理して小数点を表示し、キャレット３０をその右側の正数入力フィールド５４へ移動させる。
【０１６３】
次に、図４７（Ｆ）に示すように、数字の４が入力される。仮数部小数点右の正数入力フィールド５４がキー入力を処理し、４と表示される。この正数入力フィールド５４の設定値は４となり、この時の桁数は１である。計算式より、仮数部の設定値は１２．４となる。指数部の設定値は０のままであり、実数部の設定値は計算式より１２．４となる。
【０１６４】
次に、図４８（Ｇ）に示すように、指数記号文字‘ｅ’が入力される。仮数部小数点右の正数入力フィールド５４はキー入力を処理せずにその右側の入力フィールド、すなわち指数記号の文字定数フィールド５５のキー入力処理メソッドを呼び出す。この文字定数フィールド５５はキー入力を処理して指数記号‘ｅ’を表示し、キャレット３０をその右側の符号入力フィールド５６へ移動させる。
【０１６５】
次に、図４８（Ｈ）に示すように、マイナスキーの入力により、指数の符号入力フィールド５６には‘−’が表示される。このとき指数の符号入力フィールド５６の設定値は−１となる。
【０１６６】
次に、図４８（Ｉ）に示すように、数字の１が指数部の符号入力フィールド５６に入力される。符号入力フィールド５６はこの文字を処理しないでキャレット３０を右側の正数入力フィールド５７に移動させる。ユーザーにはフィールドの境界が見えないので、図４８（Ｈ）と図４８（Ｉ）は同じに見える。
【０１６７】
次に、図４９（Ｊ）に示すように、指数部の正数入力フィールド５７が数字の１を処理し、１が表示される。指数の正数入力フィールド５７の設定値が１になる。指数部の設定値は計算式より−１となる。また実数部の設定値は計算式より１２．４×１０-1となる。      
【０１６８】
次に、図４９（Ｋ）に示すように、数字の２が入力される。指数部の正数入力フィールド５７がキー入力を処理し、１２と表示される。この正数入力フィールド５７の設定値は１２となり、指数部の設定値は計算式より−１２となる。実数部の設定値は計算式より１２．４×１０-12 となる。
【０１６９】
このように、実数入力処理においては、＋，−のキー入力はキャレット３０が仮数部にあるか指数部にあるかによって仮数の符号入力処理部３８または指数の符号入力処理部３８に送られるため、整数値の場合と同様に入力中の正負の符号の変更が可能である。また、「．」（ピリオド）の入力で小数部にキャレット３０を移動することで従来の単一の入力フィールド処理部３５で実数値を入力する場合と同様の操作性を得ることができる。「Ｅ」の入力では指数部にキャレット３０を移動する。したがって、この実数入力処理の場合、単一の入力フィールド処理部での実装と比較して次の効果がある。
【０１７０】
・小数部、指数部へのキャレット移動が「．」または「Ｅ」の単一のキー入力で行える。
・小数点より上の部分を右寄せに、小数点以下の部分を左寄せにして表示できる。
・指数部を上付きに表示できる。
・小数点や指数記号の入力チェックの処理が不要である。
・＋，−符号の入力チェックの処理が不要である。
【０１７１】
また、各入力処理部の設定値を利用することにより設定値の文字列を整数型または浮動小数点型の値に変換するのが容易になり、またそれぞれの設定値（実数の仮数部のみ、または指数部のみの値）が取得できるようになる。
【０１７２】
本実施形態においても従来例のような複雑な判定処理がなくなり、プログラムが単純化され、処理時間が早くなり、表示の自由度も向上させることができる。
【図面の簡単な説明】
【０１７３】
【図１】本発明の原理説明図
【図２】本発明の情報処理装置の全体構成図
【図３】ディスプレイの表示画面を示す図
【図４】エディットコントロール部品の構成図
【図５】キー入力イベント処理を示すフローチャート
【図６】再描画処理を示すフローチャート
【図７】入れ子になった入力フィールドを示す図
【図８】整数入力処理プログラムの構成図
【図９】入力フィールド処理部を示す図
【図１０】文字列入力処理部を示す図
【図１１】文字列入力処理部の継承関係を示す図
【図１２】文字列入力処理部のキャレット取得処理を示すフローチャート
【図１３】半角文字入力処理部を示す図
【図１４】半角文字入力処理部の継承関係を示す図
【図１５】半角文字入力処理のキャレット取得処理を示すフローチャート
【図１６】半角文字入力処理部のキー入力処理を示すフローチャート
【図１７】符号入力処理部を示す図
【図１８】符号入力処理部の継承関係を示す図
【図１９】符号入力処理部のキー入力を示す図
【図２０】正数入力処理部を示す図
【図２１】正数入力処理部の継承関係を示す図
【図２２】正数入力処理部のキー入力処理を示すフローチャート
【図２３】正数入力フィールドを示す図
【図２４】整数入力処理部を示す図
【図２５】整数入力処理部のキー入力処理を示すフローチャート
【図２６】整数入力の設定例の説明図（その一）
【図２７】整数入力の設定例の説明図（その二）
【図２８】実数入力処理プログラムの構成図
【図２９】ラベル入力処理部を示す図
【図３０】ラベル入力処理部の継承関係を示す図
【図３１】文字定数入力処理部を示す図
【図３２】文字定数入力処理部の継承関係を示す図
【図３３】文字定数入力処理部のキー入力処理を示すフローチャート
【図３４】実数入力フィールドを示す図
【図３５】実数入力処理部を示す図
【図３６】実数入力処理部のキー入力処理を示すフローチャート
【図３７】実数１２３．４５の設定例の説明図（その一）
【図３８】実数１２３．４５の設定例の説明図（その二）
【図３９】実数１２３．４５の設定例の説明図（その三）
【図４０】実数−１２３．４５の設定例の説明図（その一）
【図４１】実数−１２３．４５の設定例の説明図（その二）
【図４２】実数−１２３．４５の設定例の説明図（その三）
【図４３】実数１３×１０3 の設定例の説明図（その一）
【図４４】実数１３×１０3 の設定例の説明図（その二）
【図４５】実数１３×１０3 の設定例の説明図（その三）
【図４６】実数１２．４×１０-12 の設定例の説明図（その一）
【図４７】実数１２．４×１０-12 の設定例の説明図（その二）
【図４８】実数１２．４×１０-12 の設定例の説明図（その三）
【図４９】実数１２．４×１０-12 の設定例の説明図（その四）
【図５０】従来例を示すフローチャート
【図５１】他の従来例を示すフローチャート
【符号の説明】
【０１７４】
１：ＣＰＵ
２：バス
３：２次キャッシュメモリ
４：バスコントローラ
５：主記憶
６：ＲＯＭ
７：ディスクコントローラ
８：ディスプレイアダプタ
９：ボードマウスコントローラ
１０：フロッピィコントローラ
１１：ディスプレイ
１２：キーボード
１３：マウス
１４：フロッピィ
１５：ＣＤ−ＲＯＭ
１６：ディスク装置
１７：ＯＳ
１８：ＧＵＩ（グラフィカルユーザーインタフェース）
１９：アプリケーションプログラム
２０：整数入力処理プログラム
２１：実数入力処理プログラム
２２：表示画面
２３：ボタン
２４：リストボックス
２５：エディット
２６：コンポボックス
２７：ラベル
２８：ポインタ
２９：三角印
３０：キャレット
３１：入力フィールド
３２：外枠
３３：外側入力フィールド
３４：内側入力フィールド
３５：入力フィールド処理部（入力フィールド処理手段）
３６：文字列入力処理部（文字列入力処理手段）
３７：半角文字入力処理部（半角文字入力処理手段）
３８：符号入力処理部（符号入力処理手段）
３９：正数入力処理部（正数入力処理手段）
４０：整数入力処理部（整数入力処理手段）
４１：入力処理部名（クラス名）
４２：プロパティ名
４３：メソッド名
４４：整数入力フィールド
４５，５１，５６：符号入力フィールド
４６，５２，５４，５７：正数入力フィールド
４７：ラベル入力処理部
４８：文字定数入力処理部（文字定数入力処理手段）
４９：実数入力処理部（実数入力処理手段）
５０：実数入力フィールド
５３，５５：文字定数フィールド
【図１】
2004164661.tif 000005
【図２】
2004164661.tif 000006
【図３】
2004164661.tif 000007
【図４】
2004164661.tif 000008
【図５】
2004164661.tif 000009
【図６】
2004164661.tif 000010
【図７】
2004164661.tif 000011
【図８】
2004164661.tif 000012
【図９】
2004164661.tif 000013
【図１０】
2004164661.tif 000014
【図１１】
2004164661.tif 000015
【図１２】
2004164661.tif 000016
【図１３】
2004164661.tif 000017
【図１４】
2004164661.tif 000018
【図１５】
2004164661.tif 000019
【図１６】
2004164661.tif 000020
【図１７】
2004164661.tif 000021
【図１８】
2004164661.tif 000022
【図１９】
2004164661.tif 000023
【図２０】
2004164661.tif 000024
【図２１】
2004164661.tif 000025
【図２２】
2004164661.tif 000026
【図２３】
2004164661.tif 000027
【図２４】
2004164661.tif 000028
【図２５】
2004164661.tif 000029
【図２６】
2004164661.tif 000030
【図２７】
2004164661.tif 000031
【図２８】
2004164661.tif 000032
【図２９】
2004164661.tif 000033
【図３０】
2004164661.tif 000034
【図３１】
2004164661.tif 000035
【図３２】
2004164661.tif 000036
【図３３】
2004164661.tif 000037
【図３４】
2004164661.tif 000038
【図３５】
2004164661.tif 000039
【図３６】
2004164661.tif 000040
【図３７】
2004164661.tif 000041
【図３８】
2004164661.tif 000042
【図３９】
2004164661.tif 000043
【図４０】
2004164661.tif 000044
【図４１】
2004164661.tif 000045
【図４２】
2004164661.tif 000046
【図４３】
2004164661.tif 000047
【図４４】
2004164661.tif 000048
【図４５】
2004164661.tif 000049
【図４６】
2004164661.tif 000050
【図４７】
2004164661.tif 000051
【図４８】
2004164661.tif 000052
【図４９】
2004164661.tif 000053
【図５０】
2004164661.tif 000054
【図５１】
2004164661.tif 000055