(57)【特許請求の範囲】
【請求項１】
入力手段の操作に応答して表示装置の画面上にアイコンを配置させ、該アイコンの配置に基づき、画像形成装置用ユーザアプリケーションプログラムコードを自動生成するユーザアプリケーション開発支援装置であって、該ユーザアプリケーションコードは、条件句と該条件句の条件が成立したときに実行される処理句とを備えたステートメントを含み、該条件句は、操作されたとき条件成立と判定される操作アイコンの属性を含み、
該画面上に、画像形成装置の操作パネルに対応した第１領域を表示させ、該入力手段の操作に応答して該第１領域上に操作アイコンが配置された場合に、この配置に基づき該ステートメントの条件句を自動生成する条件句生成手段と、
該画面上に第２領域を表示させ、該入力手段の操作に応答して該第２領域上に処理アイコンが配置された場合に、この配置に基づき該処理アイコンに対応した処理コードを該ステートメントの処理句に自動追加する処理句生成手段と、
該画面上に第３領域を表示させ、該条件句生成手段及び該処理句生成手段により生成されたユーザアプリケーションプログラムコードを該第３領域に表示させるプログラムコード表示手段と、
を有し、
該処理句生成手段は、該入力手段の操作に応答して該第２領域上に処理アイコンを配置する場合に、該処理アイコンに対応した処理で用いられるパラメータを該入力手段の操作に応じて設定するためのドロップダウンリストを、該処理アイコンに接近して該第２領域上に追加表示させ、
該処理句生成手段は、該入力手段の操作に応答して該第２領域上にデータアイコンが配置された場合に、この配置に基づき、該データアイコンに対応したデータを該ドロップダウンリストにリンクさせる、
ことを特徴とするユーザアプリケーション開発支援装置。
【請求項２】
該処理アイコンは、画像入力アイコン、画像処理アイコン又は画像出力アイコンを含むことを特徴とする請求項１に記載のユーザアプリケーション開発支援装置。
【請求項３】
該処理句は複数の処理アイコンのそれぞれに対応したステートメントを含むブロックであり、画像入力アイコンに対応したステートメントが該ブロックに含まれている場合、
該処理句生成手段は、該第２領域上に画像出力アイコンが配置されたことに基づき、該画像入力アイコンから該画像出力アイコンへ向かう矢印線を表示させ、該ブロック内の、該画像入力アイコンに対応したステートメントの次に、該画像出力アイコンに対応したステートメントを追加する、
ことを特徴とする請求項２に記載のユーザアプリケーション開発支援装置。
【請求項４】
該ブロックに、画像入力ステートメントと画像出力ステートメントとがこの順に隣り合って記述されている場合、
該処理句生成手段は、該入力手段の操作に応答して、該画像入力ステートメントに対応したアイコンから該画像出力ステートメントに対応したアイコンへ向かう該矢印線の上に処理アイコンが配置された場合に、この配置に基づき、該画像入力ステートメントと該画像出力ステートメントとの間に、該処理アイコンに対応したステートメントを挿入する、
ことを特徴とする請求項３に記載のユーザアプリケーション開発支援装置。
【請求項５】
該処理句生成手段は、該データアイコンから該設定アイコンへの矢印線を表示させることを特徴とする請求項１乃至４のいずれか１つに記載のユーザアプリケーション開発支援装置。
【請求項６】
該画面上に第４領域を表示させ、該第４領域内に１つ以上の操作アイコンと複数の処理アイコンとを表示させ、該入力手段の操作に応答して、選択された操作アイコン又は処理アイコンをそれぞれ該第１領域上又は該第２領域上に配置させるアイコン配置手段、
をさらに有することを特徴とする請求項１乃至５のいずれか１つに記載のユーザアプリケーション開発支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、画像形成装置で用いられるユーザアプリケーションの開発支援装置に係り、特に、ユーザアプリケーションプログラム解釈実行用として簡易テキスト言語処理プログラムがインストールされている画像形成装置で実行されるユーザアプリケーションの開発を支援する装置に関する。
【背景技術】
【０００２】
画像形成装置、特に複合機では、様々なユーザの要求に応えるために多機能化が進んでいる。
【０００３】
しかしながら、多機能化によりメニュー項目が増加するので、メニュー構造が複雑になり、操作性が悪化する。すなわち、ユーザにとって使用しない機能が多くなると共に、使用したい機能を実行するのに操作パネル上で押下すべき釦数が多くなり、操作性が悪くなる。
【０００４】
そこで、下記特許文献１では、複数の操作を組み合わせた命令語をＸＭＬ言語で記述してその処理を実行させることが開示されている。
【特許文献１】特開２００５−８００１９号公報
【特許文献２】特開２００４−１８５５９３号公報
【特許文献３】特開２００４−２８７８５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、操作パネルと無関係に処理が実行されるので、プログラムに不慣れなユーザにとっては使い勝手が良くない。また、プログラムに不慣れなユーザにとって、ユーザアプリケーションプログラムの作成が容易でないので、その利用度も低くなる。
【０００６】
本発明の目的は、このような問題点に鑑み、使い勝手のよいユーザアプリケーションプログラムを容易に作成することが可能な画像形成装置用ユーザアプリケーション開発支援装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の第１態様では、入力手段の操作に応答して表示装置の画面上にアイコンを配置させ、該アイコンの配置に基づき、画像形成装置用ユーザアプリケーションプログラムコードを自動生成するユーザアプリケーション開発支援装置であって、該ユーザアプリケーションコードは、条件句と該条件句の条件が成立したときに実行される処理句とを備えたステートメントを含み、該条件句は、操作されたとき条件成立と判定される操作アイコンの属性を含み、
該画面上に、画像形成装置の操作パネルに対応した第１領域を表示させ、該入力手段の操作に応答して該第１領域上に操作アイコンが配置された場合に、この配置に基づき該ステートメントの条件句を自動生成する条件句生成手段と、
該画面上に第２領域を表示させ、該入力手段の操作に応答して該第２領域上に処理アイコンが配置された場合に、この配置に基づき該処理アイコンに対応した処理コードを該ステートメントの処理句に自動追加する処理句生成手段と、
該画面上に第３領域を表示させ、該条件句生成手段及び該処理句生成手段により生成されたユーザアプリケーションプログラムコードを該第３領域に表示させるプログラムコード表示手段と、を有する。
【０００８】
本発明による画像形成装置用ユーザアプリケーション開発支援装置の第２態様では、第１態様において、該処理アイコンは、画像入力アイコン、画像処理アイコン又は画像出力アイコンを含む。
本発明による画像形成装置用ユーザアプリケーション開発支援装置の第３態様では、該第２態様において、該処理句は複数の処理アイコンのそれぞれに対応したステートメントを含むブロックであり、画像入力アイコンに対応したステートメントが該ブロックに含まれている場合、
該処理句生成手段は、該第２領域上に画像出力アイコンが配置されたことに基づき、該画像入力アイコンから該画像出力アイコンへ向かう矢印線を表示させ、該ブロック内の、該画像入力アイコンに対応したステートメントの次に、該画像出力アイコンに対応したステートメントを追加する。
本発明による画像形成装置用ユーザアプリケーション開発支援装置の第４態様では、第３態様において、該ブロックに、画像入力ステートメントと画像出力ステートメントとがこの順に隣り合って記述されている場合、
該処理句生成手段は、該入力手段の操作に応答して、該画像入力ステートメントに対応したアイコンから該画像出力ステートメントに対応したアイコンへ向かう該矢印線の上に処理アイコンが配置された場合に、この配置に基づき、該画像入力ステートメントと該画像出力ステートメントとの間に、該処理アイコンに対応したステートメントを挿入する。
【０００９】
本発明による画像形成装置用ユーザアプリケーション開発支援装置の第５態様では、第１乃至４態様のいずれかにおいて、該処理句生成手段は、該入力手段の操作に応答して該第２領域上に処理アイコンを配置する場合に、該処理アイコンに対応した処理で用いられるパラメータを該入力手段の操作に応じて設定するためのドロップダウンリストを、該処理アイコンに接近して該第２領域上に追加表示させる。
【００１０】
本発明による画像形成装置用ユーザアプリケーション開発支援装置の第６態様では、該処理句生成手段は、該入力手段の操作に応答して該第２領域上にデータアイコンが配置された場合に、この配置に基づき、該データアイコンに対応したデータを該ドロップダウンリストにリンクさせる。
本発明による画像形成装置用ユーザアプリケーション開発支援装置の第７態様では、第６態様において、該データアイコンから該設定アイコンへの矢印線を表示させる。
【発明の効果】
【００１１】
上記第１態様の構成によれば、ユーザアプリケーションコードが、条件句と該条件句の条件が成立したときに実行される処理句とを備えたステートメントを含み、該条件句が、操作されたとき条件成立と判定される操作アイコンの属性を含み、条件句生成手段により、画面上に、画像形成装置の操作パネルに対応した第１領域を表示させ、入力手段の操作に応答して該第１領域上に操作アイコンが配置された場合に、この配置に基づきステートメントの条件句を自動生し、処理句生成手段により、該画面上に第２領域を表示させ、該入力手段の操作に応答して該第２領域上に処理アイコンが配置された場合に、この配置に基づき該処理アイコンに対応した処理コードを該ステートメントの処理句に自動追加し、該画面上に第３領域を表示させ、該条件句生成手段及び該処理句生成手段により生成されたユーザアプリケーションプログラムコードを該第３領域に表示させるので、プログラミングに不慣れなユーザであっても、ユーザアプリケーションプログラムを容易に作成することが可能となるという効果を奏する。
【００１２】
上記第３態様の構成によれば、該第２領域上に、画像入力アイコンを配置した後、画像出力アイコンを配置するだけで、該画像入力アイコンから該画像出力アイコンへ向かう矢印線が表示されるとともに、処理句を構成するブロック内に、該画像入力アイコンに対応したステートメントと該画像出力アイコンに対応したステートメントとがこの順に記述されるので、操作性がよいという効果を奏する。
【００１３】
上記第４態様の構成によれば、画像入力ステートメントに対応したアイコンから画像出力ステートメントに対応したアイコンへ向かう矢印線の上に処理アイコンを配置するだけで、該画像入力ステートメントと該画像出力ステートメントとの間に、該処理アイコンに対応したステートメントが挿入されるので、操作性がよいという効果を奏する。
上記第５態様の構成によれば、処理アイコンを配置すると、該処理アイコンに対応した処理で用いられるパラメータを設定するためのドロップダウンリストを該処理アイコンに接近して該第２領域上に追加表示させるので、プログラミングに不慣れなユーザであっても、より詳細な指定ができるユーザアプリケーションプログラムを容易に作成することが可能となるという効果を奏する。
【００１４】
上記第６態様の構成によれば、該第２領域上にデータアイコンを配置するだけで、該データアイコンに対応したデータを該ドロップダウンリストに表示させることが可能になるので、プログラミングに不慣れなユーザにとっても操作性がよいという効果を奏する。
【００１５】
上記第７態様の構成によれば、該データアイコンから該設定アイコンへ向かう矢印線が表示されるので、両者の対応付けが分かり易く、プログラミングに不慣れなユーザにとって、さらに操作性が向上するという効果を奏する。
【００１６】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【実施例１】
【００１７】
図１３は、本発明の実施例１に係る画像形成装置１０のハードウェア構成を示す概略ブロック図である。
【００１８】  この画像形成装置１０では、ＭＰＵ１１がインタフェース１２を介して、ＲＯＭ１３Ｒ、ＰＲＯＭ１３Ｐ、ＤＲＡＭ１３Ｄ、ハードディスク１４、スキャナ１５、プリンタ１６、操作パネル１７、モデム１８、ＮＩＣ１９及びＵＳＢポート２０Ｐに結合されている。図１３では、簡単化のため、複数のインタフェースを１つのブロックで示しており、インタフェース１２にはＵＳＢインタフェースも含まれている。【００１９】  ＲＯＭ１３Ｒには、ブートストラップ及びＢＩＯＳが格納されている。ＰＲＯＭ１３Ｐは、例えばフラッシュメモリであり、これには、オペレーティングシステム（ＯＳ）、ＯＳの上層で動作するアプリケーション及びＯＳの下層で動作する各種デバイスドライバ及び各種設定値が格納されている。このアプリケーションは、画像形成装置１０を複合機として機能させるためのものであり、この機能には、コピー、スキャン、プリント及びファクシミリがある。ハードディスク１４は、データ格納用である。ＤＲＡＭ１３Ｄは、ワークエリア用である。【００２０】
スキャナ１５は、コピー及びファックス送信での画像入力用である。プリンタ１６は、プリントエンジン、定着器並びに用紙の給紙部、搬送部及び排紙部を備えており、印刷データとして供給されるビットマップデータに基づいてプリントエンジンの感光ドラムに静電潜像を形成し、これをトナーで現像し、用紙に転写し定着させた後に排紙する。操作パネル１７は、表示部とキー入力部とを備えており、設定情報又は指示を入力し、選択画面や設定画面などを表示させるためのものである。モデム１８は、ファックス送受信用である。ＮＩＣ１９は、ネットワーク上のホストコンピュータに結合されてプリントジョブに用いられる。ポート２０Ｐに接続されるＵＳＢメモリ２０は、例えばフラッシュメモリチップを備えている。
【００２１】
図１４は、画像形成装置用ユーザアプリケーション開発支援装置としてのホストコンピュータ２１のハードウェア構成を示す概略ブロック図である。
【００２２】  このホストコンピュータ２１では、ＭＰＵ２２にインタフェース２３を介してＲＯＭ２４Ｒ、ＰＲＯＭ２４Ｐ、ＤＲＡＭ２４Ｄ、ＨＤＤ２５、表示装置２６、キーボード２７１、ポインティングデバイス２７２、ＮＩＣ２８及びＵＳＢポート２９が結合されている。図１４では、簡単化のため、複数のインタフェースを１つのブロックで示している。【００２３】  ＲＯＭ２４Ｒには、ブートストラップ及びＢＩＯＳが格納され、ＰＲＯＭ２４Ｐには、システムの設定値が格納されている。ＤＲＡＭ２４Ｄは、主メモリとして用いられる。ＨＤＤ２５には、ＯＳと、ＯＳの下層のデバイスドライバ群と、ＯＳの上層のアプリケーションプログラムとが格納されている。このアプリケーションプログラムには、画像形成装置用ユーザアプリケーション開発支援プログラムが含まれている。【００２４】
図１２は、上記画像形成装置１０のソフトウェア階層構造を示す概略ブロック図である。
【００２５】
オペレーションシステム（ＯＳ）３０の下層には、各種ハードウェアのそれぞれに対応したデバイスドライバ群３１が備えられている。ＯＳ３０の上層には、ＯＳ３０内の各種機能を利用するためのＡＰＩ群３２を介して、基本サービスプログラム３３が備えられている。基本サービスプログラム３３は、操作パネル制御モジュール３３０と、画像入力モジュール群と、このモジュールで得られた画像データを処理するデータ処理モジュール群と、処理された画像データを出力する画像出力モジュール群とを備えている。
【００２６】
操作パネル制御モジュール３３０は、操作パネル１７上に操作釦を表示させ、その押下を検出させるためのものである。画像入力モジュール群には、スキャンモジュール３３１、ＦＡＸ受信モジュール３３２及び電子メール受信モジュール３３３が含まれ、画像出力モジュール群には、プリントモジュール３３４、ＦＡＸ送信モジュール３３５及び電子メール送信モジュール３３６が含まれ、データ処理モジュール群には画像データのフォーマットを変換するフォーマット変換モジュール３３７並びに不図示の集約処理モジュール及び頁付モジュール等が含まれる。基本サービスプログラム３３にはさらに、ユーティリティモジュール群として、宛先指定に用いられるアドレス帳モジュール３３８と、用紙に記述されたプログラム（ソースコード）を認識するＯＣＲモジュール３３９とが含まれる。基本サービスプログラム３３の各モジュールは、ＡＰＩ群３２を介してＯＳ３０の機能を利用している。
【００２７】
基本サービスプログラム３３の上層には、外部ＡＰＩ群３４を介してアプリケーション３５が備えられている。アプリケーション３５は、ベンダが提供したものであって、これには、コピープログラム３５０、ＦＡＸプログラム３５１、電子メールプログラム３５２、ジョブ管理プログラム３５３及び操作パネルプログラム３５４が含まれている。プログラム３５０〜３５４は、全体として１つの統合化アプリケーションであっても、それぞれがアプリケーションであってもよい。
【００２８】
アプリケーション３５は、外部ＡＰＩ群３４を介し基本サービスプログラム３３のモジュールを用いて作成されたプログラムである。例えば、コピープログラム３５０は、スキャンモジュール３３１とプリントモジュール３３４とを組み合わせて構成されている。また、ＦＡＸプログラム３５１は、ＦＡＸ受信モジュール３３２とＦＡＸ送信モジュール３３５とアドレス帳モジュール３３８とを組み合わせて構成されている。
【００２９】
アプリケーション３５の上層には、アプリケーション３５の各種機能を利用するための外部ＡＰＩ群３６が備えられている。また、アプリケーション３５と同層には、用紙に記述されたものからそのソースコード（テキスト）を生成するための前処理プログラム３８が備えられている。前処理プログラム３８は、外部ＡＰＩ群３４の対応するものを介してスキャンモジュール３３１とＯＣＲモジュール３３９とを用いたプログラムである。なお、ＯＣＲモジュール３３９でスキャンモジュール３３１を呼び出すことにより、前処理プログラム３８でスキャンモジュール３３１を用いない構成であってもよいことは勿論である。
【００３０】
画像形成装置１０のソフトウェアはさらに、ユーザアプリケーション３７に対するインタプリタである簡易テキスト言語処理プログラム３９を備えている。このプログラム３９は、ユーザアプリケーション３７の命令文を解釈し、外部ＡＰＩ群３４又は３６を介してそれぞれ基本サービスプログラム３３又はアプリケーション３５に含まれているものを利用することにより、ユーザアプリケーション３７を実行させるためのものである。この意味で、アプリケーション３５は、簡易テキスト言語処理プログラム３９から見れば応用サービスプログラムである。
【００３１】
図９（Ａ）は、簡易テキストプログラムの構文を示す。図９（Ｂ）は、この構文の具体例を示す。
【００３２】
図９（Ｂ）において、最初の"！ＳＴＡＲＴ！"及び最後の"！ＥＮＤ！"はそれぞれ、簡易テキスト言語処理プログラム３９の処理対象範囲を示す開始タグ及び終了タグである。
【００３３】
２行目の"ＳＡＶＥ"は、簡易テキスト言語処理プログラム３９に対する命令（ステートメント）であり、ソースコード認識後に、ＤＲＡＭ１３Ｄ上のこのコードをハードディスク１４に格納させるためのものである。
【００３４】
制御文の一種である条件文に記述された"ｂｏｔｔｏｎ  ２００，６０，６０，４０  伝票送信"は、操作パネル１７上に釦を表示させるためのものであり、そのパラメータのうち、最初の組（２００，６０）は、この釦の左上頂点の座標であって、それぞれ表示画面の左端からの画素数Ｌｅｆｔ及び上端からの画素数Ｔｏｐを示している。次の組（６０，４０）は、釦のサイズであって、それぞれ釦の幅及び高さを示している。次の"伝票送信"は、釦に記述される文字列である。
【００３５】
この条件文（ステートメント）の条件句により、操作パネル１７上には図９（Ｃ）に示すような釦が表示される。ユーザがこの釦を押下すると、このステートメントの括弧｛｝内（ブロック内）の複数のステートメントの処理が順次行われる。
【００３６】
すなわち、命令文"ＳＣＡＮ"を実行することにより、原稿画像がスキャナ１５で読み取られる。次の命令文"ＦＡＸ＝アドレス帳（本社経理部）"を実行することにより、読み取られた画像データが、モデム１８を介してファクシミリ送信される。送信先番号は、アドレス帳テーブルに記載されている、"本社経理部"の行に含まれるファクシミリ番号である。
【００３７】
次の命令文"Ｅ−ＭＡＩＬ＝アドレス帳（佐々木太郎）"を実行することにより、ファクシミリ送信の控えとして自分宛に電子メールが送信される。その宛先は、アドレス帳テーブルに記載されている、"佐々木太郎"の行に含まれる電子メールアドレスである。
【００３８】
図１１は、図１２の前処理プログラム３８及び簡易テキスト言語処理プログラム３９の処理を示す概略フローチャートである。この処理は、図１０（Ａ）に示す、操作パネル１７上の"ＵＳＥＲ  ＡＰＰＬＩＣＡＴＩＯＮ"釦を押下し、これにより表示される図１０（Ｂ）に示すメニューのうち、"ＰＡＰＥＲ"を選択することにより、実行される。ステップＳ０は前処理プログラム３８による処理であり、ステップＳ１〜Ｓ６は簡易テキスト言語処理プログラム３９による処理である。
【００３９】
（Ｓ０）前処理プログラム３８は、スキャンモジュール３３１を呼び出してＭＰＵ１１に対し原稿台上の原稿を読み取らせ、次いでＯＣＲモジュール３３９を呼び出してＭＰＵ１１に対し文字認識させることにより、ソースコードを生成させる。
【００４０】
（Ｓ１）ソースコード中に開始タグ及び終了タグがあればステップＳ２へ進み、そうでなければステップＳ６へ進む。
【００４１】
（Ｓ２、Ｓ３）このソースコード中にコマンド"ＳＡＶＥ"があれば、簡易テキスト言語処理プログラム３９はＯＳ３０のファイルシステム３００を介して、ＭＰＵ１１に対しハードディスク１４に該ソースコードをファイルとして格納させる。
【００４２】
（Ｓ４）簡易テキスト言語処理プログラム３９はＭＰＵ１１に対し開始タグと終了タグの間の各命令文について、文法エラーチェックを行わせる。文法エラーが見つかればステップＳ６へ進み、そうでなければステップＳ５へ進む。
【００４３】
（Ｓ５）簡易テキスト言語処理プログラム３９はＭＰＵ１１に対し、ソースコードの各命令文を解釈させ、対応するＡＰＩ群を介しこれを実行させる。
【００４４】
（Ｓ６）操作パネル１７上にエラーの概略及びエラーコードを表示させて処理を終了する。
【００４５】
図８は、このステップＳ５の詳細フローチャートである。
【００４６】
（Ｓ１０）命令文行番号変数Ｎに初期値１を代入する。
【００４７】
（Ｓ１１）ソースコードの中の、コマンド"ＳＡＶＥ"を除くＮ番目の命令文を読み込む。図９（Ｂ）の１番目の命令文は、制御文としての上記条件文である。
【００４８】
（Ｓ１２）この命令文が制御文であればステップＳ１３へ進み、そうでなければステップＳ１５へ進む。
【００４９】
（Ｓ１３）操作パネル１７上に、上述のようにパラメータで指定された釦を表示させる。また、変数Ｎの値を１だけインクリメントさせる。
【００５０】
（Ｓ１４）この釦が押下されるのを待って、ステップＳ１１へ戻る。この待ち状態では、例えばタイマー割込により２０ｍｓｅｃ毎にこのステップの押下検出処理が行われ、また、他の割込処理が可能であり、例えば他のタイマー割込により他の処理が並列に行われる。
【００５１】
（Ｓ１５〜Ｓ１８）命令文が画像入力、画像データ処理又は画像出力処理のいずれであるかに応じて、それぞれステップＳ１６、Ｓ１７及びＳ１８へ進む。
【００５２】
図９（Ｂ）の２番目の命令文は、"ＳＣＡＮ"である。この場合、ステップＳ１６において簡易テキスト言語処理プログラム３９によりスキャンモジュール３３１が呼び出され、これにより原稿画像が読み取られる。
【００５３】
図９（Ｂ）の３番目の命令文は、"ＦＡＸ＝アドレス帳（本社経理部）"である。この場合、ステップＳ１８において、"本社経理部"を引数としてアドレス帳モジュール３３８が呼び出され、そのＦＡＸ番号が戻り値として取得される。このＦＡＸ番号及びスキャンモジュール３３１で得られた画像データのファイル名を引数として、ＦＡＸ送信モジュール３３５が呼び出され、これによりＦＡＸ送信が実行される。
【００５４】
図９（Ｂ）の４番目の命令文は、Ｅ−ＭＡＩＬ＝アドレス帳（佐々木太郎）"である。この場合、ステップＳ１８において、"佐々木太郎"を引数としてアドレス帳モジュール３３８が呼び出され、その電子メールアドレスが戻り値として取得される。このアドレス及び前記ファイル名を引数として電子メール送信モジュール３３６が呼び出され、これにより電子メール送信が実行される。
【００５５】
（Ｓ１９）Ｎの値が１だけインクリメントされ、ステップＳ２０へ進む。
【００５６】
（Ｓ２０）Ｎ＞ＮＥであれば処理を終了し、そうでなければステップＳ１１へ戻る。図９（Ｂ）の場合、ＮＥ＝４である。
【００５７】
なお、用紙にユーザアプリケーションのソースコードを記述する替わりに、ＵＳＢメモリ２０内のファイルを用いることができる。すなわち、図１３において、ホストコンピュータ２１によりユーザアプリケーションを作成し、そのポート２９にＵＳＢメモリ２０を挿着して、このアプリケーションをＵＳＢメモリ２０に格納させ、ＵＳＢメモリ２０をポート２９から抜脱させてこれを画像形成装置１０のポート２０Ｐに挿着させる。次いで、図１０（Ａ）に示す、操作パネル１７上の"ＵＳＥＲ  ＡＰＰＬＩＣＡＴＩＯＮ"釦を押下し、これにより表示される、図１０（Ｂ）に示すメニューのうち、"ＵＳＢ"を選択する。この選択で、ＵＳＢメモリ２０からユーザアプリケーションがＤＲＡＭ１３Ｄ上に転送されて、図１１に示すステップＳ１以降の処理が実行される。
【００５８】
ＨＤＤ１４内のファイルを用いる場合は、図１０（Ｂ）に示すメニューのうち、"ＨＤＤ"を選択する。
【００５９】
同様に、図１３において、ホストコンピュータ２１から画像形成装置１０のＮＩＣ１９へ、開始タグ及び終了タグを含むユーザアプリケーションのソースコードを送信してもよい。この場合も、ユーザアプリケーションがＤＲＡＭ１３Ｄ上に転送されて、図１１に示すステップＳ１以降の処理が実行される。
【００６０】
本実施例１の画像形成装置によれば、ソースコードに含まれる命令文が制御文である場合、該制御文に含まれる釦描画記述のパラメータを引数として操作パネル制御モジュール３３０に渡すことにより、操作パネル１７上に釦を表示させるとともに、該釦の押下を検出させ、該検出に応答して、該ソースコードに含まれ該制御文に続く画像入力処理命令文及び画像出力処理命令文に基づき、画像入力モジュール及び画像出力モジュール群のうちの対応するもの、例えばスキャンモジュール３３１、ＦＡＸ送信モジュール３３５及び電子メール送信モジュール３３６を起動させるので、操作釦に対応した機能モジュール組み合わせ処理を容易に作成でき、これにより、より多くのユーザがより容易にユーザアプリケーションプログラムを利用することが可能となるという効果を奏する。
【００６１】
また、該釦描画記述のパラメータが、操作パネル１７の表示画面上での釦の位置座標及び釦のサイズを含むので、所望のサイズの釦を所望の位置に容易に配置できるという効果を奏する。
【００６２】
さらに、スキャンモジュール３３１を起動させてスキャナ１５に原稿画像を読み取らせることにより画像データを取得させ、ＯＣＲモジュール３３９を起動させて該画像データに含まれる文字を認識させることにより、ユーザアプリケーションのソースコードを取得させるので、画像形成装置１０のみでユーザアプリケーションを容易に利用することができるという効果を奏する。
【００６３】
次に、上述のようなユーザアプリケーションを容易に作成するための開発支援プログラムを説明する。
【００６４】
図２は、図１３の表示装置２６に表示された画面の説明図である。
【００６５】
この画面４０には、アイコン領域４１と、表示パネルデザイン領域４２と、プログラムデザイン領域４３と、ソースコード領域４４とが表示されている。
【００６６】
アイコン領域４１には、図１２の基本サービスプログラム３３及びアプリケーション３５の各モジュールに対応したアイコン並びにその引数に関係したアイコンが配置されている。
【００６７】
ユーザは、ポインティングデバイス２７２を操作して、アイコンを選択し、さらにこれを表示パネルデザイン領域４２上又はプログラムデザイン領域４３上へドラッグ＆ドロップ操作をする。この操作により、アイコンが該領域上に配置される。データアイコン以外のアイコンの場合にはさらに、ソースコード領域４４に、アイコンに対応した命令文が追加される。ソースコード領域４４には最初、開始タグ"！ＳＴＡＲＴ！"と終了タグ"！ＥＮＤ！"とが記述されている。
【００６８】
以下のような操作により、この開始タグと終了タグの間に、命令文が挿入され又は命令文中のパラメータが決定されて、画像形成装置用ユーザアプリケーションのソースコードが作成される。
【００６９】
すなわち、操作パネル制御モジュール３３０に対応した釦アイコン４１０を表示パネルデザイン領域４２上に配置することにより、図２に示すように、この領域４２内での釦アイコン４１０の配置座標及びサイズに応じて、釦のこれらのパラメータが定まるとともに、ステートメントの、該パラメータを含む条件句がソースコード領域４４に記述される（自動生成される）。また、釦アイコン４１０内をポインティングデバイス２７２でポイントし、キーボード２７１を操作して釦アイコン４１０の名称を記入することにより、この名称のパラメータが定まる。図２は、釦アイコン４１０の配置座標が（２００，６０）、サイズが（６０，４０）、名称が"伝票送信"と定められた場合を示す。これらの決定に基づいて、制御文"ｂｏｔｔｏｎ  ２００，６０，６０，４０  伝票送信"が、ソースコード領域４４に追加される。
なお、プログラムデザイン領域４３上の保存アイコン５６は、ソースコード領域４４に"ＳＡＶＥ"命令を追加するためのものであり、これに接近したコンボボックス５７のドロップアイコンをポインティングデバイス２７２でポイントしてクリックし、表示されたリスト中の"ＯＮ"を選択すれば、この追加が行われる。図２では"ＯＦＦ"が選択されているので、この追加が行われない。
【００７０】
なお、プログラムデザイン領域４３上の保存アイコン５６は、ソースコード領域４４に"ＳＡＶＥ"命令を追加するためのものであり、これに接近したコンボボックス５７のドロップアイコンをポインティングデバイス２７２でポイントしてクリックし、表示されたリスト中の"ＯＮ"を選択すれば、この追加が行われる。図２では"ＯＦＦ"が選択されているので、この追加が行われない。
【００７１】
図１は、表示パネルデザイン領域４２又はプログラムデザイン領域４３内へのアイコンドロップイベントに対し起動されるイベントハンドラの概略フローチャートである。以下、図３〜図６を参照して、この処理を具体的に説明する。
【００７２】
（Ｓ２１）ドロップされたアイコンに対応するステートメントをソースコード領域４４へ追加する。スキャナアイコン５０の場合には、図３に示すように"ＳＣＡＮ"ステートメントがソースコード領域４４上のブランクになっているブロック内に追加される。
【００７３】
（Ｓ２２、Ｓ２３）ドロップされたアイコンに対応するステートメントに、未定パラメータがあれば、このアイコンに接近してコンボボックス（テキストボックスとドロップダウンリストとを組み合わせたもの）を設定アイコンとして追加表示し、処理を終了する。
【００７４】
（Ｓ２２、Ｓ２３）ドロップされたアイコンに対応する命令文に、未定パラメータがあれば、このアイコンに接近してコンボボックス（テキストボックスとドロップダウンリストとを組み合わせたもの）を追加表示し、処理を終了する。
【００７５】
（Ｓ２４、Ｓ２５）画像入力に対応したアイコンが、プログラムデザイン領域４３上に既に配置されていれば、すなわち画像入力ステートメントがソースコード領域４４に記述されていれば、この画像入力に対応したアイコンから、ドロップされた（画像出力に対応した）アイコンへ、矢印線が追加され、次いで上記ステップＳ２１へ進む。
【００７６】
例えば、ドロップされたアイコンがＦＡＸアイコン５１の場合、図４に示すように、画像入力に対応したスキャナアイコン５０から、このＦＡＸアイコン５１へ、矢印線が追加される。この場合、次のステップＳ２１で「ＦＡＸ＝"＃＃＃＃"」ステートメントがソースコード領域４４上の、スキャナアイコン５０に対応した"ＳＣＡＮ"ステートメントの次に追加される。ここに"＃＃＃＃"は、未定の引数（パラメータ）を示している。次のステップＳ２２で、このステートメントに未定のパラメータがあれば、ステップＳ２３で、ＦＡＸアイコン５１に接近してコンボボックス５２が追加される。
【００７７】
また、ドロップされたアイコンが電子メールアイコン５３の場合、図５に示すように、画像入力に対応したスキャナアイコン５０から、この電子メールアイコン５３へ、矢印線が追加される。この場合、次のステップＳ２１で図５に示すように、「"Ｅ−ＭＡＩＬ＝＃＃＃＃"」ステートメントがソースコード領域４４上の、スキャナアイコン５０に対応した"ＳＣＡＮ"ステートメント及びＦＡＸアイコン５１に対応した「ＦＡＸ＝"＃＃＃＃"」ステートメントの後に追加される。次のステップＳ２２で、この命令文に未定のパラメータがあれば、ステップＳ２３で、電子メールアイコン５３に接近してコンボボックス５４が追加される。
【００７８】
また、ドロップされたアイコンが電子メールアイコン５３の場合、図５に示すように、画像入力に対応したスキャナアイコン５０から、この電子メールアイコン５３へ、矢印線が追加される。この場合、次のステップＳ２１で命令文"Ｅ−ＭＡＩＬ＝＃＃＃＃"がソースコード領域４４に追加される。次のステップＳ２２で、この命令文に未定のパラメータがあれば、ステップＳ２３で、電子メールアイコン５３に接近してコンボボックス５４が追加される。
【００７９】
この直接記入の替わりに、予め作成しておいたアドレス帳を用いてこれらのパラメータを選択的に決定すれば、容易且つ正確に宛先を決定することができる。すなわち、アイコン領域４１上のアドレス帳アイコン５５を選択し、これをプログラムデザイン領域４３上にドラッグ＆ドロップ操作すると、ステップＳ２０でアイコンの種類が「データ」と判定されて、ステップＳ２６へ進む。
【００８０】
この直接記入の替わりに、予め作成しておいたアドレス帳を用いてこれらのパラメータを選択的に決定すれば、容易且つ正確に宛先を決定することができる。すなわち、アイコン領域４１上のアドレス帳アイコン５５を選択し、これをプログラムデザイン領域４３上にドラッグ＆ドロップ操作すると、ステップＳ２０でアイコンの種類が「属性」と判定されて、ステップＳ２６へ進む。
【００８１】
（Ｓ２６）アドレス帳アイコン５５から、これに関係したコンボボックス５２及び５４への矢印線が追加されると共に、コンボボックス５２及び５４のドロップダウンアイコンをポインティングデバイス２７２でポイントしてクリックすれば、宛先リストがドロップダウン表示される。すなわち、コンボボックス５２及び５４にアドレス帳のテーブルがリンクされる。
【００８２】
ユーザは、このリスト中の項目をポインティングデバイス２７２でポイントして選択する。これにより、ＦＡＸ送信命令及び電子メール送信命令のパラメータが、図６に示すように、プログラムデザイン領域４３上及びソースコード領域４４上で定まる。
【００８３】
なお、ステップＳ２４で、画像入力アイコンがプログラムデザイン領域４３上に複数配置されていれば、任意の１つ、例えばこの際にドロップされた画像出力アイコンに最も近い画像入力アイコンのみを対象として上記矢印線が追加される。
【００８４】
ユーザはこの場合、アイコン領域４１上のＰＤＦ変換アイコン５８を選択し、これをプログラムデザイン領域４３上の、スキャナアイコン５０から電子メールアイコン５３への矢印線上へドラッグ＆ドロップ操作する。これにより、図１のステップＳ２０でアイコンの種類が「画像処理」と判定されて、ステップＳ３０へ進む。
【００８５】
（Ｓ３０〜Ｓ３２）矢印線上にアイコンがドロップされた場合には、この矢印線が図７に示すように、アイコンで分断された線の各々の矢印線に変更されるとともに、ソースコード領域４４に、このアイコンに対応した命令、ＰＤＦ変換アイコン５８の場合には"ＰＤＦ"ステートメントがソースコード領域４４上の、スキャナアイコン５０に対応した"ＳＣＡＮ"ステートメントと電子メールアイコン５３に対応した"Ｅ−ＭＡＩＬ"ステートメントとの間に追加される。
【００８６】
この"ＰＤＦ"ステートメントが追加されると、簡易テキスト言語処理プログラム３９は、図８のステップＳ１７において、スキャンモジュール３３１で得られた画像データを、フォーマット変換モジュール３３７を呼び出してＰＤＦファイルに変換させる。これにより、このＰＤＦファイルがＥメール送信される。
【００８７】
本実施例１の画像形成装置用ユーザアプリケーション開発支援プログラムによれば、画像入力アイコン、画像処理アイコン及び画像出力アイコン並びに画像出力アイコンに対応したデータアイコンをドラッグ＆ドロップ操作でデザイン領域４３に配置したときに関連づけが自動的に行われてソースコード領域４４にユーザアプリケーションプログラムが自動生成されるので、これを容易に作成することが可能となるという効果を奏する。
【００８８】
本実施例１の画像形成装置用ユーザアプリケーション開発支援プログラムによれば、画像入力アイコン、画像処理アイコン及び画像出力アイコン並びに画像出力アイコンに対応した属性アイコンをドラッグ＆ドロップ操作でデザイン領域４３に配置したときに関連づけが自動的に行われてソースコード領域４４にユーザアプリケーションプログラムが自動生成されるので、これを容易に作成することが可能となるという効果を奏する。
【００８９】
また、変換アイコン５８が矢印線上に配置されているとき、該矢印線の始点側の画像入力アイコン５０に対応した画像入力モジュールにより得られる画像データを、変換アイコン５８に対応したデータフォーマット変換モジュールでデータ変換して矢印線の終点側の画像出力アイコンに対応した画像出力モジュールへ引き渡すので、プログラム実行時の動作と対応し、これによりユーザアプリケーションプログラムをさらに容易に作成することが可能となるという効果を奏する。
【００９０】
本発明には外にも種々の変形例が含まれる。
【００９１】
例えば、終了タグは必須ではなく、リターンコードが２回連続したら終了タグと同一とみなす構成であってもよい。
【００９２】
また、複数のアプリケーションプログラムを記述し、又は、１つのアプリケーションプログラム中に条件文と処理命令文との組を複数記述することにより、図９（Ｃ）の表示画面に複数の釦を表示させて、このメニューだけで日常業務を処理できるようにしてもよい。
【００９３】
さらに、操作パネル１７に表示させる釦として、様々な形状のアイコンを用いてもよい。
【図面の簡単な説明】
【００９４】
【図１】本発明の実施例１に係る画像形成装置用ユーザアプリケーション開発支援プログラムの一部の概略フローチャートであって、プログラムデザイン領域内へのアイコンドロップイベントに対し起動されるイベントハンドラの概略フローチャートである。
【図２】図１の処理の説明図であって、釦アイコンが表示パネルデザイン領域に配置された状態を示す図である。
【図３】図１の処理の説明図であって、図２の状態からさらに、スキャナアイコンがプログラムデザイン領域に配置された状態を示す図である。
【図４】図１の処理の説明図であって、図３の状態からさらに、ＦＡＸ送信アイコンがプログラムデザイン領域に配置された状態を示す図である。
【図５】図１の処理の説明図であって、図４の状態からさらに、電子メールアイコンがプログラムデザイン領域に配置された状態を示す図である。
【図６】図１の処理の説明図であって、図５の状態からさらに、電話帳アイコンがプログラムデザイン領域に配置された状態を示す図である。
【図７】図１の処理の説明図であって、図６の状態からさらに、ＰＤＦ変換アイコンがプログラムデザイン領域に配置された状態を示す図である。
【図８】本発明の実施例１に係る画像形成装置にユーザアプリケーションプログラム解釈実行用としてインストールされている簡易テキスト言語処理プログラムの処理を示す概略フローチャートである。
【図９】（Ａ）は簡易テキストプログラムの構文説明図であり、（Ｂ）はこのログラムの具体例説明図であり、（Ｃ）は（Ｂ）のプログラム実行により操作パネルに表示される画面を示す図である。
【図１０】（Ａ）はメインメニュー画面を示す図であり、（Ｂ）は（Ａ）の"ＵＳＥＲ  ＡＰＰＬＩＣＡＴＩＯＮ"釦を押下したときに表示されるメニュー画面を示す図である。
【図１１】前処理プログラムと簡易テキスト言語処理プログラムとによる処理を示す概略フローチャートである。
【図１２】画像形成装置のソフトウェア階層構造を示す概略ブロック図である。
【図１３】画像形成装置のハードウェア構成を示す概略ブロック図である。
【図１４】画像形成装置用ユーザアプリケーション開発支援装置のハードウェア構成を示す概略ブロック図である。図である。
【符号の説明】
【００９５】  １０  画像形成装置  １１  ＭＰＵ  １２  インタフェース  １３Ｒ  ＲＯＭ １３Ｐ  ＰＲＯＭ  １３Ｄ  ＤＲＡＭ  １４  ハードディスク  １５  スキャナ  １６  プリンタ  １７  操作パネル  １８  モデム  １９  ＮＩＣ  ２０  ＵＳＢメモリ  ２０Ｐ、２２  ポート  ２０Ｄ  ＵＳＢメモリ接続検出部  ２１  ホストコンピュータ  ２２  ＭＰＵ  ２３  インタフェース  ２４Ｒ  ＲＯＭ ２４Ｐ  ＰＲＯＭ  ２４Ｄ  ＤＲＡＭ  ２５  ＨＤＤ  ２６  表示装置  ２７１  キーボード  ２７２  ポインティングデバイス  ２８  ＮＩＣ  ２９  ＵＳＢポート  ３０  ＯＳ  ３００  ファイルシステム  ３１  デバイスドライバ  ３２  ＡＰＩ群  ３３  基本サービスプログラム  ３３０  操作パネル制御モジュール  ３３１  スキャンモジュール  ３３２  ＦＡＸ受信モジュール  ３３３  電子メール受信モジュール  ３３４  プリントモジュール  ３３５  ＦＡＸ送信モジュール  ３３６  電子メール送信モジュール  ３３７  フォーマット変換モジュール  ３３８  アドレス帳モジュール  ３３９  ＯＣＲモジュール  ３４、３６  外部ＡＰＩ群  ３５  アプリケーション  ３５０  コピーモジュール  ３５１  ＦＡＸモジュール  ３５２  電子メールモジュール  ３５３  ジョブ管理モジュール  ３５４  操作パネルモジュール  ３７  ユーザアプリケーション  ３８  前処理プログラム  ３９  簡易テキスト言語処理プログラム  ４０  画面  ４１  アイコン領域  ４２  表示パネルデザイン領域  ４３  プログラムデザイン領域  ４４  ソースコード領域  ５０  スキャナアイコン  ５１  ＦＡＸアイコン  ５２、５４  コンボボックス  ５３  電子メールアイコン  ５５  アドレス帳アイコン  ５６  保存アイコン
【図２】
0004657149.tif 000002
【図３】
0004657149.tif 000003
【図４】
0004657149.tif 000004
【図５】
0004657149.tif 000005
【図６】
0004657149.tif 000006
【図７】
0004657149.tif 000007
【図８】
0004657149.tif 000008
【図９】
0004657149.tif 000009
【図１０】
0004657149.tif 000010
【図１１】
0004657149.tif 000011
【図１２】
0004657149.tif 000012
【図１３】
0004657149.tif 000013
【図１４】
0004657149.tif 000014
【図１】
0004657149.tif 000015