(57)【要約】      （修正有）【課題】複数の文字列をコピーしペーストする際に、ユーザの操作を低減して所定の位置に配置することを可能とする。【解決手段】画面上の文字列を複数のバッファとして記憶する記憶領域を有する情報処理装置において、文字列をバッファとして記憶領域に登録し、登録された第１のバッファの中の所定の文字の数を計数する所定文字計数手段を有する。所定文字計数手段により計数された数のバッファ記憶領域を第２のバッファとして登録し、所定文字計数手段により計数された数のバッファ記憶領域に第２のバッファが登録された後、第１および第２のバッファを貼り付ける指定を受け付け、指定を受け付けた位置に、第１のバッファの中の所定の文字を第２のバッファに置き換えて、第１のバッファを貼り付ける。【選択図】なし【特許請求の範囲】
【請求項１】
画面上の文字列を複数のバッファとして記憶する記憶領域を有する情報処理装置において、
前記バッファとして記憶される文字列領域の指定を受け付ける領域指定受付手段と、
前記領域指定受付手段により指定された文字列領域の文字列をバッファとして記憶領域に登録するバッファ登録手段と、
前記バッファ登録手段に登録された第１のバッファの中の所定の文字の数を計数する所定文字計数手段と、
前記バッファ登録手段は、前記所定文字計数手段により計数された数のバッファ記憶領域に、前記領域指定受付手段により指定された文字列領域の文字列を第２のバッファとして登録するものであり、
前記所定文字計数手段により計数された数のバッファ記憶領域に第２のバッファが登録された後、前記第１および第２のバッファを貼り付ける指定を受け付ける貼付受付手段と、
前記貼付受付手段により貼り付ける指定を受け付けた位置に、前記第１のバッファの中の所定の文字を前記第２のバッファに置き換えて、該第１のバッファを貼り付ける貼付手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記貼付手段は、前記所定文字計数手段が複数の場合、前記第２のバッファとして登録した順番に、前記第１のバッファの中の所定の文字を該第２のバッファに順に置き換えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１のバッファの中の所定の文字の前後の文字を変数名として記憶する変数名記憶手段と、
前記貼付手段は、前記第２のバッファ内の前記変数名記憶手段で記憶された変数名へ代入されている代入値を、前記第１のバッファの中の所定の文字と変数名とを、該代入値に置き換えることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記貼付手段は、前記所定文字計数手段により計数された数と、前記第２のバッファとして登録される文字列の数とが一致する場合に前記第１のバッファの中の所定の文字を前記第２のバッファに置き換えて、該第１のバッファを貼り付け、前記所定文字計数手段により計数された数と、前記第２のバッファとして登録される文字列の数とが一致しない場合、前記第２のバッファの最も新しいバッファを貼り付けることを特徴とする請求項２に記載の情報処理装置。
【請求項５】
画面上の文字列を複数のバッファとして記憶する記憶領域を有する情報処理装置における情報処理方法であって、
前記バッファとして記憶される文字列領域の指定を受け付ける領域指定受付ステップと、
前記領域指定受付ステップにより指定された文字列領域の文字列をバッファとして記憶領域に登録するバッファ登録ステップと、
前記バッファ登録ステップに登録された第１のバッファの中の所定の文字の数を計数する所定文字計数ステップと、
前記バッファ登録ステップは、前記所定文字計数ステップにより計数された数のバッファ記憶領域に、前記領域指定受付ステップにより指定された文字列領域の文字列を第２のバッファとして登録するものであり、
前記所定文字計数ステップにより計数された数のバッファ記憶領域に第２のバッファが登録された後、前記第１および第２のバッファを貼り付ける指定を受け付ける貼付受付ステップと、
前記貼付受付ステップにより貼り付ける指定を受け付けた位置に、前記第１のバッファの中の所定の文字を前記第２のバッファに置き換えて、該第１のバッファを貼り付ける貼付ステップと
を有することを特徴とする情報処理装置。
【請求項６】
画面上の文字列を複数のバッファとして記憶する記憶領域を有する情報処理装置に適用可能なプログラムであって、
前記情報処理装置を、
前記バッファとして記憶される文字列領域の指定を受け付ける領域指定受付手段と、
前記領域指定受付手段により指定された文字列領域の文字列をバッファとして記憶領域に登録するバッファ登録手段と、
前記バッファ登録手段に登録された第１のバッファの中の所定の文字の数を計数する所定文字計数手段と、
前記バッファ登録手段は、前記所定文字計数手段により計数された数のバッファ記憶領域に、前記領域指定受付手段により指定された文字列領域の文字列を第２のバッファとして登録するものであり、
前記所定文字計数手段により計数された数のバッファ記憶領域に第２のバッファが登録された後、前記第１および第２のバッファを貼り付ける指定を受け付ける貼付受付手段と、
前記貼付受付手段により貼り付ける指定を受け付けた位置に、前記第１のバッファの中の所定の文字を前記第２のバッファに置き換えて、該第１のバッファを貼り付ける貼付手段と
を有することを特徴とする情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面に表示された文字列を再利用可能な情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、情報処理装置の画面に表示されている文字列を再利用する仕組みが提供されている。たとえば、ユーザがマウスやカーソルで文字列を指定してコピー（記憶領域に記憶）を行い、コピーした文字列を別の部分に貼り付ける、いわゆるコピー＆ペーストという処理により、ユーザは画面に表示されている文字列を再利用することができる。
【０００３】
また、特許文献１では、複数のペーストバッファを番号とともに指定し、その後ペーストする領域とペーストするペーストバッファを選択する技術により、複数のコピー＆ペーストをする場合にコピー元画面とコピー先画面を何度も表示し直すことなく、効率よく転写できる技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−２９８００３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１では、ペーストする際にペーストする場所や複数のペーストバッファをユーザに選択させる操作を行わせるため、ペーストする部分や順番が決まっている場合でも、ユーザがペーストする場所やペーストするペーストバッファをその都度指定しなければならなかった。
【０００６】
そこで、本願発明では、複数の文字列をコピーしペーストする際に、ユーザの操作を低減して所定の位置に配置することが可能になり、ユーザ操作を容易にすることを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、画面上の文字列を複数のバッファとして記憶する記憶領域を有する情報処理装置において、前記バッファとして記憶される文字列領域の指定を受け付ける領域指定受付手段と、前記領域指定受付手段により指定された文字列領域の文字列をバッファとして記憶領域に登録するバッファ登録手段と、前記バッファ登録手段に登録された第１のバッファの中の所定の文字の数を計数する所定文字計数手段と、前記バッファ登録手段は、前記所定文字計数手段により計数された数のバッファ記憶領域に、前記領域指定受付手段により指定された文字列領域の文字列を第２のバッファとして登録するものであり、前記所定文字計数手段により計数された数のバッファ記憶領域に第２のバッファが登録された後、前記第１および第２のバッファを貼り付ける指定を受け付ける貼付受付手段と、前記貼付受付手段により貼り付ける指定を受け付けた位置に、前記第１のバッファの中の所定の文字を前記第２のバッファに置き換えて、該第１のバッファを貼り付ける貼付手段とを有することを特徴とする。
【発明の効果】
【０００８】
本願発明では、複数の文字列をコピーしペーストする際に、ユーザの操作を低減して所定の位置に配置することが可能になり、ユーザ操作の煩雑さを防ぐことを可能とする。
【０００９】
さらに言うと、最初にコピーした文字列に含まれる置換記号を、後からコピーされた文字列にコピーされた順番で置換して最後にペーストすることにより、一度テキストエディタなどにコピー＆ペーストして、置き換えたい部分をさらにコピー＆ペーストするという煩わしい処理を低減することができる。
【００１０】
置換することが可能になり、また通常の一項目だけのコピー＆ペーストを実施する場合も違和感なく実行することが可能となる。
【００１１】
また、この技術でユーザが通常の一項目だけのコピー＆ペーストを実施する場合、ペーストの度に複数のペーストバッファを選択させる画面が出てくるため、ユーザ操作が煩わしい
【００１２】
また、今回のような複数のコピー行為後にペーストする機能を実装しようとすると、たとえば先行技術１のように操作が煩雑になることがあるが、本発明はこれまでの通常のコピー＆ペーストも違和感なく実行することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る情報処理システムの構成の一例を示すシステム構成図である。
【図２】本発明の実施形態のクイアント端末１００、サーバ２００〜２０２などの各種端末のハードウエア構成を示す図である。
【図３】本発明の実施形態のクライアント端末１００における制御処理手段の一例を示す第１のフローチャートである。
【図４】本発明の実施形態のクライアント端末１００における制御処理手段の一例を示す第２のフローチャートである。
【図５】本発明の実施形態のクライアント端末１００における制御処理手段の一例を示す第３のフローチャートである。
【図６】本発明に係るアプリケーションログ画面およびテキストエディタ画面のイメージの一例を示す模式図である。
【図７】本発明に係るアプリケーションログ画面およびテキストエディタ画面のイメージの一例を示す模式図である。
【図８】本発明の実施形態におけるアプリケーションログ画面イメージと、対応するクリップボード内のデータの一例を示す模式図である。
【図９】本発明の実施形態におけるクリップボード内のデータおよび生成される貼り付けデータの一例を示す模式図である。
【図１０】本発明の実施形態におけるクリップボード内のデータおよび生成される貼り付けデータの一例を示す模式図である。
【図１１】本発明の実施形態におけるクリップボード内のデータおよび生成される貼り付けデータの一例を示す模式図である。
【図１２】本発明の実施形態に係るクライアント端末１００が有するデータの一例を示した模式図である。
【発明を実施するための形態】
【００１４】
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
【００１５】
図１は、本発明に係る情報処理システムの構成の一例を示すシステム構成図である。
【００１６】
図１において、情報処理システムは、ユーザが操作するクライアント端末１００と、ネットワーク１１０を介して接続されるデータベース機能を有するデータベースサーバ１０１、データベースログ管理機能を有するデータベースログ管理サーバ１０２、様々なアプリケーションを実行するアプリケーションサーバ１０３などのサーバを有している。
【００１７】
データベースサーバ１０１は、アプリケーションサーバ１０３の要求により、アプリケーション上で使用されるデータを検索、参照、更新する処理を実行するサーバであり、アプリケーションサーバ１０３は、クライアント端末１００からの要求により様々なアプリケーションを実行する。また、クライアント端末１００からも直接データベースサーバ１０１やデータベースログ管理サーバ１０２にアクセスすることもできる。
【００１８】
データベースログ管理サーバ１０２は、データベースサーバ１０１内で処理されたＳＱＬコマンドやコマンド処理後に生成されるコマンドログなどを記憶、管理しているサーバである。データベースサーバ１０１でトラブルが発生した場合、クライアント端末１００からデータベースサーバ１０１へ直接アクセスする場合がある。その場合、クライアント端末１００からデータベースサーバ１０１のデータベースへスクリプトとしてＳＱＬコマンドを発行して、動作確認をすることがある。過去に発行されたＳＱＬコマンドの実行結果などを確認するためにデータベースログ管理サーバ１０２に出力されたログ画面を確認して同じＳＱＬコマンドを発行する場合がある。図６を参照して、ユーザがＳＱＬコマンドログ画面からＳＱＬコマンドを発行する手順を説明する。
【００１９】
図６は、本発明に係るアプリケーションログ画面およびテキストエディタ画面のイメージの一例を示す模式図である。
【００２０】
６００は、一度データベースサーバ１０１のデータベースへ送信した結果出力されているアプリケーションログ画面であり、６０１にはＳＱＬコマンドが出力され、６０２にはＳＱＬコマンド内の変数の値が出力されている。このＳＱＬコマンドを完成させると、
【００２１】
“ｓｅｌｅｃｔ  ＊  ｆｒｏｍ  Ｗｈｅｒｅ  ｉｔｅｍｎａｍｅ  ＝  ｉｔｅｍＡ  ＡＮＤ  ｍａｋｅｒＮａｍｅ  ＝  ｍａｋｅｒＢ”
【００２２】
となるが、６０１のログでは変数の値が別の形『？』（６０３）で出力されているため、６１０の６１１のようにＳＱＬコマンド部分をコピーしても、そのままではスクリプトとして実行できない。
【００２３】
そのため、ＳＱＬコマンド部分６１１をたとえばクライアント端末１００のバッファにコピーし、クライアント端末１００上のテキストエディタ６１５などに貼り付けて、ＳＱＬコマンドを修正後、修正したＳＱＬコマンドをスクリプトとしてデータベースサーバ１０１のデータベースへ送信する。図７を参照して、ＳＱＬコマンドをテキストエディタ上で修正する従来の方法を説明する。
【００２４】
図７は、本発明に係るアプリケーションログ画面およびテキストエディタ画面のイメージの一例を示す模式図である。
【００２５】
７００、７０５はそれぞれアプリケーションログ画面およびテキストエディタ画面のイメージであり、テキストエディタ７０５には、図６の６１５で貼り付けられたＳＱＬコマンド部分が表示されている。
【００２６】
次のユーザの操作としては、“ｉｔｅｍＮａｍｅ”変数名の具体的な値である“ｉｔｅｍＡ”（７０１）という欄をコピーし、テキストエディタ７０５の１つ目の『？』である７０２の位置に、コピーした７０１の部分をペーストする。
【００２７】
同様に、７１０と７１５において、２つ目の『？』の位置に当たる７１２に、変数名“ｍａｋｅｒＮａｍｅ”の代入式の値として、７１０の該当する変数値“ｍａｋｅｒＢ”をコピーして、ペースト位置７１２に貼付ける。その後、ペーストされたテキストエディタのＳＱＬコマンド７１５をデータベースサーバ１０１のデータベースに発行して、データベースの出力結果を取得する処理を行う。
【００２８】
これらの処理のように、従来はユーザがアプリケーションログ画面とたとえばテキストエディタ画面の間を該当する変数の数だけ、繰り返しコピー＆ペーストする必要があり、変数が多くなるとユーザの操作が煩わしくなる。この課題を解決する手段を以下で説明する。
【００２９】
なお、以下では、図１のような複数のサーバで構成されたシステムにおける処理として説明しているが、クライアント端末を含め、一つの機器からなる装置に適用しても良いし、複数の機器から構成されるシステムに適用しても良い。
【００３０】
図２は、本発明の実施形態のクライアント端末１００、サーバ２００〜２０２などの各種端末のハードウエア構成を示す図である。
【００３１】
図２において、ＣＰＵ２０１は、システムバス２０４に接続される各デバイスを統括的に制御する。
【００３２】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステム（ＯＳ）や、各サーバあるいは各クライアントの後述する各種機能を実現するためのプログラムが記憶されている。
【００３３】
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア、一時待避領域等として機能する。
【００３４】
入力コントローラ２０５は、入力部２０９からの入力を制御する。この入力部２０９としては、特に、サーバやクライアント等の端末では、キーボード、マウス等のポインティングデバイスが挙げられる。また、印刷装置等では、タッチパネル、ボタン、スイッチ等が挙げられる。
【００３５】
出力コントローラ２０６は、出力部２１０の表示を制御する。この出力部２１０としては、たとえば、液晶ディスプレイ等が挙げられる。
【００３６】
外部メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ２１１へのアクセスを制御する。加えて、各サーバあるいは各クライアントの各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ２１１としては、ハードディスク（ＨＤ）やフロッピー（登録商標）ディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）、スマートメディア等が挙げられる。
【００３７】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器との通信制御処理を実行する。
【００３８】
本発明を実現するためのプログラム（図１４）は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。
【００３９】
以下、図３を参照して、本発明における実施形態の流れを説明する。
【００４０】
図３は、本発明の実施形態のクライアント端末１００における制御処理手段の一例を示すフローチャートであり、図中のＳ３０１〜Ｓ３０７は各ステップを示す。各ステップの処理は、クライアント端末１００の外部メモリ２１１に格納されたアプリケーションプログラムを、クライアント端末１００のＣＰＵ２０１がＲＡＭ２０３上にロードして実行することにより実現される。
【００４１】
図３のフローチャートは、クライアント端末１００において、ユーザにより出力部２１０にテキストを表示した状態で、クライアント端末１００のマウスやキーボードなどでテキスト（文字列領域）の一部分の指定を受け付け（領域指定受付）、クリップボード等のバッファ領域にコピーすると開始される処理の流れである。
【００４２】
まず、ステップＳ３０１において、クライアント端末１００のＣＰＵ２０１は、ユーザの処理がクリップボードへのコピーかどうかを判断する。たとえば、図６の６１１のように、ユーザによりテキストの一部分が選択され、クリップボードなどのバッファ領域にコピーする処理がなされた場合、ステップＳ３０２へと処理を遷移する。クリップボードへのコピー処理ではない場合、本発明の処理を終了し、通常のクライアント端末１００の処理を実行する。
【００４３】
ステップＳ３０２へと処理を遷移すると、クライアント端末１００のＣＰＵ２０１は、クリップボードにコピーされた文字列に予め指定されている置換記号（実施例では『？』や『：』）が含まれているかを判断する。クリップボードにコピーされた文字列に予め指定されている文字である置換記号『？』や『：』が含まれている場合は、ステップＳ３０３へと処理を遷移し、置換記号『？』や『：』が含まれていない場合は、ステップＳ３０６へと処理を遷移する。このクリップボードにコピーされた文字列に置換記号『？』や『：』があるかないかによって、本発明の処理の最初のコピーか、そうでないかを判断している。
【００４４】
ステップＳ３０１でコピーされた文字列に置換記号『？』や『：』が含まれていれば、ステップＳ３０３へと処理を遷移し、クライアント端末１００のＣＰＵ２０１は、ステップＳ３０３において、コピーされた文字列をバッファ領域に置換用バッファ（第１のバッファ）として保存する（バッファ記憶領域に登録する第１のバッファ登録）。
【００４５】
次に、ステップＳ３０４において、クライアント端末１００のＣＰＵ２０１は、置換用バッファ内に、『？』や『：』がいくつ含まれているかをカウントし、保存する。置換用バッファ内に存在する『？』や『：』の数を保存しているデータの例を図１２を参照して説明する。
【００４６】
図１２は、本発明の実施形態に係るクライアント端末１００が有するデータの一例を示した模式図である。
【００４７】
１２００は、クリップボード内のデータの例であり、当初コピーされた文字列が複数のクリップボードの最初の欄１２０５に置換用バッファとして保存されている。
【００４８】
１２０１には、初期化された後から何個コピーされたかをカウントするコピーカウンタ１２０３と、置換用バッファ内に存在する『？』や『：』の数を保存している置換記号数１２０２が登録されている。１２０５の例では、『？』の文字が文字列に２個含まれているので、置換記号数１２０２には『２』という数字が登録される。図３のフローチャートの説明に戻る。
【００４９】
ステップＳ３０４において、置換記号の数を保存（登録）すると、次のステップＳ３０５において、クライアント端末１００のＣＰＵ２０１は、コピーカウンタを初期化（すなわち『０』に）する。コピーカウンタは、初期化後、文字列をコピーする度に増えていくものであり、コピーカウンタと置換記号数とが一致する場合だけ、置換記号部分を置換する。この処理によりユーザが置換を意図する回数だけコピー処理が行われた場合だけ置換処理を行うことができる。詳細は図４を参照して後述する。
【００５０】
ステップＳ３０５の処理後、ステップＳ３０８において、クライアント端末１００のＣＰＵ２０１は、後述する交換用バッファ領域をクリアし、交換用バッファを初期化して、処理を終える。
【００５１】
一方、ステップＳ３０２において、ステップＳ３０１でコピーされた文字列に置換記号『？』や『：』が含まれていない場合は、ステップＳ３０６へと処理を遷移する。
【００５２】
ステップＳ３０６において、クライアント端末１００のＣＰＵ２０１は、クリップボードにコピーされた文字列を交換用バッファに保存する（バッファ記憶領域に登録する第２のバッファ登録）。この交換用バッファの文字列は、図５で後述するように置換記号と置き換えられる可能性のある文字列であり、少なくとも置換記号の数は登録され得る。
【００５３】
次に、ステップＳ３０７において、クライアント端末１００のＣＰＵ２０１は、ステップＳ３０５で初期化されたコピーカウンタをインクリメントし、処理を終える。このステップＳ３０６からステップＳ３０７の処理は、クリップボードにコピーされた文字に置換記号が含まれていない間、繰り返される処理である。
【００５４】
以上のように、ユーザからのクリップボードへのコピー処理が続く間は図３のフローチャートの処理を実行する。
【００５５】
次に、図４を参照して、ユーザがクリップボードの値を貼り付ける場合の処理の流れを説明する。
【００５６】
図４は、本発明の実施形態のクライアント端末１００における制御処理手段の一例を示すフローチャートであり、図中のＳ４０１〜Ｓ４０５は各ステップを示す。各ステップの処理は、クライアント端末１００の外部メモリ２１１に格納されたアプリケーションプログラムを、クライアント端末１００のＣＰＵ２０１がＲＡＭ２０３上にロードして実行することにより実現される。
【００５７】
図４のフローチャートは、クライアント端末１００において、出力部２１０に表示されたテキスト部分にユーザが文字列のペースト（貼付け）処理を行うと開始される処理の流れである。
【００５８】
まず、ステップＳ４０１において、クライアント端末１００のＣＰＵ２０１は、ペースト処理を受け付けたかどうかを判断する。ペースト処理の指定方法は、マウスの右クリックなどによるショートカットメニューによる指定でも良いし、ユーザのキーボードによる指定（［ｃｔｒｌ］キー＋［Ｖ］など）でも良い。ペースト処理を受け付けたと判断されると、ステップＳ４０２へと処理を遷移し、ペースト処理を受け付けていないと判断されると、本発明の処理を中断し、通常の情報処理装置の処理を継続する。
【００５９】
ステップＳ４０２へと処理を遷移すると、クライアント端末１００のＣＰＵ２０１は、クライアント端末１００で保存されているコピーカウンタが０でないかを判断する。コピーカウンタが０である場合、すなわち、ステップＳ３０５の処理の後でさらなるコピー操作が行われていない場合は、通常のコピー＆ペースト処理であるため、ステップＳ４０５の処理へと遷移し、ステップＳ３０３で保存した置換用バッファの文字列をペーストし、本発明の処理を終える。
【００６０】
一方、ステップＳ４０２において、コピーカウンタが０でない場合は、本発明の処理を継続するため、ステップＳ４０３へと処理を遷移する。
【００６１】
ステップＳ４０３において、クライアント端末１００のＣＰＵ２０１は、置換記号数（１２０２）とコピーカウンタ（たとえば、１２０３）とが一致しているかどうかを判断する。置換記号数とコピーカウンタが一致している場合は、ユーザが置換記号をコピーした文字に変更しようとして、故意に複数回コピーしたと考えられるので、ステップＳ４０４の置換記号置き換え処理へと処理を遷移する。ステップＳ４０４の詳細は図５を参照して後述する。
【００６２】
置換記号数とコピーカウンタが一致していない場合、たとえば、置換記号数が『２』に対して、コピーした回数（コピーカウンタ）が『１』もしくは『３』である場合は、ユーザが置換記号の数を考慮せずに複数回コピーしていると考えられるので、その場合もステップＳ４０５へと処理を遷移し、ステップＳ３０６で保存された交換用バッファの内の最新の文字列をペーストし、本発明の処理を終える。
【００６３】
次に、ステップＳ４０４の処理の詳細を図５を参照して説明する。
【００６４】
図５は、本発明の実施形態のクライアント端末１００における制御処理手段の一例を示すフローチャートであり、図中のＳ５０１〜Ｓ５１１は各ステップを示す。各ステップの処理は、クライアント端末１００の外部メモリ２１１に格納されたアプリケーションプログラムを、クライアント端末１００のＣＰＵ２０１がＲＡＭ２０３上にロードして実行することにより実現される。
【００６５】
図５のフローチャートは、本発明の処理がステップＳ４０４へと遷移した際に開始される処理の流れである。
【００６６】
まず、ステップＳ５０１において、クライアント端末１００のＣＰＵ２０１は、ステップＳ３０３で保存した置換用バッファの文字列を取得する。
【００６７】
次に、ステップＳ５０２において、クライアント端末１００のＣＰＵ２０１は、ステップＳ５０１で取得した置換用バッファに置換記号の『？』が含まれているかを判断する。置換記号の『？』が含まれている場合は、ステップＳ５０３へと処理を遷移し、『？』が含まれていない場合は、ステップＳ５０８へと処理を遷移する。
【００６８】
ステップＳ５０３からＳ５０７の処理は、置換記号『？』を、後からコピーされた文字列にコピーされた順番で置換することにより、置換記号『？』を自動的にコピーされた文字列に順番に貼り付けた結果を１度のペースト行為で実行できる機能である。この処理により、コピー行為を複数回実行した後でペースト行為を１度実行すれば、ユーザが望むペースト結果が貼り付けられ、コピーとペーストという一連のユーザの行為を複数回実行する行為を削減できる効果を有する。
【００６９】
ステップＳ５０３において、クライアント端末１００のＣＰＵ２０１は、置換用バッファの文字列の中にある置換記号『？』の内、先頭位置の『？』を検出する。
【００７０】
次に、ステップＳ５０４において、クライアント端末１００のＣＰＵ２０１は、交換用バッファが複数ある場合に、交換用バッファの何個目を指定しているかを示すバッファポインタを先頭の交換用バッファとする。
【００７１】
次に、ステップＳ５０５において、クライアント端末１００のＣＰＵ２０１は、置換用バッファの中の最初の置換記号『？』を、バッファポインタの交換用バッファに置換する。
【００７２】
次に、ステップＳ５０６において、クライアント端末１００のＣＰＵ２０１は、ステップＳ５０６で置換された置換用バッファの中に置換記号『？』が含まれているか（残っているか）を判断する。置換記号『？』が残っていないと判断される場合、ステップＳ５１５へと処理を遷移し、クライアント端末１００のＣＰＵ２０１は、置換された置換用バッファの文字列をペーストする。
【００７３】
一方、ステップＳ５０６で置換された置換用バッファの中に置換記号『？』が残っていると判断される場合は、ステップＳ５０７へと処理を遷移する。
【００７４】
ステップＳ５０７において、クライアント端末１００のＣＰＵ２０１は、ステップＳ５０６で検出した置換記号『？』の位置を記憶する。また、交換用バッファの何個目を指定しているかを示すバッファポインタを次の交換用バッファに移動する。その後、ステップＳ５０５へと遷移し、置換記号『？』をバッファポインタの交換用バッファに置換し、ステップＳ５０６において置換用バッファ内の置換記号『？』の有無により、ステップＳ５０７に遷移するかステップＳ５１５に遷移するかを判断する。
【００７５】
以上の処理を繰り返すことにより、最初にコピーした文字列に含まれる置換記号（『？』など）を、後からコピーされた文字列にコピーされた順番で置換して最後にペーストすることにより、一度テキストエディタなどにコピー＆ペーストして、置き換えたい部分をさらにコピー＆ペーストする煩わしい処理を低減することができる。
【００７６】
一方、ステップＳ５０２において、ステップＳ５０１で取得した置換用バッファに置換記号の『？』が含まれていないと判断された場合、すなわち置換記号が『？』以外の文字であった場合は、ステップＳ５０８へと処理を遷移する。なお、本発明において、上記で説明した置換記号『？』は、記号『？』自体を交換用バッファに置換する記号として利用しているが、以下に説明する『：』（コロン）は、『：』以降に続く文字（列）と同じ文字列の変数の代入式を持つ交換用バッファから、前記変数に代入された値を『：』（コロン）以降に続く文字（列）と置換するために利用する。なお、置換記号『？』や『：』は、これらの記号以外でもよく、ＳＱＬコマンド文や他の文章などで使われにくい文字であれば何でも良い。
【００７７】
ステップＳ５０８において、クライアント端末１００のＣＰＵ２０１は、ステップＳ５０１で取得した置換用バッファから、置換記号『：』＋『文字（列）』に対応する部分を検索する。『文字（列）』と、それ以外のＳＱＬコマンド部分との境は、通常入力されているスペース文字（空白文字）などにより特定する。
【００７８】
次に、ステップＳ５０９において、クライアント端末１００のＣＰＵ２０１は、ステップＳ５０１で取得した置換用バッファに、置換記号『：』＋『文字（列）』が含まれているかどうかを判断する。置換用バッファに、置換記号『：』＋『文字（列）』が含まれている場合はステップＳ５１０へと処理を遷移し、置換記号『：』＋『文字（列）』が含まれていない場合は、ステップＳ５１５へと処理を遷移する。ステップＳ５１５へと処理を遷移すると、現在の置換用バッファの文字列をペーストして本発明の処理を終了する。
【００７９】
ステップＳ５１０へと処理を遷移すると、クライアント端末１００のＣＰＵ２０１は、ステップＳ５０８で検索した置換記号『：』＋『文字（列）』の『文字（列）』部分を変数名として記憶し（変数名記憶）、同じ文字（列）の変数名の代入式を、交換用バッファ内から検索する。
【００８０】
次に、ステップＳ５１１において、クライアント端末１００のＣＰＵ２０１は、交換用バッファ内に『文字（列）』と同じ変数名の代入式があるかどうかを判断する。交換用バッファ内に『文字（列）』と同じ変数名の代入式がある場合は、ステップＳ５１２へと処理を遷移し、『文字（列）』と同じ変数名の代入式がない場合は、ステップＳ５１５へと処理を遷移する。ステップＳ５１５へと処理を遷移すると、現在の置換用バッファの文字列をペーストして本発明の処理を終了する。
【００８１】
ステップＳ５１２へと処理を遷移すると、クライアント端末１００のＣＰＵ２０１は、ステップＳ５１０で検索した交換用バッファを選択し、ステップＳ５１３において、選択された交換用バッファから代入式の『文字（列）＝』の部分を取り除き、『文字（列）』の変数名への代入値を取得する。
【００８２】
次に、ステップＳ５１４において、置換用バッファ内の置換記号『：』＋『文字（列）』の部分を、ステップＳ５１３で取得した代入値に置換して、置換用バッファを記憶する。
【００８３】
その後、ステップＳ５０８へと処理を遷移し、ステップＳ５０８以降の処理を、置換用バッファから置換記号『：』＋『文字（列）』がなくなるまで繰り返す。
【００８４】
以上の処理により、最初にコピーした文字列に含まれる置換記号（『：』など）と続く文字列を、後からコピーされた文字列に置換して最後にペーストすることにより、一度テキストエディタなどにコピー＆ペーストして、置き換えたい部分をさらにコピー＆ペーストする煩わしい処理を低減することができるという効果を有する。
【００８５】
以上の処理を具体的な文字列で処理した例を図８〜図１２を参照して説明する。
【００８６】
図８は、本発明の実施形態におけるアプリケーションログ画面イメージと、対応するクリップボード内のデータの一例を示す模式図である。
【００８７】
図８の８００、８１０、８２０は、アプリケーションログ画面のイメージであり、アンダーラインを引かれた太字の部分がユーザによりコピーされる部分である。
【００８８】
８００において、まず、ユーザにより、８０１のアンダーラインが引かれた太字の部分のコピー処理を受け付け（ステップＳ３０１）、置換記号『？』を含む（ステップＳ３０２）ため、置換用バッファとして、８０２に保存される（ステップＳ３０３）。その後、置換用バッファ内の置換記号『？』の数をカウントする（ステップＳ３０４）。８０１の例では２個なので、痴漢文字数は８０４のように『２』となっている。なお、この際にコピーカウンタ８０３は初期化（ステップＳ３０５）している。
【００８９】
次に、８１０に示す、８１１の値をユーザのコピー処理により受け付ける（ステップＳ３０１）。この場合は置換記号『？』や『：』を含んでいない（ステップＳ３０２）ため、交換用バッファとして８１２に保存する（ステップＳ３０６）。その後、コピーカウンタを８１３のようにインクリメントする（ステップＳ３０７）。
【００９０】
同様に、８２０に示す８２１の値をユーザのコピー処理により受け付ける（ステップＳ３０１）。この場合も置換記号『？』や『：』を含んでいない（ステップＳ３０２）ため、交換用バッファとして８２２に保存する（ステップＳ３０６）。その後、コピーカウンタを８２３のようにインクリメントする（ステップＳ３０７）。
【００９１】
図８の例に引き続いて処理される結果のペースト処理を図９を参照して説明する。
【００９２】
図９は、本発明の実施形態におけるクリップボード内のデータおよび生成される貼り付けデータの一例を示す模式図である。
【００９３】
９００は貼り付けられた結果の文字列の例であり、この貼り付け処理の際に図４および図５のフローチャートの処理を実行する。
【００９４】
ユーザにより貼り付け処理を受け付けると（ステップＳ４０１）、まずコピーカウンタが０でないかを判断する（ステップＳ４０２）。図９の例では、コピーカウンタ９０４は『２』であるため、次のコピーカウンタと痴漢文字数が一致しているかの判断を行う（ステップＳ４０３）。図９の例では、コピーカウンタ９０４と痴漢文字数９０５とが一致しているのでステップＳ４０４の処理（すなわち図５の処理）に遷移する。
【００９５】
次に、置換用バッファ９０１に存在する文字列を取得し（ステップＳ５０１）、置換用バッファ９０１は置換記号『？』を有している（ステップＳ５０２）ため、ステップＳ５０３の処理フローに遷移する。
【００９６】
ステップＳ５０３において、先頭の『？』である９０６を検出し、交換用バッファのバッファポインタを先頭である９０２に移動する（ステップＳ５０４）。
【００９７】
次に、検出した『？』９０６をバッファポインタの当たっている交換用バッファ９０２と置換し（ステップＳ５０５）、９０８のように修正する。
【００９８】
引き続き置換記号『？』があるかどうかを判断し（ステップＳ５０６）、９０１は『？』が９０７にも存在するので、ステップＳ５０７へと処理を遷移する。ステップＳ５０７では、次に検出した置換記号『？』９０７の位置を次の置換候補として記憶しておき、バッファポインタを９０２の次の９０３へと移動する。
【００９９】
続いて、ステップＳ５０５へと処理を戻し、次の置換記号『？』９０７を次の交換用バッファ９０３に置換する。
【０１００】
上記２回のループにより、ステップＳ５０６の処理では、置換用バッファに置換記号『？』が存在しない９００の状態に置換されているので、ステップＳ５１５へと処理を遷移し、ステップＳ５１５において、９０１のような置換用バッファの文字列を９００のような置換記号『？』が９０８や９０９のように置換された文字列を貼り付けられる。
【０１０１】
一方、ステップＳ４０２や、ステップＳ４０３でコピーカウンタが０もしくはコピーカウンタと置換基号数とが一致しない例を図１０を参照して説明する。
【０１０２】
図１０は、本発明の実施形態におけるクリップボード内のデータおよび生成される貼り付けデータの一例を示す模式図である。
【０１０３】
図１０の場合は、置換文字数が『２』１００２に対し、コピーカウンタが『３』１００１であり、一致していない。図８の例のコピーの後で、図１０の１００３をコピーした場合が考えられる。この場合、ユーザは本発明の機能を使わず、単にコピー＆ペーストをしたくなったものと考えられる為、この際のペーストする文字列は最後にコピーした１００３のデータ１０００となる。
【０１０４】
以上の処理により、最初にコピーした文字列に含まれる置換記号（『？』など）を、後からコピーされた文字列にコピーされた順番で置換して最後に一度のペースト処理で貼り付けることが出来、一度テキストエディタなどにコピー＆ペーストして、置き換えたい部分をさらにコピー＆ペーストする煩わしい処理を低減することができる。
【０１０５】
また、図１１を参照して、置換記号に『：』を利用した場合を図１１を参照して説明する。
【０１０６】
図１１は、本発明の実施形態におけるクリップボード内のデータおよび生成される貼り付けデータの一例を示す模式図である。
【０１０７】
１１００は貼り付けられた結果の文字列の例であり、この貼り付け処理の際に図４および図５のフローチャートの処理を実行する。
【０１０８】
図４およびステップＳ５０１までの処理は、図９の処理と同様なので、説明を省略する。
【０１０９】
ステップＳ５０１で取得した置換用バッファの文字列１１０１は、置換記号『：』を有している（ステップＳ５０２）ため、ステップＳ５０８の処理フローに遷移する。
【０１１０】
ステップＳ５０８において、置換用バッファ１１０１の置換記号『：』を検索し、置換記号『：』がある場合（ステップＳ５０９）、置換記号『：』に続く『文字（列）』（この場合、『ｉｔｅｍＮａｍｅ』）を記憶する。
【０１１１】
記憶した『文字（列）』である『ｉｔｅｍＮａｍｅ』を交換用バッファ（１１０２〜１１０３）から検索（ステップＳ５１０）し、『文字（列）』を含む交換用バッファがある場合（ステップＳ５１１）は、ステップＳ５１２へと処理を遷移する。
【０１１２】
ステップＳ５１２では、該当する『文字（列）』を含む交換用バッファを選択する。図１１の１１０６の場合、『ｉｔｅｍＮａｍｅ』が『文字（列）』に該当するため、『ｉｔｅｍＮａｍｅ』を含む交換用バッファとして、１１０３の『：ｉｔｅｍＮａｍｅ＝ｉｔｅｍＢ』が選択される。
【０１１３】
次に、ステップＳ５１３では、交換用バッファ１１０３における代入式の代入値（この場合『ｉｔｅｍＢ』）を取得し、置換用バッファ１１０１の該当する置換記号『：』＋『文字（列）』を、代入値（この場合『ｉｔｅｍＢ』）と置換する（ステップＳ５１４）。その後、ステップＳ５０８へと処理を遷移し、同様に置換記号『：』＋『ｍａｋｅＮａｍｅ』１１０７欄も交換用バッファ１１０２の値『ｍａｋｅｒＡ』を対応させて置換する。
【０１１４】
以上の処理により、最初にコピーした文字列に含まれる置換記号（『：』など）を、コピーする順番を意識せず、後からコピーされた文字列に置換して最後に一度のペースト処理で貼り付けることが出来、一度テキストエディタなどにコピー＆ペーストして、置き換えたい部分をさらにコピー＆ペーストする煩わしい処理を低減することができるという効果を有する。
【０１１５】
なお、以上の処理はデータベースに発行するＳＱＬコマンドについて説明したが、通常のプログラムやテキスト、文章ファイルでも応用可能である。ことは言うまでもない。
【０１１６】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【０１１７】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【０１１８】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【０１１９】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２１】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１２２】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１２３】
１００  クライアント端末
１１０  ネットワーク
１０１  データベースサーバ
１０２  データベースログ管理サーバ
１０３  アプリケーションサーバ
【図１】
2017182733.tif 000002
【図２】
2017182733.tif 000003
【図３】
2017182733.tif 000004
【図４】
2017182733.tif 000005
【図５】
2017182733.tif 000006
【図６】
2017182733.tif 000007
【図７】
2017182733.tif 000008
【図８】
2017182733.tif 000009
【図９】
2017182733.tif 000010
【図１０】
2017182733.tif 000011
【図１１】
2017182733.tif 000012
【図１２】
2017182733.tif 000013