(57)【特許請求の範囲】
【請求項１】
外部機器と通信接続するための通信手段と、
自装置で処理可能な第１の情報を記憶するための第１の記憶手段と、
前記外部機器との通信接続中に前記外部機器で処理可能な第２の情報を記憶するための第２の記憶手段と、
前記通信手段を介して前記外部機器と通信接続された際、前記第１の記憶手段に記憶された第１の情報を前記第２の情報に変換し、当該変換された第２の情報を前記第２の記憶手段に記憶させる第１の制御手段と、
前記通信手段を介した前記外部機器との通信接続が切断された際、前記第２の記憶手段に記憶された前記第２の情報を前記第１の情報に変換し、当該変換された前記第１の情報を前記第１の記憶手段に記憶させる第２の制御手段と、
を備える電子機器。
【請求項２】
前記第１の制御手段は、
前記通信手段を介して前記外部機器と通信接続された際、前記第２の記憶手段に前記変換された少なくとも１つの第２の情報を記憶する記憶容量がない場合、前記変換された全ての第２の情報を前記第２の記憶手段に記憶させず、第１のフラグ情報を生成し、
前記第２の制御手段は、
前記通信手段を介した前記外部機器との通信接続が切断された際、前記第１のフラグ情報が生成されていた場合、前記変換された第１の情報を前記第１の記憶手段に記憶させない請求項１に記載の電子機器。
【請求項３】
前記第１の制御手段は、
前記変換された第２の情報を前記第２の記憶手段の専用フォルダ内に記憶させ、
前記第２の制御手段は、
前記通信手段を介した前記外部機器との通信接続が切断された際、前記専用フォルダ内の前記第２の情報の属性を示す属性情報に基づいて、当該第２の情報が自装置での処理対象の情報であるか否かを判別する第１の判別手段と、
前記第１の判別手段により当該第２の情報が自装置での処理対象の情報ではないと判別された場合は、当該情報を前記第２の記憶手段の退避用フォルダに移動させる記憶制御手段と、を備える請求項１又は２に記載の電子機器。
【請求項４】
コンピュータを、
外部機器と通信接続するための通信手段、
自装置で処理可能な第１の情報を記憶するための第１の記憶手段、
前記外部機器との通信接続中に前記外部機器で処理可能な第２の情報を記憶するための第２の記憶手段、
前記通信手段を介して前記外部機器と通信接続された際、前記第１の記憶手段に記憶された第１の情報を前記第２の情報に変換し、当該変換された第２の情報を前記第２の記憶手段に記憶させる第１の制御手段、
前記通信手段を介した前記外部機器との通信接続が切断された際、前記第２の記憶手段に記憶された前記第２の情報を前記第１の情報に変換し、当該変換された前記第１の情報を前記第１の記憶手段に記憶させる第２の制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子機器及びプログラムに関する。
【背景技術】
【０００２】
関数計算などの多様多種な計算処理機能を搭載した電子機器は、情報を管理するファイルシステムが汎用のＰＣ（Personal Computer）とは異なることが多い。これは、電子機器で扱う情報が独自のデータ構造を採ることが多いことに起因している。
【０００３】
このため、電子機器と外部機器（以下、ＰＣ）との間で情報の授受が可能な状態であっても、ＰＣで扱う情報を電子機器では読み込むことができず、電子機器で扱う情報をＰＣで読み込むことができなかった。
【０００４】
この場合、電子機器専用のソフトウエア、すなわち、電子機器で扱う情報をＰＣで扱う情報に変換し、ＰＣで扱う情報を電子機器で扱う情報に変換するソフトウエアや、通信ドライバ（以下、ソフトウエア及び通信ドライバを「ソフトウエア等」と記す）をＰＣにインストールし、情報の変換を行うことで、電子機器及びＰＣそれぞれにおいて情報の読み込みや書き込み等の処理を可能とする技術が知られている。
【０００５】
また、あるアプリケーションからアクセス可能なファイルを、別のアプリケーションからアクセスする際、ファイル内のデータが持つフォーマットの変換を行う必要が生じる場合が多い。この場合、フォーマット変換の入力となる変換元ファイルと、出力となる変換先ファイルと、フォーマット変換を行うプログラムとの対応関係に基づいてフォーマット変換を行うことにより、ユーザの関与なしでフォーマット変換が可能な技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−１３４２２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述の特許文献１の技術は、同一の装置内で扱うファイルのフォーマットを変換する技術であって、当該ファイルを外部機器であるＰＣで処理することのできるファイルへ変換する技術ではない。
【０００８】
また、上述のソフトウエア等をインストールする技術の場合、ソフトウエア等をＰＣにインストールできない環境のユーザは、電子機器で扱う情報をＰＣで処理することはできなかった。
【０００９】
また、電子機器で扱う情報をユーザに配布する場合、配布された情報をＰＣで処理するためには、各ユーザのＰＣにおいて専用のソフトウエア等をインストールする作業を行う必要があり、手間を要していた。  
【００１０】
本発明の課題は、電子機器で扱う情報を容易に外部機器で処理することのできる電子機器及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
以上の課題を解決するため、請求項１に記載の発明の電子機器は、
外部機器と通信接続するための通信手段と、
自装置で処理可能な第１の情報を記憶するための第１の記憶手段と、
前記外部機器との通信接続中に前記外部機器で処理可能な第２の情報を記憶するための第２の記憶手段と、
前記通信手段を介して前記外部機器と通信接続された際、前記第１の記憶手段に記憶された第１の情報を前記第２の情報に変換し、当該変換された第２の情報を前記第２の記憶手段に記憶させる第１の制御手段と、
前記通信手段を介した前記外部機器との通信接続が切断された際、前記第２の記憶手段に記憶された前記第２の情報を前記第１の情報に変換し、当該変換された前記第１の情報を前記第１の記憶手段に記憶させる第２の制御手段と、
を備える。
【００１２】
請求項２に記載の発明は、請求項１に記載の電子機器において、
前記第１の制御手段は、
前記通信手段を介して前記外部機器と通信接続された際、前記第２の記憶手段に前記変換された少なくとも１つの第２の情報を記憶する記憶容量がない場合、前記変換された全ての第２の情報を前記第２の記憶手段に記憶させず、第１のフラグ情報を生成し、
前記第２の制御手段は、
前記通信手段を介した前記外部機器との通信接続が切断された際、前記第１のフラグ情報が生成されていた場合、前記変換された第１の情報を前記第１の記憶手段に記憶させない。
【００１３】
請求項３に記載の発明は、請求項１又は２に記載の電子機器において、
前記第１の制御手段は、
前記変換された第２の情報を前記第２の記憶手段の専用フォルダ内に記憶させ、
前記第２の制御手段は、
前記通信手段を介した前記外部機器との通信接続が切断された際、前記専用フォルダ内の前記第２の情報の属性を示す属性情報に基づいて、当該第２の情報が自装置での処理対象の情報であるか否かを判別する第１の判別手段と、
前記第１の判別手段により当該第２の情報が自装置での処理対象の情報ではないと判別された場合は、当該情報を前記第２の記憶手段の退避用フォルダに移動させる記憶制御手段と、を備える。  
【００１４】
請求項４に記載の発明のプログラムは、
コンピュータを、
外部機器と通信接続するための通信手段、
自装置で処理可能な第１の情報を記憶するための第１の記憶手段、
前記外部機器との通信接続中に前記外部機器で処理可能な第２の情報を記憶するための第２の記憶手段、
前記通信手段を介して前記外部機器と通信接続された際、前記第１の記憶手段に記憶された第１の情報を前記第２の情報に変換し、当該変換された第２の情報を前記第２の記憶手段に記憶させる第１の制御手段、
前記通信手段を介した前記外部機器との通信接続が切断された際、前記第２の記憶手段に記憶された前記第２の情報を前記第１の情報に変換し、当該変換された前記第１の情報を前記第１の記憶手段に記憶させる第２の制御手段、
として機能させるためのプログラム。  
【発明の効果】
【００１５】
本発明によれば、電子機器で扱う情報を容易に外部機器で処理することができる。  
【図面の簡単な説明】
【００１６】
【図１】本発明に係る実施の形態の関数電卓の概略構成を示す図である。
【図２】関数電卓の内部構成を示す図である。
【図３】接続時処理の流れを示すフローチャートである。
【図４】データグループ→ファイル変換処理の流れを示すフローチャートである。
【図５】ＵＳＢ通信の接続前と接続後において、ＲＡＭ１４、ストレージ１５に記憶される情報を示す図である。
【図６】接続中処理の流れを示すフローチャートである。
【図７】ＰＣ２上での画面表示例を示す図である。
【図８】切断時処理の流れを示すフローチャートである。
【図９】ファイル→データグループ変換処理の流れを示すフローチャートである。
【図１０】ＵＳＢ通信の接続中と切断後において、ＲＡＭ１４、ストレージ１５に記憶される情報を示す図である。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して本発明に係る実施の形態の一例を詳細に説明する。ただし、発明の範囲は、図示例に限定されない。  
【００１８】
図１〜図１０を参照して、本発明に係る実施の形態を説明する。先ず、図１を参照して、本発明に係る電子機器として機能する関数電卓１の概略図を説明する。図１に示すように、関数電卓１は、各種キー群を有する入力キー群２と、ディスプレイ３と、を備えている。
【００１９】
入力キー群２は、ユーザから数値や演算記号等の数式構成要素の入力操作を受けたり、各種処理の指示操作を受けたりするためのキー群であり、それぞれ固有の機能を割り当てられた複数のキーを備えている。
【００２０】
ディスプレイ３は、ＬＣＤ（Liquid Crystal Display）やＥＬＤ（Electronic
Luminescent Display）等により構成される。具体的には、ディスプレイ３は、入力ペン（図示省略）や入力キー群２の操作に応じた文字や符号、数式、演算結果などの他、関数電卓１を使用するために必要な各種情報を表示する。また、ディスプレイ３には、タッチパネルが表示画面全面に亘って一体的に設けられている。
【００２１】
次に、図２（ａ）を参照して、関数電卓１の内部構成を説明する。関数電卓１は、制御部であるＣＰＵ（Central Processing Unit）１１と、入力部１２と、ＲＯＭ（Read  Only  Memory）１３と、主記憶部であるＲＡＭ：Random Access Memory１４と、補助記憶部であるストレージ１５と、表示部１６と、通信部１７と、を備えて構成されている。
【００２２】
関数電卓１は、通信部１７を介して外部機器（以下、ＰＣ２）と通信接続される。また、関数電卓１は、ＵＳＢ（Universal Serial Bus）マスストレージ機能を有する。このため、関数電卓１とＰＣ２との間でＵＳＢ通信の接続が確立されると、関数電卓１がＰＣ２の記憶装置として認識され、ＰＣ２において、関数電卓１のストレージ１５（図２参照）に記憶されている情報の処理が可能となる。
【００２３】
ＣＰＵ１１は、関数電卓１の各部を中央制御する。具体的には、ＣＰＵ１１は、記憶部１３に記憶されているシステムプログラム及び各種アプリケーションプログラムの中から指定されたプログラムをＲＡＭ１２に展開し、ＲＡＭ１２に展開されたプログラムとの協働で、各種処理を実行する。
【００２４】
具体的には、ＣＰＵ１１は、後述する接続時処理を行うためのプログラムとの協働により、通信部１７を介してＰＣ２と通信接続された際、ＲＡＭ１４に記憶されたデータグループをファイルに変換し、当該変換されたファイルをストレージ１５に記憶させる。また、ＣＰＵ１１は、後述する切断時処理を行うためのプログラムとの協働により、通信部１７を介したＰＣ２との通信接続が切断された際、ストレージ１５に記憶されたファイルをデータグループに変換し、当該変換されたデータグループをＲＡＭ１４に記憶させる。
【００２５】
入力部１２は、上述の入力キー群２を備えており、押下されたキーに対応する操作信
号をＣＰＵ１１に出力するようになっている。
【００２６】
ＲＯＭ１３は、不揮発性のメモリである。ＲＯＭ１３は、関数電卓１で実行される各種処理プログラムや各種データを記憶する。具体的には、接続時処理を行うためのプログラム、切断時処理を行うためのプログラム等が含まれる。  
【００２７】
ＲＡＭ１４は、情報を一時的に格納する揮発性のメモリであり、実行される各種プログラムやこれら各種プログラムに係るデータ等を格納する複数のワークエリアを有する。具体的には、ＲＡＭ１４には、関数電卓１で扱う情報であって、関数電卓１で処理可能な情報であるデータグループ（図５参照）が記憶される。本実施の形態では、ＲＡＭ１４の記憶容量は、６４ＫＢであるものとする。
【００２８】
ストレージ１５は、ＰＣ２で扱う情報であって、通信接続中にＰＣ２で処理可能な情報であるファイル（図５参照）を記憶するためのメモリである。本実施の形態では、ストレージ１５の記憶容量は、１６ＭＢであるものとする。
【００２９】
表示部１６は、上述のディスプレイ３を備えており、ＣＰＵ１１からの表示信号に従って画面表示を行う。また、表示部１６は、タッチパネルと一体的に構成される。
【００３０】
通信部１７は、ＵＳＢ通信機能を有し、ＰＣ２と情報を送受信する。
【００３１】
次に、図２（ｂ）を参照して、ストレージ１５内の情報について説明する。図２（ｂ）に示すように、ストレージ１５は、専用フォルダ１５Ａと、退避用フォルダ１５Ｂとを含む。
【００３２】
専用フォルダ１５Ａは、ファイルを格納するためのフォルダである。この専用フォルダ１５Ａ内の情報は、関数電卓１のユーザからは参照することができないものとする。退避フォルダ１５Ｂは、ＲＡＭ読み込み対象外のファイルを格納するためのフォルダである。ここで、ＲＡＭ読み込み対象外のファイルとは、ファイルをデータグループに変換してＲＡＭ１４に記憶させる対象ではないファイルのことである。
【００３３】
次に、図３〜図５を参照して、関数電卓１で実行される接続時処理を説明する。接続時処理は、関数電卓１とＰＣ２との間でＵＳＢ通信の接続が確立された時、すなわち通信接続された際に関数電卓１で実行される処理である。
【００３４】
予め、関数電卓１は、電源ＯＮの状態であって、ＰＣ２とのＵＳＢ通信が可能な状態であるものとする。
【００３５】
また、予め、図５（ａ）に示すデータグループがＲＡＭ１４、ファイルがストレージ１５にそれぞれ記憶されているものとする。
【００３６】
ここで、説明の便宜上、図３を説明する前に図５に示すデータグループ及びファイルについて説明する。図５（ａ）は、関数電卓１とＰＣ２とのＵＳＢ通信の接続が確立される前において、ＲＡＭ１４に記憶されているデータグループと、ストレージ１５に記憶されているファイルとをそれぞれ示した図である。
【００３７】
データグループは、関数電卓１で読み込み、書き込み等の処理が可能なデータである。データグループは、関数電卓１において認識される情報を示すデータの集合であり、ＲＡＭ１４内の各記憶エリアに記憶される。データグループには、例えば、図５（ａ）に示すように、関数電卓１での計算に用いる変数で構成される変数メモリ、関数電卓１での計算に用いる数式で構成される数式メモリ、計算の設定パラメータで構成される計算設定パラメータ、関数電卓１で作成した数表のデータで構成される数表データ、関数電卓１で描画した図形データで構成される図形メモリＡ、関数電卓１内で実行されるプログラムで構成されるユーザ作成プログラムＡ、ユーザ作成プログラムＢ、ユーザ作成プログラムＣ等が該当する。
【００３８】
ファイルは、ＰＣ２で読み込み、書き込み等の処理が可能なファイルである。ファイルは、ユーザが個人的にバックアップするときや第三者へ配布する目的で使用される。また、ファイルのフォーマットは、バックアップや配布の目的に特化するためにバイナリ形式でもよく、さらに、ＰＣ２でファイルを編集できるようにＴＸＴ（テキスト）形式やＣＳＶ形式でもよい。
【００３９】
図５（ｂ）は、関数電卓１とＰＣ２とのＵＳＢ通信が接続された後において、ＲＡＭ１４に記憶されているデータグループと、ストレージ１５に記憶されたファイルの一例を示した図である。
【００４０】
図５（ｂ）に示すストレージ内のフォルダは、専用フォルダ１５Ａに該当する。例えば、図５（ａ）に示すように、ＵＳＢ通信の接続前ではストレージにフォルダが作成されていない場合、ＵＳＢ通信の接続後において専用フォルダ１５Ａが作成される。そして、作成された専用フォルダ１５Ａに、データグループから変換されたファイルが新規ファイルとして専用フォルダ１５Ａ内に追加される。
【００４１】
図３に戻り、接続時処理について説明する。先ず、外部機器（ＰＣ２）へ接続されたか否かが判別される（ステップＳ１）。具体的には、ＰＣ２とＵＳＢ通信の接続がされたことを示す信号がＣＰＵ１１により検知されたか否かに基づいて、本ステップの判別が行われる。
【００４２】
ステップＳ１において、外部機器へ接続されていないと判別された場合（ステップＳ１；ＮＯ）、関数電卓１において、その他の処理（例えば、通常の計算処理）が実行される。その他の処理については、説明を省略する。
【００４３】
ステップＳ１において、外部機器へ接続されたと判別された場合（ステップＳ１；ＹＥＳ）、ストレージ１５に空き容量があるか否かが判別される（ステップＳ２）。具体的には、先ず、ＲＡＭ１４内のデータグループ全てをファイル変換した場合のファイルの容量が演算される。そして、演算されたファイルの容量がストレージ１５内に空き容量として確保されているか否かが判別される。例えば、図５（ａ）に示すＲＡＭのデータグループの全てがファイルに変換された場合のファイルの容量が予め演算される。そして、演算されたファイルの容量がストレージ１５内に空き容量として確保されているか否かが判別される。
仮にこの判別を行わないとすると、例えば、図５（ａ）のＲＡＭ内の一部のデータグループ（例えば、変数メモリ、式メモリ）のみを変換したファイルを記憶できる空き容量がストレージ１５にあり、当該一部のデータグループのみを変換した一部のファイルが記憶されたとする。すると、後述する接続中処理において、一部のファイルのみがＰＣの表示部に表示される。この場合、表示されたファイルは一部のファイルであるにもかかわらず、ユーザは、表示されたファイルは関数電卓１内の全てのファイルであると誤認識する可能性がある。本ステップの判別を実行することにより、このようなユーザの誤認識を防ぐことができる。
【００４４】
ステップＳ２において、ストレージ１５に空き容量がないと判別された場合（ステップＳ２；ＮＯ）、ＲＡＭ１４内のデータグループからファイルへの変換は実行されず、ＲＡＭ１４内のデータグループをファイルに変換できなかった旨のエラー情報がＲＡＭ１４に記憶される（ステップＳ３）。
【００４５】
ステップＳ３の実行後、ストレージ１５の専用フォルダ内のファイルが削除される（ステップＳ４）。具体的には、ストレージ１５内に専用フォルダ１５Ａが作成されており、当該専用フォルダ１５Ａにファイルが記憶されていた場合は、専用フォルダ１５Ａ内に記憶されていたファイルが削除される。これにより、専用フォルダ１５Ａ内には何もファイルが記憶されていない状態となる。ステップＳ４の実行後、接続時処理は終了される。
【００４６】
ステップＳ２において、ストレージ１５に空き容量があると判別された場合（ステップＳ２；ＹＥＳ）、ストレージ１５内に記憶されている情報が参照され、ストレージ１５に専用フォルダ１５Ａがあるか否かが判別される（ステップＳ５）。
【００４７】
ステップＳ５において、ストレージ１５に専用フォルダ１５Ａがあると判別された場合（ステップＳ５；ＹＥＳ）、後述するステップＳ７に移行される。ステップＳ５において、ストレージ１５に専用フォルダ１５Ａがないと判別された場合（ステップＳ５；ＮＯ）、ストレージ１５に専用フォルダ１５Ａが作成される（ステップＳ６）。  
【００４８】
ステップＳ６の実行後、ＲＡＭ１４内のメモリ内容がデータグループごとに取得される（ステップＳ７）。例えば、図５（ａ）のＲＡＭに示すデータグループがデータグループごとに読み出され、当該読み出されたデータグループがＣＰＵ１１により取得される。このとき、データグループのグループ名も併せて取得される。例えば、変数メモリのデータグループが取得される場合は、変数メモリのデータグループとともに、データグループ名「変数メモリ」も併せて取得される。
【００４９】
ステップＳ７の実行後、ＲＡＭ１４内の全データグループについて取得済みであるか否かが判別される（ステップＳ８）。すなわち、ＲＡＭ１４内の全てのデータグループについて取得済みであり、ステップＳ７によるデータグループの取得ができなかったか否かが判別される。例えば、図５（ａ）のＲＡＭに示す全データグループが取得されたか否かが判別される。
【００５０】
ステップＳ８において、全データグループについて取得済みであると判別された場合（ステップＳ８；ＹＥＳ）、専用フォルダ１５Ａ内に非参照のファイルがあるか否かが判別される（ステップＳ９）。ここで、非参照のファイルとは、後述するステップＳ２１において参照されなかったファイルのことをいう。
【００５１】
ステップＳ９において、専用フォルダ１５Ａ内に非参照のファイルがあると判別された場合（ステップＳ９；ＹＥＳ）、その非参照のファイルを全て削除する処理が実行される（ステップＳ１０）。すなわち、現時点でＲＡＭ１４に記憶されているデータグループと対応しないファイルは削除される。これにより、後述する接続時処理において、ＲＡＭ１４内に記憶されている最新のデータグループに一致するファイルがＰＣ２に表示される。したがって、ＰＣ２のユーザは、ＲＡＭ１４内に記憶されている最新のデータグループに対応するファイルを参照することができる。また、専用フォルダ１５Ａ内の不要なファイルを削除することで、不要なファイルを参照することによるユーザの混乱を防ぐことができる。ステップＳ１０の実行後、接続時処理は終了される。
【００５２】
ステップＳ９において、専用フォルダ１５Ａ内に非参照のファイルがないと判別された場合（ステップＳ９；ＮＯ）、接続時処理は終了される。
【００５３】
ステップＳ８において、全データグループについて取得済みではないと判別された場合（ステップＳ８；ＮＯ）、データグループ→ファイル変換処理が実行される（ステップＳ１１）。
【００５４】
ここで、図４を参照して、データグループ→ファイル変換処理について説明する。
先ず、取得されたデータグループに対応するストレージ上のファイルが参照される（ステップＳ２１）。具体的には、ストレージ１５に記憶されているファイルの中から、取得されたデータグループのグループ名と対応するファイル名のファイルが参照される。例えば、取得されたデータグループのグループ名が「変数メモリ」であった場合、ストレージ１５に記憶されているファイルの中から、データグループ名「変数メモリ」と一致するファイル名「変数メモリ．○○」（○○は拡張子）のファイルが参照される。
【００５５】
ステップＳ２１の実行後、ステップＳ２１の参照条件に該当するファイルがあるか否かが判別される（ステップＳ２２）。
【００５６】
ステップＳ２２において、該当するファイルが無いと判別された場合（ステップＳ２２；ＮＯ）、データグループがファイルに変換される（ステップＳ２３）。ステップＳ２３の実行後、ファイルが専用フォルダ１５Ａ内に新規保存される（ステップＳ２４）。例えば、図５（ｂ）に示すように、ストレージ１５内のフォルダ（専用フォルダ１５Ａ）にファイルが新規保存される。ステップＳ２４の実行後、接続時処理のステップＳ７に戻る。
【００５７】
ステップＳ２２において、該当するファイルが有ると判別された場合（ステップＳ２２；ＹＥＳ）、内容が同じであるか否かが判別される（ステップＳ２５）。具体的には、ステップＳ７において取得されたデータグループの内容と、ステップＳ２１において参照されたファイルの内容とが一致するか否かが判別される。なお、この判別は、例えばステップＳ７において取得されたデータグループをファイルに変換し、その変換されたファイルとステップＳ２１において参照されたファイルとが同一であるか否かを判別することで可能である。
【００５８】
ステップＳ２５において、内容が同じと判別された場合（ステップＳ２５；ＹＥＳ）、接続時処理のステップＳ７に戻る。ステップＳ２５において、内容が同じでないと判別された場合（ステップＳ２５；ＮＯ）、データグループがファイルに変換される（ステップＳ２６）。そして、新たに変換されたファイルが、専用フォルダ１５Ａ内のステップＳ２１で参照されたファイルに上書きして保存される（ステップＳ２７）。ステップＳ２７の実行後、接続時処理のステップＳ７に戻る。
【００５９】
次に、図６を参照して、接続中処理について説明する。接続中処理は、関数電卓１とＰＣ２との間でＵＳＢ通信の接続が確立中の時（通信接続中）にＰＣ２で実行される処理である。
【００６０】
予め、ＰＣ２は、電源ＯＮの状態であって、関数電卓１とのＵＳＢ通信接続が可能な状態であるものとする。
【００６１】
先ず、関数電卓１とのＵＳＢ通信が確立される（ステップＳ３１）。ＵＳＢ通信が確立されると、関数電卓１では接続時処理（図３参照）が実行される。以下、関数電卓１で接続時処理が実行された後におけるＰＣ２での動作について説明する。
【００６２】
ステップＳ３１の実行後、ＰＣ２では、関数電卓１のストレージ１５が通常のＵＳＢマスストレージとして認識される。すなわち、ＰＣ２ではストレージ１５内のファイル内容が表示可能となり、ファイルやフォルダの変更・追加・削除等の操作が可能となる。
具体的には以下の通りである。
まず、ストレージ１５内のファイル・フォルダ一覧表示状態で、専用フォルダ１５Ａを開く操作が受け付けられると、専用フォルダ１５Ａ内のファイルが関数電卓１の内容として一覧表示される（ステップＳ３２）。例えば、図７に示すように、専用フォルダ１５Ａ内のファイルがＰＣ２の表示部に一覧表示される。
【００６３】
ステップＳ３２の実行後、ファイルの変更・追加・削除等の受付が実行される（ステップＳ３３）。具体的には、ＰＣ２のユーザにより、ＰＣ２の入力部（図示省略）を介してファイルの変更・追加・削除等の操作が行われ、当該操作の受付が実行される。ステップＳ３３の実行後、受付けられた操作に応じて、専用フォルダ１５Ａ内のファイルが更新される（ステップＳ３４）。
【００６４】
ステップＳ３４の実行後、ＰＣ２において、関数電卓１とのＵＳＢ通信が切断されたことを示す信号が検知されたか否かに基づいて、関数電卓と切断されたか否かが判別される（ステップＳ３５）。ここで、関数電卓１とのＵＳＢ通信が切断されたことを示す信号は、ＵＳＢ接続の物理的な切断によって発生するほか、ＰＣ２の入力部を介した関数電卓１の取り出し操作によっても発生する。
【００６５】
ステップＳ３５において、関数電卓と切断されていないと判別された場合（ステップＳ３５；ＮＯ）、ステップＳ３３に移行される。ステップＳ３５において、関数電卓と切断されたと判別された場合（ステップＳ３５；ＹＥＳ）、専用フォルダ１５Ａ内のファイル表示が終了される（ステップＳ３６）。ステップＳ３６の実行後、接続中処理は終了される。
【００６６】
次に、図８〜図１０を参照して、切断時処理について説明する。切断時処理は、関数電卓１とＰＣ２との間でＵＳＢ通信の接続が切断された時、すなわち、通信接続が切断された際に関数電卓１で実行される処理である。
【００６７】
予め、関数電卓１は、ＰＣ２とＵＳＢ通信の接続が確立された状態であるものとする。また、予め、図１０（ａ）に示すデータグループがＲＡＭ１４、ファイルがストレージ１５にそれぞれ記憶されているものとする。
【００６８】
ここで、説明の便宜上、図８を説明する前に図１０に示すデータグループ及びファイルについて説明する。図１０（ａ）は、関数電卓１とＰＣ２とのＵＳＢ通信の接続中において、ＲＡＭ１４に記憶されているデータグループと、ストレージ１５に記憶されているファイルをそれぞれ示した図である。図１０（ｂ）は、関数電卓１とＰＣ２とのＵＳＢ通信の接続が切断された後において、ＲＡＭ１４に記憶されたデータグループと、ストレージ１５に記憶されたファイルの一例を示した図である。
【００６９】
以下、関数電卓１とＰＣ２とのＵＳＢ通信接続中に、ＰＣ２において、図形メモリＡファイル及びユーザ作成プログラムＡファイルの更新がされ、ユーザ作成プログラムＣファイルの削除がされ、且つ、ユーザ作成プログラムＤファイルの追加が実行されたものとして説明する。
【００７０】
図８において、先ず、外部機器と切断されたか否かが判別される（ステップＳ４１）。具体的には、ＰＣ２とＵＳＢ通信の接続が切断されたこと示す信号がＣＰＵ１１により検知されたか否かに基づいて、本ステップの判別が行われる。
【００７１】
ステップＳ４１において、外部機器と切断されていないと判別された場合（ステップＳ４１；ＮＯ）、関数電卓１において、その他の処理が実行される。その他の処理についての説明は省略する。
【００７２】
ステップＳ４１において、外部機器と切断されたと判別された場合（ステップＳ４１；ＹＥＳ）、変換できなかった旨のエラー情報が記憶されているか否かが判別される（ステップＳ４２）。すなわち、接続時処理のステップＳ３において記憶されたエラー情報がＲＡＭ１４に記憶されているか否かが判別される。
このエラー情報は、通信接続時において、ＲＡＭ１４に空き容量がないためにＲＡＭ１４内のデータグループはファイルに変換されず専用フォルダ１５Ａに記憶されなかったことを示す情報である。
【００７３】
ステップＳ４２において、変換できなかった旨のエラー情報が記憶されていると判別された場合（ステップＳ４２；ＹＥＳ）、切断時処理は終了される。
【００７４】
ステップＳ４２において、変換できなかった旨のエラー情報が記憶されていないと判別された場合（ステップＳ４２；ＮＯ）、ストレージ１５の専用フォルダ１５Ａ内の１ファイルが取得される（ステップＳ４３）。すなわち、ストレージ１５の専用フォルダ１５Ａに記憶されている１つのファイルが読み出されて、当該読み出されたファイルがＣＰＵ１１により取得される。
【００７５】
ステップＳ４３の実行後、全ファイルについて取得済みであるか否かが判別される（ステップＳ４４）。すなわち、専用フォルダ１５Ａ内の全てのファイルについて取得済みであり、ステップＳ４３によるファイルの取得ができなかったか否かが判別される。例えば、図１０（ｂ）のストレージのフォルダ内の全ファイルが取得されたか否かが判別される。
【００７６】
ステップＳ４４において、全ファイルについて取得済みであると判別された場合（ステップＳ４４；ＹＥＳ）、ＲＡＭ内の非参照データグループが削除される（ステップＳ４５）。本ステップにおける非参照データグループとは、後述するステップＳ５３において参照されなかったデータグループのことをいう。具体的には、ＲＡＭ１４に記憶されているデータグループの中から非参照データグループが検索される。そして、検索された非参照データグループが削除される。例えば、ステップＳ４４において図１０（ｂ）に示すストレージのフォルダ内の全てのファイルが取得済みであると判別されると、ＲＡＭ１４に記憶されているデータグループの中から非参照データグループが検索され、「ユーザ作成プログラムＣ」が検出される。すると当該検索された「ユーザ作成プログラムＣ」が削除される。ステップＳ４５の実行後、切断時処理は終了される。
【００７７】
ステップＳ４４において、全ファイルについて取得済みではないと判別された場合（ステップＳ４４；ＮＯ）、ＲＡＭ１４に空き容量があるか否かが判別される（ステップＳ４６）。具体的には、先ず、ステップＳ４３において取得された１ファイルをデータグループに変換した場合のデータグループの容量が演算される。そして、演算されたデータグループの容量がＲＡＭ１４内に空き容量として確保されているか否かが判別される。
【００７８】
ステップＳ４６において、ＲＡＭ１４に空き容量がないと判別された場合（ステップＳ４６；ＮＯ）、取得されたファイルからデータグループへの変換は実行されず、コピーできなかったデータがある旨のエラー情報が表示部１６に表示される（ステップＳ４７）。ステップＳ４７の実行後、切断時処理は終了される。
【００７９】
ステップＳ４６において、ＲＡＭ１４に空き容量があると判別された場合（ステップＳ４６；ＹＥＳ）、ファイル→データグループ変換処理が実行される（ステップＳ４８）。
【００８０】
ここで、図９を参照して、ファイル→データグループ変換処理について説明する。
先ず、専用フォルダ１５Ａに記憶されたファイルは、ＲＡＭ読み込み対象のファイルであるか否か、すなわちファイルをデータグループに変換してＲＡＭ１４に記憶させる対象となるファイルであるか否か、が判別される（ステップＳ５１）。具体的には、ファイルの属性情報に基づいて本ステップの判別が行われる。ここで、ファイルの属性情報は、例えばファイルの拡張子の種類、ファイル名に含まれる特定の文字列等によって識別される。ファイルの属性情報が、例えばＲＯＭ１３等に記憶された変換対象の属性情報テーブルと比較され、一致する属性情報があれば、当該ファイルがＲＡＭ読み込み対象のファイルであると判別され、一致する属性情報がなければ当該ファイルはＲＡＭ読み込み対象のファイルではないと判別される。
【００８１】
ステップＳ５１において、ＲＡＭ読み込み対象のファイルでないと判別された場合（ステップＳ５１；ＮＯ）、ＲＡＭ読み込み対象外のファイルとして、退避用フォルダへ移動される（ステップＳ５２）。すなわち、ＲＡＭ読み込み対象外のファイルは専用フォルダ１５Ａには記憶されない。これにより、専用フォルダ１５Ａ内に不要なファイルが残ることを防ぐことができ、また、次回の接続時においてＲＡＭ読み込み対象外のファイルがステップＳ４やステップＳ１０において削除されることを防ぐことができる。  
【００８２】
ステップＳ５２の実行後、切断時処理のステップＳ４３に戻る。
【００８３】
ステップＳ５１において、ＲＡＭ読み込み対象のファイルであると判別された場合（ステップＳ５１；ＹＥＳ）、取得したファイルに対応するＲＡＭ上のデータグループが参照される（ステップＳ５３）。具体的には、ＲＡＭ１４に記憶されているデータグループの中から、取得されたファイルのファイル名と一致するグループ名のデータグループが参照される。例えば、取得されたファイルのファイル名が「変数メモリ．○○」であった場合、ＲＡＭ１４に記憶されているデータグループの中から、ファイル名「変数メモリ．○○」と一致するデータグループ名「変数メモリ」のデータグループが参照される。
【００８４】
ステップＳ５３の実行後、ステップＳ５３におけるデータグループの参照条件に該当するデータグループがあるか否かが判別される（ステップＳ５４）。
ステップＳ５４において、該当するデータグループが無いと判別された場合（ステップＳ５４；ＮＯ）、ファイルがデータグループに変換される（ステップＳ５５）。例えば、図１０（ａ）に示す「ユーザ作成プログラムＤファイル」は、ＲＡＭ１４内に該当するデータグループが存在しない。この場合、「ユーザ作成プログラムＤファイル」は、データグループ「ユーザ作成プログラムＤ」に変換される。
【００８５】
ステップＳ５５の実行後、ステップＳ５５において変換されたデータグループがＲＡＭ１４内に新規保存される（ステップＳ５６）。例えば、図１０（ｂ）に示すように、「ユーザ作成プログラムＤ」がＲＡＭ１４内に新規保存される。ステップＳ５６の実行後、切断時処理のステップＳ４３に戻る。
【００８６】
ステップＳ５４において、該当データグループが有ると判別された場合（ステップＳ５４；ＹＥＳ）、内容が同じであるか否かが判別される（ステップＳ５７）。具体的には、ステップＳ４３において取得されたファイルの内容と、ステップＳ５３において参照されたデータグループの内容とが一致するか否かが判別される。なお、この判別は、例えばステップＳ４３において取得されたファイルをデータグループに変換し、その変換されたデータグループとステップＳ５３において参照されたデータグループとが同一であるか否かを判別することで可能である。
【００８７】
ステップＳ５７において、内容が同じでないと判別された場合（ステップＳ５７；ＮＯ）、ファイルがデータグループに変換される（ステップＳ５８）。例えば、図１０（ａ）に示す「図形メモリＡファイル」及び「ユーザ作成プログラムＡファイル」は、ＲＡＭ１４内に該当データグループが存在する。しかし、「図形メモリＡファイル」及び「ユーザ作成プログラムＡファイル」は更新されており、ファイルの内容が変化している。この場合、「図形メモリファイル」及び「ユーザ作成Ａファイル」がそれぞれデータグループ「図形メモリＡ」及び「ユーザ作成プログラムＡ」に変換される。
【００８８】
ステップＳ５８の実行後、ステップＳ５８において変換されたデータグループがＲＡＭ１４内のステップＳ５３において参照されたデータグループに上書き保存される（ステップＳ５９）。例えば、図１０（ｂ）に示すように、「図形メモリＡ」及び「ユーザ作成プログラムＡ」がＲＡＭ１４内の「図形メモリＡ」及び「ユーザ作成プログラムＡ」にそれぞれ上書き保存される。ステップＳ５９の実行後、切断時処理のステップＳ４３に戻る。
ステップＳ５７において、内容が同じであると判別された場合（ステップＳ５７；ＹＥＳ）、切断時処理のステップＳ４３に戻る。
【００８９】
以上、本実施の形態によれば、関数電卓１とＰＣ２とが通信接続された際、関数電卓１で処理可能な情報であるデータグループをＰＣ２で処理可能な情報であるファイルに変換して、当該ファイルをストレージ１５に記憶する。これにより、通信接続時において、ＰＣ２のユーザは、専用のソフトウエア等をＰＣ２にインストールする必要なく、ＰＣ２からストレージ１５にアクセスするという容易かつ自然な操作を行うだけでファイルの読み込みや書き込み等の処理を行うことができる。
また、関数電卓１とＰＣ２との通信接続が切断された際、ファイルをデータグループに変換して、当該データグループをＲＡＭ１４に記憶する。これにより、通信切断時において、関数電卓１のユーザは、ファイルから変換されたデータグループを容易に処理することができる。
【００９０】
また、ストレージ１５にファイルを記憶する記憶容量（空き容量）がない場合、ファイル変換ができなかった旨のエラー情報をＲＡＭ１４に記憶する。すなわち、データグループから変換された一部のファイルのみをストレージ１５に記憶できる場合であっても、データグループから変換された全てのファイルがストレージ１５に記憶できなければ、データグループからファイルへの変換は行われない。この場合、ファイル変換は行われないので、接続中処理において、ファイルはＰＣ２の表示部に表示されない。したがって、一部のファイルのみがＰＣ２の表示部に表示されることによって、当該一部のファイルが関数電卓１内の全てのファイルであるとユーザが誤認識することを防ぐことができる。
また、ストレージ１５にファイルを記憶する空き容量がないためにデータグループからファイルへの変換ができなかった旨のエラー情報をＲＡＭ１４に記憶することにより、切断時処理において、当該エラー情報を参照した場合にはファイルからデータグループへの変換を行わないことが可能となる。これにより、専用フォルダ１５Ａ内のファイルによってＲＡＭ１４内のデータグループが変更されることを防ぐことができる。
また、切断時処理において、専用フォルダ１５Ａ内のファイルのうち一つでも変換されたデータグループがＲＡＭ１４に記憶する空き容量がない場合、コピーできなかったデータがある旨のエラー情報を表示部１６に表示する。このため、関数電卓１のユーザは、当該エラー情報を参照することで、関数電卓１に正しく記憶することができなかったファイルが存在することを知ることができる。
【００９１】
また、専用フォルダ１５Ａに記憶されたファイルのうち、ＲＡＭ読み込み対象外のファイルは、退避フォルダ１５Ｂに移動して記憶されるこれにより、専用フォルダ１５Ａ内に不要なファイルが残ることを防ぐことができ、また、次回の通信接続時に、ＲＡＭ読み込み対象外のファイルが削除されることを防ぐことができる。
また、専用フォルダ１５Ａにファイルが記憶されるので、通信接続中において、ＰＣ２のユーザは、専用フォルダ１５Ａにアクセスするだけで、読み込みや書き込み等の処理を行うファイルを参照できる。したがって、ＰＣ２のユーザは、読み込みや書き込み等の処理を行うファイルを、読み込みや書き込み等の処理を行わないファイルと容易に識別することができる。
【００９２】
また、ＲＡＭ１４に記憶されたデータグループに対応するファイルが専用フォルダ１５Ａ内に記憶されていない場合は、当該ファイルをストレージ１５に記憶させる。また、ＲＡＭ１４に記憶されたデータグループに対応するファイルが専用フォルダ１５Ａに記憶されており、かつ、当該ファイルの内容がデータグループの内容と同一でない場合、データグループをファイルに変換し、新たに変換されたファイルを専用フォルダ１５Ａ内の当該ファイルに上書き保存する。また、データグループの内容が専用フォルダ１５Ａ内に記憶されているファイルの内容と同一である場合、何も処理を行わないこれにより、ファイルの内容が変化しない場合にはストレージ１５への書き込み処理を防ぐことができるので、書き込み回数を抑えることができ、ストレージ１５の長寿命化を図ることができる。また、ストレージ１５への書き込み回数を抑えることで、書き込み処理に費やしていた時間を短縮することができる。
【００９３】
また、専用フォルダ１５Ａ内の非参照のファイルを削除するので、ＰＣ２のユーザは、ＲＡＭ１４内に記憶されている最新のデータグループに一致するファイルを参照することができる。  
【００９４】
また、上記の実施の形態における関数電卓１の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。
例えば、上記実施の形態においては、関数電卓１は、ＵＳＢマスストレージ機能を有し、関数電卓１とＰＣ２との間で通信部１７を介してＵＳＢ通信の接続を確立するとしたが、このような機能に限定されず、他の通信機能（例えば、有線／無線ＬＡＮ（Local Area Network）等）で代用することも可能である。また、上記実施の形態においては、ファイルとデータグループが対応するか否かの判別を、ファイル名が一致するか否かの判別により行うとしたが、このような方法に限定されず、例えばファイル名の特定の一部を抽出して比較することで判別しても良いし、データの内部に所定のタグを設けてそのタグの情報を参照することで判別するとしても良い。
【符号の説明】
【００９５】
１    関数電卓
２    ＰＣ
１１  ＣＰＵ  
１２   入力部
１３   記憶部
１４   ＲＡＭ
１５   ストレージ
１６   表示部
１７   通信部
【図１】
0005488104.tif 000002
【図２】
0005488104.tif 000003
【図３】
0005488104.tif 000004
【図４】
0005488104.tif 000005
【図５】
0005488104.tif 000006
【図６】
0005488104.tif 000007
【図７】
0005488104.tif 000008
【図８】
0005488104.tif 000009
【図９】
0005488104.tif 000010
【図１０】
0005488104.tif 000011