JP4366065B2 - リソース・ファイル・ビルダ・ツール及びコンピュータ可読コード - Google Patents

リソース・ファイル・ビルダ・ツール及びコンピュータ可読コード Download PDF

Info

Publication number
JP4366065B2
JP4366065B2 JP2002298796A JP2002298796A JP4366065B2 JP 4366065 B2 JP4366065 B2 JP 4366065B2 JP 2002298796 A JP2002298796 A JP 2002298796A JP 2002298796 A JP2002298796 A JP 2002298796A JP 4366065 B2 JP4366065 B2 JP 4366065B2
Authority
JP
Japan
Prior art keywords
resource file
keyword
visual
data
resource
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002298796A
Other languages
English (en)
Other versions
JP2003140897A (ja
Inventor
リチャード・ジェイ・レッドパス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2003140897A publication Critical patent/JP2003140897A/ja
Application granted granted Critical
Publication of JP4366065B2 publication Critical patent/JP4366065B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/454Multi-language systems; Localisation; Internationalisation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、リソース・ファイルを作成するための単純化された処理を提供するための直観的なグラフィカル・ユーザ・インターフェースを提供するための、データ処理システム内での技法に関する。具体的にいうと、本発明は、開発者がリソース・ファイルのフォーマットを詳細に知ることを必要としない、ビジュアル・モデルを介してリソース・ファイルを作成できる技法を提供する。
【0002】
【従来の技術】
コンピュータ・プログラムには、論理部分とデータ部分の両方が含まれる。コンピュータ・プログラムに含まれるデータの1タイプを、リソースと称する。リソースには、アイコン、カーソル、メニュー、ダイアログ・ボックス、特定のタイプのテキスト、オーディオ・クリップ、アニメーション・クリップ、ビットマップなどを含めることができる。リソースは、グラフィカル・ユーザ・インターフェース、マルチメディア・プログラムで広範囲に使用され、プログラムのインターフェースに含まれるテキストを異なる言語で提示する能力を提供するために、各国語サポートすなわちドイツ語、日本語、ロシア語を可能にするのに使用される。
【0003】
リソースは、通常は、コンピュータ・プログラムの通常のデータ・セグメントに常駐しない。リソース・データは、通常はリソース・ファイル内に維持され、他のタイプのプログラム・データとは別に、異なる形で扱われる。たとえば、Windows(R) オペレーティング・システムが、CまたはC++プログラミング言語で記述されたプログラムなどを、実行のためメモリにロードする時には、オペレーティング・システムは、通常は、ディスク上にリソースを残す。Windows(R)は、Microsoft Corporationの登録商標である。プログラムの実行中に特定のリソースが必要になった時に限って、オペレーティング・システムは、そのリソースをメモリにロードする。
【0004】
一部のオブジェクト指向言語では、リソース・ファイルが多少異なる形で扱われる。たとえば、SmalltalkやScriptXでは、アプリケーションまたはプログラムによって使用されるリソースは、データ・オブジェクトに変換され、実行中に必要に応じてアプリケーションによって使用されるためにオブジェクト・プールまたはリソース・プールに置かれる。
【0005】
リソース・ファイル作成の現況技術は、最良のものであっても大変な作業である。通常、何らかのタイプのテキスト・エディタを使用して、テキストとしてリソース・ファイルを作成する。すなわち、開発者は、リソース・データを含むか要求する(たとえば既存のファイルから)テキスト・ベース・ファイルを、適当なフォーマットでゼロから記述しなければならない。完成したリソース・ファイルは、その後、アプリケーションのコードの残りと共に、作成中のアプリケーションにコンパイルされる。コンパイルされたアプリケーションを実行する時に、正確さについてリソース・データをビジュアルに検査することができる。開発者が、リソース・ファイル作成中にリソース・ファイル内で書式設定エラーを含めたか、存在しないデータ・ファイルを要求したか、リソース・ファイルの作成中にリソースの名前を間違えた場合、これらの誤りは、そのリソース・ファイルを含むアプリケーションを実行中にビジュアルに検査するまでわからない。
【0006】
もう1つの問題が、リソース・ファイルを作成するための既存の技法に関連する。開発者は、リソース・ファイルの正確なフォーマットを知らなければならない。コンパイルの前にテキスト・ファイルを検査する以外には、リソース・ファイルをアプリケーションと共にコンパイルし、そのアプリケーションを実行した後でなければ試験を実行できない。後者の問題によって、開発者の時間が浪費され、計算リソースが消費される。というのは、アプリケーションのコンパイルと実行にかなりの時間がかかる可能性があるからである。
【0007】
さらに、リソース・ファイルは、各国語サポートを提供するための主な技法である。アプリケーションをコンパイルする時に、ドイツ語テキスト(英語テキストではなく)を含むリソース・ファイルを使用すると、ドイツ語版のアプリケーションができる。各国語サポートを提供する処理には、通常は、翻訳者にリソース・ファイルのテキスト部分を所望の言語に翻訳させることが含まれる。しかし、リソース・ファイルに対して翻訳を実行する処理は、時間がかかり、複雑であることがしばしばである。リソース・ファイルの特定の要素だけを翻訳しなければならない。しかし、標準リソース・ファイルはテキスト・ファイルであるから、翻訳が必要な部分を分離することは困難である。さらに、誤りを見つけるためにアプリケーション内の文脈で翻訳を再検討する前に、プログラムのコンパイルと実行が必要である。翻訳と誤り検査の処理全体が、時間のかかる処理であり、したがって、非常に高価である。したがって、プログラムの翻訳版の製作は、非常に骨のおれる作業である。
【0008】
したがって、リソース・ファイルの扱いと作成されるリソース・ファイルに含まれるデータの再検討が単純化されるようなフォーマットを有するリソース・ファイルの単純化された作成を可能にする技法が必要である。
【0009】
【発明が解決しようとする課題】
本発明の目的は、リソース・ファイルの作成を可能にするためのビジュアル・ツールを提供することである。
【0010】
本発明のもう1つの目的は、必要なフォーマットの深い知識を持たない開発者がリソース・ファイルを作成できるようにする技法を提供することである。
【0011】
本発明のもう1つの目的は、他の構成要素に対して行われた変更の影響を受けるリソース・ファイルの構成要素を自動更新する、リソース・ファイル作成ツールを提供することである。
【0012】
本発明のもう1つの目的は、コンパイルの前に誤りを簡単に検査できる、リソース・ファイル作成ツールを提供することである。
【0013】
【課題を解決するための手段】
本発明の他の目的及び長所は、一部は以下の説明及び図面に開示され、一部は、説明から明白になるか、本発明の実践によって学ぶことができる。
【0014】
前述の目的を達成するため、本明細書で広範囲に説明される本発明の目的に従って、本発明は、キーワードのそれぞれがリソース・ファイル・ビルダ・ツールのグラフィカル・ユーザ・インターフェースに表示できる選択可能なアイコン表現を有する、開発中のリソース・ファイルに含めることができる各キーワードのキーワード・クラスを含むクラス・ライブラリと、アイコン表現のうちの1つを選択することによって、キーワード・クラスのうちの1つをユーザが選択できるようにするための第1サブプロセスと、選択されたキーワード・クラスのキーワード・データを開発者が入力するよう促すための第2サブプロセスと、インスタンス・データとして入力キーワード・データを有する選択されたキーワード・クラスのインスタンスをリソース・ファイル内に保存するための第3サブプロセスとを含む、リソース・ファイルの作成を可能にするための、媒体に含まれるコンピュータ可読コードを含むリソース・ファイル・ビルダ・ツールを提供する。リソース・ファイル・ビルダ・ツールには、さらに、保存されたインスタンス・データが、リソース・ファイル内のキーワード・クラスの保存された他のインスタンスのいずれかのインスタンス・データに影響するかどうかを判定し、影響を受けるインスタンス・データを更新するための第4サブプロセスを含めることができる。
【0015】
本発明は、各キーワード・クラスが開発中のリソース・ファイルに含めることができるキーワードのそれぞれに応答する、複数のキーワード・クラスと、前記キーワード・クラスのそれぞれの選択可能なビジュアル表現と、キーワード・クラスのビジュアル表現の選択時にキーワード・データを入力するようユーザに促すプロパティ・シートを、ユーザに表示するために作成するための第1サブプロセスと、開発者がプロパティ・シートにキーワード・データを入力し、プロパティ・シートを保存した後に、入力キーワード・データを含む、キーワード・クラスのキーワード・オブジェクトを作成するための第2サブプロセスと、保存されたキーワード・オブジェクトのビジュアル表現を表示用に作成するための第3サブプロセスとを含む、開発者がリソース・ファイルをビジュアルに構築できるようにするための、媒体に記憶されたコンピュータ可読コードを含むビジュアル・リソース・ファイル・ビルダ・ツールも提供する。ビジュアル・リソース・ファイル・ビルダ・ツールには、さらに、キーワード・オブジェクトと共に保存された入力キーワード・データが、他のキーワード・オブジェクトのいずれかの他のキーワード・データに影響するかどうかを判定し、他のキーワード・オブジェクトの他のキーワード・データが影響を受ける場合に、そのキーワード・データを更新する、第4サブプロセスを含めることができる。その代わりに、ビジュアル・リソース・ファイル・ビルダ・ツールに、さらに、キーワード・オブジェクトのビジュアル表現の選択時に、前にキーワード・オブジェクトと共に保存されたキーワード・データをユーザが変更できるようにするために、キーワード・オブジェクトのプロパティ・シートを表示する、第5サブプロセスを含めることができる。
【0016】
本発明はさらに、各キーワードの保存時に各キーワードに対応するグラフィカル・ユーザ・インターフェース内のビジュアル・オブジェクトを作成し、表示するための第1サブプロセスと、ビジュアル・オブジェクトのうちの1つの選択時に、選択されたビジュアル・オブジェクトに対応するキーワードの、キーワード・データと変更可能なキーワード・データとを含むプロパティ・シートを表示する第2サブプロセスと、プロパティ・シートに含まれるキーワード・データを変更することによって選択されたキーワードのキーワード・データをユーザが変更できるようにするための第3サブプロセスとを含む、リソース・ファイルに含まれる各キーワードに対応する選択可能なグラフィカル表現を、リソース・ファイル・ビルダ・ツールのグラフィカル・ユーザ・インターフェース内にビジュアルに表示するための、コンピュータ可読コードを提供することができる。
【0017】
さらに、本発明は、所定の文字列の目標言語でのテキストを定義する定義データを有するDEFINE(定義)キーワードを含む第1リソース・ファイルと、各キーワード及び第2リソース・ファイルに含まれるそのキーワード・データのビジュアル表現を含む、ビジュアル・フォーマットで表示される第2リソース・ファイルとを含み、第2リソース・ファイルが、INCLUDE(インクルード)キーワードを介して前記第1リソース・ファイルを含み、前記第2リソース・ファイルに含まれるSTRINGTABLE(文字列テーブル)キーワードのキーワード・データとして前記第1リソース・ファイル内のDEFINEキーワード・データによって翻訳される文字列をビジュアルに表示することを特徴とする、アプリケーションのコンパイルまたは構築の前に、文脈内で翻訳されるテキストの再検討を可能にする、複数のリソース・ファイルを使用するアプリケーションとビジュアル・リソース・ファイル・ビルダとに各国語サポートを提供するためのコンピュータ可読コードを提供する。
【0018】
図面を参照して本発明を説明するが、図面のすべてを通じて、同様の符号は同一の要素を表す。
【0019】
【発明の実施の形態】
図1は、本発明を実施できる代表的なワークステーション・ハードウェア環境を示す図である。図1の環境には、関連周辺装置を含む、パーソナル・コンピュータなどの代表的な単一ユーザ・コンピュータのワークステーション10が含まれる。ワークステーション10には、マイクロプロセッサ12と、既知の技法によってマイクロプロセッサ12とワークステーション10の構成要素の間を接続し、その間の通信を可能にするのに使用されるバス14が含まれる。ワークステーション10には、通常は、ユーザ・インターフェース・アダプタ16が含まれ、ユーザ・インターフェース・アダプタ16は、バス14を介してマイクロプロセッサ12を、キーボード18、マウス20、または、接触感知スクリーン、ディジタル化入力パッドなど1種または複数のユーザ・インターフェース装置とすることができる他のインターフェース装置22に接続する。また、バス14は、LCDスクリーンまたはモニタなどの表示装置24を、表示アダプタ26を介してマイクロプロセッサ12に接続する。また、バス14は、メモリ28と、ハードディスク駆動装置、テープ駆動装置などを含めることができる永久記憶装置30にマイクロプロセッサ12を接続する。
【0020】
ワークステーション10は、通信チャネル32を介して他のコンピュータまたはコンピュータのネットワークと通信する。ワークステーション10は、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク内のこのような他のコンピュータと関連付けることができ、また、ワークステーション10は、別のコンピュータとのクライアント/サーバ配置構成のクライアントとすることができる。これらの構成のすべて、ならびに、適当な通信ハードウェア及び通信ソフトウェアは、当技術分野で既知である。
【0021】
図2は、本発明を実施できるデータ処理ネットワーク40を示す図である。データ処理ネットワーク40には、それぞれに複数の個々のワークステーション10が含まれるLAN42及び44を含む、複数の個々のネットワークが含まれる。その代わりに、当業者に諒解されるとおり、LANに、ホスト・プロセッサに結合された複数の知能ワークステーションを含めることができる。
【0022】
さらに図2を参照すると、データ処理ネットワーク40には、メインフレーム・コンピュータ46などの複数のメインフレーム・コンピュータを含めることもでき、このメインフレーム・コンピュータ46は、通信リンク48によってLAN44に結合されることが好ましい。メインフレーム・コンピュータ46は、International Business Machines Corporation(IBM)社が販売するEnterprise Systems Architecture/370またはEnterprise Systems Architecture/390コンピュータを使用して実施することができる。応用分野によっては、Application System/400(AS/400とも称する)などのミッドレンジ・コンピュータを使用することができる。「Enterprise Systems Architecture/370」はIBM社の商標であり、「Enterprise Systems Architecture/390」、「Applications System/400」及び「AS/400」は、IBM社の登録商標である。
【0023】
メインフレーム・コンピュータ46は、LAN44の遠隔記憶装置として働くことができる記憶装置50に結合することもできる。同様に、LAN44は、通信リンク52からサブシステム制御ユニット/通信コントローラ54及び通信リンク56を介してゲートウェイ・サーバ58に結合することができる。ゲートウェイ・サーバ58は、LAN42をLAN44にリンクするように働く個別のコンピュータまたは知能ワークステーションであることが好ましい。
【0024】
当業者であれば、メインフレーム・コンピュータ46を、LAN44から地理的に非常に離れた位置に置くことができ、同様に、LAN44を、LAN42からかなり離れた位置に置くことができることを諒解するであろう。たとえば、LAN42をカリフォルニアに配置し、LAN44をテキサスに配置し、メインフレーム・コンピュータ46をニューヨークに配置することができる。
【0025】
本発明を実施するソフトウェア・プログラミング・コードは、通常は、ワークステーション10の永久記憶装置30など、何らかのタイプの永久記憶装置に記憶される。クライアント/サーバ環境では、このようなソフトウェア・プログラミング・コードを、サーバに関連する記憶装置を用いて記憶することができる。ソフトウェア・プログラミング・コードは、ディスケット、ハード・ドライブ、CD−ROMなど、データ処理システムと共に使用するためのさまざまな既知の媒体のいずれかで実施できる。コードは、そのような媒体で配布でき、また、あるコンピュータ・システムのメモリまたは記憶装置からあるタイプのネットワークを介して他のコンピュータ・システムへ、そのような他のシステムのユーザによる使用のために、そのユーザへ配布することができる。物理媒体上でソフトウェア・プログラム・コードを実施する技法及び方法と、ネットワークを介してソフトウェア・コードを配布する技法及び方法は、周知であり、本明細書ではこれ以上説明しない。
【0026】
これから、本発明の好ましい実施例を、図3ないし図11を参照して説明する。
【0027】
好ましい実施例では、本発明はJava(R)プログラミング言語で実施される。Java(R)は、Sun Microsystems,Inc.社の商標である。Java(R)は、インターネットと共に使用するために拡張されたオブジェクト指向言語である。Java(R)、Smalltalk、C++などのオブジェクト指向言語には、通常は、その言語でプログラミング(アプリケーションを開発)する時に開発者が使用するためのクラス・ライブラリが含まれる。クラス・ライブラリとは、通常は比較的高水準の機能を提供する再利用可能なクラスの組である。クラスとは、オブジェクト指向言語の基本構成単位の1つであり、これには、機能とデータの組合せを表現したコードが含まれる。開発者は、クラス・ライブラリから、作成中のソフトウェア・アプリケーションにクラスを追加することによって、アプリケーションを作成する。クラスのコピーまたはインスタンスが、作成中のアプリケーションに含まれる。このクラスのコピーまたはインスタンスを、オブジェクトと称する。
【0028】
開発者は、個々の言語の特徴に応じて、複数の方法でクラスを操作し、利用することができる。たとえば、ほとんどのオブジェクト指向クラスは、カプセル化、多義性及び継承を含む複数の基本特性を有する。多義性を介して、ソフトウェア構成要素またはオブジェクトは、別の構成要素またはオブジェクトを正確に知らなくても、そのオブジェクトの要求を行うことができる。要求を受け取るオブジェクトまたは構成要素は、要求を解釈し、その内部データ及び内部関数に従って、要求を実行する方法を決定する。継承という概念を用いると、クラスを簡単に修正できるようになる。開発者は、親クラスのすべてから挙動を継承するサブクラスを記述できる。
【0029】
オブジェクト指向プログラミングのこれらの特性のすべてならびに関連するオブジェクト指向プログラミング技法は、当技術分野で周知であり、本明細書ではこれ以上説明しない。Java(R)プログラミング言語で記述されたリソース・ファイル作成用ツールに関して本発明を説明するが、技量を有するプログラマは、本発明を他のプログラミング言語で実施することができる。
【0030】
図3は、モニタに表示されたウィンドウ62内の、本発明によるビジュアル・リソース・ファイル・ビルダ・ツールのグラフィカル・ユーザ・インターフェース(GUI)60を示す図である。好ましい実施例によれば、ビルダ・ツールは、Java(R)プログラミング言語で記述される。したがって、ビルダ・ツールは、Java(R)実行時環境が埋め込まれているか含まれている、オペレーティング・システムまたは他のユーザ環境のいずれでも動作する。GUI60には、ツール・バー64が含まれ、ツール・バー64には、「OPEN NEW FILE(新規ファイルを開く)」、「CLOSE FILE(ファイルを閉じる)」などの一般的な機能のアイコン表現と、開発者がリソース・ファイルに含めることを所望する可能性があるリソース・データの型に対応するリソース・ファイル・キーワード要素のアイコン表現が含まれる。標準テキスト・リソース・ファイルには、通常は、同一または異なる型の1つまたは複数のデータ要素が含まれる。キーワードは、リソース・データの型を定義するのに使用され、各キーワードは、データの異なる型を表す。各キーワードは、それ自体に関連する独自のフォーマットを有する。通常のテキスト・リソース・ファイル110が、図4のウィンドウ112内に図示されている。リソース・ファイルには、「INCLUDE(インクルード)」、「SOUND(音声)」、「STRINGTABLE(文字列テーブル)」、「MENU(メニュー)」などのキーワード114と、そのフォーマットされたデータ及びデータ参照と、正式のフォーマットの空白、大文字化及び文字列が含まれる。
【0031】
ビルダ・ツールには、各キーワードに対応するJava(R)クラスを含むクラス・ライブラリが含まれる。対応するJava(R)クラスは、キーワード・シェルになるキーワードのそれぞれに関連して作成される。言い換えると、各キーワードの適当なフォーマットが、Java(R)クラスに書き込まれる。各キーワードのJava(R)クラスには、キーワードを完全にし、リソース・ファイル内で使用できるようにするのに必要な適当な情報を開発者に提供させる手段も書き込まれる。好ましい実施例では、各キーワード・クラスにプロパティ・シートが含まれ、このプロパティ・シートは、開発者がキーワードとそのデータを作成または修正しようとする時に、開発者に表示される。各キーワードのプロパティ・シートでは、そのキーワード・データを完成させるのに必要な具体的なデータだけが開発者に要求される。たとえば、「INCLUDE」キーワードの場合、対応するプロパティ・シートでは、リソース・ファイルにインクルードされるファイルの位置と名前を入力するように促すプロンプトが開発者に表示される。開発者は、空白、終了文など、そのキーワードに関する他のフォーマットの考慮点について心配する必要はない。開発者は、実際には、キーワード・クラスが保存される時に、具体的なJava(R)キーワード・クラスのインスタンス(オブジェクト)をリソース・ファイルに追加する。クラス自体は、再利用のためにビルダ・ツール内で使用可能なままになる。すなわち、そのクラスのオブジェクトは、キーワードのリソース・データまたはリソース・データ情報であるプロパティ・シートを介して、インスタンス・データを用いて開発者によって移植される。
【0032】
音声、アニメーション・クリップ、メニューなど、特定のタイプのデータ・ファイルに関連する大量のキーワードがあることに留意されたい。時間の経過に伴って、新しいタイプのデータ及び対応するキーワードを作成することができる。ビジュアル・リソース・ファイル・ビルダは、Java(R)で記述されているので、このツールが他のキーワード・オブジェクトを作成できるようにするための新しいクラスの組を追加することによってビルダ・ツールを変更することは比較的簡単である。
【0033】
ツール・バー64は、ビジュアル作成ツールに共通する規範である。ツール・バー64のアイコンは、オブジェクトとも称するが、保存、ファイルを開くなど、ほとんどのファイルに共通する呼出し可能な機能を表す。さらに、ツール・バー64のアイコンの一部は、リソース・ファイル用のキーワード・オブジェクトの作成に使用できるキーワード・クラスを表す。このビルダ・ツールでは、ビジュアル・オブジェクトとその機能が、Java(R)クラスのインスタンスを介して使用可能にされるが、このJava(R)クラスのインスタンスもオブジェクトと称する。したがって、ビジュアル・オブジェクトは、実際のJava(R)コードを構成し、ビジュアル・オブジェクトのコードを含む、基礎となるJava(R)オブジェクトから区別される。このビジュアル作成規範は、ワード・プロセッサ、パワー・ツールなど、さまざまな種類のファイルを作成する多数のツールに共通する。したがって、このようなインターフェース自体の作成の詳細は、技量を有するプログラマの範囲に含まれるので、説明しない。そうではなくて、本発明によるビジュアル・リソース・ファイル・ビルダ・ツールの機能を、図5及び図6の流れ図を参照して説明する。この説明から、技量を有するプログラマであれば、本発明を実施できるはずである。
【0034】
開発者が使用するためにビジュアル・リソース・ファイル・ビルダ・ツールを開いた状態で、開発者は、ツール・バー64から「NEW FILE(新規ファイル)」アイコン66を選択することによって、新しいリソース・ファイルの作成を開始することができる(ステップ100)。ステップ100で「NEW FILE」アイコンを選択した際には、空の新規リソース・ファイルが作成され、開発者は、新規リソース・ファイルの名前を与えるように促される(ステップ102)。
【0035】
ステップ100で「NEW FILE」アイコンを選択する代わりに、開発者は、既存リソース・ファイルをアクセスするために「OPEN EXISTING FILE(既存ファイルを開く)」アイコン68を選択することによって、既存のリソース・ファイルを再オープンすることができる(ステップ104)。その後、開発者は、既存リソース・ファイルの名前を与えるように促され、有効な名前を入力した際に、その既存リソース・ファイルが、ビジュアル・リソース・ファイル・ビルダ・ツールの作業域70内に開かれる(ステップ106)。複数のビジュアル・キーワード・オブジェクトを含むリソース・ファイルのビジュアル表現が、作業域70内に表示される。
【0036】
その後、開発者は、新規リソース・ファイルの作成または既存リソース・ファイルの修正に関連する複数の選択肢を有する。ステップ108により、開発者は、「PACKAGE NAME(パッケージ名)」キーワードをリソース・ファイルに追加するか、リソース・ファイル内の既存の「PACKAGE NAME」キーワードを修正することができる。キーワード「PACKAGE NAME」は、Java(R)言語で記述されたアプリケーションだけに関連する。Java(R)クラスの組は、通常は、パッケージと称するものにグループ化される。したがって、作成中のリソース・ファイルを最終的にJava(R)クラスにすることを開発者が所望する場合、結果のJava(R)クラスが関連付けられるJava(R)パッケージを指定することが適切である。リソース・ファイルをJava(R)クラスにしない場合、開発者は、PACKAGE NAMEオプションを使用する必要はない。通常、あるJava(R)クラスは、単一のパッケージだけに属する。したがって、単一のパッケージ名だけを提供することが適切である。
【0037】
開発者がツール・バー64から「PACKAGE NAME」アイコンを選択する場合、ビルダ・ツールは、まず、開かれているリソース・ファイル用に「PACKAGE NAME」オブジェクトがすでに作成されているかどうかを判定する(ステップ110)。ステップ110で、「PACKAGE NAME」オブジェクトがすでにリソース・ファイル内に存在すると判定される場合、ビルダ・ツールは、そのPACKAGE NAMEオブジェクトから既存のプロパティ・シートを編集用に表示させる。PACKAGE NAMEキーワードのプロパティ・シート72を、図7に示す。PACKAGE NAMEキーワードのプロパティ・シート72には、データ入力フィールド74が含まれ、このデータ入力フィールド74に、そのリソース・ファイルが関連付けられる、前に入力されたJava(R)パッケージ名が表示される。データ入力フィールド74を介して、開発者は、結果のリソース・ファイルがJava(R)クラスへの変換の後に関連付けられるJava(R)パッケージの新しい名前を入力することができる。
【0038】
その代わりに、ステップ110で、リソース・ファイル内にPACKAGE NAMEオブジェクトがまだ存在しないと判定された場合、ビルダ・ツールは、PACKAGE NAMEクラスのインスタンス(PACKAGE NAMEオブジェクト)を作成し、そのPACKAGE NAMEオブジェクトの空の新しいプロパティ・シートを表示し(ステップ114)、その結果、開発者がパッケージ名(インスタンス・データ)を入力できるようにする。PACKAGE NAMEオブジェクトがそのリソース・ファイルについてすでに存在しようとしまいと、どちらの状況の処理も、ステップ116に進む。ここでは、開発者は、プロパティ・シートの修正を選択することができる。プロパティ・シートの修正は、このPACKAGE NAMEプロパティ・シートの場合には、データ入力フィールド74内に、新しいパッケージ名を入力するか、既存のパッケージ名を修正することによる。開発者がステップ116でPACKAGE NAMEプロパティ・シートにパッケージ名を入力した場合、開発者は、「Apply(適用)」ボタン76か、「Cancel(取消)」ボタン78を選択するという選択肢を有する(ステップ118)。開発者がステップ118でApplyボタン76を選択した場合、データ入力フィールド74に入力された名前が、新しいPACKAGE NAMEオブジェクト内にインスタンス・データとして保存されるか、既存のPACKAGE NAMEオブジェクトが修正されるかが適宜行われ、与えられた名前(Java(R)オブジェクトのインスタンス・データである)を有するJava(R)の「PACKAGE NAME」クラスのインスタンスが、リソース・ファイルと共に保存される。このJava(R)オブジェクトには、ビルダ・ツール内でビジュアル・リソース・ファイル表現が開かれる時に必ず作業域70内に表示されるビジュアル表現であるビジュアルPACKAGE NAMEオブジェクト80のコードが含まれる。その後、プロパティ・シートを閉じる(ステップ122)。PACKAGE NAMEオブジェクトは、リソース・ファイル内の他のオブジェクトとの調整を必要とするオブジェクトではない(ステップ124)ので、処理はステップ128に進む。
【0039】
その代わりに、開発者がCancelボタン78を選択した場合、開発者がデータ入力フィールド74に変更または新規データを入力していようがいまいが、PACKAGE NAMEのプロパティ・シート72が閉じ、データ入力フィールド74に入力された修正は、保存されない(ステップ126)。さらに、前のPACKAGE NAMEオブジェクトが存在しておらず、データ入力フィールド74にデータが入力されなかった場合には、作成されるリソース・ファイルにはPACKAGE NAMEオブジェクトは保存されない(ステップ126)。PACKAGE NAMEオブジェクトが存在していた場合、そのオブジェクトは、一切変更なしにリソース・ファイル内で維持される。
【0040】
開発者は、ステップ128で「CLOSE FILE(ファイルを閉じる)」オプションを選択することもできる。この選択は、ステップ122でPACKAGE NAMEオブジェクトを作成または修正した後か、ステップ120でCLOSE SHEET(シートを閉じる)オプション(Cancelボタン)を選択した後に行うことができ、CLOSE SHEETオプションの代わりに行うこともできる。ステップ128でCLOSE FILEオプションが選択された場合、リソース・ファイルがクローズされ、「適用(Applied)」されなかった修正は保存されない。また、新しいPACKAGE NAMEオブジェクトのデータ入力フィールドに名前が与えられなかった場合には、PACKAGENAMEオブジェクトは保存されない(ステップ130)。その後、処理は、この作成処理の先頭に戻り、開発者は、新規リソース・ファイルの作成を開始し(ステップ100)、既存リソース・ファイルを開く(ステップ140)か、ビジュアル・リソース・ファイル・ビルダ全体を閉じる(ステップ132)ことができる。ステップ132の後には、処理が終了する。
【0041】
ステップ114ないしステップ132に関して説明した処理は、開発者がリソース・ファイルに追加する可能性がある他のすべての型のキーワード・オブジェクトに適用される。ステップ110ないしステップ112は、PACKAGE NAMEキーワード以外のキーワードの処理には適用されない。というのは、他の複数のキーワードが、単一のリソース・ファイル内に存在することができるからである。
【0042】
リソース・ファイルのビジュアル表現は、リソース・ファイル・ビルダ・ツールの作業域70内にグラフィカルに表示される。グラフィカル・キーワード・オブジェクトが、リソース・ファイルに含まれるキーワード・ベースの構成要素のそれぞれのビジュアル表現として提供される。たとえば、図3に示したリソース・ファイルでは、リソース・ファイルに、ビジュアルPACKAGE NAMEオブジェクト80、ビジュアル「INCLUDE」オブジェクト82(「INCLUDE」キーワードがそのリソース・ファイルの一部であるという事実を表す)、ビジュアル「DEFINE」オブジェクト84、第1ビジュアル「IMAGE(画像)」オブジェクト86、第2ビジュアル「IMAGE」オブジェクト88、「SOUND(音声)」オブジェクト90(サウンド・クリップがそのリソース・ファイルに含まれることを示す)、ビジュアル「STRINGTABLE」オブジェクト92及びビジュアル「MENU(メニュー)」オブジェクト94が含まれる。PACKAGE NAMEキーワード以外の他のキーワード型のほとんどは、所与のリソース・ファイル内に複数含めることができる。たとえば、図3にグラフィカルに示されたリソース・ファイルには、2つのIMAGEキーワードが含まれる。さらに、図3からわかるように、各ビジュアル・オブジェクトには、それが表すキーワードの型と、そのキーワードに関連するリソース・データの表示またはその一部とを開発者に示すビジュアル表現が含まれる。たとえば、第2IMAGEオブジェクト88には、リソース・ファイル内の第2のIMAGEキーワードに関連する画像が含まれる。ビジュアルINCLUDEオブジェクト82によって、キーワードの名前(INCLUDE)と、それによってこのリソース・ファイルに組み込まれるファイルの名前(\resource\german.pii)が提供される。
【0043】
図5及び図6の流れ図に戻ると、ステップ102で新規ファイルを開いた後か、ステップ106で既存ファイルを開いた後か、ステップ128でキーワードのプロパティ・シートに関する処理を完了した後(開発者がファイルの処理の継続を所望する場合)に、開発者は、ステップ132、134及び136に示されるように、複数の選択肢を有する。ステップ132により、開発者は、ツール・バー64からキーワード・アイコンを選択できる。選択されたキーワード・アイコンが、INCLUDEアイコン96、DEFINEアイコン98、STRINGTABLEアイコン100またはMENUアイコン102など、PACKAGENAMEアイコン以外のキーワード・アイコンの場合、処理は、前にステップ114ないしステップ130で説明した形で、選択されたキーワードについて説明通りに継続する。プロパティ・シートと結果のビジュアル・オブジェクトは、使い易さを拡張するためキーワードごとにカスタマイズされた形で設計される。さらに、別のキーワードのデータに影響するキーワードのプロパティ・シート(インスタンス・データ)に対して変更が行われる場合に、他のキーワードのデータが自動的に更新されるように、調整処理が追加される。これから、この処理を、他のキーワードに関して説明する。
【0044】
ステップ132により、開発者がツール・バー64からDEFINEアイコン98を選択した時には、DEFINEキーワード用のJava(R)クラスのインスタンスが作成され、DEFINEオブジェクトの空のプロパティ・シートが、作業域70内に提示される(ステップ114)。DEFINEオブジェクトのプロパティ・シート120を、図8に示す。DEFINEキーワードのデータは、基本的にマクロとして働く。開発者は、文字列を定義した後に、文字列の値を与え、すると、文字列がリソース・ファイル内で使用される場所では必ず、定義された値が、文字列の代わりにビジュアル・リソース・ファイル(及び、そのリソース・ファイルを使用するアプリケーション)でビジュアルに表現されるようになる。プロパティ・シート120では、文字列が、第1列に置かれ、それに対応する値が、第2列に置かれる。プロパティ・シート120では、第1列の単一の文字列122が「STR_AUTHOR」、第2列のその文字列の値124が「Richard Redpath」として示されている。開発者は、第1列または第2列の既存の項目のテキストを修正するか、「Add(追加)」ボタン126を選択することによってDEFINEオブジェクトのプロパティ・シート120を修正する。Addボタン126を選択すると、第1列と第2列に空のデータ入力フィールドが表示され、開発者は、ここに新しく定義する文字列とそれに対応する値を入力することができる。上で説明したようにプロパティ・シート120に新規データを入力するかプロパティ・シート120を修正した後に(ステップ116)、開発者は、「Apply」ボタン128を選択することができる(ステップ118)。開発者がApplyボタン128を選択する場合、DEFINEオブジェクトのインスタンスが保存され、プロパティ・シート120が閉じる(ステップ122)。
【0045】
DEFINEキーワードは、定義により、リソース・ファイルに含まれる他の型のキーワードに影響を及ぼすために作成されるマクロである。したがって、DEFINEキーワード・オブジェクトは、ステップ124による調整を必要とする。ステップ138により、リソース・ファイル内のすべてのDEFINEオブジェクトからのデータを解析し、メモリに記憶する。さらに、INCLUDEオブジェクトを介してリソース・ファイルにインクルードされるファイルがあればすべて読み取って、それにDEFINEオブジェクトが含まれるかどうかを判定する。そうである場合には、DEFINE文字列とそれに対応する値も、メモリに記憶する(ステップ140)。次に、リソース・ファイル内のキーワード・オブジェクトの一部である文字列のすべてを、メモリに記憶された文字列及びその記憶された値に対して検査する。特定の文字列の値が変更された場合、新しい値を、検査されたキーワード・オブジェクト内のインスタンス・データとして記憶して、古い値を置換する。したがって、あるキーワード・オブジェクトに関連して保存される文字列値に対する変更のすべてが、他のキーワード・オブジェクトに即座に反映される(ステップ142)。
【0046】
PACKAGE NAMEキーワードの例と同様に、ステップ116で開発者がプロパティ・シートを修正せず、「Cancel」ボタン130を選択した場合、または、DEFINEのプロパティ・シート120を修正した後に、Applyボタン128を選択せずにCancelボタン130を選択した場合には(ステップ120)、プロパティ・シートが閉じ、それに対して行われた修正は、保存されない(ステップ126)。ステップ142の後に、プロパティ・シート120が閉じ、処理はステップ128に進む。ステップ128では、開発者がCLOSE FILEオプションを選択した場合に、ファイルがクローズされ、適用(Apply)されなかった修正は保存されない(ステップ130)。開発者がファイルをクローズしない場合、処理はステップ132、134及び136に戻り、開発者は、これらの選択肢のいずれかを選択できる。
【0047】
ステップ136により、開発者が、DEFINEオブジェクトのビジュアルDEFINEオブジェクト84などのビジュアル・オブジェクトをダブルクリックすることによるなど、処理のためリソース・ファイル内の既存のキーワード・オブジェクトのうちの1つを選択した場合、選択されたオブジェクトのその特定のインスタンスのプロパティ・シートが、編集用に表示される(ステップ144)。その後、処理は、ステップ116から、表示されたプロパティ・シートに関連して上で説明した形で継続する。
【0048】
その代わりに、ステップ134により、開発者は、ツール・バー64からDELETE(削除)アイコン104を選択することができる。このような選択が行われた際には、ビルダ・ツールは、リソース・ファイル内に存在するキーワード・オブジェクトのリストを表示する。その後、開発者は、削除のためにリスト内の1つまたは複数のキーワード・オブジェクトを選択することができ(ステップ146)、その後、Applyボタンの選択時に、識別された1つまたは複数のオブジェクトが、リソース・ファイルから削除され、修正された版のリソース・ファイルが保存される(ステップ148)。その後、ステップ124で、削除されたオブジェクトに、リソース・ファイル内の他のキーワード・オブジェクトによって使用されていた情報が含まれたかどうかを判定する(ステップ124)。そうである場合には、ステップ138ないしステップ142を繰り返し、他のキーワード・オブジェクトに含まれるデータを適宜調整、更新し、その後、処理はステップ128に進む。キーワード・オブジェクトがPACKAGE NAMEオブジェクトであった場合など、調整が不要な場合には、処理は直接ステップ128に進み、前に説明した形で継続される。
【0049】
本発明は、各国語サポートとも称する、翻訳されたアプリケーションを提供するための単純化された技法も提供する。エンド・ユーザに表示されるテキスト・リソース・データは、文字列データとしてリソース・ファイル内に維持されることが好ましい。したがって、DEFINEキーワード・オブジェクトの文字列の値を変更することによって、アプリケーション内の残りの論理またはデータに影響を及ぼすことなく、文字列値を修正できる。したがって、ドイツ語の文字列を定義するDEFINEキーワード・オブジェクトを提供することによって、そのリソース・ファイルを含むアプリケーションのエンド・ユーザに、その文字列値がドイツ語で表示されるようになる。さらに、翻訳される文字列のDEFINEキーワードを別々のリソース・ファイルに保存することによって、別々のリソース・ファイルだけを翻訳者に提供すればよいことになる。したがって、リソース・ファイル全体を翻訳者に提供することがなくなり、翻訳者が翻訳不要のリソース・データを誤って修正する可能性が減る。
【0050】
図9は、図3のビジュアルSTRINGTABLEオブジェクト92のプロパティ・シート160を示す図である。プロパティ・シート160は、DEFINEキーワード・オブジェクトのプロパティ・シートに類似しているが、余分なレベルの間接指定を識別するために、2列ではなく3列が設けられている。DEFINEキーワード・データと同様に、STRINGTABLEキーワード・データも、マクロとして働く。しかし、この場合、文字列は、直接または間接のいずれかの形で定義できる。第1(文字列)列162にある文字列「Product(製品)」には、第2(定義)列164の直接値「IBM Visual Builder (C) 1996」が与えられ、したがって、第3(間接値)列166には値がない。しかし、第1列162の残りの文字列は、第2列164の文字列によって定義される。これらの文字列は、図3のビジュアルINCLUDEオブジェクト82によって表されるINCLUDEキーワード・オブジェクトによってリソース・ファイルsample.jrcに「インクルード」される別の翻訳リソース・ファイルに含まれるDEFINEキーワード・データで定義される。対応するDEFINEキーワード・データの文字列のドイツ語訳を定義する、ドイツ語テキスト版の翻訳リソース・ファイル170を、図10に示す。単に翻訳者に翻訳リソース・ファイル170を提供することによって、大量の面倒なファイルの転送を必要とせず、また、誤ったデータを修正する危険性なしに、適当な翻訳を行うことができる。翻訳済みの翻訳リソース・ファイル170は、INCLUDEキーワード・オブジェクトを介して、図3に示されたリソース・ファイルsample.jrcに単純に組み込まれる。調整処理を介して、翻訳リソース・ファイル170によって提供される値は、(ビジュアルSTRINGTABLEオブジェクト92の第3列を見るために水平スクロール・コントロール106を使用することによって)ビジュアルSTRINGTABLEオブジェクト92内で見ることができ、また、図9のビジュアルSTRINGTABLEオブジェクト92のプロパティ・シート160を表示することによって見ることができる。したがって、アプリケーションに影響する翻訳は、作業域70に表示されるリソース・ファイルをインクルードするアプリケーションをコンパイル、実行する前に、作業域70内で表示することができる。
【0051】
ビジュアル・ビルダ・ツールを使用してリソース・ファイルに追加される可能性がある潜在的なキーワードのそれぞれのプロパティ・シートの正確なフォーマットは、リソース・ファイル・ビジュアル・ビルダ・ツールの作業域70に表示される対応するビジュアル・オブジェクトと同様に、固定されていない。あるキーワードの実際のビジュアル・オブジェクトとプロパティ・シートの両方が、そのキーワードを簡単に識別できるものでなければならず、そのキーワードを介してリソース・ファイルにインクルードされるデータに関する何らかの種類の表示を提供しなければならない。新しいキーワードを作成する際には、各キーワードの新しいJava(R)クラスが、適当なプロパティ・シート及びビジュアル・オブジェクトと共にビジュアル・ビルダに追加されると想定されている。
【0052】
開発者によるリソース・ファイルの完成時には、Java(R)言語ビジュアル・リソース・ファイルを、さまざまな言語のいずれかで記述されたアプリケーションによって使用可能な標準フォーマットのリソース・ファイルに変換する必要がある。このようなテキスト・リソース・ファイルを、図4に示す。図4に示されたファイルは、図3の作業域70に示されたビジュアル・フォーマット・リソース・ファイルに対応する。ビジュアル・ビルダ・ツールは、ビジュアル・リソース・ファイルを含むJava(R)キーワード・オブジェクトを、テキスト・リソース・ファイルの確立された標準規格に適合するテキスト・リソース・ファイルに変換するためのマッピング機能を備えるようにプログラミングされている。基本的に、この変換処理中には、ビルダ・ツールは、開発者によって入力されたデータを受け取り、テキスト・リソース・ファイルに必要なキーワード構造の中にそのデータを配置する。この必要な構造は、当技術分野で既知であり、マッピング機能は、入力データを構造内の適当な位置に配置する。
【0053】
図11の流れ図は、ビジュアル・フォーマット・リソース・ファイルを標準フォーマット・リソース・ファイルに変換する論理処理を示す図である。まず、変換時に結果の標準フォーマット・リソース・ファイルが出力されるファイルを開く(ステップ200)。次に、ビジュアル・フォーマット・リソース・ファイルを検索して、PACKAGE NAMEオブジェクトが含まれるか否かを判定する(ステップ202)。存在する場合、句「PACKAGENAME <パッケージ名>.<クラス名>」をファイルに書き込む(ステップ204)。「パッケージ名」は、結果のJava(R)リソース・クラスを含むJava(R)パッケージの名前であり、「クラス名」は、結果のJava(R)リソース・クラスのクラスの名前である。PACKAGE NAMEオブジェクトが存在しない場合、または、ステップ204が完了した後には、処理はステップ206に進む。
【0054】
次に、ビルダ・ツールは、ビジュアル・フォーマット・リソース・ファイルにINCLUDEオブジェクトが含まれるかどうかを判定する(ステップ206)。含まれる場合、ツールは、INCLUDEオブジェクトごとに「INCLUDE <ファイル名>」を出力ファイルに書き込む(ステップ208)。
【0055】
リソース・ファイルにINCLUDEオブジェクトが存在しない場合、または、すべてのINCLUDEオブジェクトを変換し終えた後に、処理はステップ210に進む。ステップ210では、ビジュアル・フォーマット・リソース・ファイル内にSTRINGTABLEオブジェクトが存在するかどうかを判定する。存在する場合、STRINGTABLEオブジェクトごとに、ビルダ・ツールは、まずリソース・ファイルに名前「STRINGTABLE」を書き込み、次に、後続行に、各文字列の名前とそれに対応する文字列値の組(1行に1組)を書き込む。上で述べたように、文字列値は、STR_FILEなどの変数とすることができ、この場合、値は、DEFINEキーワード・データで定義される。各文字列名とそれに対応する値を出力ファイルに書き込んだ後に、値の最後の組の次の行に、STRINGTABLEキーワード・データの終りを示す「End STRINGTABLE」を書き込むことによってSTRINGTABLEキーワードのフォーマットが完了する(ステップ212)。
【0056】
ステップ214に示されるように、処理は、ビジュアル・フォーマット・リソース・ファイル内の残りの未処理のキーワード・オブジェクトのすべてについてこの形で継続される。上の説明と、標準キーワード・フォーマットが既知であるという事実から、ビジュアル・フォーマット・リソース・ファイルに含まれるキーワード・オブジェクトの変換を可能にする適当なコードを記述することと、まだ作成されていないキーワードの変換コードを将来に提供すること(ステップ216)は、技量を有するプログラマの範囲内である。
【0057】
ビジュアル・フォーマット・リソース・ファイル内のキーワード・オブジェクトのすべての処理が完了したならば、処理は終了し、出力ファイルには、標準リソース・ファイルの処理の既知の技法に従ってさまざまな言語で記述されたプログラムと共に利用できるテキスト・フォーマット・リソース・ファイルが含まれる。
【0058】
Java(R)言語ビルダ・ツールに関して本発明を説明してきたが、本明細書に記載のビルダ・ツールは、他の多くの言語で記述することができる。また、本発明の好ましい実施例を説明したが、本発明の基本的な概念を習得したならば、当業者は、その実施例の追加の変形及び修正を考案できる。したがって、請求の範囲は、好ましい実施例とこのような変形及び修正の両方を、本発明の趣旨及び範囲に含まれるものとして含むものと解釈されなければならない。
【0059】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0060】
(1)各キーワードが、リソース・ファイル・ビルダ・ツールのグラフィカル・ユーザ・インターフェースに表示可能な選択可能アイコン表現を有する、開発中のリソース・ファイル内に含めることのできるキーワードのそれぞれのキーワード・クラスを含むクラス・ライブラリと、
アイコン表現のうちの1つを選択することによって、前記キーワード・クラスのうちの1つをユーザが選択できるようにするための第1サブプロセスと、
選択された前記キーワード・クラスのキーワード・データを入力するよう開発者に促すための第2サブプロセスと、
インスタンス・データとして入力キーワード・データを有する選択された前記キーワード・クラスのインスタンスを前記リソース・ファイル内に保存するための第3サブプロセスと
を含む、前記リソース・ファイルの作成を可能にするための、媒体に含まれるコンピュータ可読コードを含むリソース・ファイル・ビルダ・ツール。
(2)さらに、保存されたインスタンス・データが、前記リソース・ファイル内の前記キーワード・クラスのいずれかの他の保存されたインスタンスの前記インスタンス・データに影響するかどうかを判定し、影響される前記インスタンス・データを更新するための第4サブプロセスを含む、上記(1)に記載のリソース・ファイル・ビルダ・ツール。
(3)各キーワード・クラスが、開発中のリソース・ファイルに含めることのできるキーワードのそれぞれに応答する、複数のキーワード・クラスと、
前記キーワード・クラスのそれぞれの選択可能なビジュアル表現と、
前記キーワード・クラスのビジュアル表現の選択時に、キーワード・データを入力するようユーザに促すプロパティ・シートを、ユーザに表示するために作成するための第1サブプロセスと、
開発者が前記プロパティ・シートに前記キーワード・データを入力し、前記プロパティ・シートを保存した後に、入力キーワード・データを含む前記キーワード・クラスのキーワード・オブジェクトを作成するための第2サブプロセスと、表示のため保存された前記キーワード・オブジェクトのビジュアル表現を作成するための第3サブプロセスと
を含む、開発者が前記リソース・ファイルをビジュアルに構成できるようにするための、媒体に記憶されたコンピュータ可読コードを含むビジュアル・リソース・ファイル・ビルダ・ツール。
(4)さらに、前記キーワード・オブジェクトと共に保存された前記入力キーワード・データが、他のキーワード・オブジェクトの他のキーワード・データに影響するかどうかを判定し、前記他のキーワード・オブジェクトの前記他のキーワード・データが影響を受ける場合に、前記他のキーワード・データを更新する第4サブプロセスを含む、上記(3)に記載のビジュアル・リソース・ファイル・ビルダ・ツール。
(5)さらに、前記キーワード・オブジェクトのビジュアル表現の選択時に、前に前記キーワード・オブジェクトと共に保存された前記キーワード・データをユーザが修正できるようにするため、前記キーワード・オブジェクトの前記プロパティ・シートを表示する第5サブプロセスを含む、上記(3)に記載のビジュアル・リソース・ファイル・ビルダ・ツール。
(6)各キーワードの保存時に各キーワードに対応するグラフィカル・ユーザ・インターフェース内のビジュアル・オブジェクトを作成し、表示するための第1サブプロセスと、
前記ビジュアル・オブジェクトのうちの1つの選択時に、キーワード・データ及び修正可能なキーワード・データを含む、選択された前記ビジュアル・オブジェクトに対応するキーワードのプロパティ・シートを表示する、第2サブプロセスと、
前記プロパティ・シートに含まれる前記キーワード・データを修正することによって、選択されたキーワードの前記キーワード・データをユーザが修正できるようにするための第3サブプロセスと
を含む、リソース・ファイル・ビルダ・ツールのグラフィカル・ユーザ・インターフェース内に、リソース・ファイルに含まれる各キーワードに対応する選択可能なグラフィカル表現をビジュアルに表示するための、コンピュータ可読コード。
(7)所定の文字列のための目標言語のテキストを定義する定義データを有するDEFINEキーワードを含む第1リソース・ファイルと、
第2リソース・ファイルに含まれる各キーワード及びそのキーワード・データのビジュアル表現を含む、ビジュアル・フォーマットで表示される第2リソース・ファイルと
を含み、前記第2リソース・ファイルが、INCLUDEキーワードを介して前記第1リソース・ファイルを含み、前記第2リソース・ファイルに含まれるSTRINGTABLEキーワードのキーワード・データとして前記第1リソース・ファイル内のDEFINEキーワード・データによって翻訳される文字列をビジュアルに表示することを特徴とする、アプリケーションのコンパイルまたは構築の前に、文脈内で翻訳されるテキストの再検討を可能にする、複数のリソース・ファイルを使用するアプリケーションとビジュアル・リソース・ファイル・ビルダとに各国語サポートを提供するためのコンピュータ可読コード。
【図面の簡単な説明】
【図1】本発明を実施できるコンピュータ・ワークステーション環境のブロック図である。
【図2】本発明を実施できるネットワーク化されたコンピュータ環境を示す図である。
【図3】本発明によるビジュアル・リソース・ファイル・ビルダのグラフィカル・ユーザ・インターフェースを示す図である。
【図4】標準テキスト・リソース・ファイルを示す図である。
【図5】本発明によるビジュアル・リソース・ファイル・ビルダ・ツールの論理処理を示す流れ図である。
【図6】本発明によるビジュアル・リソース・ファイル・ビルダ・ツールの論理処理を示す流れ図である。
【図7】PACKAGE NAMEキーワードのプロパティ・シートを示す図である。
【図8】DEFINEキーワードのプロパティ・シートを示す図である。
【図9】STRINGTABLEキーワードのプロパティ・シートを示す図である。
【図10】ドイツ語翻訳データを含む標準テキスト・リソース・ファイルを示す図である。
【図11】ビジュアル・フォーマット・リソース・ファイルを標準テキスト・リソース・ファイルに変換する論理処理の流れ図である。
【符号の説明】
10 ワークステーション
12 マイクロプロセッサ
14 バス
16 ユーザ・インターフェース・アダプタ
18 キーボード
20 マウス
22 インターフェース装置
24 表示装置
26 表示アダプタ
28 メモリ
30 永久記憶装置
32 通信チャネル

Claims (1)

  1. 複数のリソース・ファイルとアプリケーション・プログラムのコンパイルまたは実行の前に文脈内で翻訳されるテキストの再検討を可能にするビジュアル・リソース・ファイル・ビルダ・ツールとを使用してアプリケーション・プログラムに各国語サポートを提供するシステムであって、前記システムは記憶装置を有し、
    前記記憶装置は、
    所定の文字列のための目標言語のテキストを定義する定義データを有するDEFINEキーワードを含む第1リソース・ファイルであって、DEFINEオブジェクトのプロパティ・シートは文字列及び変更可能な文字列の値を入力するようにユーザに促すためのものである、前記第1リソース・ファイルと、
    第2リソース・ファイルに含まれる各キーワード及びそのキーワード・データのビジュアル表現を含むビジュアル・フォーマットで表示される第2リソース・ファイルであって、前記第2リソース・ファイル内で文字列が使用される場所では、定義された文字列の値が前記ビジュアル・リソース・ファイル・ビルダ・ツールによって解析されて、該解析の結果に応じて表示装置にビジュアルに表現される、前記第2リソース・ファイルと
    を記録し、前記システムは前記ビジュアル・リソース・ファイル・ビルダ・ツールによって制御され、
    前記制御の下で前記コンピュータは、INCLUDEキーワード・オブジェクトを介して前記第1リソース・ファイルを読み込み、該第1リソース・ファイル内のDEFINEオブジェクトをメモリに記憶し、そして前記第2リソース・ファイル内の文字列及び文字列の値を、前記メモリに記憶された文字列及び文字列の値に対して検査して、特定の文字列の値が変更された場合、前記第2リソース・ファイル内の文字列の値を前記メモリに記憶された文字列の値と置換し、前記第2リソース・ファイルに含まれるSTRINGTABLEキーワードのキーワード・データとして前記第1リソース・ファイル内のDEFINEキーワード・データによって定義される文字列を前記ビジュアル・リソース・ファイル・ビルダ・ツールのグラフィカル・ユーザー・インターフェイスによって表示装置に表示する、前記システム。
JP2002298796A 1996-08-21 2002-10-11 リソース・ファイル・ビルダ・ツール及びコンピュータ可読コード Expired - Fee Related JP4366065B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/701226 1996-08-21
US08/701,226 US5878425A (en) 1996-08-21 1996-08-21 Intuitive technique for visually creating resource files

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP9218417A Division JPH10116185A (ja) 1996-08-21 1997-08-13 リソース・ファイル・ビルダ・ツール及びコンピュータ可読コード

Publications (2)

Publication Number Publication Date
JP2003140897A JP2003140897A (ja) 2003-05-16
JP4366065B2 true JP4366065B2 (ja) 2009-11-18

Family

ID=24816507

Family Applications (2)

Application Number Title Priority Date Filing Date
JP9218417A Pending JPH10116185A (ja) 1996-08-21 1997-08-13 リソース・ファイル・ビルダ・ツール及びコンピュータ可読コード
JP2002298796A Expired - Fee Related JP4366065B2 (ja) 1996-08-21 2002-10-11 リソース・ファイル・ビルダ・ツール及びコンピュータ可読コード

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP9218417A Pending JPH10116185A (ja) 1996-08-21 1997-08-13 リソース・ファイル・ビルダ・ツール及びコンピュータ可読コード

Country Status (3)

Country Link
US (1) US5878425A (ja)
JP (2) JPH10116185A (ja)
GB (1) GB2316592A (ja)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6113649A (en) * 1996-03-27 2000-09-05 International Business Machines Corporation Object representation of program and script components
US6083279A (en) * 1996-10-10 2000-07-04 International Business Machines Corporation Platform independent technique for transferring software programs over a network
DE19713026B4 (de) * 1997-03-27 2006-01-05 Bts Holding International Bv Bediengerät für videotechnische Geräte
JPH10326212A (ja) * 1997-05-26 1998-12-08 Fujitsu Ltd データ管理装置
US6209125B1 (en) 1997-06-03 2001-03-27 Sun Microsystems, Inc. Method and apparatus for software component analysis
US6263492B1 (en) * 1997-06-06 2001-07-17 Microsoft Corporation Run time object layout model with object type that differs from the derived object type in the class structure at design time and the ability to store the optimized run time object layout model
US6453334B1 (en) 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US5963955A (en) * 1997-09-30 1999-10-05 International Business Machines Corporation Bridge for exporting and importing objects between object oriented programming environments
DE19915135A1 (de) 1998-03-27 1999-11-04 Nec Corp Verfahren zur Erzeugung einer Verknüpfungshinweis-Datei und Tool/Instrument dafür
WO2000043910A1 (en) * 1999-01-22 2000-07-27 Kent Ridge Digital Labs Method and apparatus for indexing and retrieving images using visual keywords
US6427228B1 (en) * 1999-05-12 2002-07-30 International Business Machines Corporation Combining a meta data file and java source code to dynamically create java classes and javabeans
AU5417600A (en) * 1999-05-26 2000-12-18 Sobrio International Incorporated Apparatus and method for re-using and tracking digital assets
US6807549B2 (en) * 1999-06-03 2004-10-19 B.I.S. Advanced Software Systems Ltd. General purpose interpreter and database for accessing enterprise servers over an internet protocol network
US6308178B1 (en) 1999-10-21 2001-10-23 Darc Corporation System for integrating data among heterogeneous systems
KR100416017B1 (ko) * 2000-03-25 2004-01-31 한국과학기술원 Gui 환경 로봇축구 전략 개발 프로그램 및 로봇 축구게임 프로그램이 수록된 저장매체
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US20020087883A1 (en) * 2000-11-06 2002-07-04 Curt Wohlgemuth Anti-piracy system for remotely served computer applications
US20020083183A1 (en) * 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution
US8831995B2 (en) * 2000-11-06 2014-09-09 Numecent Holdings, Inc. Optimized server for streamed applications
US7062567B2 (en) 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
AU2001216840A1 (en) * 2000-11-16 2002-05-27 Polyvalor S.E.C. Body electronic implant and artificial vision system thereof
US7451196B1 (en) 2000-12-15 2008-11-11 Stream Theory, Inc. Method and system for executing a software application in a virtual environment
US6948150B1 (en) * 2001-02-20 2005-09-20 Microsoft Corporation Component based design time architecture
KR100426035B1 (ko) * 2001-08-01 2004-04-03 주식회사 마이크로로보트 마이크로로봇 제어프로그램 교육 시스템
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
CA2371646A1 (en) * 2002-02-13 2003-08-13 Ibm Canada Limited-Ibm Canada Limitee Configuration model for configuring an adapter software component to selectively access software objects and object editor using instance of same
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US20040019875A1 (en) * 2002-04-29 2004-01-29 Welch Keith C. Masked edit control for use in a graphical programming environment
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US7761845B1 (en) * 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
CA2443447A1 (en) * 2003-09-30 2005-03-30 Ibm Canada Limited-Ibm Canada Limitee System and method for conversion between graph-based representations and structural text-based representations of business processes
CA2453612A1 (en) * 2003-12-17 2005-06-17 Ibm Canada Limited - Ibm Canada Limitee Integrated visual and language-based system and method for reusable data transformations
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US20060020930A1 (en) * 2004-07-23 2006-01-26 Press - Sense Ltd. System and method of identifying source code associated with a displayed component
US8286125B2 (en) * 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US20060048136A1 (en) * 2004-08-25 2006-03-02 Vries Jeff D Interception-based resource detection system
US7240162B2 (en) 2004-10-22 2007-07-03 Stream Theory, Inc. System and method for predictive streaming
WO2006055445A2 (en) 2004-11-13 2006-05-26 Stream Theory, Inc. Hybrid local/remote streaming
US20060136389A1 (en) * 2004-12-22 2006-06-22 Cover Clay H System and method for invocation of streaming application
US7610297B2 (en) 2005-01-25 2009-10-27 Honeywell International Inc. Method to automate resource management in computer applications
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US8024523B2 (en) * 2007-11-07 2011-09-20 Endeavors Technologies, Inc. Opportunistic block transmission with time constraints
US20060218165A1 (en) * 2005-03-23 2006-09-28 Vries Jeffrey De Explicit overlay integration rules
US9716609B2 (en) * 2005-03-23 2017-07-25 Numecent Holdings, Inc. System and method for tracking changes to files in streaming applications
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US7810068B2 (en) * 2005-10-18 2010-10-05 Red Hat, Inc. Paste by example
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US8261345B2 (en) 2006-10-23 2012-09-04 Endeavors Technologies, Inc. Rule-based application access management
US8768689B2 (en) * 2007-02-14 2014-07-01 Nuance Communications, Inc. Method and system for translation management of source language text phrases
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US8892738B2 (en) * 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8484218B2 (en) * 2011-04-21 2013-07-09 Google Inc. Translating keywords from a source language to a target language
US20140130011A1 (en) * 2012-11-07 2014-05-08 United States Government, As Represented By The Secretary Of The Navy Re-programmable process for configurable software
US10343500B2 (en) 2017-03-24 2019-07-09 Ford Global Technologies, Llc Vehicle window assembly with polarized windowpanes and method of operating same

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB587394A (en) * 1943-06-19 1947-04-24 Charles Stuart Shapley Improvements in or relating to furnace doors and the like
JP2525546B2 (ja) * 1992-09-08 1996-08-21 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィックリソ―ス・エディタ
JP2522898B2 (ja) * 1992-09-08 1996-08-07 インターナショナル・ビジネス・マシーンズ・コーポレイション 動的カストマイズ方法及びグラフィックリソ―ス・エディタ
US5737736A (en) * 1994-07-29 1998-04-07 Oracle Corporation Method and apparatus for storing objects using a c-structure and a bind descriptor
US5732266A (en) * 1994-09-02 1998-03-24 Compaq Computer Corporation Storage medium storing application programs and application initialization files and automatic launching of computer applications stored on the storage medium

Also Published As

Publication number Publication date
US5878425A (en) 1999-03-02
GB2316592A (en) 1998-02-25
GB9716163D0 (en) 1997-10-08
JPH10116185A (ja) 1998-05-06
JP2003140897A (ja) 2003-05-16

Similar Documents

Publication Publication Date Title
JP4366065B2 (ja) リソース・ファイル・ビルダ・ツール及びコンピュータ可読コード
US7937688B2 (en) System and method for context-sensitive help in a design environment
US5784583A (en) Intuitive technique for building graphical menus
US6804686B1 (en) System and methodology for providing fixed UML layout for an object oriented class browser
US9361069B2 (en) Systems and methods for defining a simulated interactive web page
AU761413B2 (en) Computer based documentation and instruction
KR100431169B1 (ko) 소프트웨어 프로그램의 텍스트 데이터 편집방법, 컴퓨터시스템 및 컴퓨터 프로그램 제품
US7017143B1 (en) External resource files for application development and management
US5999942A (en) Method and apparatus for enforcement of behavior of application processing systems without modifying application processing systems
US7634720B2 (en) System and method for providing context to an input method
US7581206B2 (en) Systems and methods for creating and providing templates in a single file
US7552418B2 (en) Systems and methods for creating and providing templates in a single file
US20070006206A1 (en) Cross version and cross product user interface
EP1630667A2 (en) System and method for comparing objects
US7275240B2 (en) Method and system for recording macros in a language independent syntax
JP2000003274A (ja) コンピュータ上で実行可能なエディタのテキスト要素生成方法及びエディタのテキスト要素生成装置並びにエディタ上にテキスト要素を生成させるように構成されたプログラムを記憶したコンピュータ読み取り可能な記憶媒体
JPH08512152A (ja) インクリメンタル生成システム
EP1333374A1 (en) Dynamic generation of language localized and self-verified Java classes using XML descriptions and static initializers
Cunningham et al. Developing language processing components with GATE (a user guide)
US20030182287A1 (en) Interface for an electronic spreadsheet and a database management system
Röhs A visual editor for semantics specifications using the eclipse graphical modeling framework
Libes et al. An Object-Oriented Tcl/Tk Binding for Interpreted Control of the NIST EXPRESS Toolkit in the NIST STEP Application Protocol Development Environment
Headquarters Information in this document is subject to change without notice and does not represent a commitment on the part of the vendor or its representatives. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, without the written permission of Pitney Bowes Software Inc., One Global View, Troy, New York 12180-8399.© 2008 Pitney Bowes Software Inc. All rights reserved. MapInfo, the Pitney Bowes Software logo, MapBasic, and MapInfo Professional are trademarks of Pitney Bowes Software Inc. and/or its affiliates.
Coffee Ada development tools add beauty to brains, brawn; ActivAda expands compiler with integrated Windows environment.
Ralich EMC 2 On-the-Fly Configurations

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050907

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20051205

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20051208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060322

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060619

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060911

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060911

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20060911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060911

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070125

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070125

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070302

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070413

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20081216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090730

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20090819

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090824

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees