(57)【要約】【課題】  互いに異なるプリンタ言語を用いたプログラムにより制御される複数のプリンタに対応しかつ容易に作成することが可能なハンディターミナルの制御プログラムを提供する。【解決手段】  本発明のハンディターミナルの制御プログラムは、コンピュータを有し、プリンタ言語を用いたプログラムにより制御されるプリンタに通信可能に接続されるハンディターミナルの制御プログラムであって、前記コンピュータに、前記プリンタにコマンドを送信して該プリンタに所定の印刷を実行させる制御を実行させ、前記プリンタに前記所定の印刷を実行させるために必要な動作又はデータを前記プリンタ言語と簡易言語とを用いて定義する定義ファイルと、前記定義ファイルを解析して前記プリンタに前記所定の印刷を実行させるランタイムとを含んでいる。【選択図】      図１
2007066141.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを有し、プリンタ言語を用いたプログラムにより制御されるプリンタに通信可能に接続されるハンディターミナルの制御プログラムであって、
前記コンピュータに、前記プリンタにコマンドを送信して該プリンタに所定の印刷を実行させる制御を実行させ、
前記プリンタに前記所定の印刷を実行させるために必要な動作又はデータを前記プリンタ言語と簡易言語とを用いて定義する定義ファイルと、前記定義ファイルを解析して前記プリンタに前記所定の印刷を実行させるランタイムとを含んでいる、ハンディターミナルの制御プログラム。
【請求項２】
前記定義ファイルにおいて、前記ハンディターミナルを制御する動作が、互いに異なるプリンタ言語を用いたプログラムにより制御される複数のプリンタに共通の簡易言語によって定義されている、請求項１に記載のハンディターミナルの制御プログラム。
【請求項３】
前記定義ファイルにおいて、前記印刷の内容が、前記プリンタ言語を拡張するように用いて定義されている、請求項１に記載のハンディターミナルの制御プログラム。
【請求項４】
前記定義ファイルにおいて、前記データとしての可変データが、変数を割り当てるようにして定義されている、請求項１に記載のハンディターミナルの制御プログラム。
【請求項５】
前記定義ファイルにおいて、制御コードが、コード名を対応させるようにして定義されている、請求項１に記載のハンディターミナルの制御プログラム。
【請求項６】
前記定義ファイルにおいて、前記所定の印刷としての１以上の種類のラベル印刷の内容が、ラベル名と対応させるようにして定義されている、請求項１に記載のハンディターミナルの制御プログラム。
【請求項７】
前記ランタイムは、前記プリンタの通信プロトコルに対応して前記コマンドが送信されるように作成されている、請求項１に記載のハンディターミナルの制御プログラム。
【請求項８】
前記ハンディターミナルは、前記所定の印刷に必要なデータを該ハンディターミナルに入力するための入力部と、前記入力のための画面を表示する表示部とを備え、
前記定義ファイルは、前記プリンタの環境の設定を定義するセクションと、変数又は定数を定義するセクションと、前記入力のための画面を定義するセクションと、前記プリンタの設定及びフォーム登録を定義するセクションと、前記プリンタに印刷させるラベルを定義するセクションとを含む、請求項１に記載のハンディターミナルの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハンディターミナルの制御プログラムに関する。より詳しくは、ラベルを印刷するプリンタ、特に、携帯型プリンタ（モバイルプリンタ）に用いられるハンディターミナルの制御プログラムに関する。
【背景技術】
【０００２】
近年、バーコードが印刷されたラベルを作成するために、携帯型プリンタが用いられるようになっている。そして、このような携帯型プリンタを制御するためにハンディターミナルが用いられる。
【０００３】
従来、このハンディターミナルの制御プログラムは、作成するラベルごとにユーザーが作成しなければならなかった。この場合、プログラム作成のための専用のプログラミング言語を習得しなければならない。
【０００４】
一方、携帯型プリンタの制御プログラムには、メーカーによって違いがある。例えば、プリンタの機能として、ラベルサイズ、対応しているバーコードの種類、フォント等が相違する。通信手順としては、無手順、ＡＣＫ／ＮＡＫ制御等の種類による相違がある。印刷コマンドにおいては、プリンタ言語、プリンタコマンドが相違する。プリンタステータスとして、印刷結果、プリンタの状態等が相違する。
【０００５】
このため、上述のようにラベルごとにユーザーがプログラムを作成する場合には、ハンディターミナルの言語とプリンタの言語との双方を習得しなければならず、その開発工数が多くなっていた。
【０００６】
なお、ハンディターミナルを用いたものではないが、プリンタの制御プログラムにおいて、制御プログラムを容易に作成可能にするために、専用の言語を用いて制御プログラムを作成する方法が提案されている（特許文献１参照）。
【特許文献１】特開２００２−１０８６２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、このような専用の言語を用いても、以下のような問題がある。
【０００８】
すなわち、全プリンタに共通の印刷コマンドや定義を作成すると、使用できる機能に制限を加える必要があり、各プリンタの機能を十分生かすことができない。また、全ての機能に対応すると不必要な定義が多くなり、それらの作成に時間がかかる。さらに、これらの定義を解析するプログラム（以下、ランタイム）の設計及び開発にも時間がかかる。
【０００９】
本発明は上記のような課題を解決するためになされたもので、互いに異なるプリンタ言語を用いたプログラムにより制御される複数のプリンタに対応しかつ容易に作成することが可能なハンディターミナルの制御プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のハンディターミナルの制御プログラムは、コンピュータを有し、プリンタ言語を用いたプログラムにより制御されるプリンタに通信可能に接続されるハンディターミナルの制御プログラムであって、前記コンピュータに、前記プリンタにコマンドを送信して該プリンタに所定の印刷を実行させる制御を実行させ、前記プリンタに前記所定の印刷を実行させるために必要な動作又はデータを前記プリンタ言語と簡易言語とを用いて定義する定義ファイルと、前記定義ファイルを解析して前記プリンタに前記所定の印刷を実行させるランタイムとを含んでいる（請求項１）。
【００１１】
このような構成とすることにより、ユーザーは制御プログラムの可変部分のみを作成すればよいので、ユーザーの開発工数が低減する。その結果、互いに異なるプリンタ言語を用いたプログラムにより制御される複数のプリンタに対応した制御プログラムを、容易に作成することが可能になる。
【００１２】
前記定義ファイルにおいて、前記ハンディターミナルを制御する動作が、互いに異なるプリンタ言語を用いたプログラムにより制御される複数のプリンタに共通の簡易言語によって定義されていてもよい（請求項２）。
【００１３】
このような構成とすることにより、ハンディターミナルのプログラム言語を意識せずに制御プログラムを作成することができるので、制御プログラムの作成がさらに容易になる。
【００１４】
前記定義ファイルにおいて、前記印刷の内容が、前記プリンタ言語を拡張するように用いて定義されていてもよい（請求項３）。
【００１５】
このような構成とすることにより、プリンタの機種に応じて、ラベルサイズや、フォントの大きさ及び位置も自由に設定ができるようになり、それぞれの機種のプリンタの機能を最大限に生かすことができるようになる。
【００１６】
前記定義ファイルにおいて、前記データとしての可変データが、変数を割り当てるようにして定義されていてもよい（請求項４）。また、前記定義ファイルにおいて、制御コードが、コード名を対応させるようにして定義されていてもよい（請求項５）。
【００１７】
このような構成とすることにより、定義ファイルをテキスト形式で作成することができるようになって、定義ファイルの作成がさらに容易になる。
【００１８】
前記定義ファイルにおいて、前記所定の印刷としての１以上の種類のラベル印刷の内容が、ラベル名と対応させるようにして定義されていてもよい（請求項６）。
【００１９】
このような構成とすることにより、複数のラベルをひとつの定義ファイルに記述することができるようになる。
【００２０】
前記ランタイムは、前記プリンタの通信プロトコルに対応して前記コマンドが送信されるように作成されていてもよい（請求項７）。
【００２１】
このような構成とすることにより、プリンタの違いによるランタイムの変更は、プリンタへのコマンド送信手順及び通信プロトコルだけとなって、ランタイムの開発時間を大幅に短縮させることができる。また、このような構成とすることにより、通信プロトコルを意識せずに印刷を行うことが可能になる。
【００２２】
前記ハンディターミナルは、前記所定の印刷に必要なデータを該ハンディターミナルに入力するための入力部と、前記入力のための画面を表示する表示部とを備え、前記定義ファイルは、前記プリンタの環境の設定を定義するセクションと、変数又は定数を定義するセクションと、前記入力のための画面を定義するセクションと、前記プリンタの設定及びフォーム登録を定義するセクションと、前記プリンタに印刷させるラベルを定義するセクションとを含んでいてもよい（請求項８）。
【発明の効果】
【００２３】
本発明は、以上に説明したような構成を有し、ハンディターミナルの制御プログラムにおいて、互いに異なるプリンタ言語を用いたプログラムにより制御される複数のプリンタに対応しかつ容易に作成することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態を、図面を参照しながら説明する。
（実施形態１）
図１は、本実施形態のハンディターミナルの制御プログラムの階層構造を示す模式図である。図２は、本実施形態のハンディターミナルの制御プログラムの使用に関連する機器を示す外観図である。図３は、本実施形態の制御プログラムの使用に関連する機器のうちの他のプリンタを示す外観図である。図４は、図２のハンディターミナル及びプリンタの構成を示すブロック図である。
【００２５】
以下、図１乃至図４を参照しながら、本実施形態の制御プログラム及びこの制御プログラムを用いた機器について説明する。
【００２６】
本実施形態のハンディターミナルの制御プログラム（以下、制御プログラム）５０は、図１に示すように、オペレーティングシステム６０上において動作する。この制御プログラム５０は、ランタイム５１と、定義ファイル５２とから構成される。ランタイム５１は、定義ファイル５２を解析（解釈）してハンディターミナル及びプリンタに所要の動作を実行させるために用いられる。定義ファイル５２には、プリンタ２に印刷を実行させるために必要な動作又はデータが定義されている。オペレーティングシステム６０は、フォント（図示せず）を含んで構成される。フォントは、後述するハンディターミナル１の表示部（以下、表示部）１１に文字を表示するために用いられる。なお、フォントは、制御プログラム５０の一部として構成されていても良い。
【００２７】
本実施形態の制御プログラムの使用に関連する機器は、図２乃至図４に示すように、パーソナルコンピュータ３と、該パーソナルコンピュータ３に有線又は無線によって接続可能なハンディターミナル１と、該ハンディターミナル１に有線又は無線によって接続可能なプリンタ２とで構成されている。
【００２８】
パーソナルコンピュータ３としては、汎用のものを用いることができる。図２においては、ノート型のパーソナルコンピュータを用いているが、デスクトップ型のパーソナルコンピュータを用いることができることはいうまでもない。ユーザーは、このパーソナルコンピュータ３を用いて定義ファイル５２を作成する。ランタイム５１は、あらかじめソフトウェアのメーカーで作成される。ランタイム５１を作成する言語としては、Ｂａｓｉｃ、Ｃ言語などを用いることができる。定義ファイル５２は、簡易言語とプリンタ言語とを組み合わせて用いて作成される。ここで、本発明においては、簡易言語とは、以下の一般的な言語を意味する。すなわち、「本格的なプログラムではなくある特定の機能を実現するための簡単なコマンド群又はプログラミング言語」、「簡単な記述により処理や手順を記述できる言語」、及び「小型コンピュータ向きに開発された誰でも使える単純な仕組みの言語」を意味する。本実施形態では、このうち、コマンド及びパラメータなどの指定だけで使用可能な単純な仕組みの言語を意味する。一方、プリンタ言語とは、個々のプリンタを制御する特有の言語を意味する。そして、ランタイム５１と、定義ファイル５２とは、それぞれパーソナルコンピュータ３から、後述するハンディターミナル１の記憶部１４へとインストールされる。
【００２９】
ハンディターミナル１は、表示部１１と、キー入力部１２と、送受信部１５と、スキャナ入力部１６と、制御部１００とを含んで構成される。
【００３０】
制御部１００は、記憶部１４と、演算部１３とから構成される。記憶部１４には、ランタイム５１や、定義ファイル５２が格納される。そして、演算部１３は、記憶部１４に格納されたランタイム５１を用いて、記憶部１４に格納された定義ファイル５２を読み込み、その内容を実行する。制御部１００は、マイコン等のコンピュータで構成され、演算部１３及び記憶部１４は、それぞれ、コンピュータのＣＰＵ及び内部メモリで構成される。
【００３１】
表示部１１には、例えば、定義ファイル５２を選択するメニューが表示される。また、キー入力部１２は、データ入力をするため、例えば、操作者が印刷内容（印刷すべきコード）等を入力するために用いる。ここで、キー入力部１２にかえて又はキー入力部１２とあわせて、スキャナ入力部１６を用いることができる。スキャナ入力部１６は、バーコードを読み取るために用いられる。そして、読み取られたバーコードの内容を演算部１３が解析し、データとして記憶部１４へと格納する。そして、記憶部１４へ格納されたデータを演算部１３が必要に応じて読み出して処理する。また、演算部１３は、送受信部１５を介して、プリンタ２とデータを通信する。具体的には、演算部１３は、送受信部１５を介して、コマンドを後述するプリンタ２の送受信部２１へと送信する。また、演算部１３は、送受信部１５を介して、プリンタからのステータスを受信する。
【００３２】
プリンタ２は、制御部２００と、送受信部２１と、印刷部２２とを含んで構成される。制御部２００は、演算部（図示せず）と、記憶部（図示せず）とから構成される。制御部２００は、マイコン等のコンピュータで構成され、演算部及び記憶部は、それぞれ、コンピュータのＣＰＵ及び内部メモリで構成される。送受信部２１は、ハンディターミナル１の送受信部１５から送信されたコマンドを受信する。次に、プリンタ２の制御部２００は、送受信部２１によって受信されたコマンドの内容に応じて印刷部２２を制御し、印刷部２２は、この制御によって前記コマンドに応じた印刷を行う。その後、制御部２００は、送受信部２１を介して印刷結果等のステータスをハンディターミナル１の送受信部１５へと送信する。
【００３３】
プリンタ２としては、例えば、各メーカーの携帯型プリンタが用いられる。また、携帯型プリンタとしては、図３（ａ），（ｂ），（ｃ）に示すように、さまざまな機種を用いることができる。本実施形態では、携帯型プリンタはラベル又は帳票を印刷する。印刷されるラベルとしては、例えば、コピーラベル、値引きラベル、コード置き換えラベル、賞味期限ラベルなどが挙げられる。また、印刷される帳票としては、レシートや領収書などが挙げられる。なお、前記ハンディターミナル１は、これらの各機種の携帯型プリンタを制御することができる汎用のものである。
【００３４】
次に、本発明を特徴付ける定義ファイル５２を詳しく説明する。
【００３５】
図５は、図１の制御プログラム５０のうちの定義ファイル５２のセクションの種類とその機能とを示す図である。図６は、本発明の実施形態における定義ファイル５２の仕様を示す図である。図７は、定義ファイル５２のうちの環境設定セクションの機能及び書式を示す図である。図８は、定義ファイル５２のうちの変数及びコード定義セクションの種別及び書式並びにシステム定義変数、システム定義コードを示す図である。図９は、定義ファイル５２の入力画面定義セクションの機能及びコマンド名並びに編集方法を示す図である。図１０は、定義ファイル５２におけるプリンタ設定定義セクションの機能及び書式を示す図である。図１１は、定義ファイル５２におけるラベル定義セクションの機能及び書式を示す図である。
【００３６】
定義ファイル５２は、図５に示すように、環境設定定義セクションと、変数及びコード定義セクションと、入力画面定義セクションと、プリンタ設定定義セクションと、ラベル定義セクションとで構成される。しかし、使用するプリンタ２の機種によっては用いられないセクションもある。
【００３７】
各セクションの先頭には、セクション開始宣言を記述する。環境設定定義セクションのセクション開始宣言は、＄ＥＮＶ−ＳＥＣＴＩＯＮである。変数及びコード定義セクションのセクション開始宣言は、＄ＤＥＦ−ＳＥＣＴＩＯＮである。入力画面定義セクションのセクション開始宣言は、＄ＩＮＰＵＴ−ＳＥＣＴＩＯＮである。プリンタ設定定義セクションのセクション開始宣言は、＄ＰＲＳＥＴ−ＳＥＣＴＩＯＮである。ラベル定義セクションのセクション開始宣言は、＄ＬＡＢＥＬ−ＳＥＣＴＩＯＮである。
【００３８】
次に、各セクションの機能について説明する。環境設定定義セクションにおいては、ハンディターミナル１の環境設定及びスキャナ設定が定義される。変数及びコード定義セクションにおいては、制御プログラム５０中の変数及び定数が定義される。入力画面定義セクションにおいては、ハンディターミナル１における入力画面が定義される。プリンタ設定定義セクションにおいては、プリンタ設定及びフォーム登録が定義される。ラベル定義セクションにおいては、プリンタ２において印刷されるラベルが定義される。また、定義ファイル５２は、テキストファイル形式などで作成される。
【００３９】
次に、定義ファイル５２の基本規則について、図６を参照しながら説明する。
【００４０】
まず、各セクションに共通の規則として、制御のための文字として（＄）を用いる。
【００４１】
また、プリンタ設定及びラベル印刷時において、変数及びコードを出力する場合には、以下の規則で置き換えを行う。
【００４２】
置き換えの開始文字としては、［を用いる。これは、設定により変更が可能である。
【００４３】
置き換えの終了文字としては、］を用いる。これも、設定により変更が可能である。
【００４４】
１０進数の制御コードの場合には、［９９９］と記述する。これは、９９９を数値に変換して置き換えるという意味である。ここで、９９９は、制御コードの１０進表記（０〜２５５）である。
【００４５】
１６進数の制御コードの場合には、［Ｘ９９］と記述する。これは、９９を数値に変換して置き換えるという意味である。ここで、９９は、制御コードの１６進表記（Ｘ０１〜ＸＦＦ）である。
【００４６】
コード名を指定する場合には、［コード名］と記述する。これは、定義済みのコードの値に置き換えるという意味である。
【００４７】
変数名を指定する場合又は編集方法を指定する場合には、［変数名］又は［編集方法］と記述する。これは、定義済みの変数の値または指定された編集を行って作成した値に置き換えることを意味する。編集方法については、後に、入力画面定義セクションの説明において述べる。
【００４８】
［を印刷する場合には、［［と記述する。ここで、［］の間においては、［のみで使用が可能である。
【００４９】
［］の間で］を出力する場合には、］］と記述する。
【００５０】
次に、定義ファイル５２における各セクションについて順次説明する。まず、環境設定定義セクションついて、図７を参照しながら説明する。
【００５１】
環境設定定義セクションにおいては、プリンタの動作環境を設定する。環境設定定義セクションの機能としては、使用プリンタ情報、定義ファイル名称、制御コード自動付加がある。
【００５２】
使用プリンタ情報は、「ＰＲＩＮＴＥＲ＝メーカー名，プリンタ名」と記述する。このメーカー名及びプリンタ名は、使用するランタイムにおけるメーカー名及びプリンタ名と合致していることを要する。
【００５３】
定義ファイル名称は、「ＮＡＭＥ＝定義ファイル名」と記述する。このように記述することにより、指定した定義ファイル名が選択時に表示される。
【００５４】
制御コード自動付加は、「ＡＵＴＯＣＴＲＬ＝付加モード」と記述する。ここで、「付加モード」には、０又は１を指定する。０が指定された場合は、制御コードは付加されない。一方、１が指定された場合には、制御コードが付加される。また、付加される制御コードは、プリンタの機種によって異なる。
【００５５】
なお、環境設定定義セクションにおける機能及び書式は上記に説明したものに限られない。したがって、設定すべき機能に対応する書式を適宜、記述することができる。
【００５６】
次に、変数及びコード定義セクションについて、図８を参照しながら説明する。
【００５７】
変数及びコード定義セクションにおいては、入力画面や印刷等において使用される変数やコードを定義する。
【００５８】
変数定義（文字型）は、「ＳＴＲ  変数名，初期値」と記述する。
【００５９】
変数定義（整数型）は、「ＩＮＴ  変数名，初期値」と記述する。
【００６０】
変数定義（実数型）は、「ＲＥＡＬ  変数名，初期値」と記述する。
【００６１】
コード定義は、「ＣＯＮＳＴ  コード名，値」と記述する。ここで、値の範囲は、０〜２５５であり、１０進数または１６進数で指定する。
【００６２】
また、システムで定義済みの変数及びコード（システム定義変数及びシステム定義コード）は、宣言せずに使用する。
【００６３】
システム定義変数には、例えば、現在日付がある。現在日付の変数名は、「ＤＡＴＥ」である。このシステム定義変数は、参照のみ可能である。
【００６４】
システム定義コードには、ＥＳＣコードと、ＣＲコードと、ＬＦコードと、ＧＳコードと、ＮＵＬコードとがある。
【００６５】
ＥＳＣコードのコード名は、ＥＳＣである。ＥＳＣコードは、１０進値では２７であり、１６進値では１Ｂである。
【００６６】
ＣＲコードのコード名は、ＣＲである。ＣＲコードは、１０進値では１３であり、１６進値では０Ｄである。
【００６７】
ＬＦコードのコード名は、ＬＦである。ＬＦコードは、１０進値では１０であり、１６進値では０Ａである。
【００６８】
ＧＳコードのコード名は、ＧＳである。ＧＳコードは、１０進値では２９であり、１６進値では１Ｄである。
【００６９】
ＮＵＬコードのコード名は、ＮＵＬである。ＮＵＬコードは、１０進値では２９であり、１６進値では００である。
【００７０】
次に、定義ファイル５２における入力画面定義セクションについて、図９を参照しながら説明する。
【００７１】
入力画面定義セクションにおいては、ハンディターミナル１の表示部１１に表示する項目や、入力部１２において入力する項目が定義される。
【００７２】
入力定義セクションには、コマンドと、編集方法とがある。
【００７３】
コマンドは、「コマンド名」を記述する。コマンドにパラメータを記述する場合には、「コマンド名，パラメータ」とする。パラメータが複数ある場合には、パラメータをカンマでつないで並べる。例えば、「コマンド名，パラメータ，パラメータ，パラメータ」と記述する。パラメータを記述しない場合には、以降のカンマを省略することができる。この場合において、記述しないパラメータは、デフォルト値（例示は、省略する）となる。複数指定が可能なパラメータは、続けて記述する。
【００７４】
また、値を代入する際は、「変数＝代入する値」と記述する。代入する値には、変数名又は後述する編集方法を指定する。
【００７５】
まず、入力画面定義セクションにおいて用いる機能及びコマンド名について説明する。
【００７６】
表示部１１の画面をクリアする場合のコマンド名は、ＣＬＳである。この場合のパラメータはない。
【００７７】
表示部１１の指定位置以降をクリアする場合のコマンド名は、ＣＬＬである。この場合のパラメータは、４つである。１番目のパラメータは、使用フォントであり、フォント名を指定する。２番目のパラメータは、桁（カラム）であって、１から使用可能な最大カラム数の間の数を指定する。３番目のパラメータは、行（ライン）であって、１から使用可能な最大ライン数の間の数を指定する。４番目のパラメータは、行数であって、１から使用可能な最大行数の間の数を指定する。
【００７８】
表示部１１に項目を表示する場合のコマンド名は、ＤＩＳＰである。この場合のパラメータは、７つである。１番目のパラメータ〜３番目のパラメータは、それぞれ使用フォント、桁（カラム）、行（ライン）であって、上記のコマンドＣＬＬの場合と同様である。４番目のパラメータは、表示項目であって、変数又は定数を指定し、定数を指定する場合には”定数”のように「”」で囲む。５番目のパラメータは、書式であって、Ｌ、Ｒ、Ｚ、Ｃ、数値のいずれか（複数指定可能）を指定する。Ｌは、左寄せを意味する。Ｒは、右寄せを意味する。Ｚは、右寄せで前０詰めすることを意味する。Ｃは、カンマ編集することを意味する。数値は、最大表示桁数を意味する。６番目のパラメータは、表示領域桁数であって、１以上の表示バイト数を指定し、表示部１１に指定桁数以上は表示されなくなる。ここで、０と指定すると、表示部１１に表示される桁数は制限なしとなる。７番目のパラメータは、表示方法であって、Ｒ、Ｋ、数値のいずれか（複数指定可能）を指定する。Ｒは、反転表示することを意味する。Ｋは、キー入力まで表示することを意味する。数値は、指定秒数の間、表示することを意味する。
【００７９】
データ入力する場合のコマンド名は、ＩＮＰＵＴである。この場合のパラメータは、１２である。１番目のパラメータ〜３番目のパラメータは、それぞれ使用フォント、桁（カラム）、行（ライン）であって、上記のコマンドＣＬＬの場合と同様である。４番目のパラメータは、入力項目であり、変数名を指定する。５番目のパラメータは、入力方法であり、Ｋ又はＳ（複数指定可能）を指定する。ここで、Ｋは、キー入力を意味し、Ｓは、バーコードスキャン入力を意味する。６番目のパラメータは、入力制限であり、指定値は入力項目の変数の型により異なる。文字列型変数の場合には、Ｎ、Ａ、Ｓのいずれか（複数指定可能）を指定する。ここで、Ｎは数字を、Ａは英字を、Ｓは記号を意味する。整数型変数の場合には、何も指定しない。実数型変数の場合には、数値を指定し、これは、小数点以下の桁数を意味する。７番目のパラメータは、入力領域桁数であり、入力バイト数を数値で指定する。８番目のパラメータは、最小桁数又は最小値であり、指定値は入力項目の変数の型により異なる。文字列型変数の場合には、最小桁数を指定し、整数型変数又は実数型変数の場合には最小値を指定する。９番目のパラメータは、最大桁数又は最大値であり、指定値は入力項目の変数の型により異なる。文字列型変数の場合には、最大桁数を指定し、整数型変数又は実数型変数の場合には最大値を指定する。１０番目のパラメータは、初期値であり、変数名又は定数を指定する。ここで、定数を指定する場合は、”定数”のように「”」で囲む。１１番目のパラメータは、省略入力時の値であり、定数を指定する。この場合にも、”定数”のように「”」で囲む。１２番目のパラメータは、タイミングであり、Ｆ、Ｃ、Ｅのいずれかを指定する。ここで、Ｆは最初の１回だけ入力することを意味し、Ｃは初回の入力のみ必須であることを意味し、Ｅは毎回入力することを意味する。
【００８０】
なお、入力画面定義セクションにおけるコマンドの、機能及びコマンド名並びにパラメータは上記に説明したものに限られない。したがって、設定すべき機能に対応するコマンド名、パラメータを適宜、追加することができる。
【００８１】
プリンタ設定のコマンド名は、ＰＲＩＮＴＳＥＴである。この場合のパラメータは、１つである。これは、実行する設定であり、設定名を指定する。
【００８２】
ラベル印刷のコマンドは、ＰＲＩＮＴＯＵＴである。この場合のパラメータは、１つである。これは、印刷するラベルであり、ラベル名を指定する。
【００８３】
次に、入力画面定義セクションにおける編集方法について説明する。
【００８４】
抽出する場合は、「変数：開始位置−終了位置，書式」と記述する。この場合のパラメータは、４つである。１番目のパラメータは、変数であり、変数名を指定する。２番目のパラメータは、開始位置であり、１以上の値を指定する。３番目のパラメータは終了位置であり、開始位置以上である１以上の数値を指定する。４番目のパラメータは、書式であり、Ｌ、Ｒ、Ｚ、Ｃ、数値のいずれか（複数指定可能）を指定する。Ｌは、左寄せを意味する。Ｒは、右寄せを意味する。Ｚは、右寄せで前０詰めすることを意味する。Ｃは、カンマ編集することを意味する。数値は、表示桁数を意味する。
【００８５】
現在日時の取得をする場合は、「ＤＡＴＥ，書式，計算式」と記述する。この場合のパラメータは、３つである。１番目のパラメータは、ＤＡＴＥであって、システム定義変数であるＤＡＴＥを指定する。２番目のパラメータは、書式であって、出力する文字及び日時編集パターンを設定する。「，」を出力したい場合には、書式全体を”書式”のように「”」で囲む。ここで、日時編集パターンとしては、ＹＹ（年２桁）、ＭＭ（月２桁）、ＤＤ（日２桁）が挙げられる。３番目のパラメータは、年月日や時分秒の計算式であり、それぞれの加算、減算方法を指定する。
【００８６】
なお、入力画面定義セクションにおける編集方法の、機能及び書式並びにパラメータは上記に説明したものに限られない。したがって、設定すべき編集方法の機能に対応する書式、パラメータを適宜、追加することができる。
【００８７】
次に、定義ファイル５２におけるプリンタ設定定義セクションついて、図１０を参照しながら説明する。
【００８８】
プリンタ設定定義セクションにおいては、プリンタの設定やフォームの登録などを行う。プリンタ設定定義セクションにおいては、プリンタに送信するデータをプリンタ言語（プリンタの機種により異なる）で記述する。プリンタ設定定義セクションにおいては、指定により、プリンタ接続時に又は入力画面定義セクションにおけるＰＲＩＮＴＳＥＴコマンドによって、設定を実行する。
【００８９】
プリンタ設定の定義開始は、「＄ＳＴＡＲＴ  設定名」と記述する。設定名は、入力画面定義セクションにおけるＰＲＩＮＴＳＥＴコマンドで使用する設定名を記述する。
【００９０】
プリンタ設定の定義終了は、「＄ＥＮＤ  設定名」と記述する。設定名は、プリンタ設定の定義開始で指定したものを記述する。
【００９１】
プリンタステータスの受信は、「＄ＲＥＣＥＩＶＥ」と記述する。これは、プリンタコマンド実行後に、プリンタのステータスを受信する場合に使用し、プリンタステータスの受信の要及び不要は、プリンタの機種やプリンタのコマンドによって異なる。
【００９２】
ここで、複数の設定を定義する場合には、「＄ＳＴＡＲＴ〜＄ＥＮＤ」を使用する。
【００９３】
次に、定義ファイル５２におけるラベル定義セクションついて、図１１を参照しながら説明する。
【００９４】
ラベル定義セクションにおいては、印刷するラベルを定義する。ラベル定義セクションにおいては、プリンタに送信するデータをプリンタ言語（プリンタの機種により異なる）で記述する。そして、定義されたラベルは、入力画面定義セクションにおけるＰＲＩＮＴＯＵＴコマンドによって印刷される。
【００９５】
ラベル定義開始は、「＄ＳＴＡＲＴ  ラベル名」と記述する。ラベル名は、入力画面定義セクションにおけるＰＲＩＮＴＯＵＴコマンドで使用するラベル名を記述する。
【００９６】
ラベル定義終了は、「＄ＥＮＤ  ラベル名」と記述する。ラベル名は、ラベル定義開始で指定したものを記述する。
【００９７】
プリンタステータスの受信は、「＄ＲＥＣＥＩＶＥ」と記述する。これは、プリンタコマンド実行後に、プリンタのステータスを受信する場合に使用し、プリンタステータスの受信の要及び不要は、プリンタの機種やプリンタのコマンドによって異なる。
【００９８】
ここで、複数のラベルを定義する場合には、「＄ＳＴＡＲＴ〜＄ＥＮＤ」を使用する。
【００９９】
次に、本実施形態の制御プログラムを用いたプリンタ制御すなわちハンディターミナル１の動作につき、図４、図１２乃至図１５を参照しながら説明する。ここで、ハンディターミナル１は、演算部１３が記憶部１４に格納された制御プログラム５０を実行することによって、以下のように動作する。以下具体的に、ハンディターミナル１の動作を、全体フローと各部のフローとに分けて説明する。
【０１００】
図１２は、図１の制御プログラム５０のうちのランタイム５１の全体フローを示すフローチャートである。図１３は、図１２の全体フローのうちの解析処理フローを示すフローチャートである。図１４は、図１２の全体フローのうちのハンディターミナル制御処理フローを示すフローチャートである。図１５は、図１２の全体フローのうちのプリンタ設定処理フロー及び印刷処理フローを示すフローチャートである。
【０１０１】
最初に、制御プログラム５０のダウンロードについて説明する。まず、ハンディターミナル１がパーソナルコンピュータ３に接続される。そして、ランタイム５１がパーソナルコンピュータ３からハンディターミナル１の制御部１００にダウンロードされる。次いで、定義ファイル５２が、以下の要領で、該制御部１００にダウンロードされる。
【０１０２】
図４及び図１２を参照すると、まず、ハンディターミナル１の演算部１３は、表示部１１にメニューを表示させる（ステップＳ１）。次に、演算部１３は、表示部１１に表示されたメニューから定義ファイル５２をダウンロードすることが選択されたかどうかを判定する（ステップＳ２）。ここで、定義ファイル５２をダウンロードすることが選択されると、パーソナルコンピュータ３からハンディターミナル１の記憶部１４へと定義ファイル５２がダウンロードされる（ステップＳ３）。その後、演算部１３は、再度、表示部１１にメニューを表示させる（ステップＳ１）。これにより、定義ファイル５２が制御部１００にダウンロードされる。
【０１０３】
一方、定義ファイル５２のダウンロードを選択しない場合（すでに記憶部１４に定義ファイル５２がダウンロードされている場合）には、演算部１３は、上記ステップＳ１において表示部１１に表示されたメニューから実行する定義ファイル５２が選択されたかどうかを判定する。（ステップＳ１、ステップＳ４）。そして、実行する定義ファイル５２が選択されると、演算部１３は、定義ファイル５２の解析処理を行う（ステップＳ５、後述の図１３参照）。この解析処理により、入力画面定義セクションで定義された命令が順に取り出される（ステップＳ６、後述の図１４参照）。そして、演算部１３は、取り出された各命令の処理を実行する（ステップＳ７）。ここで、取り出された各命令としては、データ表示、データ入力、プリンタ設定処理、印刷処理などの命令が挙げられる。
【０１０４】
次に、演算部１３は、処理終了指示があるまでステップＳ６及びステップＳ７の処理を繰り返す（ステップＳ８）。そして、処理終了指示があった場合には、演算部１３は、表示部１１にメニューを表示させ（ステップＳ１）、一連の処理が終了する。
【０１０５】
次に、上記ステップＳ５における定義ファイル５２の解析処理について、図４及び図１３を参照しながら説明する。
【０１０６】
定義ファイル５２の解析処理が開始されると、まず、演算部１３は、定義ファイル５２を一行読み込む（ステップＳ１０１）。そして、演算部１３は、定義ファイル５２が終了したか否か（定義ファイル５２中の全ての記述が終わったか否か）を判定する（ステップＳ１０２）。定義ファイル５２が終了した場合には、定義ファイル５２の解析処理は終了する（ステップＳ１０３）。一方、定義ファイル５２が終了していない場合には、演算部１３は、環境設定定義セクションであるかどうかを判定する（ステップＳ１０４）。
【０１０７】
環境設定定義セクションである場合には、演算部１３は、構文のチェックを行い（ステップＳ１１６）、構文にエラーがあるかどうかを判定する（ステップＳ１１７）。構文にエラーがあった場合には、演算部１３は、表示部１１にエラーメッセージを表示させた後（ステップＳ１１８）、ステップＳ１０１に戻る。一方、構文にエラーがなかった場合には、変数名及びコード名のチェックを行う（ステップＳ１１９）。変数名及びコード名にエラーがあった場合には、演算部１３は、表示部１１にエラーメッセージを表示させた後（ステップＳ１１８）、ステップＳ１０１に戻る。一方、変数名及びコード名にエラーがなかった場合には、演算部１３は、定義ファイル５２を内部形式に変換して記憶部１４へと保存した後（ステップＳ１２１）、ステップＳ１０１に戻る。
【０１０８】
一方、ステップＳ１０４において環境設定定義セクションでない場合には、演算部１３は、変数及び定数定義セクションであるかどうかを判定する（ステップＳ１０５）。
【０１０９】
変数及び定数定義セクションである場合には、演算部１３は、上記環境設定定義セクションで行った処理と同様の処理を行った後（ステップＳ１１６、Ｓ１１７、Ｓ１１８、Ｓ１１９、Ｓ１２０、Ｓ１２１）、ステップＳ１０１に戻る。
【０１１０】
一方、ステップＳ１０５において変数及び定数定義セクションでない場合には、演算部１３は、入力画面定義セクションであるかどうかを判定する（ステップＳ１０６）。
【０１１１】
入力画面定義セクションである場合には、演算部１３は、上記環境設定定義セクションで行った処理と同様の処理を行った後（ステップＳ１１６、Ｓ１１７、Ｓ１１８、Ｓ１１９、Ｓ１２０、Ｓ１２１）、ステップＳ１０１に戻る。
【０１１２】
一方、ステップＳ１０６において入力画面定義セクションでない場合には、演算部１３は、プリンタ設定定義セクションであるかどうかを判定する（ステップＳ１０７）。
【０１１３】
プリンタ設定定義セクションである場合には、演算部１３は、セクション開始位置又は読み込んだ一行が「＄ＳＴＡＲＴ」の記述であるかどうかを判定する（ステップＳ１０９）。プリンタ設定定義セクションのセクション開始位置又は「＄ＳＴＡＲＴ」の記述である場合には、演算部１３は、セクションの開始位置及び設定名を保存した後（ステップＳ１１０）、ステップＳ１０１に戻る。一方、プリンタ設定定義セクションのセクション開始位置又は「＄ＳＴＡＲＴ」の記述でない場合には、演算部１３は、プリンタ設定定義セクションのセクション終了位置又は「＄ＥＮＤ」の記述であるかどうかを判定する（ステップＳ１１１）。プリンタ設定定義セクションのセクション終了位置又は「＄ＥＮＤ」の記述である場合には、演算部１３は、セクションの終了位置を保存した後（ステップＳ１１２）、ステップＳ１０１に戻る。一方、プリンタ設定定義セクションのセクション終了位置又は「＄ＥＮＤ」の記述でない場合には、演算部１３は、変数名及びコード名のチェックを行う（ステップＳ１１３）。変数名及びコード名にエラーがあった場合には、演算部１３は、表示部１１にエラーメッセージを表示させた後（ステップＳ１１５）、ステップＳ１０１に戻る。一方、変数名及びコード名にエラーがなかった場合には、ステップＳ１０１へと戻る。
【０１１４】
上述のステップＳ１０７においてプリンタ設定定義セクションでない場合には、演算部１３は、ラベル定義セクションであるかどうかを判定する（ステップＳ１０８）。
【０１１５】
ラベル定義セクションである場合には、演算部１３は、上記プリンタ設定定義セクションで行った処理と同様の処理を行った後（ステップＳ１０９、Ｓ１１０、Ｓ１１１、Ｓ１１２、Ｓ１１３、Ｓ１１４、Ｓ１１５）、ステップＳ１０１に戻る。
【０１１６】
一方、ステップＳ１０８においてラベル定義セクションでない場合には、ステップＳ１０１へと戻る。
【０１１７】
そして、演算部１３は、ステップＳ１０１において定義ファイル５２中に記述された次の一行を読み込み、上述と同様の処理を行う（ステップＳ１０４〜ステップＳ１２１）。以下同様にして、演算部１３は、ステップＳ１０１において定義ファイル５２に記述された全ての行を読み込み、処理を行う。
【０１１８】
そして、ステップＳ１０２において定義ファイル５２が終了（定義ファイル５２中の全ての記述が終了）した場合には、前述のとおり、定義ファイル５２の解析処理は終了する（ステップＳ１０３）。
【０１１９】
次に、全体フロー図におけるハンディターミナル制御フロー（図１２におけるステップＳ２００）につき、図４及び図１４を参照しながら説明する。
【０１２０】
ハンディターミナル制御処理が開始されると、演算部１３は、内部データの最初の命令を指定する（ステップＳ２０１）。ここで、内部データとは、図１３のステップＳ１２１で、内部形式に変換して保存された定義ファイル５２の中のデータのことである。次に、指定されている命令が取り出される（ステップＳ２０２）。そして、演算部１３は、指定された命令が入力命令であるかどうかを判定する（ステップＳ２０３）。
【０１２１】
入力命令である場合には、演算部１３は、キー入力又バーコードスキャンによって入力されたデータを取得する（ステップＳ２０４）。その後、演算部１３は、終了キーが入力されたかどうかを判定する（ステップＳ２０５）。ここで、終了キーが入力された場合には、ハンディターミナル１の制御処理は終了する（ステップＳ２１６）。この終了キーの入力が、図１２のステップＳ８における処理終了指示に該当する。一方、終了キーが入力されなければ、演算部１３は、ステップＳ２０４において入力されたデータを、記憶部１４へと保存する（ステップＳ２０６）。その後、演算部１３は、次の命令を指定する。（ステップＳ２０７）。
【０１２２】
一方、ステップＳ２０３において入力命令でない場合には、演算部１３は、指定された命令が印刷命令であるかどうかを判定する（ステップＳ２０８）。
【０１２３】
印刷命令である場合には、演算部１３は、印刷処理を行い（ステップＳ２０９）、その後、印刷が正常に終了したかどうかを判定する（ステップＳ２１０）。印刷が正常に終了していない場合には、演算部１３は、再度、印刷処理をするよう試みる（ステップＳ２０９）。一方、印刷が正常に終了した場合には、演算部１３は、次の命令を指定する（ステップＳ２０７）。
【０１２４】
一方、ステップＳ２０８において印刷命令でない場合には、演算部１３は、表示命令かどうかを判定する（ステップＳ２１１）。表示命令である場合には、指定データを表示した後（ステップＳ２１２）、次の命令を指定する（ステップＳ２０７）。一方、表示命令でない場合には、上記同様に各命令に対応した処理を行った後（ステップＳ２１３）、次の命令を指定する（ステップＳ２０７）。
【０１２５】
そして、ステップＳ２０７において次の命令を指定すると、演算部１３は、ステップＳ２１４において命令が終了したか否かを判定し、命令が終了するまで、前述のステップＳ２０２以降のステップを繰り返す。
【０１２６】
そして、ステップＳ２１４において命令が終了すると、演算部１３は、内部データの最初の命令を指定した後（ステップＳ２１５）、前述のステップＳ２０２以降のステップを繰り返す。そして、ステップＳ２０５において終了キーが入力されると、演算部１３は、このハンディターミナル制御処理を終了する（ステップＳ２１６）。
【０１２７】
次に、図１２におけるハンディターミナル制御処理（ステップＳ２００）における各命令の処理を実行するステップ（ステップＳ７）について、プリンタ設定処理及び印刷処理を例にとって、図４及び図１５を参照しながら説明する。
【０１２８】
処理が開始されると、演算部１３は、定義ファイル５２の開始位置を処理対象の定義開始位置に設定する（ステップＳ３０１）。これは、ここでは、図１３のステップＳ１１０で保存した定義ファイル５２の開始位置のことである。その後、演算部１３は、定義ファイル５２の読み込みを行う（ステップＳ３０２）。次に、演算部１３は、データにコード名が含まれるかどうかを判定する（ステップＳ３０３）。
【０１２９】
データにコード名が含まれない場合には、後述するステップＳ３０５へと進む。一方、データにコード名が含まれる場合には、演算部１３は、このコード名を値に変換した後（ステップＳ３０４）、データに変数名が含まれるかどうかを判定する（ステップＳ３０５）。
【０１３０】
データに変数名が含まれない場合には、ステップＳ３０７に進む。一方、データに変数名が含まれる場合には、演算部１３は、変数名を値に変換した後（ステップＳ３０６）、ステップＳ３０７に進む。
【０１３１】
そして、ステップＳ３０７において、演算部１３は、変換が終了したか否かを判定し、変換が終了するまでステップＳ３０３以降のステップを繰り返す。そして、変換が終了すると、ステップＳ３０８へと進む。
【０１３２】
ステップＳ３０８において、演算部１３は、制御コードを付加する指定があるかどうかを判定する。制御コードを付加する指定がある場合には、演算部１３は、制御コードを付加した後に（ステップＳ３０９）、ステータス要求などの送信前処理を行う（ステップＳ３１０）。一方、制御コードを付加する指定がない場合には、演算部１３は、プリンタステータス要求などの送信前処理を行う（ステップＳ３１０）。
【０１３３】
次に、演算部１３は、プリンタステータスが正常であるかどうかを判定する（ステップＳ３１１）。
【０１３４】
プリンタステータスが正常でない場合には、演算部１３は、表示部１１にエラーメッセージを表示させた後（ステップＳ３１９）、ステップＳ３１７に進む。
【０１３５】
一方、ステップＳ３１１においてプリンタステータスが正常である場合には、演算部１３は、変換したデータ（コマンド）をプリンタ２へと送信する（ステップＳ３１２）。
【０１３６】
次に、演算部１３は、プリンタ２からの返信を受信した後（ステップＳ３１３）、送信したコマンドにプリンタ２が正常に応答したかどうかを判定する（ステップＳ３１４）。
【０１３７】
プリンタ２がコマンドに正常に応答しなかった場合には、演算部１３は、表示部１１にエラーメッセージを表示させた後（ステップＳ３１９）、ステップＳ３１７に進む。
【０１３８】
一方、ステップＳ３１４においてプリンタ２がコマンドに正常に応答した場合には、演算部１３は、ステータス要求などの送信後処理を行った後（ステップＳ３１５）、印刷処理が正常終了したかどうかを判定する（ステップＳ３１６）。印刷処理が正常終了した場合には、ステップＳ３１７に進む。一方、印刷処理が正常終了しなかった場合には、演算部１３は、表示部１１にエラーメッセージを表示させた後（ステップＳ３１９）、ステップＳ３１７に進む。
【０１３９】
そして、ステップＳ３１７において、演算部１３は、定義ファイル５２の終了位置であるか否かを判定し、定義ファイル５２の終了位置になるまで、前述のステップＳ３０２以降のステップを繰り返す。ここで、定義ファイル５２の終了位置とは、図１３のステップ１１２における、定義ファイル５２の終了位置を意味する。
【０１４０】
そして、定義ファイル５２の終了位置である場合には、演算部１３は、処理を終了する（ステップＳ３１８）。
【０１４１】
なお、図１５において点線で囲った処理（ステップＳ４００）は、プリンタの機種によって、処理内容が異なる。
【０１４２】
次に、本実施形態に従って作成した定義ファイル５２の実施例を、図１６及び図１７を参照しながら説明する。
（実施例１）
図１６は、モバイルプリンタ（ＭＡＫＥＲ１社製：機種名ＰＲＩＮＴＥＲ１）においてコピーラベルを印刷する場合の定義ファイル５２の実施例を示したものである。ここで、図１６の右側部分の文章は、左側部分の各行の記述についての説明である。
【０１４３】
本実施例の定義ファイル５２は、図１６に示すように、環境定義セクションと、変数定義セクションと、入力画面定義セクションと、プリンタ初期化セクションと、ラベル定義セクションとから構成されていて、この順に記述されている。
【０１４４】
まず、環境定義セクションについて、その要素を記述されている順に説明する。
【０１４５】
＄ＥＮＶ−ＳＥＣＴＩＯＮは、環境定義セクションの開始宣言である。＄は、制御のための文字である。
【０１４６】
ＰＲＩＮＴＥＲ＝ＭＡＫＥＲ１，ＰＲＩＮＴＥＲ１は、使用するプリンタの機種名と製造会社との情報を示す。ここでは、使用するプリンタが、ＭＡＫＥＲ１社製の機種名ＰＲＩＮＴＥＲ１であることを意味している。
【０１４７】
ＮＡＭＥ＝コピーデモは、定義ファイル名を設定している。
【０１４８】
ＡＵＴＯＣＴＲＬ＝１は、制御コードが自動付加されることを示している。
【０１４９】
次に、変数定義セクションについて、その要素を記述されている順に説明する。
【０１５０】
＄ＤＥＦ−ＳＥＣＴＩＯＮは、変数定義セクションの開始宣言である。
【０１５１】
ＳＴＲ  ｓｃａｎｃｏｄｅは、文字列型変数ｓｃａｎｃｏｄｅの宣言である。ここで、初期値は記述されていないので、初期状態となる。
【０１５２】
また、ＳＴＲ  ｂｃｒは、文字列型変数ｂｃｒの宣言である。ここで、初期値は記述されていないので、初期状態となる。
【０１５３】
次に、入力画面定義セクションについて、その要素を記述されている順に説明する。
【０１５４】
＄ＩＮＰＵＴ−ＳＥＣＴＩＯＮは、入力画面定義セクションの開始宣言である。
【０１５５】
ＣＬＳは、表示部１１の画面をクリアすることを示す。
【０１５６】
ＤＩＳＰ  Ｌ，１，２，“コード＞”は、文字列“コード＞”を表示部１１の画面に表示することを示す。ここで、Ｌは、使用フォント名である。１，２は、使用カラム数が１であって、使用ライン数が２であることを意味する。
【０１５７】
ＩＮＰＵＴ  Ｌ，１，４，ｓｃａｎｃｏｄｅ，ＫＳ，ＡＮＳ，１０，１，４０は、変数ｓｃａｎｃｏｄｅへデータを入力することを示す。ここで、Ｌは、使用フォント名である。１，４は、使用カラム数が１であって、使用ライン数が４であることを意味する。ＫＳのうち、Ｋはキー入力を意味し、Ｓはスキャナ入力を意味する。したがって、ハンディターミナル１に対する入力が、キー入力及びスキャナ入力のいずれでもよいことを意味する。ＡＮＳのうちの、Ａは英字を、Ｎは数字を、Ｓは記号を意味する。１０，１，４０は、入力領域桁数が１０であり、最小桁数が１であって、最大桁数が４０であることを意味する。
【０１５８】
ｂｃｒ＝ｓｃａｎｃｏｄｅ：１−１０は、変数ｓｃａｎｃｏｄｅから先頭１０桁を抽出し、変数ｂｃｒにセットすることを示す。
【０１５９】
ＣＬＬ  Ｌ，１，４は、表示部１１の画面において、指定位置以降をクリアすることを示す。Ｌは、使用フォント名である。１，４は、使用カラム数が１であって、使用ライン数が４であることを意味する。
【０１６０】
ＤＩＳＰ  Ｌ，１，４，ｂｃｒは、変数ｂｃｒの値を表示部１１の画面における所定の位置に表示することを示す。ここで、Ｌは、使用フォント名である。１，４は、使用カラム数が１であって、使用ライン数が４であることを意味する。
【０１６１】
ＰＲＩＮＴＯＵＴは、ラベルを印刷することを示す。
【０１６２】
以上の入力画面定義セクションまでが、互いに異なるプリンタ言語を用いたプログラムにより制御される複数のプリンタに共通の簡易言語によって定義されている。
【０１６３】
次に、プリンタ設定定義セクションについて、その要素を記述されている順に説明する。
【０１６４】
＄ＰＲＳＥＴ−ＳＥＣＴＩＯＮは、プリンタ設定定義セクションの開始宣言である。
【０１６５】
Ｍ；Ａは、プリンタ言語のモードを切り替えることを意味する。
【０１６６】
このプリンタ設定定義セクションは、ＭＡＫＥＲ１社のプリンタ言語で定義されている。
【０１６７】
次に、ラベル定義セクションについて、その要素を記述されている順に説明する。
【０１６８】
＄ＬＡＢＥＬ−ＳＥＣＴＩＯＮは、ラベル定義セクションの開始宣言である。
【０１６９】
このラベル定義セクションは、ＭＡＫＥＲ１社のプリンタ言語で定義されている。以降は、ＭＡＫＥＲ１社のプリンタ言語に、本発明の制御プログラム５０に関する変数及び定数を置き換え、定義ファイル５２を記述する。
【０１７０】
したがって、本実施例における定義ファイル５２は、ＭＡＫＥＲ１社のプリンタ言語を拡張するように用いて定義されている。
（実施例２）
図１７は、モバイルプリンタ（ＭＡＫＥＲ２社製：機種名ＰＲＩＮＴＥＲ２）においてコピーラベルを印刷する場合の定義ファイル５２の実施例を示したものである。ここで、図１７の右側部分の文章は、左側部分の各行の記述についての説明である。
【０１７１】
本実施例の定義ファイル５２においても、図１７に示すように、環境定義セクションと、変数定義セクションと、入力画面定義セクションと、プリンタ初期化セクションと、ラベル定義セクションとから構成されていて、この順に記述されている。
【０１７２】
まず、環境定義セクションについて、その要素を記述されている順に説明する。
【０１７３】
＄ＥＮＶ−ＳＥＣＴＩＯＮは、環境定義セクションの開始宣言である。＄は、制御のための文字である。
【０１７４】
ＰＲＩＮＴＥＲ＝ＭＡＫＥＲ２，ＰＲＩＮＴＥＲ２は、使用するプリンタの機種名と製造会社との情報を示している。ここでは、使用するプリンタが、ＭＡＫＥＲ２社製のＰＲＩＮＴＥＲ２であることを示す。
【０１７５】
ＮＡＭＥ＝コピーデモは、定義ファイル名を設定している。
【０１７６】
ＡＵＴＯＣＴＲＬ＝０は、制御コードが自動付加されないことを示している。
【０１７７】
次に、変数定義セクション及び入力画面定義セクションについては、上記実施例１と同様であるので、説明を省略する。
【０１７８】
以上の入力画面定義セクションまでが、互いに異なるプリンタ言語を用いたプログラムにより制御される複数のプリンタに共通の簡易言語によって定義されている。
【０１７９】
ＭＡＫＥＲ２社製の機種ＰＲＩＮＴＥＲ２においては、プリンタを初期化する必要がないので、プリンタ設定定義セクションはない。
【０１８０】
次に、ラベル定義セクションについて説明する。
【０１８１】
＄ＬＡＢＥＬ−ＳＥＣＴＩＯＮは、ラベル定義セクションであることを意味する。
【０１８２】
このラベル定義セクションは、ＭＡＫＥＲ２社のプリンタ言語で定義されている。以降は、ＭＡＫＥＲ２社のプリンタ言語に、本発明の制御プログラム５０に関する変数及び定数を置き換え、定義ファイル５２を記述する。
【０１８３】
したがって、本実施例における定義ファイル５２は、ＭＡＫＥＲ２社のプリンタ言語を拡張するように用いて定義されている。
【０１８４】
なお、上記実施形態では、プリンタ２がラベルを印刷する場合について説明したが、プリンタ２が他のラベルや帳票を印刷する場合にも、上記と同様に本発明を適用できる。
【０１８５】
以上述べたように、本実施形態及び実施例においては、定義ファイル５２が、プリンタ２に所定の印刷を実行させるために必要な動作又はデータをプリンタ言語と簡易言語とを用いて定義されているため、ユーザーは制御プログラム５０の可変部分（定義ファイル５２）のみを作成すればよいので、ユーザーの開発工数が低減する。
【０１８６】
また、定義ファイル５２において、ハンディターミナル１を制御する動作が、複数のプリンタ２に共通の簡易言語によって定義されているため、互いに異なるプリンタ言語を用いたプログラムにより制御される複数のプリンタ２に対応した制御プログラム５０を作成することができるようになる。
【０１８７】
さらに、定義ファイル５２において、ラベル印刷の内容がプリンタ言語を拡張するように用いて定義されているため、プリンタ２の機種に応じて、ラベルサイズや、フォントの大きさ及び位置も自由に設定ができるようになり、それぞれの機種のプリンタ２の機能を最大限に生かすことができるようになる。
【産業上の利用可能性】
【０１８８】
本発明に係るハンディターミナルの制御プログラムは、互いに異なるプリンタ言語を用いたプログラムにより制御される複数のプリンタに対応しかつ容易に作成することが可能なハンディターミナルの制御プログラムとして有用である。
【図面の簡単な説明】
【０１８９】
【図１】本実施形態のハンディターミナルの制御プログラムの階層構造を示す模式図である。
【図２】本実施形態のハンディターミナルの制御プログラムの使用に関連する機器を示す外観図である。
【図３】本実施形態の制御プログラムの使用に関連する機器のうちの他のプリンタを示す外観図である。
【図４】図２のハンディターミナル及びプリンタの構成を示すブロック図である。
【図５】図１の制御プログラムのうちの定義ファイルのセクションの種類とその機能とを示す図である。
【図６】本発明の実施形態における定義ファイルの仕様を示す図である。
【図７】定義ファイルのうちの環境設定セクションの機能及び書式を示す図である。
【図８】定義ファイルのうちの変数及びコード定義セクションの種別及び書式並びにシステム定義変数、システム定義コードを示す図である。
【図９】定義ファイルの入力画面定義セクションの機能及びコマンド名並びに編集方法を示す図である。
【図１０】定義ファイルにおけるプリンタ設定定義セクションの機能及び書式を示す図である。
【図１１】定義ファイルにおけるラベル定義セクションの機能及び書式を示す図である。
【図１２】図１の制御プログラム５０のうちのランタイム５１の全体フローを示すフローチャートである。
【図１３】図１２の全体フローのうちの解析処理フローを示すフローチャートである。
【図１４】図１２の全体フローのうちのハンディターミナル制御処理フローを示すフローチャートである。
【図１５】図１２の全体フローのうちのプリンタ設定処理フロー及び印刷処理フローを示すフローチャートである。
【図１６】実施例１に係る定義ファイルを示す図である。
【図１７】実施例２に係る定義ファイルを示す図である。
【符号の説明】
【０１９０】
１  ハンディターミナル
１１  キー入力部
１２  表示部
１３  演算部
１４  記憶部
１５  送受信部
１６  スキャナ入力部
１００  制御部
２  プリンタ
２１  送受信部
２２  印刷部
２００  制御部
３  パーソナルコンピュータ
５０  制御プログラム
５１  ランタイム
５２  定義ファイル
６０  オペレーティングシステム
【図１】
2007066141.tif 000003
【図２】
2007066141.tif 000004
【図３】
2007066141.tif 000005
【図４】
2007066141.tif 000006
【図５】
2007066141.tif 000007
【図６】
2007066141.tif 000008
【図７】
2007066141.tif 000009
【図８】
2007066141.tif 000010
【図９】
2007066141.tif 000011
【図１０】
2007066141.tif 000012
【図１１】
2007066141.tif 000013
【図１２】
2007066141.tif 000014
【図１３】
2007066141.tif 000015
【図１４】
2007066141.tif 000016
【図１５】
2007066141.tif 000017
【図１６】
2007066141.tif 000018
【図１７】
2007066141.tif 000019