(57)【要約】【課題】簡単なユーザアプリケーションにより防犯を行えるようにする。【解決手段】アイコンの属性( Time>21:00 ｜Time<07:00, 20, 30, 60, 30, Copy) の１つであるサブ条件"Time>21:00 | Time<07:00"が成立した時のみ、すなわち現時刻が監視時間帯内になると、アイコンが操作パネル１５上に表示される。不正侵入者がこのアイコンを押下すると、所定の警告情報が、指定したＩＰアドレス192.168.1.3のコンピュータへ送信される。【選択図】図８
2009088746.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、テキスト言語処理プログラムが格納された記憶手段と、操作パネルと、通信インターフェイスとを備えた画像形成装置において、
該記憶手段にはさらにユーザアプリケーションが格納され、該ユーザアプリケーションには、監視有無の条件と宛先アドレスとをパラメータとして含む警告命令が記述され、
該テキスト言語処理プログラムは該プロセッサに対し、該ユーザアプリケーションに基づき、
（ａ）該条件が成立しているか否かを判定させ、
（ｂ）処理（ａ）で肯定判定した場合には、該操作パネル上又は該通信インターフェイスを介したリモートコンソール上のアイコンが操作されたか否かを判定させ、
（ｃ）処理（ｂ）で肯定判定した場合に該通信インターフェイスを介し該宛先アドレスへ該操作パネル又は該リモートコンソールが操作されたことを報知させる、
ことを特徴とする画像形成装置。
【請求項２】
プロセッサと、テキスト言語処理プログラムが格納された記憶手段と、操作パネルと、通信インターフェイスとを備えた画像形成装置において、
該記憶手段にはさらにユーザアプリケーションが格納され、該ユーザアプリケーションには、アイコンの属性と警告命令との組が記述され、該アイコンの属性には監視有無の条件が含まれ、該警告命令には宛先アドレスがパラメータとして含まれ、
該テキスト言語処理プログラムは該プロセッサに対し、該ユーザアプリケーションに基づき、
（ａ）該条件が成立しているか否かを判定させ、
（ｂ）処理（ａ）で肯定判定した場合には、該属性に基づいて該操作パネル上又は該通信インターフェイスを介したリモートコンソールにアイコンを表示させ、
（ｃ）該アイコンが操作されたか否かを判定させ、
（ｄ）処理（ｃ）で肯定判定した場合に該通信インターフェイスを介し該宛先アドレスへ該操作パネル又は該リモートコンソールが操作されたことを報知させる、
ことを特徴とする画像形成装置。
【請求項３】
プロセッサと、テキスト言語処理プログラムが格納された記憶手段と、操作パネルと、通信インターフェイスとを備えた画像形成装置において、
該記憶手段にはさらにユーザアプリケーションが格納され、該ユーザアプリケーションには、監視有無の条件を含む条件句と条件成立時の処理との第１組が記述され、該処理には、アイコンの属性と、宛先アドレスをパラメータとして含む警告命令との第２組が記述され、
該テキスト言語処理プログラムは該プロセッサに対し、該ユーザアプリケーションに基づき、
（ａ）該条件が成立しているか否かを判定させ、
（ｂ）処理（ａ）で肯定判定した場合には、該アイコンを該属性に従って該操作パネル上又は該通信インターフェイスを介したリモートコンソール上に表示させ、
（ｃ）該アイコンが操作されたか否かを判定させ、
（ｄ）処理（ｃ）で肯定判定した場合に該通信インターフェイスを介し該宛先アドレスへ該操作パネル又は該リモートコンソールが操作されたことを報知させる、
ことを特徴とする画像形成装置。
【請求項４】
現時刻を示すタイマをさらに含み、
該条件は、該現時刻が監視時間帯であることを示すものであることを特徴とする請求項１乃至３のいずれか１つに記載の画像形成装置。
【請求項５】
監視モード信号が供給される信号入力インターフェイスをさらに備え、
該条件は、該監視モード信号が活性であることを特徴とする請求項１乃至３のいずれか１つに記載の画像形成装置。
【請求項６】
該属性には、スキャン、コピー、ＦＡＸ送信又は電子メール送信であることを示す文字列が含まれ、該テキスト言語処理プログラムは該プロセッサに対し、該処理（ｂ）において、該アイコンの内側又は傍に該文字列を表示させる、
ことを特徴とする請求項１乃至５のいずれか１つに記載の画像形成装置。
【請求項７】
該ユーザアプリケーションには該第２組が複数含まれ、該属性にはスキャン、コピー、ＦＡＸ送信又は電子メール送信であることを示す文字列が含まれ、
該テキスト言語処理プログラムは該プロセッサに対し、
該処理（ｂ）において、該アイコンの内側又は傍に該文字列を表示させ、
該処理（ｄ）において、該文字列の情報を送信させることにより該操作パネル又は該リモートコンソールが操作されたことを報知させる、
ことを特徴とする請求項３に記載の画像形成装置。
【請求項８】
該属性に、アイコンの形状を示すデータが含まれていることを特徴とする請求項１乃至７のいずれか１つに記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像入出力機能を備えた画像形成装置に係り、特に、ユーザアプリケーションを解釈実行するテキスト言語処理プログラムが記憶手段に格納された画像形成装置に関する。
【背景技術】
【０００２】
画像形成装置、特に複合機では、様々なユーザの要求に応えるために多機能化が進んでいる。
【０００３】
しかしながら、多機能化によりメニュー項目が増加するので、メニュー構造が複雑になり、操作性が悪化する。すなわち、ユーザにとって使用しない機能が多くなると共に、使用したい機能を実行するのに操作パネル上で押下すべき釦数が多くなり、操作性が悪くなる。
【０００４】
そこで、下記特許文献１には、複数の操作を組み合わせた命令語をＸＭＬ言語で記述してその処理を実行させることが開示されている。
【０００５】
一方、下記特許文献２には、画像形成装置が、外部からの侵入者を人体検知センサによって検知した時に、警備会社等へ通報する構成が開示されている。
【特許文献１】特開２００５−０８００１９号公報
【特許文献２】特開平０８−０７７４６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記特許文献１では、操作パネルと無関係に処理が実行されるので、プログラムに不慣れなユーザにとっては使い勝手が良くない。
【０００７】
また、上記特許文献２では、人体検知センサが必要になるとともに、メーカがプログラムを提供する必要がある。
【０００８】
本発明の目的は、このような問題点に鑑み、簡単なユーザアプリケーションにより防犯を行うことが可能な画像形成装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明による画像形成装置の第１態様では、プロセッサと、テキスト言語処理プログラムが格納された記憶手段と、操作パネルと、通信インターフェイスとを備えた画像形成装置において、
該記憶手段にはさらにユーザアプリケーションが格納され、該ユーザアプリケーションには、監視有無の条件と宛先アドレスとをパラメータとして含む警告命令が記述され、
該テキスト言語処理プログラムは該プロセッサに対し、該ユーザアプリケーションに基づき、
（ａ）該条件が成立しているか否かを判定させ、
（ｂ）処理（ａ）で肯定判定した場合には、該操作パネル上又は該通信インターフェイスを介したリモートコンソール上のアイコンが操作されたか否かを判定させ、
（ｃ）処理（ｂ）で肯定判定した場合に該通信インターフェイスを介し該宛先アドレスへ該操作パネル又は該リモートコンソールが操作されたことを報知させる。
【００１０】
本発明による画像形成装置の第２態様では、プロセッサと、テキスト言語処理プログラムが格納された記憶手段と、操作パネルと、通信インターフェイスとを備えた画像形成装置において、
該記憶手段にはさらにユーザアプリケーションが格納され、該ユーザアプリケーションには、アイコンの属性と警告命令との組が記述され、該アイコンの属性には監視有無の条件が含まれ、該警告命令には宛先アドレスがパラメータとして含まれ、
該テキスト言語処理プログラムは該プロセッサに対し、該ユーザアプリケーションに基づき、
（ａ）該条件が成立しているか否かを判定させ、
（ｂ）処理（ａ）で肯定判定した場合には、該属性に基づいて該操作パネル上又は該通信インターフェイスを介したリモートコンソールにアイコンを表示させ、
（ｃ）該アイコンが操作されたか否かを判定させ、
（ｄ）処理（ｃ）で肯定判定した場合に該通信インターフェイスを介し該宛先アドレスへ該操作パネル又は該リモートコンソールが操作されたことを報知させる。
【００１１】
本発明による画像形成装置の第３態様では、プロセッサと、テキスト言語処理プログラムが格納された記憶手段と、操作パネルと、通信インターフェイスとを備えた画像形成装置において、
該記憶手段にはさらにユーザアプリケーションが格納され、該ユーザアプリケーションには、監視有無の条件を含む条件句と条件成立時の処理との第１組が記述され、該処理には、アイコンの属性と、宛先アドレスをパラメータとして含む警告命令との第２組が記述され、
該テキスト言語処理プログラムは該プロセッサに対し、該ユーザアプリケーションに基づき、
（ａ）該条件が成立しているか否かを判定させ、
（ｂ）処理（ａ）で肯定判定した場合には、該アイコンを該属性に従って該操作パネル上又は該通信インターフェイスを介したリモートコンソール上に表示させ、
（ｃ）該アイコンが操作されたか否かを判定させ、
（ｄ）処理（ｃ）で肯定判定した場合に該通信インターフェイスを介し該宛先アドレスへ該操作パネル又は該リモートコンソールが操作されたことを報知させる。
【発明の効果】
【００１２】
上記第１態様の構成によれば、監視有無の条件と宛先アドレスとをパラメータとして含む警告命令をユーザアプリケーションに記述することにより、条件が成立した場合に通信インターフェイスを介し該宛先アドレスへ操作パネル又はリモートコンソールが操作されたことが報知されるので、簡単なユーザアプリケーションにより防犯を行うことが可能となるという効果を奏する。
【００１３】
上記第２態様の構成によれば、アイコンの属性と警告命令との組をユーザアプリケーションに記述し、該属性として監視有無の条件を記述し、該警告命令に宛先アドレスをパラメータとして記述することにより、条件が成立した場合に通信インターフェイスを介し該宛先アドレスへ操作パネル又はリモートコンソールが操作されたことが報知されるので、簡単なユーザアプリケーションにより防犯を行うことが可能となるという効果を奏する。
【００１４】
また、アイコンを疑似アイコンとすることができるので、不正侵入者によりコピーや電子メール送信等が実際に行われるのを防止することができる。
【００１５】
さらに、アイコンの属性として監視有無の条件が記述され、この条件が成立した場合に警告が行われるので、条件文を記述する必要がなく、ユーザアプリケーションの複雑化が避けられるという効果を奏する。
【００１６】
上記第３態様の構成によれば、複数のアイコンの各々の属性として条件文を記述する必要がないので、プログラミングに少し慣れた人には複雑な処理を簡単なユーザアプリケーションで実現できるという効果を奏する。
【００１７】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【実施例１】
【００１８】
図１１は、本発明の実施例１に係る画像形成装置１０のハードウェア構成を示す概略ブロック図である。
【００１９】
この画像形成装置１０では、ＭＰＵ１１がインターフェイス１２を介して、ＰＲＯＭ１３、ＤＲＡＭ１４、操作パネル１５、プリンタ１６、スキャナ１７、ＮＩＣ１８、ＦＡＸモデム１９、ＵＳＢポート２０、トナー残量検出器２１、ＩＣカードリーダ２２、電子タグリーダ２３及びタイマＴＭに結合されている。図１１では、簡単化のため、複数のインターフェイスを１つのブロックで示している。
【００２０】
ＰＲＯＭ１３は、例えばフラッシュメモリであり、これには、オペレーティングシステム（ＯＳ）と、ＯＳの上層で動作する各種プログラムと、各種設定値とが格納されている。各種プログラムは、画像形成装置１０を複合機として機能させるためのものであり、この機能には、コピー、スキャン、プリント、ファクシミリ送受信、電子メール送受信及びＨＴＴＰ通信がある。ＤＲＡＭ１４は、ワークエリア用である。
【００２１】
操作パネル１５は、表示部とキー入力部とを備えており、設定情報又は指示を入力し、選択画面や設定画面などを表示させるためのものである。プリンタ１６は、プリントエンジン、定着器並びに用紙の給紙部、搬送部及び排紙部を備えており、印刷データとして供給されるビットマップデータに基づきプリントエンジンの感光ドラムに静電潜像を形成し、これをトナーで現像し、用紙に転写し定着させた後に排紙する。スキャナ１７は、コピー及びファクシミリ送信での画像入力用である。ＮＩＣ１８は、ネットワーク上のホストコンピュータ及びサーバに結合されてプリントジョブ及び消耗品発注に用いられる。ＦＡＸモデム１９は、ファクシミリ送受信用である。
【００２２】
トナー残量検出器２１は、プリンタ１６用のトナーカートリッジに収容されているトナーの残量を検出してその信号を出力する。ＩＣカードリーダ２２は、所定範囲内に存在するＩＣカードとの間で電波を介し信号を送受して、ユーザのＩＤ及びパスワード情報を読取り、これらを画像形成装置１０に対する認証情報として出力する。電子タグリーダ２３は、トナーカートリッジに固着された電子タグからそのＩＤを読み出して出力する。このＩＤには、トナーカートリッジの型式及びシリアル番号が含まれる。
【００２３】
トナー残量検出器２１及び電子タグリーダ２３の出力は、プログラムに従ってＭＰＵ１１によりそれぞれ定期的に及びトナーカートリッジ装着時に読取られ、図２に示すようにそれぞれToner.Level及びToner.RFIDとしてＤＲＡＭ１４に格納される。
【００２４】
ポート２０に接続されるＵＳＢメモリ２４Ａは、例えばフラッシュメモリチップを備えている。
【００２５】
ホストコンピュータ２５は、そのＮＩＣがハブを介してＮＩＣ１８に結合されるとともに、不図示のルータを介してインターネット２６に結合される。このインターネット２６には、不図示のルータを介してＷｅｂサーバマシン２７が結合されている。一方、画像形成装置１０のＦＡＸモデム１９とＷｅｂサーバマシン２７のＦＡＸモデムとは、公衆回線網２８を介して結合される。
【００２６】
タイマＴＭは、現時刻検出用及びＭＰＵ１１に対するタイマ割込用である。
【００２７】
図１０は、本発明の実施例１に係る画像形成装置のソフトウェア階層構造を示す概略ブロック図である。
【００２８】
ＯＳ３０は、そのカーネル、例えばLinuxに、各種ハードウェアのそれぞれに対応したデバイスドライバ３１が組み込まれている。
【００２９】
ＯＳ３０の上層には、ＯＳ３０内の各種機能を利用するためのＡＰＩ３２を介し、ミドルウェアとしての基本サービスプログラム３３が備えられている。基本サービスプログラム３３は、操作パネル制御モジュール３３０と、画像入力モジュールとしてのスキャンモジュール３３１と、入力データを処理するデータ処理モジュールと、処理された画像データを出力する画像出力モジュールとしてのプリントモジュール３３２と、入出力モジュールとを備えている。
【００３０】
操作パネル制御モジュール３３０は、操作パネル１５上に操作釦を表示させ、その押下を検出させるためのものである。入出力モジュールには、ＦＡＸ送受信モジュール３３３、電子メール送受信モジュール３３４及びＨＴＴＰ処理モジュール３３９が含まれる。データ処理モジュールには、ＩＣカード制御モジュール３３５、ＲＦＩＤ制御モジュール３３６、画像データのフォーマットを変換するフォーマット変換モジュール３３７並びに不図示の集約処理モジュール及び頁付モジュール等が含まれる。基本サービスプログラム３３にはさらに、ユーティリティモジュールとして、ファクシミリ及び電子メールの宛先指定に用いられるアドレス帳モジュール３３８が含まれる。
【００３１】
基本サービスプログラム３３の上層には、外部ＡＰＩ３４を介してアプリケーション３５が備えられている。アプリケーション３５は、外部ＡＰＩ３４を介し基本サービスプログラム３３のモジュールを用いて作成されたプログラムである。アプリケーション３５には、コピーモジュール３５０、プリントモジュール３５１、ＦＡＸモジュール３５２、電子メールモジュール３５３、ジョブ管理モジュール３５４及び操作パネルモジュール３５５が含まれている。例えば、コピーモジュール３５０は、スキャンモジュール３３１とプリントモジュール３３２とを組み合わせて構成されている。また、ＦＡＸモジュール３５２は、ＦＡＸ送受信モジュール３３３とアドレス帳モジュール３３８とを組み合わせて構成されている。
【００３２】
画像形成装置１０のソフトウェアはさらに、ユーザアプリケーション３７に対するインタプリタである簡易テキスト言語処理プログラム３８を備えている。このプログラム簡易テキスト言語処理プログラム３８は、ユーザアプリケーション３７の命令文を解釈し、外部ＡＰＩ３４、外部ＡＰＩ３６又はＡＰＩ３２を介してそれぞれ基本サービスプログラム３３、アプリケーション３５又はＯＳ３０に含まれている関数を利用することにより、ユーザアプリケーション３７を実行させるためのものである。
【００３３】
ユーザアプリケーション３７は、例えばホストコンピュータ２５で作成され、文法チェックされ、ＵＳＢメモリ２４Ａ内にコピーされ、ポート２０を介してＤＲＡＭ１４に読み込まれる。ユーザアプリケーション３７は、前処理により、その各行に行番号が付される。図５（Ａ）〜（Ｃ）及び図１０（Ａ）〜（Ｃ）はユーザアプリケーション３７の具体例を示す。
【００３４】
ここで、操作パネル１５上には図３（Ａ）に示すようなメインメニュー画面が表示されており、この画面上の"ＵＳＥＲ  ＡＰＰＬＩＣＡＴＩＯＮ"釦をタッチ（押下）すると、図３（Ｂ）の"ＵＳＥＲ  ＡＰＰＬＩＣＡＴＩＯＮ"以外の表示及びこれに関係した処理が図１に示すフローに従って行われる。
【００３５】
図１は、ユーザアプリケーション３７に対する簡易テキスト言語処理プログラム３８の処理を示す概略フローチャートである。
【００３６】
この処理は、タイマ割込により、例えば２０ｍｓｅｃ毎に開始される。以下、括弧内は図中のステップ識別番号である。
【００３７】
（Ｓ０）ユーザアプリケーション３７の次処理対象行番号を示すカウンタＬＣを０に初期設定する。
【００３８】
（Ｓ１）カウンタＬＣが示す行をユーザアプリケーション３７から読み出し、現行カウンタＣＬＣにＬＣの値を代入し、現行カウンタＣＬＣが示す行のステートメントの次のステートメントの行番号を、次行カウンタＬＣに代入する。ステートメントの区切り記号は、Ｃ言語と同様にセミコロン";"又は閉じ括弧"｝"である。図５（Ａ）の場合、ＬＣ＝０の次はＬＣ＝１、その次は、条件文が成立しなければＬＣ＝７、成立すれば、後述のステップＳ１０でＬＣ＝２となる。
【００３９】
（Ｓ２）ステップＳ１で読み込むべき行が存在しなかった場合には処理を終了し、存在した場合にはステップＳ３へ進む。
【００４０】
（Ｓ３）ステートメントがResetEnd文であればステップＳ４へ進み、そうでなければステップＳ７へ進む。
【００４１】
（Ｓ４）消耗品管理終了を示すエンドフラグＥＦが‘０’であればステップＳ１へ戻り、‘１’であればステップＳ５へ進む。
【００４２】
（Ｓ５）ResetEnd文の括弧内に記述された条件式（ＲＥＣ）の成否を判定し、肯定判定した場合にはステップＳ６へ進み、そうでなければ図１の処理を終了する。
【００４３】
（Ｓ６）エンドフラグＥＦをリセットし、操作パネル１５上の、後述の発注済表示をクリアして、ステップＳ１へ戻る。
【００４４】
（Ｓ７）ＣＬＣの行が条件句であればステップＳ８へ進み、そうでなければステップＳ１１へ進む。
【００４５】
図５（Ａ）の場合、ＬＣ＝１の行"If Toner.Level<Level.Low1 {"及びＬＣ＝２の行"Button (120, 80, 60, 30, カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚) {"はいずれも条件句である。
【００４６】
後者は、条件句（釦句）"If Button (120, 80, 60, 30, カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚) is pushed {"を省略記載したものである。この省略記載により、条件文のネスト構造が見かけ上隠蔽されるので、ユーザアプリケーション３７が見易くなるとともに、ユーザアプリケーション３７の作成が容易になる。
【００４７】
（Ｓ８）現行番号ＣＬＣの行が釦句であればその引数に基づいて釦の表示データを作成し、例えば図３（Ｂ）中の釦４０のように、操作パネル１５上に表示させる。
【００４８】
ＬＣ＝２の釦句の場合、引数(120, 80, 60, 30, カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚) のうち、（120, 80）は操作パネル１５上での釦の左上頂点のＸ−Ｙ座標であり、（60, 30）は釦の幅及び高さであり、「カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚」は釦上のテキストである。ここに &は文字の連結演算子であり、 CrLfは復帰改行の制御コードを示しており、Toner.Level.ToPagesは上述のトナー残量検出値を平均印刷枚数で換算したものを示している。釦の表示データ作成処理及び表示処理は、操作パネル制御モジュール３３０及び操作パネルモジュール３５５に含まれる関数を用いて行われる。
【００４９】
この表示処理後に、内部フラグＦを立てておき、次回以降、ステップＳ８でこのフラグＦがセットされていればこの釦表示データ作成処理を省略する。
【００５０】
（Ｓ９）条件句中の条件式の成否を判定し、成立していればステップＳ１０へ進み、そうでなければステップＳ１へ戻る。
【００５１】
（Ｓ１０）次行カウンタＬＣの内容を、条件成立時の行番号に変更する。すなわち、ＬＣ＝ＣＬＣ＋１とする。次に、ステップＳ１へ戻る。
【００５２】
（Ｓ１１）現行番号ＣＬＣの行がＥｎｄ文であればステップＳ１３へ進み、そうでなければステップＳ１２へ進む。
【００５３】
（Ｓ１２）現行番号ＣＬＣの行の内容を処理し、ステップＳ１へ戻る。
【００５４】
（Ｓ１３）エンド文Endを実行して、図１の処理を終了する。すなわち、ステップＳ８で表示した操作パネル１５上の釦をクリアし、上記内部フラグＦをリセットするとともに、エンドフラグＥＦをセットする。
【００５５】
次に、図１の処理の具体例を、ユーザアプリケーション３７が図５（Ａ）に示すものである場合について説明する。なお、エンドフラグＥＦは‘１’に初期設定されている。
【００５６】
（１）タイマ割込により、まず、ステップＳ０でＬＣ＝０となる。ステップＳ１でＬＣ＝０の行ResetEnd(Toner.Level>Level.High)が読み出され、ＣＬＣ＝０、ＬＣ＝１となる。ステップＳ２、Ｓ３及びＳ４を通ってステップＳ５でResetEnd文の条件式"Toner.Level>Level.High"が判定される。カートリッジ交換直後は、この条件式"Toner.Level>Level.High"が成立し、ステップＳ６でＥＦ＝０となる。ここに閾値Level.Highは、後述の閾値Level.Low1、Level.Low2、・・・とともに、図２に示すように予めＰＲＯＭ１３に格納されている。
【００５７】
ステップＳ１へ戻り、ＬＣ＝１の行"If Toner.Level<Level.Low1 {"が読み出され、ＣＬＣ＝１、ＬＣ＝７となる。ステップＳ２、Ｓ３、Ｓ７、Ｓ８を通りステップＳ９で条件式"Toner.Level<Level.Low1"が否定判定されてステップＳ１へ戻る。ステップＳ１でＬＣ＝７の行が読み出され、これがNullであるので、ステップＳ２で肯定判定されて終了する。
【００５８】
（２）次のタイマ割込で、まず、ステップＳ０においてＬＣ＝０となる。ステップＳ１でＬＣ＝０の行"ResetEnd(Toner.Level>Level.High)"が読み出され、ＣＬＣ＝０、ＬＣ＝１となる。ステップＳ２及びＳ３を通ってステップＳ４で肯定判定されステップＳ１へ戻る。ステップＳ１で、ＬＣ＝１の行"If Toner.Level<Level.Low1 {"が読み出され、ＣＬＣ＝１、ＬＣ＝７となる。ステップＳ２、Ｓ３、Ｓ７、Ｓ８を通りステップＳ９で条件式"Toner.Level<Level.Low1"が否定判定されてステップＳ１へ戻る。ＬＣ＝７の行が読み出され、これがNullであるので、ステップＳ２で肯定判定されて終了する。
【００５９】
その後も、ステップＳ９で否定判定されればこのような処理（２）が行われる。
【００６０】
図４に示すように、時間の経過とともにトナー残量Toner.Levelが低下して、これが、予め設定された閾値Level.Low1未満になると、条件"Toner.Level<Level.Low1"が成立する。
【００６１】
（３）タイマ割込により、まず、ステップＳ０でＬＣ＝０となる。ステップＳ１でＬＣ＝０の行"ResetEnd(Toner.Level>Level.High)"が読み出され、ＣＬＣ＝０、ＬＣ＝１となる。ステップＳ２及びＳ３を通ってＳ４で肯定判定されステップＳ１へ戻る。ステップＳ１で、ＬＣ＝１の行"If Toner.Level<Level.Low1 {"が読み出され、ＣＬＣ＝１、ＬＣ＝７となる。ステップＳ２、Ｓ３、Ｓ７、Ｓ８を通りステップＳ９で条件式"Toner.Level<Level.Low1"が肯定判定されてステップＳ１０へ進む。ステップＳ１０でＬＣ＝２となり、ステップＳ１へ戻る。
【００６２】
ステップＳ１で、ＬＣ＝２の行"Button (120, 80, 60, 30, カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚) {"
が取り出され、ＣＬＣ＝２、ＬＣ＝７（文の区切り記号の場合には次の行）となり、ステップＳ２、Ｓ３及びＳ７を通ってステップＳ８で、上述のように釦４０の表示データが作成されてこれが操作パネル１５上に表示されるとともに内部フラグＦがセットされる。まだ釦４０の表示範囲(120, 80, 60, 30)内がタッチ（押下）されていないので、ステップＳ９で否定判定され、ステップＳ１へ戻る。
【００６３】
ステップＳ１で、ＬＣ＝７の行Nullが取り出され、ステップＳ２を通って終了する。
【００６４】
その後も、釦４０が押下されなければ、このような処理（３）が行われる。
【００６５】
（４）釦４０が押下されると、ステップＳ９で肯定判定され、ステップＳ１０でＬＣ＝３となり、ステップＳ１へ戻る。
【００６６】
ステップＳ１で、ＬＣ＝３の行"Order (Toner.RFID To DefaultDealer)"が取り出され、ＣＬＣ＝３、ＬＣ＝４となる。ステップＳ２、Ｓ３、Ｓ７及びＳ１１を通って、ステップＳ１２でＣＬＣ＝３の行が処理される。すなわち、Toner.RFIDに含まれるトナーカートリッジ型式と、Orderには隠蔽されているユーザＩＤとを含むＨＴＴＰリクエストメッセージを生成して、ＮＩＣ１８及びインターネット２６を介し、宛先DefaultDealer（例えば図２に示すhttp://km.com:80）であるＷｅｂサーバマシン２７へ送信する。このメッセージのリクエスト行は例えば、
GET /cgi-bin/order.cgi?UserID=21035&Type=KM102 HTTP/1.0
である。ここにUserID=21035は、図２に示すようにＰＲＯＭ１３に予め格納されている。また、Type=KM102は、Toner.RFIDの内容の一部であるトナーカートリッジ型式である。ＨＴＴＰメッセージの送受信は、ＨＴＴＰ処理モジュール３３９及びＯＳ３０を用いて行われる。
【００６７】
Ｗｅｂサーバマシン２７はこのＨＴＴＰリクエストメッセージに応答して、これに含まれるクエリ文字列UserID=21035&Type=KM102を引数とし該メッセージに含まれるパス名/cgi-bin/order.cgiのＣＧＩプログラムを起動させる。これにより、図１１に示すように、受信した日時を受注日時とし、トナーカートリッジ型式、顧客ＩＤ及び発送予定日がテーブルＴＢＬ１に記入される。顧客ＩＤは、上記UserIDと同一である。発送予定日は、該型式をキーとして在庫データベース２９を検索し、その結果得られる在庫状況に基づき決定される。テーブルＴＢＬ１内の完了フラグは、受注時にはリセットされており、発送時にこれがセットされる。
【００６８】
このテーブルＴＢＬ１は、顧客ＩＤ、会社名、住所、担当者名、所属部課名、電話番号、ファクシミリ番号などのフィールドを含む顧客情報テーブルＴＢＬ２とリンクされて、リレーショナルデータベースが構成される。
【００６９】
Ｗｅｂサーバマシン２７は、受注日時を発注日時とし、これとトナーカートリッジの型式と発送予定日とを含むＨＴＴＰリスポンスメッセージを、テンプレートファイルに基づき生成し、画像形成装置１０へ送信する。
【００７０】
画像形成装置１０はこれに応答して、受信したメッセージの内容を、図３（Ｃ）に示すように操作パネル１５に表示させる。
【００７１】
このようなＣＬＣ＝３の行の処理が完了すると、ステップＳ１へ戻り、ＬＣ＝４の行Endが取り出され、ＣＬＣ＝４、ＬＣ＝７となる。ステップＳ２、Ｓ３、Ｓ７及びＳ１１を通って、ステップＳ１３でＣＬＣ＝４の行Endが処理される。すなわち、操作パネル１５上の釦４０の表示がクリアされ、内部フラグＦがリセットされるとともに、エンドフラグＥＦがセットされる。
【００７２】
これにより、トナーカートリッジを交換するまでは、タイマ割込により図１の処理が開始されても、ステップＳ４及びＳ５で共に否定判定され、図３（Ｃ）に示す如く、トナーカートリッジ発注釦４０は操作パネル１５に表示されず、発注済みの表示が維持される。
【００７３】
このような処理（４）の後に、図４に示すようにトナーカートリッジを交換すると、ResetEnd文の条件が成立して、上述の処理（１）が行われ、ステップＳ５からステップＳ６へ進み、ＥＦ＝０となり、操作パネル１５上の発注済みの表示がクリアされる。
【００７４】
トナーカートリッジの在庫があるためトナーカートリッジを発注する必要がない場合、トナーカートリッジ交換時に、上述のように電子タグリーダ２３の出力が、図１とは別のプログラムに従ってＭＰＵ１１によりに読取られ、これが図２に示すToner.RFIDとしてＤＲＡＭ１４に格納される。この際、該プログラムにより、図１のステップＳ１３と同じ処理が行われる。これにより、次にToner.Level<Level.Low1が成立するまでトナーカートリッジ発注釦４０は操作パネル１５に表示されない。
【００７５】
本実施例１によれば、条件付リセットエンド命令ResetEndと、釦４０の属性とOrder命令との組とが記述されたユーザアプリケーションを用い、簡易テキスト言語処理プログラム３８に従って、条件付リセットエンド命令ResetEndの条件成否に応じ釦４０のオンを検出し、該オンの検出に応答してOrder命令を実行するので、条件文が実質的にネストしていても、条件に応じてユーザインターフェイスを変更するユーザアプリケーションの構造が簡単になるという効果を奏する。
【００７６】
また、If文により条件文がさらにネストしても、条件に応じてユーザインターフェイスを変更するユーザアプリケーションの構造が簡単になるという効果を奏する。
【００７７】
また、アイコンとしての釦４０の属性(120, 80, 60, 30, カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚) と消耗品発注命令Order (Toner.RFID To DefaultDealer)とが対になって記述された簡単なユーザアプリケーションの該属性に基づいて操作パネル１５に釦４０を表示させ、そのオンの検出に応答して、該消耗品発注命令に基づきＮＩＣ１８を介し消耗品発注情報を宛先へ送信させるので、簡単なユーザアプリケーションの記述により、ユーザが容易に消耗品を発注できるとともに、消耗品消耗速度が予測に反して急増し又は急減してもこれに対処できるという効果を奏する。
【００７８】
また釦４０の属性として消耗状態の記述「残り& Toner.Level.ToPages & 枚」が含まれ、検出された消耗状態がこの記述に基づき操作パネル１５に表示されるので、簡単な記述により、適切なタイミングで消耗品を発注できるという効果を奏する。
【００７９】
さらに、釦４０の表示領域(120, 80, 60, 30)内に消耗状態が表示されるので、ユーザの操作性が向上するという効果を奏する。
【００８０】
また、ステップＳ４をステップＳ５の前に配置しているので、エンドフラグＥＦが一旦リセットされればリセットエンド命令ResetEndの条件式が判定されず、トナー残量検出値が機械的振動により変動しても、ユーザアプリケーションを複雑化させることなく釦４０のオン検出を継続して行うことができるという効果を奏する。
【００８１】
また、消耗品発注情報の送信後に、操作パネル１５上に消耗品を発注したことが表示されるので、複数のユーザによる消耗品重複発注を防止できるという効果を奏する。
【００８２】
さらにまた、消耗品発注情報の送信後に、操作パネル１５上の釦４０の表示が削除されるので、操作性が向上するとともに、誤操作や複数のユーザによる消耗品重複発注を防止できるという効果を奏する。
【００８３】
また、ユーザアプリケーションに含まれるエンド命令Endに基づき該削除が行われるので、簡単な記述で該削除を行わせるか否かの選択を行うことができるという効果を奏する。
【００８４】
またトナーカートリッジの型式が電子タグから自動的に読み出されて発注情報として用いられるという効果を奏する。
【００８５】
図５（Ｂ）及び（Ｃ）は、図５（Ａ）と発注形態のみが異なるユーザアプリケーションを示す。
【００８６】
図５（Ｂ）の場合、カートリッジ発注処理として、
"Fax cartridgeOrderFile.pdf to アドレス帳(dealer1, fax)"が、図１のステップＳ１２において、ＦＡＸモジュール３５２を用いて実行される。このステートメントにより、ファイルcartridgeOrderFile.pdfの内容が、宛先へ送信される。この宛先は、関数であるアドレス帳(dealer1,fax)の戻り値となる。アドレス帳には、宛先毎にファクシミリ番号と電子メールアドレスとが記入されており、引数faxは、引数dealer1で示されるレコードのファクシミリ番号がこの関数の戻り値となることを示している。
【００８７】
図５（Ｃ）の場合、カートリッジ発注処理として、"Email cartridgeOrderFile.pdf to アドレス帳(dealer1,email)"が、図１のステップＳ１２において、電子メールモジュール３５３を用いて実行される。このステートメントにより、ファイルcartridgeOrderFile.pdfの内容が、宛先へ送信される。この宛先は、関数であるアドレス帳(dealer1,email)の戻り値である。引数emailは、引数dealer1で示されるレコードの電子メールアドレスがこの関数の戻り値となることを示している。
【００８８】
図１の処理は、消耗品発注とは無関係なユーザアプリケーションにも適用可能であり、その具体例を図１０（Ａ）〜（Ｃ）に示す。
【００８９】
次に、図１０（Ａ）に示すユーザアプリケーションに対する図１の処理を説明する。
【００９０】
（５）タイマ割込により、まず、ステップＳ０でＬＣ＝０となる。ステップＳ１でＬＣ＝０の行”Button (20, 30, 60, 30, 伝票送信) {”が読み出され、ＣＬＣ＝０、ＬＣ＝５となる。ステップＳ２、Ｓ３及びＳ７を通って、ステップＳ８で図３（Ｂ）に示すような釦４１が表示されるとともに、内部フラグＦがセットされる。まだ釦４１の表示範囲(20, 30, 60, 30)内が押下されていないので、ステップＳ９で否定判定され、ステップＳ１へ戻る。ステップＳ１で、ＬＣ＝５の行Nullが取り出され、ステップＳ２を通って終了する。
【００９１】
その後も、釦４１が押下されなければ、このような処理（５）が行われる。
【００９２】
（６）ユーザが画像形成装置１０の原稿台に原稿を載置して釦４１を押下すると、ステップＳ９で肯定判定され、ステップＳ１０でＬＣ＝１となり、ステップＳ１へ戻る。
【００９３】
ステップＳ１で、ＬＣ＝１の行"file.pdf=Scan"が取り出され、ＣＬＣ＝１、ＬＣ＝２となる。ステップＳ２、Ｓ３、Ｓ７及びＳ１１を通って、ステップＳ１２でＣＬＣ＝１の行が処理される。すなわち、スキャナ１７が動作して原稿画像が読み取られ、そのデータがｐｄｆフォーマットに変換されてfile.pdfにされる。
【００９４】
ステップＳ１へ戻り、ＬＣ＝２の行"Fax file.pdf to アドレス帳(本社経理部, fax)"が読み出され、ＣＬＣ＝２、ＬＣ＝３となる。ステップＳ２、Ｓ３、Ｓ７及びＳ１１を通って、ステップＳ１２でＣＬＣ＝２の行が処理される。すなわち、アドレス帳(本社経理部, fax)の戻り値である宛先へ、ファイルfile.pdfの内容が送信される。
【００９５】
ステップＳ１へ戻り、ＬＣ＝３の行"Email file.pdf to アドレス帳(佐々木太郎, email)"が読み出され、ＣＬＣ＝３、ＬＣ＝５となる。ステップＳ２、Ｓ３、Ｓ７及びＳ１１を通って、ステップＳ１２でＣＬＣ＝３の行が処理される。すなわち、アドレス帳(佐々木太郎, email)の戻り値である宛先へ、ファイルfile.pdfが電子メール送信される。例えば、ファクシミリ送信内容の控えが、自分宛へ送信される。
【００９６】
ステップＳ１へ戻り、ＬＣ＝５のNull行が読み出され、ステップＳ２を通って図１の処理を終了する。釦４１は、操作パネル１５上に表示されたままである。
【００９７】
図１０（Ｂ）の場合、上述と同じ処理が行われ、電子メール送信後にさらに、End文が処理されて、ステップＳ１３で操作パネル１５上の釦４１の表示がクリアされ、内部フラグＦがリセットされるとともに、エンドフラグＥＦがセットされる。
【００９８】
図１０（Ｃ）の場合、図１０（Ｂ）の処理の前に、ステップＳ１２においてＣＬＣ＝１の行"ResetEnd(ICcardID=KM01)"が処理される。すなわち、ユーザのＩＣカード２４Ｂに格納されている、ユーザＩＤとパスワードを暗号化したものとが、電波を介してＩＣカードリーダ２２により読み出される。そして、ＰＲＯＭ１３に登録されている、ユーザＩＤと例えば２回暗号化されているパスワードとが読み出され、後者が１回復号され、両者が照合される。両者のそれぞれが一致し、かつ、ユーザＩＤが、"ICcardID=KM01"のKM01と一致すれば、すなわちIDがKM01のユーザ認証が成功すれば、ResetEnd文の条件が成立したことになり、ステップＳ５で肯定判定され、ステップＳ６でＥＦ＝０となる。その後、図１０（Ｂ）の場合と同じ処理が行われる。
【００９９】
前記ユーザ認証が失敗した場合には、ステップＳ５で否定判定されて図１の処理が終了し、釦４１が操作パネル１５上に表示されない。
【０１００】
したがって、特定のユーザのみに対し、毎回、操作パネル１５上に釦４１が表示されて上述のシーケンス処理が行われ、処理が終わると釦４１が操作パネル１５上から消失する。すなわち、簡単なユーザアプリケーションにより、ユーザ毎のユーザインターフェイスを構成できるという効果を奏する。
【実施例２】
【０１０１】
図１１は、本発明の実施例１に係る画像形成装置１０のハードウェア構成を示す概略ブロック図である。
【０１０２】
この画像形成装置１０では、ＭＰＵ１１がインターフェイス１２を介して、ＰＲＯＭ１３、ＤＲＡＭ１４、操作パネル１５、プリンタ１６、スキャナ１７、ＮＩＣ１８、ＦＡＸモデム１９、ＵＳＢポート２０、トナー残量検出器２１、ＩＣカードリーダ２２、電子タグリーダ２３及びタイマＴＭに結合されている。図１１では、簡単化のため、複数のインターフェイスを１つのブロックで示している。
【０１０３】
ＰＲＯＭ１３は、例えばフラッシュメモリであり、これには、オペレーティングシステム（ＯＳ）と、ＯＳの上層で動作する各種プログラムと、各種設定値とが格納されている。各種プログラムは、画像形成装置１０を複合機として機能させるためのものであり、この機能には、コピー、スキャン、プリント、ファクシミリ送受信、電子メール送受信及びＨＴＴＰ通信がある。ＤＲＡＭ１４は、ワークエリア用である。
【０１０４】
操作パネル１５は、表示部とキー入力部とを備えており、設定情報又は指示を入力し、選択画面や設定画面などを表示させるためのものである。プリンタ１６は、プリントエンジン、定着器並びに用紙の給紙部、搬送部及び排紙部を備えており、印刷データとして供給されるビットマップデータに基づきプリントエンジンの感光ドラムに静電潜像を形成し、これをトナーで現像し、用紙に転写し定着させた後に排紙する。スキャナ１７は、コピー及びファクシミリ送信での画像入力用である。ＮＩＣ１８は、ネットワーク上のホストコンピュータ及びサーバに結合されてプリントジョブ及び消耗品発注に用いられる。ＦＡＸモデム１９は、ファクシミリ送受信用である。
【０１０５】
トナー残量検出器２１は、プリンタ１６用のトナーカートリッジに収容されているトナーの残量を検出してその信号を出力する。ＩＣカードリーダ２２は、所定範囲内に存在するＩＣカードとの間で電波を介し信号を送受して、ユーザのＩＤ及びパスワード情報を読取り、これらを画像形成装置１０に対する認証情報として出力する。電子タグリーダ２３は、トナーカートリッジに固着された電子タグからそのＩＤを読み出して出力する。このＩＤには、トナーカートリッジの型式及びシリアル番号が含まれる。
【０１０６】
トナー残量検出器２１及び電子タグリーダ２３の出力は、プログラムに従ってＭＰＵ１１によりそれぞれ定期的に及びトナーカートリッジ装着時に読取られ、図２に示すようにそれぞれToner.Level及びToner.RFIDとしてＤＲＡＭ１４に格納される。
【０１０７】
ポート２０に接続されるＵＳＢメモリ２４Ａは、例えばフラッシュメモリチップを備えている。
【０１０８】
ホストコンピュータ２５は、そのＮＩＣがハブを介してＮＩＣ１８に結合されるとともに、不図示のルータを介してインターネット２６に結合される。このインターネット２６には、不図示のルータを介してＷｅｂサーバマシン２７が結合されている。一方、画像形成装置１０のＦＡＸモデム１９とＷｅｂサーバマシン２７のＦＡＸモデムとは、公衆回線網２８を介して結合される。
【０１０９】
図１０は、本発明の実施例１に係る画像形成装置のソフトウェア階層構造を示す概略ブロック図である。
【０１１０】
ＯＳ３０は、そのカーネル、例えばLinuxに、各種ハードウェアのそれぞれに対応したデバイスドライバ３１が組み込まれている。
【０１１１】
ＯＳ３０の上層には、ＯＳ３０内の各種機能を利用するためのＡＰＩ３２を介し、ミドルウェアとしての基本サービスプログラム３３が備えられている。基本サービスプログラム３３は、操作パネル制御モジュール３３０と、画像入力モジュールとしてのスキャンモジュール３３１と、入力データを処理するデータ処理モジュールと、処理された画像データを出力する画像出力モジュールとしてのプリントモジュール３３２と、入出力モジュールとを備えている。
【０１１２】
操作パネル制御モジュール３３０は、操作パネル１５上に操作釦を表示させ、その押下を検出させるためのものである。入出力モジュールには、ＦＡＸ送受信モジュール３３３、電子メール送受信モジュール３３４及びＨＴＴＰ処理モジュール３３９が含まれる。データ処理モジュールには、ＩＣカード制御モジュール３３５、ＲＦＩＤ制御モジュール３３６、画像データのフォーマットを変換するフォーマット変換モジュール３３７並びに不図示の集約処理モジュール及び頁付モジュール等が含まれる。基本サービスプログラム３３にはさらに、ユーティリティモジュールとして、ファクシミリ及び電子メールの宛先指定に用いられるアドレス帳モジュール３３８が含まれる。
【０１１３】
基本サービスプログラム３３の上層には、外部ＡＰＩ３４を介してアプリケーション３５が備えられている。アプリケーション３５は、外部ＡＰＩ３４を介し基本サービスプログラム３３のモジュールを用いて作成されたプログラムである。アプリケーション３５には、コピーモジュール３５０、プリントモジュール３５１、ＦＡＸモジュール３５２、電子メールモジュール３５３、ジョブ管理モジュール３５４及び操作パネルモジュール３５５が含まれている。例えば、コピーモジュール３５０は、スキャンモジュール３３１とプリントモジュール３３２とを組み合わせて構成されている。また、ＦＡＸモジュール３５２は、ＦＡＸ送受信モジュール３３３とアドレス帳モジュール３３８とを組み合わせて構成されている。
【０１１４】
画像形成装置１０のソフトウェアはさらに、ユーザアプリケーション３７に対するインタプリタである簡易テキスト言語処理プログラム３８を備えている。このプログラム簡易テキスト言語処理プログラム３８は、ユーザアプリケーション３７の命令文を解釈し、外部ＡＰＩ３４、外部ＡＰＩ３６又はＡＰＩ３２を介してそれぞれ基本サービスプログラム３３、アプリケーション３５又はＯＳ３０に含まれている関数を利用することにより、ユーザアプリケーション３７を実行させるためのものである。
【０１１５】
ユーザアプリケーション３７は、例えばホストコンピュータ２５で作成され、文法チェックされ、ＵＳＢメモリ２４Ａ内にコピーされ、ポート２０を介してＤＲＡＭ１４に読み込まれる。ユーザアプリケーション３７は、前処理により、その各行に行番号が付される。図５（Ａ）〜（Ｃ）及び図１０（Ａ）〜（Ｃ）はユーザアプリケーション３７の具体例を示す。
【０１１６】
ここで、操作パネル１５上には図３（Ａ）に示すようなメインメニュー画面が表示されており、この画面上の"ＵＳＥＲ  ＡＰＰＬＩＣＡＴＩＯＮ"釦をタッチ（押下）すると、図３（Ｂ）の"ＵＳＥＲ  ＡＰＰＬＩＣＡＴＩＯＮ"以外の表示及びこれに関係した処理が図１に示すフローに従って行われる。
【０１１７】
図１は、ユーザアプリケーション３７に対する簡易テキスト言語処理プログラム３８の処理を示す概略フローチャートである。
【０１１８】
この処理は、タイマ割込により、例えば２０ｍｓｅｃ毎に開始される。以下、括弧内は図中のステップ識別番号である。
【０１１９】
（Ｓ０）ユーザアプリケーション３７の次処理対象行番号を示すカウンタＬＣを０に初期設定する。
【０１２０】
（Ｓ１）カウンタＬＣが示す行をユーザアプリケーション３７から読み出し、現行カウンタＣＬＣにＬＣの値を代入し、現行カウンタＣＬＣが示す行のステートメントの次のステートメントの行番号を、次行カウンタＬＣに代入する。ステートメントの区切り記号は、Ｃ言語と同様にセミコロン";"又は閉じ括弧"｝"である。図５（Ａ）の場合、ＬＣ＝０の次はＬＣ＝１、その次は、条件文が成立しなければＬＣ＝７、成立すれば、後述のステップＳ１０でＬＣ＝２となる。
【０１２１】
（Ｓ２）ステップＳ１で読み込むべき行が存在しなかった場合には処理を終了し、存在した場合にはステップＳ３へ進む。
【０１２２】
（Ｓ３）ステートメントがResetEnd文であればステップＳ４へ進み、そうでなければステップＳ７へ進む。
【０１２３】
（Ｓ４）消耗品管理終了を示すエンドフラグＥＦが‘０’であればステップＳ１へ戻り、‘１’であればステップＳ５へ進む。
【０１２４】
（Ｓ５）ResetEnd文の括弧内に記述された条件式（ＲＥＣ）の成否を判定し、肯定判定した場合にはステップＳ６へ進み、そうでなければ図１の処理を終了する。
【０１２５】
（Ｓ６）エンドフラグＥＦをリセットし、操作パネル１５上の、後述の発注済表示をクリアして、ステップＳ１へ戻る。
【０１２６】
（Ｓ７）ＣＬＣの行が条件句であればステップＳ８へ進み、そうでなければステップＳ１１へ進む。
【０１２７】
図５（Ａ）の場合、ＬＣ＝１の行"If Toner.Level<Level.Low1 {"及びＬＣ＝２の行"Button (120, 80, 60, 30, カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚) {"はいずれも条件句である。
【０１２８】
後者は、条件句（釦句）"If Button (120, 80, 60, 30, カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚) is pushed {"を省略記載したものである。この省略記載により、条件文のネスト構造が見かけ上隠蔽されるので、ユーザアプリケーション３７が見易くなるとともに、ユーザアプリケーション３７の作成が容易になる。
【０１２９】
（Ｓ８）現行番号ＣＬＣの行が釦句であればその引数に基づいて釦の表示データを作成し、例えば図３（Ｂ）中の釦４０のように、操作パネル１５上に表示させる。
【０１３０】
ＬＣ＝２の釦句の場合、引数(120, 80, 60, 30, カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚) のうち、（120, 80）は操作パネル１５上での釦の左上頂点のＸ−Ｙ座標であり、（60, 30）は釦の幅及び高さであり、「カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚」は釦上のテキストである。ここに &は文字の連結演算子であり、 CrLfは復帰改行の制御コードを示しており、Toner.Level.ToPagesは上述のトナー残量検出値を平均印刷枚数で換算したものを示している。釦の表示データ作成処理及び表示処理は、操作パネル制御モジュール３３０及び操作パネルモジュール３５５に含まれる関数を用いて行われる。
【０１３１】
この表示処理後に、内部フラグＦを立てておき、次回以降、ステップＳ８でこのフラグＦがセットされていればこの釦表示データ作成処理を省略する。
【０１３２】
（Ｓ９）条件句中の条件式の成否を判定し、成立していればステップＳ１０へ進み、そうでなければステップＳ１へ戻る。
【０１３３】
（Ｓ１０）次行カウンタＬＣの内容を、条件成立時の行番号に変更する。すなわち、ＬＣ＝ＣＬＣ＋１とする。次に、ステップＳ１へ戻る。
【０１３４】
（Ｓ１１）現行番号ＣＬＣの行がＥｎｄ文であればステップＳ１３へ進み、そうでなければステップＳ１２へ進む。
【０１３５】
（Ｓ１２）現行番号ＣＬＣの行の内容を処理し、ステップＳ１へ戻る。
【０１３６】
（Ｓ１３）エンド文Endを実行して、図１の処理を終了する。すなわち、ステップＳ８で表示した操作パネル１５上の釦をクリアし、上記内部フラグＦをリセットするとともに、エンドフラグＥＦをセットする。
【０１３７】
次に、図１の処理の具体例を、ユーザアプリケーション３７が図５（Ａ）に示すものである場合について説明する。なお、エンドフラグＥＦは‘１’に初期設定されている。
【０１３８】
（１）タイマ割込により、まず、ステップＳ０でＬＣ＝０となる。ステップＳ１でＬＣ＝０の行ResetEnd(Toner.Level>Level.High)が読み出され、ＣＬＣ＝０、ＬＣ＝１となる。ステップＳ２、Ｓ３及びＳ４を通ってステップＳ５でResetEnd文の条件式"Toner.Level>Level.High"が判定される。カートリッジ交換直後は、この条件式"Toner.Level>Level.High"が成立し、ステップＳ６でＥＦ＝０となる。ここに閾値Level.Highは、後述の閾値Level.Low1、Level.Low2、・・・とともに、図２に示すように予めＰＲＯＭ１３に格納されている。
【０１３９】
ステップＳ１へ戻り、ＬＣ＝１の行"If Toner.Level<Level.Low1 {"が読み出され、ＣＬＣ＝１、ＬＣ＝７となる。ステップＳ２、Ｓ３、Ｓ７、Ｓ８を通りステップＳ９で条件式"Toner.Level<Level.Low1"が否定判定されてステップＳ１へ戻る。ステップＳ１でＬＣ＝７の行が読み出され、これがNullであるので、ステップＳ２で肯定判定されて終了する。
【０１４０】
（２）次のタイマ割込で、まず、ステップＳ０においてＬＣ＝０となる。ステップＳ１でＬＣ＝０の行"ResetEnd(Toner.Level>Level.High)"が読み出され、ＣＬＣ＝０、ＬＣ＝１となる。ステップＳ２及びＳ３を通ってステップＳ４で肯定判定されステップＳ１へ戻る。ステップＳ１で、ＬＣ＝１の行"If Toner.Level<Level.Low1 {"が読み出され、ＣＬＣ＝１、ＬＣ＝７となる。ステップＳ２、Ｓ３、Ｓ７、Ｓ８を通りステップＳ９で条件式"Toner.Level<Level.Low1"が否定判定されてステップＳ１へ戻る。ＬＣ＝７の行が読み出され、これがNullであるので、ステップＳ２で肯定判定されて終了する。
【０１４１】
その後も、ステップＳ９で否定判定されればこのような処理（２）が行われる。
【０１４２】
図４に示すように、時間の経過とともにトナー残量Toner.Levelが低下して、これが、予め設定された閾値Level.Low1未満になると、条件"Toner.Level<Level.Low1"が成立する。
【０１４３】
（３）タイマ割込により、まず、ステップＳ０でＬＣ＝０となる。ステップＳ１でＬＣ＝０の行"ResetEnd(Toner.Level>Level.High)"が読み出され、ＣＬＣ＝０、ＬＣ＝１となる。ステップＳ２及びＳ３を通ってＳ４で肯定判定されステップＳ１へ戻る。ステップＳ１で、ＬＣ＝１の行"If Toner.Level<Level.Low1 {"が読み出され、ＣＬＣ＝１、ＬＣ＝７となる。ステップＳ２、Ｓ３、Ｓ７、Ｓ８を通りステップＳ９で条件式"Toner.Level<Level.Low1"が肯定判定されてステップＳ１０へ進む。ステップＳ１０でＬＣ＝２となり、ステップＳ１へ戻る。
【０１４４】
ステップＳ１で、ＬＣ＝２の行"Button (120, 80, 60, 30, カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚) {"
が取り出され、ＣＬＣ＝２、ＬＣ＝７（文の区切り記号の場合には次の行）となり、ステップＳ２、Ｓ３及びＳ７を通ってステップＳ８で、上述のように釦４０の表示データが作成されてこれが操作パネル１５上に表示されるとともに内部フラグＦがセットされる。まだ釦４０の表示範囲(120, 80, 60, 30)内がタッチ（押下）されていないので、ステップＳ９で否定判定され、ステップＳ１へ戻る。
【０１４５】
ステップＳ１で、ＬＣ＝７の行Nullが取り出され、ステップＳ２を通って終了する。
【０１４６】
その後も、釦４０が押下されなければ、このような処理（３）が行われる。
【０１４７】
（４）釦４０が押下されると、ステップＳ９で肯定判定され、ステップＳ１０でＬＣ＝３となり、ステップＳ１へ戻る。
【０１４８】
ステップＳ１で、ＬＣ＝３の行"Order (Toner.RFID To DefaultDealer)"が取り出され、ＣＬＣ＝３、ＬＣ＝４となる。ステップＳ２、Ｓ３、Ｓ７及びＳ１１を通って、ステップＳ１２でＣＬＣ＝３の行が処理される。すなわち、Toner.RFIDに含まれるトナーカートリッジ型式と、Orderには隠蔽されているユーザＩＤとを含むＨＴＴＰリクエストメッセージを生成して、ＮＩＣ１８及びインターネット２６を介し、宛先DefaultDealer（例えば図２に示すhttp://km.com:80）であるＷｅｂサーバマシン２７へ送信する。このメッセージのリクエスト行は例えば、
GET /cgi-bin/order.cgi?UserID=21035&Type=KM102 HTTP/1.0
である。ここにUserID=21035は、図２に示すようにＰＲＯＭ１３に予め格納されている。また、Type=KM102は、Toner.RFIDの内容の一部であるトナーカートリッジ型式である。ＨＴＴＰメッセージの送受信は、ＨＴＴＰ処理モジュール３３９及びＯＳ３０を用いて行われる。
【０１４９】
Ｗｅｂサーバマシン２７はこのＨＴＴＰリクエストメッセージに応答して、これに含まれるクエリ文字列UserID=21035&Type=KM102を引数とし該メッセージに含まれるパス名/cgi-bin/order.cgiのＣＧＩプログラムを起動させる。これにより、図１１に示すように、受信した日時を受注日時とし、トナーカートリッジ型式、顧客ＩＤ及び発送予定日がテーブルＴＢＬ１に記入される。顧客ＩＤは、上記UserIDと同一である。発送予定日は、該型式をキーとして在庫データベース２９を検索し、その結果得られる在庫状況に基づき決定される。テーブルＴＢＬ１内の完了フラグは、受注時にはリセットされており、発送時にこれがセットされる。
【０１５０】
このテーブルＴＢＬ１は、顧客ＩＤ、会社名、住所、担当者名、所属部課名、電話番号、ファクシミリ番号などのフィールドを含む顧客情報テーブルＴＢＬ２とリンクされて、リレーショナルデータベースが構成される。
【０１５１】
Ｗｅｂサーバマシン２７は、受注日時を発注日時とし、これとトナーカートリッジの型式と発送予定日とを含むＨＴＴＰリスポンスメッセージを、テンプレートファイルに基づき生成し、画像形成装置１０へ送信する。
【０１５２】
画像形成装置１０はこれに応答して、受信したメッセージの内容を、図３（Ｃ）に示すように操作パネル１５に表示させる。
【０１５３】
このようなＣＬＣ＝３の行の処理が完了すると、ステップＳ１へ戻り、ＬＣ＝４の行Endが取り出され、ＣＬＣ＝４、ＬＣ＝７となる。ステップＳ２、Ｓ３、Ｓ７及びＳ１１を通って、ステップＳ１３でＣＬＣ＝４の行Endが処理される。すなわち、操作パネル１５上の釦４０の表示がクリアされ、内部フラグＦがリセットされるとともに、エンドフラグＥＦがセットされる。
【０１５４】
これにより、トナーカートリッジを交換するまでは、タイマ割込により図１の処理が開始されても、ステップＳ４及びＳ５で共に否定判定され、図３（Ｃ）に示す如く、トナーカートリッジ発注釦４０は操作パネル１５に表示されず、発注済みの表示が維持される。
【０１５５】
このような処理（４）の後に、図４に示すようにトナーカートリッジを交換すると、ResetEnd文の条件が成立して、上述の処理（１）が行われ、ステップＳ５からステップＳ６へ進み、ＥＦ＝０となり、操作パネル１５上の発注済みの表示がクリアされる。
【０１５６】
トナーカートリッジの在庫があるためトナーカートリッジを発注する必要がない場合、トナーカートリッジ交換時に、上述のように電子タグリーダ２３の出力が、図１とは別のプログラムに従ってＭＰＵ１１によりに読取られ、これが図２に示すToner.RFIDとしてＤＲＡＭ１４に格納される。この際、該プログラムにより、図１のステップＳ１３と同じ処理が行われる。これにより、次にToner.Level<Level.Low1が成立するまでトナーカートリッジ発注釦４０は操作パネル１５に表示されない。
【０１５７】
本実施例１によれば、条件付リセットエンド命令ResetEndと、釦４０の属性とOrder命令との組とが記述されたユーザアプリケーションを用い、簡易テキスト言語処理プログラム３８に従って、条件付リセットエンド命令ResetEndの条件成否に応じ釦４０のオンを検出し、該オンの検出に応答してOrder命令を実行するので、条件文が実質的にネストしていても、条件に応じてユーザインターフェイスを変更するユーザアプリケーションの構造が簡単になるという効果を奏する。
【０１５８】
また、If文により条件文がさらにネストしても、条件に応じてユーザインターフェイスを変更するユーザアプリケーションの構造が簡単になるという効果を奏する。
【０１５９】
また、アイコンとしての釦４０の属性(120, 80, 60, 30, カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚) と消耗品発注命令Order (Toner.RFID To DefaultDealer)とが対になって記述された簡単なユーザアプリケーションの該属性に基づいて操作パネル１５に釦４０を表示させ、そのオンの検出に応答して、該消耗品発注命令に基づきＮＩＣ１８を介し消耗品発注情報を宛先へ送信させるので、簡単なユーザアプリケーションの記述により、ユーザが容易に消耗品を発注できるとともに、消耗品消耗速度が予測に反して急増し又は急減してもこれに対処できるという効果を奏する。
【０１６０】
また釦４０の属性として消耗状態の記述「残り& Toner.Level.ToPages & 枚」が含まれ、検出された消耗状態がこの記述に基づき操作パネル１５に表示されるので、簡単な記述により、適切なタイミングで消耗品を発注できるという効果を奏する。
【０１６１】
さらに、釦４０の表示領域(120, 80, 60, 30)内に消耗状態が表示されるので、ユーザの操作性が向上するという効果を奏する。
【０１６２】
また、ステップＳ４をステップＳ５の前に配置しているので、エンドフラグＥＦが一旦リセットされればリセットエンド命令ResetEndの条件式が判定されず、トナー残量検出値が機械的振動により変動しても、ユーザアプリケーションを複雑化させることなく釦４０のオン検出を継続して行うことができるという効果を奏する。
【０１６３】
また、消耗品発注情報の送信後に、操作パネル１５上に消耗品を発注したことが表示されるので、複数のユーザによる消耗品重複発注を防止できるという効果を奏する。
【０１６４】
さらにまた、消耗品発注情報の送信後に、操作パネル１５上の釦４０の表示が削除されるので、操作性が向上するとともに、誤操作や複数のユーザによる消耗品重複発注を防止できるという効果を奏する。
【０１６５】
また、ユーザアプリケーションに含まれるエンド命令Endに基づき該削除が行われるので、簡単な記述で該削除を行わせるか否かの選択を行うことができるという効果を奏する。
【０１６６】
またトナーカートリッジの型式が電子タグから自動的に読み出されて発注情報として用いられるという効果を奏する。
【０１６７】
図５（Ｂ）及び（Ｃ）は、図５（Ａ）と発注形態のみが異なるユーザアプリケーションを示す。
【０１６８】
図５（Ｂ）の場合、カートリッジ発注処理として、
"Fax cartridgeOrderFile.pdf to アドレス帳(dealer1, fax)"が、図１のステップＳ１２において、ＦＡＸモジュール３５２を用いて実行される。このステートメントにより、ファイルcartridgeOrderFile.pdfの内容が、宛先へ送信される。この宛先は、関数であるアドレス帳(dealer1,fax)の戻り値となる。アドレス帳には、宛先毎にファクシミリ番号と電子メールアドレスとが記入されており、引数faxは、引数dealer1で示されるレコードのファクシミリ番号がこの関数の戻り値となることを示している。
【０１６９】
図５（Ｃ）の場合、カートリッジ発注処理として、"Email cartridgeOrderFile.pdf to アドレス帳(dealer1,email)"が、図１のステップＳ１２において、電子メールモジュール３５３を用いて実行される。このステートメントにより、ファイルcartridgeOrderFile.pdfの内容が、宛先へ送信される。この宛先は、関数であるアドレス帳(dealer1,email)の戻り値である。引数emailは、引数dealer1で示されるレコードの電子メールアドレスがこの関数の戻り値となることを示している。
【０１７０】
図１の処理は、消耗品発注とは無関係なユーザアプリケーションにも適用可能であり、その具体例を図１０（Ａ）〜（Ｃ）に示す。
【０１７１】
次に、図１０（Ａ）に示すユーザアプリケーションに対する図１の処理を説明する。
【０１７２】
（５）タイマ割込により、まず、ステップＳ０でＬＣ＝０となる。ステップＳ１でＬＣ＝０の行”Button (20, 30, 60, 30, 伝票送信) {”が読み出され、ＣＬＣ＝０、ＬＣ＝５となる。ステップＳ２、Ｓ３及びＳ７を通って、ステップＳ８で図３（Ｂ）に示すような釦４１が表示されるとともに、内部フラグＦがセットされる。まだ釦４１の表示範囲(20, 30, 60, 30)内が押下されていないので、ステップＳ９で否定判定され、ステップＳ１へ戻る。ステップＳ１で、ＬＣ＝５の行Nullが取り出され、ステップＳ２を通って終了する。
【０１７３】
その後も、釦４１が押下されなければ、このような処理（５）が行われる。
【０１７４】
（６）ユーザが画像形成装置１０の原稿台に原稿を載置して釦４１を押下すると、ステップＳ９で肯定判定され、ステップＳ１０でＬＣ＝１となり、ステップＳ１へ戻る。
【０１７５】
ステップＳ１で、ＬＣ＝１の行"file.pdf=Scan"が取り出され、ＣＬＣ＝１、ＬＣ＝２となる。ステップＳ２、Ｓ３、Ｓ７及びＳ１１を通って、ステップＳ１２でＣＬＣ＝１の行が処理される。すなわち、スキャナ１７が動作して原稿画像が読み取られ、そのデータがｐｄｆフォーマットに変換されてfile.pdfにされる。
【０１７６】
ステップＳ１へ戻り、ＬＣ＝２の行"Fax file.pdf to アドレス帳(本社経理部, fax)"が読み出され、ＣＬＣ＝２、ＬＣ＝３となる。ステップＳ２、Ｓ３、Ｓ７及びＳ１１を通って、ステップＳ１２でＣＬＣ＝２の行が処理される。すなわち、アドレス帳(本社経理部, fax)の戻り値である宛先へ、ファイルfile.pdfの内容が送信される。
【０１７７】
ステップＳ１へ戻り、ＬＣ＝３の行"Email file.pdf to アドレス帳(佐々木太郎, email)"が読み出され、ＣＬＣ＝３、ＬＣ＝５となる。ステップＳ２、Ｓ３、Ｓ７及びＳ１１を通って、ステップＳ１２でＣＬＣ＝３の行が処理される。すなわち、アドレス帳(佐々木太郎, email)の戻り値である宛先へ、ファイルfile.pdfが電子メール送信される。例えば、ファクシミリ送信内容の控えが、自分宛へ送信される。
【０１７８】
ステップＳ１へ戻り、ＬＣ＝５のNull行が読み出され、ステップＳ２を通って図１の処理を終了する。釦４１は、操作パネル１５上に表示されたままである。
【０１７９】
図１０（Ｂ）の場合、上述と同じ処理が行われ、電子メール送信後にさらに、End文が処理されて、ステップＳ１３で操作パネル１５上の釦４１の表示がクリアされ、内部フラグＦがリセットされるとともに、エンドフラグＥＦがセットされる。
【０１８０】
図１０（Ｃ）の場合、図１０（Ｂ）の処理の前に、ステップＳ１２においてＣＬＣ＝１の行"ResetEnd(ICcardID=KM01)"が処理される。すなわち、ユーザのＩＣカード２４Ｂに格納されている、ユーザＩＤとパスワードを暗号化したものとが、電波を介してＩＣカードリーダ２２により読み出される。そして、ＰＲＯＭ１３に登録されている、ユーザＩＤと例えば２回暗号化されているパスワードとが読み出され、後者が１回復号され、両者が照合される。両者のそれぞれが一致し、かつ、ユーザＩＤが、"ICcardID=KM01"のKM01と一致すれば、すなわちIDがKM01のユーザ認証が成功すれば、ResetEnd文の条件が成立したことになり、ステップＳ５で肯定判定され、ステップＳ６でＥＦ＝０となる。その後、図１０（Ｂ）の場合と同じ処理が行われる。
【０１８１】
前記ユーザ認証が失敗した場合には、ステップＳ５で否定判定されて図１の処理が終了し、釦４１が操作パネル１５上に表示されない。
【０１８２】
したがって、特定のユーザのみに対し、毎回、操作パネル１５上に釦４１が表示されて上述のシーケンス処理が行われ、処理が終わると釦４１が操作パネル１５上から消失する。すなわち、簡単なユーザアプリケーションにより、ユーザ毎のユーザインターフェイスを構成できるという効果を奏する。
【実施例３】
【０１８３】
次に、本発明の画像形成装置を防犯に適用した第２実施例を説明する。
【０１８４】
図１１に示す如く、インターフェイス１２には、クロックをカウンタで計数して現在時刻を示すタイマＴＭが接続されている。インターフェイス１２にはさらに、外部から監視モード信号ＷＭが供給される。監視モード信号ＷＭは例えば、画像形成装置１０が配置されている室の鍵を掛けることにより活性になり、この鍵を開けることにより非活性になる。
【０１８５】
図７(Ａ)は、防犯用ユーザアプリケーションを示す。
【０１８６】
ＬＣ＝０の条件句"If (Time>21:00 | Time<07:00)"は、図１１のタイマＴＭが示す現時刻Ｔｉｍｅが、２１時を超えているか７時未満である場合に条件が成立することを意味している。この監視時間帯は、勤務時間外であるとする。
【０１８７】
ＬＣ＝１のステートメント"Label ( 8, 10, MAIN MENUE)"は、操作パネル１５上の座標（８，１０）を始点として文字列"MAIN MENUE"を操作パネル１５上に表示させる命令である。
【０１８８】
Button0〜2の０〜２は、複数の釦を識別するための番号である。各釦句中の"Button.Form(3)"は、ＰＲＯＭ１３に予め登録されている複数の釦形状のうちの何れであるかを示すものである。Button0〜2句で釦フォームを指定することにより、ユーザはこれらの釦が警告用の模擬釦であることを認識でき、監視時間帯でユーザが誤ってこれら釦を押下するのを防止することができる。
【０１８９】
警告命令"Warning(192.168.1.3, DumyCopy)"は、ＩＰアドレス192.168.1.3のコンピュータへ文字列"DumyCopy"を含む警告情報を送信するものである。このコンピュータは例えば、警備室に設置されている。ＩＰアドレスの代わりに、電子メールアドレス又は携帯電話番号を記述することにより、その機器に警告を送信する構成であってもよい。警告情報には、現時刻や画像形成装置１０が配置されている室の名前などの予め定められた付加情報が含まれる。
【０１９０】
図７(Ａ)のプログラムは、上記実施例１と同様に図１のフローチャートに従って処理される。
【０１９１】
これにより、現時刻が監視時間帯内になると、画像形成装置１０の操作パネル１５上に、図７（Ｂ）に示すような防犯用模擬メニューが表示される。釦４３〜４５は、Button0〜2に対応している。不正侵入者が釦４３〜４５のいずれかを押下すると、上記警告情報がＩＰアドレス192.168.1.3のコンピュータへ送信される。
【０１９２】
図７（Ｃ）に示すユーザアプリケージョンは、図７(Ａ)に示すものの変形例であり、条件句に図１１の監視モード信号ＷＭが用いられている。条件式"WatchingMode=True"は、監視モード信号ＷＭが活性である時にこの条件が成立することを意味している。
【０１９３】
この場合、上述のように例えば画像形成装置１０が配置されている部屋の鍵を掛けることにより、この条件が成立するので、その日により監視時間帯がずれても、関係者が誤って防犯用模擬釦を押下するのを防止することができる。
【実施例４】
【０１９４】
条件文を使用するとプログラミングに不慣れな人にはユーザアプリケーションを作成しづらい。
【０１９５】
そこで、本発明の実施例３では、図８(Ｂ)に示すように、条件式"Time>21:00 ｜ Time<07:00"を釦の属性( Time>21:00 ｜Time<07:00, 20, 30, 60, 30, Copy) に含ませている。このサブ条件式"Time>21:00 ｜ Time<07:00"は図７(Ａ)の条件文中のものと同一である。
【０１９６】
この実施例３の簡易テキスト言語処理プログラム３８は、図１のステップＳ８の代わりに、図８(Ａ)に示す以下の処理が行われる。
【０１９７】
（Ｓ８Ａ）釦句であればステップＳ８Ｂへ進み、そうでなければステップＳ９へ進む。
【０１９８】
（Ｓ８Ｂ）サブ条件式の成否を判定し、成立してしればステップＳ８Ｃへ進み、そうでなければステップＳ９へ進む。
【０１９９】
（Ｓ８Ｃ）釦句の属性に基づいて、釦を操作パネル１５上に表示させる。
【０２００】
このような処理により、釦の属性の１つであるサブ条件が成立した時のみ釦が操作パネル１５上に表示される。これにより、図７（Ａ）に示すような独立した条件文を記述する必要がなく、プログラミングに不慣れなユーザでも複雑な処理を簡単な命令文で記述することが可能となる。
【０２０１】
図８（Ｃ）に示すユーザアプリケーションは、図８（Ｂ）に示すものの変形例であり、この場合、釦句中のサブ条件が図７（Ｃ）に示す条件文中のものと同一である。
【実施例５】
【０２０２】
本発明は、模擬釦を表示させずに、監視中であれば通常使用される釦を押下しても警告情報を送信する構成であってもよい。
【０２０３】
そこで、本発明の実施例４では、図９(Ｂ)に示すように、サブ条件式を警告命令のパラメータに含ませている。
【０２０４】
この実施例４の簡易テキスト言語処理プログラム３８は、図１のステップＳ１２の代わりに、図９(Ａ)に示す処理が行われる。
【０２０５】
（Ｓ１２Ａ）警告命令であればステップＳ１２Ｂへ進み、そうでなければステップＳ１２Ｄへ進む。
【０２０６】
（Ｓ１２Ｂ）サブ条件式の成否を判定し、成立してしればステップＳ１２Ｃへ進み、そうでなければ図１のステップＳ１へ進む。
【０２０７】
（Ｓ１２Ｃ）操作パネル１５上の通常の釦の押下を監視し、いずれかの釦又は予め定められた釦が押下された場合には、ＩＰアドレス192.168.1.3のコンピュータへ、上述のような警告情報を送信し、ステップＳ１へ進む。通常の釦の押下の監視は、簡易テキスト言語処理プログラム３８が外部ＡＰＩ３４を介し操作パネル制御モジュール３３０を用いることにより行われる。
【０２０８】
（Ｓ１２Ｄ）命令文に応じた、その他の処理を実行し、ステップＳ１へ進む。
【０２０９】
このような処理により、警告命令のパラメータの１つであるサブ条件が成立した時のみ監視及び警告が行われる。これにより、図８（Ｂ）及び（Ｃ）に示すような釦文を記述する必要がなく、プログラミングに不慣れなユーザでも複雑な防犯処理を簡単な命令文で記述することが可能となる。
【０２１０】
図９（Ｃ）に示すユーザアプリケーションは、図９（Ｂ）に示すものの変形例であり、この場合、警告命令中のサブ条件が図８（Ｃ）に示すものと同一である。
【０２１１】
なお、本発明には外にも種々の変形例が含まれる。
【０２１２】
例えば、操作パネル１５に表示させるアイコンの形状は釦に限定されず、様々な形状のアイコンを用いてもよい。
【０２１３】
また、操作パネル１５の替わりに、画像形成装置の通信インターフェイスを介して結合されたコンピュータシステムの対話型入出力装置、すなわちリモートコンソールを用いる構成であってもよい。この場合、アイコンは例えばマウスのクリックによりオンにされる。
【図面の簡単な説明】
【０２１４】
【図１】本発明の実施例１に係る画像形成装置に格納されている、ユーザアプリケーションに対する簡易テキスト言語処理プログラムの処理を示す概略フローチャートである。
【図２】この画像形成装置のＰＲＯＭ及びＤＲＡＭに格納されているデータの一部説明図である。
【図３】（Ａ）は該画像形成装置の操作パネル上のメインメニュー画面を示す図であり、（Ｂ）は（Ａ）の"ＵＳＥＲ  ＡＰＰＬＩＣＡＴＩＯＮ"釦を押下したときに表示されるメニュー画面を示す図であり、（Ｃ）は（Ｂ）の釦４０を押下した後の画面を示す図である。
【図４】時間の経過に対するトナー残量のグラフを示す、図１の処理説明図である。
【図５】（Ａ）〜（Ｃ）はトナーカートリッジ発注に関するユーザアプリケーションの具体例を示す図である。
【図６】（Ａ）〜（Ｃ）は伝票のスキャン、ファックス送信及び電子メール送信に関するユーザアプリケーションの具体例を示す図である。
【図７】（Ａ)は、本発明の実施例２における防犯用ユーザアプリケーションの具体例を示す図であり、（Ｂ）は（Ａ）が実行されて表示される疑似メインメニュー画面を示す図であり、（Ｃ）は（Ａ）の変形例を示す図である。
【図８】（Ａ)は、本発明の実施例３において図１のステップＳ８の替わりに用いられる部分フローチャートであり、（Ｂ）は防犯用ユーザアプリケーションの具体例を示す図であり、（Ｃ）は（Ｂ）の変形例を示す図である。
【図９】（Ａ)は、本発明の実施例４において図１のステップＳ１２の替わりに用いられる部分フローチャートであり、（Ｂ）は防犯用ユーザアプリケーションの具体例を示す図であり、（Ｃ）は（Ｂ）の変形例を示す図である。
【図１０】該画像形成装置のソフトウェア階層構造を示す概略ブロック図である。
【図１１】該画像形成装置のハードウェア構成を示す概略ブロック図である。
【符号の説明】
【０２１５】
１０  画像形成装置
１１  ＭＰＵ
１２  インターフェイス
１３  ＰＲＯＭ
１４  ＤＲＡＭ
１５  操作パネル
１６  プリンタ
１７  スキャナ
１８  ＮＩＣ
１９  ＦＡＸモデム
２０  ポート
２１  トナー残量検出器
２２  ＩＣカードリーダ
２３  電子タグリーダ
２４Ａ  ＵＳＢメモリ
２４Ｂ  ＩＣカード
２５  ホストコンピュータ
２６  インターネット
２７  Ｗｅｂサーバマシン
２８  公衆回線網
３０  ＯＳ
３１  デバイスドライバ
３２  ＡＰＩ
３３  基本サービスプログラム
３３０  操作パネル制御モジュール
３３１  スキャンモジュール
３３２  プリントモジュール
３３３  ＦＡＸ送受信モジュール
３３４  電子メール送受信モジュール
３３５  ＩＣカード制御モジュール
３３６  ＲＦＩＤ制御モジュール
３３７  フォーマット変換モジュール
３３８  アドレス帳モジュール
３３９  ＨＴＴＰ処理モジュール
３４、３６  外部ＡＰＩ
３５  アプリケーション
３５０  コピーモジュール
３５１  プリントモジュール
３５２  ＦＡＸモジュール
３５３  電子メールモジュール
３５４  ジョブ管理モジュール
３５５  操作パネルモジュール
３７  ユーザアプリケーション
３８  簡易テキスト言語処理プログラム
４０、４１  釦
ＴＢＬ１、ＴＢＬ２  テーブル
ＴＭ  タイマ
ＷＭ  監視モード信号
【図１】
2009088746.tif 000003
【図２】
2009088746.tif 000004
【図３】
2009088746.tif 000005
【図４】
2009088746.tif 000006
【図５】
2009088746.tif 000007
【図６】
2009088746.tif 000008
【図７】
2009088746.tif 000009
【図８】
2009088746.tif 000010
【図９】
2009088746.tif 000011
【図１０】
2009088746.tif 000012
【図１１】
2009088746.tif 000013