コンピューターに搭載されているCPUと呼ばれる中央演算処理装置が処理を予定している命令文の事を機械語と仮称し、以下のソフトウェアで配列や変数を作成する場合は、コンピューター内部の本体メモリーと呼ばれる装置内に配列や変数を作成するものであり、コンピューター本体内部に在るハードディスクドライブなどの記録媒体に本発明のソフトウェアがインストールされているものとし、そのインストールされたソフトウェアに機械語で書かれた命令文がコンピューターのCPUによって処理される事によって、ソフトウェアの目的とする処理を実行するという事をコンピューター上で動作させると言う事し、以下に、機械語を取得するとは、ASCIIコードの1文字分の機械語を取得するという事であり、ASCIIコードの1文字分の機械語を取得するという事は、4bitのBCD数値を1単位とした2単位分の合計8bitのデーターを1文字として取得するという事とし、以下に、機械語に変換すると説明している場合の処理工程は、データーから機械語の4bitを一単位としたBCD数値を取得して、4bitを1単位とし2単位の合計8bitのデーターを1文字として表し、BCD数値とBCD数値の間に区切り文字としてスペースを挿入して作成したデーターを作成するという処理工程の事を言う事とし、区切り文字として半角または全角の種類を問わず、数値以外の任意の文字をふたつ選択して区切り文字として使用し、このふたつの区切り文字を各々、マーク1、マーク2と仮称し、検索対象ファイルをバイナリー形式で全て読み込んだ場合に必要となるサイズで配列を作成し、この作成した配列を検索対象配列と仮称し、検索対象ファイルをバイナリー形式で全て読み込んで、検索対象配列の最初の位置から代入する度に一つづつ代入する位置をずらして、検索対象ファイルをバイナリー形式で全て読み込んだデーターを一つづつ検索対象配列に代入し、2文字代入できるサイズで配列を作成し、この作成した配列を検査配列と仮称し、検索文字が1文字だけ記録されているテキストファイルをバイナリー形式で読み込んで、検査配列の最初の位置と最後の位置に代入し、検索対象配列のコピー配列を作成し、このコピーした配列を検索対象配列2と仮称し、検索対象配列2の全データーを機械語に変換したデーターを代入する為の検索対象配列2のサイズと同じ配列サイズで配列を作成し、この配列を機械語配列と仮称し、検索対象配列2の最初から最後までの全データーを機械語に変換したデーターを作成して、機械語配列の最初の位置から最後の位置まで代入する度に一つづつ代入する位置をずらして、作成した検索対象配列2の最初から最後までの全データーを機械語に変換したデーターを一つづつ機械語配列に代入し、機械語配列と同じサイズで配列を作成し、この配列をRL機械語配列と仮称し、機械語配列に代入された各データーを4bitのBCD数値の左辺と右辺とを逆転させ、4bitのBCD数値と4bitのBCD数値の間には、区切り文字としてスペースを挿入したデーターを作成して、RL機械語配列の最初の位置から最後の位置まで代入する度に一つづつ代入する位置をずらして作成した4bitのBCD数値の左辺と右辺とを逆転させたデーターを一つづつRL機械語配列に代入し、配列を作成し、この配列を出現文字配列と仮称し、出現文字配列に代入するデーターを全て作成して出現文字配列の最初の位置から最後の位置までに一つづつデーターを代入する処理工程を出現文字配列作成工程と仮称し、出現文字配列作成工程での処理は、配列を作成し、ソート配列と仮称し、RL機械語配列に代入された全てのデーターを昇順降順を問わず、どちらの方法でも良いのでソートしてソートしたデーターをソート配列の最初の位置から代入する度に一つづつ順番通りに全てソート配列に代入し、ソート配列に代入された最初のデーターだけを出現文字配列の最初の位置に代入し、出現検査データーと仮称するが、基本的に、この出現検査データーは、常に出現文字配列に代入された最後のデーターを出現検査データーと呼ぶ事とし、このソート配列に対して以下の繰り返し処理を行うが、この繰り返し処理を出現繰り返し処理と仮称し、出現繰り返し処理では、出現検査データーとソート配列に代入された次のデーターとを比較して同じデーターであった場合と違うデーターであった場合とに分岐し、この分岐を出現検査分岐と仮称し、出現検査データーとソート配列に代入された次のデーターとを比較して同じデーターであった場合は、何もしないでソート配列に代入された次のデーターと出現検査データーとを比較検査し、出現検査データーとソート配列に代入された次のデーターとを比較して違うデーターであった場合は、出現文字配列に代入する次のデーターとしてソート配列に代入された次のデーターを出現文字配列の末尾に代入し、ここで出現検査分岐を終了し、この末尾に代入したデーターを次の出現検査データーとし、ソート配列に代入された次のデーターを検査するという処理をソート配列に代入された全てのデーターに対して繰り返し処理する事で出現繰り返し処理を終了し、出現繰り返し処理を終了したら、出現文字配列作成工程も終了し、出現文字配列の配列サイズと同じサイズで配列を作成し、この配列を右辺配列と仮称し、出現文字配列に代入された全てのデーターの右辺に相当する4bitのBCD数値を取得して、右辺配列の最初の位置から代入する度に一つづつ代入する位置をずらして、取得した出現文字配列に代入された最初から最後までの全てのデーターの右辺に相当する4bitのBCD数値を一つづつ右辺配列代入し、右辺を基準に分類する為に右辺配列と同じ配列サイズで配列を作成し、この配列を分類配列と仮称し、右辺配列に代入されたデーター全てに対して以下の繰り返し処理を行うが、この繰り返し処理を検査繰り返し処理と仮称し、右辺配列に代入された最初のデーターとRL機械語配列に代入された全てのデーターの右辺に相当するデーターとを比較して同じであった場合は、分類配列の最初の位置末尾とも言えるにRL機械語配列に代入されたデーターを代入する。分類配列の最初の位置末尾とも言えるに代入するRL機械語配列に代入されたデーターが2つ以上あった場合は、複数あるデーターとデーターの区切り文字としてマーク1を既にあったデーターに連結し、その後ろに新たに見つけ出したRL機械語配列に代入されたデーターを連結して分類配列の最初の位置末尾とも言えるに代入し、右辺配列に代入された最初のデーターとRL機械語配列に代入された全てのデーターの右辺に相当するデーターとを比較し終わったら、右辺配列に代入された次のデーターとRL機械語配列に代入された全てのデーターの右辺に相当するデーターとを比較するという繰り返し処理を行うが、右辺配列に代入されたデーター全ての検査を終了する事で検査繰り返し処理を終了し、配列を分類配列のサイズで作成し、この配列を文字数配列と仮称し、文字数配列を作成する為に分類配列の最初のデーターから最後のデーターまで以下の処理を繰り返し行うが、の繰り返し処理を繰り返し処理1と仮称し、繰り返し処理1では、検査対象の分類配列の最初の位置に代入されたデーターがマーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐1と仮称し、分岐1で検査対象の分類配列の最初の位置に代入されたデーターがマーク1で区切られていない場合は、検査対象の分類配列の最初の位置に位置に代入されたデーターとRL機械語配列に代入された全てのデーターとを比較し同じであった場合は、同じであったRL機械語配列のデーターの位置を示すインデックスが一つだけの場合は同じであったRL機械語配列のデーターの位置を示すインデックスを取得して、文字数配列の最初の位置に代入するが、文字数配列の最初の位置に代入するデーターが二つ以上ある場合は、マーク2を区切り文字として使用して複数あるデーターとデーターの間に入れてRL機械語配列のインデックスを連結して文字数配列の最初の位置に代入し、分岐1の検査対象の分類配列の最初の位置に代入されたデーターがマーク1で区切られている場合は、検査対象の分類配列に代入されたデーターをマーク1で分割したデーターを代入する配列をマーク1で分割できる個数分のデーターを格納できる配列サイズで作成し、この配列を一時配列と仮称し、検査対象の分類配列の最初の位置に代入されたデーターを、複数個にマーク1で分割してマーク1を削除した状態に加工したデーターを作成して、一時配列の最初の位置から代入する度に一づつ代入する位置をずらして、作成した検査対象の分類配列の最初の位置に代入されたデーターを、複数個にマーク1で分割してマーク1を削除した状態に加工したデーターを全て一つづつ一時配列に代入し、以下の処理を一時配列に代入されたデーター数分、繰り返し処理を行うが、この繰り返し処理を一時配列繰り返し処理と仮称し、一時配列に代入された最初のデーターとRL機械語配列に代入された全てのデーターとを比較し同じであった場合は、同じであったRL機械語配列に代入されたデーターの位置を示すインデックスが一つであった場合は同じであったRL機械語配列に代入されたデーターの位置を示すインデックスを取得して文字数配列の最初のデーターとして代入するが、文字数配列の最初の位置に代入するデーターが二つ以上ある場合は、区切りマークとして、マーク2を複数あるデーターとデーターの間に入れて同じであったRL機械語配列に代入されたデーターの位置を示すインデックスを連結して文字数配列の最初の位置に代入し、一時配列のデーターをひとつ検査し終わる度に区切り文字としてマーク1を文字数配列の最初の位置に代入されたデーターに連結して次の一時配列のデーターを検査し、一時配列のデーターを全て検査し終わったら、一時配列繰り返し処理を終了し、これで分岐1を終了し、次に、分類配列の最初の位置に代入されたデーターの次のデーターの処理を行うが、分類配列の最初の位置に代入されたデーターの次のデーターの処理を行う場合は、文字数配列の末尾に処理結果を代入する事とし、この手順で繰り返し処理1を分類配列に代入されたデーター全てに行い終わったら、繰り返し処理1を終了し、2個のサイズで配列を作成し、この配列を検査機械語配列と仮称し、検査配列に代入された2個のデーターの最初の位置のデーターを機械語に変換して検査機械語配列の最初の位置に代入し、検査配列に代入された最後の位置のデーターを機械語に変換して検査機械語配列の最後の位置に代入し、2個のサイズで配列をふたつ作成し、各々の配列を左機械語配列、右機械語配列と仮称し、検査機械語配列に代入した最初の位置に代入されたデーターの左辺に相当する4bitのBCD数値を取得して、左機械語配列の最初の位置に代入し、検査機械語配列に代入した最後の位置に代入されたデーターの左辺に相当する4bitのBCD数値を取得して、左機械語配列の最後の位置に代入し、検査機械語配列に代入した最初の位置のデーターの右辺に相当する4bitのBCD数値を取得して、右機械語配列の最初の位置に代入し、検査機械語配列に代入した最後の位置のデーターの右辺に相当する4bitのBCD数値を取得して、右機械語配列の最後の位置に代入し、2個のサイズで配列を作成し、この配列を番号配列と仮称し、右機械語配列に代入された最初の位置のデーターと右辺配列に代入された全てのデーターとを比較して同じデーターであった場合は、同じデーターであった右辺配列のデーターの位置を示すインデックスを番号配列の最初の位置にデーターとして代入し、右機械語配列に代入された最後の位置のデーターと右辺配列に代入された全てのデーターとを比較して同じデーターであった場合は、同じデーターであった右辺配列のデーターの位置を示すインデックスを番号配列の最後の位置にデーターとして代入し、2個のサイズで配列を作成し、この配列を抽出配列と仮称し、番号配列の最初の位置に代入されたデーターを分類配列のインデックスとして使用して分類配列のデーターを読み込んで、抽出配列の最初の位置に代入し、番号配列の最後の位置に代入されたデーターを分類配列のインデックスとして使用して分類配列のデーターを読み込んで、抽出配列の最後の位置に代入し、抽出配列に代入されたふたつのデーターを処理する為に以下の処理を行うが、この抽出配列に代入された最初の位置に代入されたデーターに対する処理を第一処理と仮称し、抽出配列に代入された最後の位置に代入されたデーターに対する処理を第二処理と仮称し、この第一処理と第二処理では、抽出配列のデーターの中から左機械語配列と同じ左辺に相当する4bitのBCD数値と同じデーターを探し出すという処理を行う事とし、探し出した結果を代入する為の変数をふたつ作成し、各々の変数を決定変数1、決定変数2と仮称し、配列をふたつ作成し、この配列をそれぞれ分離配列1と分離配列2仮称し、分離配列1と分離配列2に代入されるデーター数が解らないので分離配列1と分離配列2のサイズは、必要だと思われる最低限度以上のサイズで配列を作成し、抽出配列に代入されている最初の位置と最後の位置に代入されている二つのデーターを検査して処理する事とし、第一処理では、抽出配列の最初の位置に代入されたデーターが、マーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐2と仮称し、分岐2で抽出配列の最初の位置に代入されたデーターが、マーク1で区切られていない場合は、分離配列1の最初の位置に抽出配列の最初の位置に代入されたデーターを代入し、分岐2で抽出配列の最初の位置に代入されたデーターが、マーク1で区切られている場合は、抽出配列の最初の位置に代入されたデーターを区切り文字のマーク1で複数個に分割して、区切り文字のマーク1を削除した状態のデーターに加工したデーターを作成して、分離配列1の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した抽出配列の最初の位置に代入されたデーターを区切り文字のマーク1で複数個に分割して、区切り文字のマーク1を削除した状態のデーターの全てを一つづつ分離配列1に代入し、これで分岐2を終了し、左機械語配列の最初の位置に代入されたデーターと分離配列1に代入された全てのデーターの左辺に相当する4bitのBCD数値を比較して同じものがあった場合は、同じものがあった分離配列1のデーターの位置を示すインデックスを取得し、決定変数1に取得したインデックスを代入し、左機械語配列の最初の位置に代入されたデーターと分離配列1に代入された全てのデーターの左辺に相当する4bitのBCD数値を比較して同じものがない場合は、何も行わない事とし、これで第一処理を終了し、次に第二処理を行う事とし、抽出配列の最後の位置に代入されたデーターが、マーク1で区切られていない場合とマーク1で区切られている場合とに分岐し、この分岐を分岐3と仮称し、分岐3で抽出配列の最後の位置に代入されたデーターが、マーク1で区切られていない場合は、分離配列2の最初の位置に抽出配列の最後の位置に代入されたデーターを代入し、分岐3で抽出配列の最後の位置に代入されたデーターが、マーク1で区切られている場合は、抽出配列の最後の位置に代入されたデーターを区切り文字のマーク1で複数個に分離分割して、区切り文字のマーク1を削除した状態のデーターに加工したデーターを作成して、分離配列2の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した抽出配列の最後の位置に代入されたデーターを区切り文字のマーク1で複数個に分離分割して、区切り文字のマーク1を削除した状態のデーターに加工したデーターを全て一つづつ分離配列2に代入し、これで分岐3を終了し、左機械語配列の最後の位置に代入されたデーターと分離配列2に代入された全てのデーターの左辺に相当する4bitのBCD数値を比較して同じものがあった場合は、同じものがあった分離配列2のデーターの位置を示すインデックスを取得し、決定変数2に取得したインデックスを代入し、左機械語配列の最後の位置に代入されたデーターと分離配列2に代入された全てのデーターの左辺に相当する4bitのBCD数値を比較して同じものがない場合は、何も行わない事とし、これで、第二処理を終了し、2個のサイズで配列を作成し、この配列を暫定文字数配列と仮称し、番号配列に代入された最初の位置に代入されたデーターを文字数配列の位置を示すインデックスとして使用して文字数配列のデーターを取得して暫定文字数配列の最初の位置に代入し、番号配列に代入された最後の位置に代入されたのデーターを文字数配列の位置を示すインデックスとして使用して文字数配列のデーターを取得して暫定文字数配列の最後の位置に代入し、ふたつの配列を作成し、このふたつの配列を各々、決定文字数配列1と決定文字数配列2と仮称し、決定文字数配列1と決定文字数配列2の両方ともに代入するデーター数が解らないので必要最低限と思われるサイズ以上の任意のサイズで配列を作成し、暫定文字数配列の最初の位置に代入されたデーターが、マーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐4と仮称し、分岐4で暫定文字数配列の最初の位置に代入されたデーターが、マーク1で区切られていない場合は、決定文字数配列1の最初の位置に暫定文字数配列の最初の位置に代入されたデーターを代入し、分岐4で暫定文字数配列の最初の位置に代入されたデーターが、マーク1で区切られている場合は、暫定文字数配列の最初の位置に代入されたデーターが、マーク1で区切られているデーター数分のサイズで配列を作成し、この配列を一時配列2と仮称し、暫定文字数配列の最初のデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを作成して、一時配列2の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した暫定文字数配列の最初のデーターをマーク1で複数個に分割して、マーク1を削除したデーターを全て一つづつ一時配列2代入し、決定変数1のデーターを一時配列2に代入されたデーターの位置を示すインデックスとして使用して一時配列2のインデックスの位置に代入されたデーターを取得し、取得したデーターを決定文字数配列1の最初の位置に代入し、これで分岐4を終了し、暫定文字数配列の最初の位置に代入されたデーターがマーク2で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐5と仮称し、分岐5で暫定文字数配列の最初のデーターがマーク2で区切られていない場合は、配列のサイズを一個で作成し、この配列を仮決定行数配列と仮称し、仮決定行数配列の最初の位置に決定文字数配列1の最初の位置に代入されたデーターを代入し、分岐5で暫定文字数配列の最初のデーターがマーク2で区切られている場合は、マーク2で区切られているデーター数分のサイズで配列を作成し、この配列を仮決定行数配列と仮称し、決定文字数配列1の最初の位置に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを作成して、仮決定行数配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した決定文字数配列1の最初の位置に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを全て一つづつ仮決定行数配列に代入し、これで分岐5を終了し、仮決定行数文字数配列の配列を少ない順にソートし、決定文字数配列1の配列サイズを仮決定行数文字数配列に代入されたデーター数と同じに作成しなおして、仮決定行数文字数配列に代入された全てのデーターを決定文字数配列1の最初の位置から代入する度に一つづつ代入する位置をずらして、仮決定行数文字数配列に代入された最初の位置から最後までの全てのデーターを一つづつ決定文字数配列1に代入し、暫定文字数配列の最後のデーターがマーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐6と仮称し、分岐6で暫定文字数配列の最後の位置に代入されたデーターがマーク1で区切られていない場合は、決定文字数配列2の最初の位置に暫定文字数配列の最後の位置に代入されたデーターを代入し、分岐6で暫定文字数配列の最後の位置に代入されたデーターがマーク1で区切られている場合は、暫定文字数配列の最後の位置に代入されたデーターがマーク1で区切られているデーター数分のサイズで配列を作成し、この配列を一時配列3と仮称し、暫定文字数配列の最後の位置に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを作成して、一時配列3の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した暫定文字数配列の最後の位置に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを全て一つづつ一時配列3に代入し、決定変数2のデーターを一時配列3に代入されたデーターの位置を示すインデックスとして使用して一時配列3のデーターを取得し、取得したデーターを決定文字数配列2の最初の位置に代入し、これで分岐6を終了し、暫定文字数配列の最後の位置に代入されたデーターが、マーク2で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐7と仮称し、分岐7で暫定文字数配列の最後の位置に代入されたデーターが、マーク2で区切られていない場合は、配列のサイズを一個で作成し、この配列を仮決定行数配列と仮称し、仮決定行数配列の最初の位置に決定文字数配列2の最初の位置に代入されたデーターを代入し、分岐7で暫定文字数配列の最後の位置に代入されたデーターが、マーク2で区切られている場合は、マーク2で区切られているデーター数分のサイズで配列を作成し、この配列を仮決定行数配列と仮称し、決定文字数配列2の最初の位置に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを作成して、仮決定行数配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した決定文字数配列2の最初の位置に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを全て仮決定行数配列に一つづつ代入し、これで分岐7を終了し、仮決定行数文字数配列の配列を少ない順にソートし、決定文字数配列2の配列サイズを仮決定行数文字数配列に代入されたデーター数と同じに作成しなおして、仮決定行数文字数配列に代入された全てのデーターを決定文字数配列2の最初の位置から代入する度に一つづつ代入する位置をずらして、仮決定行数文字数配列に代入された最初から最後までの全てのデーターを決定文字数配列2に一つづつ代入し、検索対象配列と同じサイズの配列を作成し、この配列を検索結果配列と仮称し、全角半角問わない任意の文字を決定し、これをマーク3と仮称し、マーク3は、マーク1とマーク2の区切り文字と同じであっても良いものとし、決定文字数配列1に代入されたデーター全てを一つづつ検索結果配列に代入されたデーターの位置を示すインデックスとして使用して、検索結果配列のデーターを代入する位置を示すインデックスの位置にマーク3を代入し、決定文字数配列2に代入されたデーター全てを一つづつ検索結果配列に代入されたデーターの位置を示すインデックスとして使用して、検索結果配列のインデックスの位置にマーク3を代入し、検索結果配列の全てのデーターを検査し、検索結果配列を検査してマーク3があったら、検索結果配列の次の配列のデーターにマーク3があるかどうかを検査し、検索結果配列の次の配列のデーターにマーク3がある場合は、次の検査データー位置を二つ進めて、検索結果配列の次の配列のデーターにマーク3がない場合は、注目配列のデーターのマーク3を削除して、次の検査データー位置を二つ進めるという処理を行い、検索結果配列に代入されたデーターの全てを検査し終わらせる事で検索対象ファイルまたは、検索対象配列に代入されたデーターから、検査配列に代入された検索文字を探し出すという事を行わせるコンピューター上で動作するソフトウェアコンピューターに搭載されているCPUと呼ばれる中央演算処理装置が処理を予定している命令文の事を機械語と仮称し、以下のソフトウェアで配列や変数を作成する場合は、コンピューター内部の本体メモリーと呼ばれる装置内に配列や変数を作成するものであり、コンピューター本体内部に在るハードディスクドライブなどの記録媒体に本発明のソフトウェアがインストールされているものとし、そのインストールされたソフトウェアに機械語で書かれた命令文がコンピューターのCPUによって処理される事によって、ソフトウェアの目的とする処理を実行するという事をコンピューター上で動作させると言う事し、以下に、機械語を取得するとは、ASCIIコードの1文字分の機械語を取得するという事であり、ASCIIコードの1文字分の機械語を取得するという事は、4bitのBCD数値を1単位とした2単位分の合計8bitのデーターを1文字として取得するという事とし、以下に、機械語に変換すると説明している場合の処理工程は、データーから機械語の4bitを一単位としたBCD数値を取得して、4bitを1単位とし2単位の合計8bitのデーターを1文字として表し、BCD数値とBCD数値の間に区切り文字としてスペースを挿入して作成したデーターを作成するという処理工程の事を言う事とし、区切り文字として半角または全角の種類を問わず、数値以外の任意の文字をふたつ選択して区切り文字として使用し、このふたつの区切り文字を各々、マーク1、マーク2と仮称し、配列を作成し、この作成した配列を検索対象配列と仮称し、検索対象ファイルをバイナリー形式で全て読み込んだ場合に必要となるサイズで配列を作成し、この作成した配列を検索対象配列と仮称し、検索対象ファイルをバイナリー形式で全て読み込んで、読み込んだデーターを検索対象配列の最初の位置から代入する度に一つづつ代入する位置をずらして、読み込んだデーターを一つづつ検索対象配列に代入し、2文字代入できるサイズで配列を作成し、この作成した配列を検査配列と仮称し、検索文字が1文字だけ記録されているテキストファイルをバイナリー形式で読み込んで、検査配列の最初の位置と最後の位置に代入し、検索対象配列の半分のサイズで配列を作成し、この配列を検索対象配列2と仮称し、検索対象配列のインデックスは、0から始まっているものとし、検索対象配列の偶数のインデックスに代入されているデーターと奇数のインデックスに代入されているデーターを区切り文字としてスペースを使用して連結して、2文字を1文字とした文字列を作成して、検索対象配列2の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した検索対象配列の偶数のインデックスに代入されているデーターと奇数のインデックスに代入されているデーターを区切り文字としてスペースを使用して連結して、2文字を1文字とした文字列を1文字づつ検索対象配列2に代入し、検索対象配列2と同じサイズで配列を作成し、この配列をRL検索対象配列2と仮称し、検索対象配列に代入されているデーターを、区切り文字のスペースで区切られた左側のデーターと右側のデーターを入れ替えたデーターを作成するが、このデーターを作成する時、左側の文字と右側の文字とを区切る為の区切り文字のスペースは、そのまま残した文字列を作成し、作成した左右が逆転し、スペースで区切られた1文字の文字をRL検索対象配列2の最初の位置から代入する度に一つづつ代入する位置をずらして、一つづつ全てRL検索対象配列2に代入し、配列を作成し、この配列を出現文字配列と仮称し、請求項1の出現文字配列作成工程と同じ処理で、RL検索対象配列2に代入された最初から最後までの全てのデーターから全文字種を取得したデーターを作成して、出現文字配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成したRL検索対象配列2に代入された最初から最後までの全てのデーターから全文字種を取得したデーターを全て一つづつ出現文字配列に代入し、配列を作成し、この配列を右辺配列と仮称し、出現文字配列の最初の位置に代入されたデーターから最後の位置に代入されたデーターまでの全てに以下の処理を行事で右辺配列を完成させるが、この工程を右辺配列作成処理と仮称し、出現文字配列の配列サイズと同じサイズで配列を作成し、仮右辺配列と仮称し、出現文字配列の右辺に相当するデーターを取得して、仮右辺配列の最初の位置から代入する度に一つづつ代入する位置をずらして、取得した出現文字配列の右辺に相当するデーターを全て一つづつ仮右辺配列に代入し、仮右辺配列に代入された全てのデーターを調べて重複したデーターを削除したデーターを作成し、右辺配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した仮右辺配列に代入された全てのデーターを調べて重複したデーターを削除したデーターを全て一つづつ右辺配列に代入し、右辺配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した仮右辺配列に代入された全てのデーターを調べて重複したデーターを削除したデーターを全て右辺配列に代入し終わったら、右辺配列作成処理を終了するが、重複したデーターを削除したデーターの作成方法は、請求項1の出現文字配列作成工程と同じ方法で行う事とし、右辺配列のサイズで配列を作成し、この配列を分類配列と仮称し、右辺配列に代入されたデーターの全てに対して以下の繰り返し処理を行うが、この繰り返し処理を検査繰り返し処理と仮称し、右辺配列に代入された最初の位置に代入されたデーターと出現文字配列に代入された全てのデーターの右辺に相当するデーターとを比較検査し、同じであった場合は、分類配列の末尾に出現文字配列に代入された同じであったデーターを代入し、分類配列の同じ位置に代入されるデーターが複数ある場合は、区切り文字としてマーク1を複数あるデーターとデーターの間に入れてデーターを連結して分類配列の末尾に代入し、右辺配列に代入された最初のデーターと出現文字配列に代入された全てのデーターの右辺に相当するデーターとを比較検査し終わったら、右辺配列に代入された次のデーターと出現文字配列に代入された全てのデーターの右辺に相当するデーターとを比較検査するという繰り返し処理を行う事で、右辺配列に代入されたデーターの全てに対してこの繰り返し処理を行って、この検査繰り返し処理を終了し、分類配列に代入された左辺と右辺を逆転させたデーターがRL検索対象配列2または、検索対象配列2のどのインデックスの配列に代入されているかを記録する配列を分類配列のサイズと同じサイズで作成し、この配列を文字数配列と仮称し、以下の繰り返し処理を行うが、この繰り返し処理を繰り返し処理3と仮称し、繰り返し処理3では、分類配列の最初の位置に代入されたデーターがマーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐8と仮称し、分岐8の分類配列の最初の位置に代入されたデーターがマーク1で区切られていない場合は、分類配列の最初の位置のデーターとRL検索対象配列2に代入された全てのデーターとを比較してデーターが同じであった場合は、同じであったRL検索対象配列2のデーターの位置を示すインデックスが一つだけの場合は同じであったRL検索対象配列2のデーターの位置を示すインデックスを取得して文字数配列の最初の位置に代入するが、文字数配列の最初の位置に代入するデーターが二つ以上ある場合は、区切り文字として、マーク2を既に記録してあるデーターと新たに見つけたRL検索対象配列2のインデックスとの間に入れて連結して代入し、分岐8の分類配列の最初の位置に代入されたデーターがマーク1で区切られている場合は、分類配列の最初の位置に代入されたデーターをマーク1で複数個に分割したデーター数分のサイズで配列を作成し、この配列を一時配列4と仮称し、分類配列の最初の位置に代入されたデーターをマーク1で複数個に分割してマーク1を削除したデーターに加工したデーターを作成して、一時配列4の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した分類配列の最初の位置に代入されたデーターをマーク1で複数個に分割してマーク1を削除したデーターに加工したデーターを全て一つづつ一時配列4に代入し、変数を作成し、この変数を仮一時変数と仮称し、一時配列4に代入された全てのデーターに対して以下の繰り返し処理を行うが、この繰り返し処理を一時配列4繰り返し処理と仮称し、一時配列4の最初の位置のデーターに対してRL検索対象配列2の全てのデーターを検査し、一時配列4の最初の位置のデーターとRL検索対象配列2に代入されたデーターが同じであった場合に、同じであったRL検索対象配列2のデーターの位置を示すインデックスが一つであった場合はデーターが同じであったRL検索対象配列2のデーターの位置を示すインデックスを取得して、仮一時変数に代入するが、仮一時変数に代入するデーターが二個以上の場合は、仮一時変数に代入されたデーターにマーク2を文字区切りとして連結して、新たに見つけたRL検索対象配列2のデーターが代入されている位置を示すインデックスを取得して、その取得したデーターを連結して仮一時変数に代入し、一時配列4の最初の位置のデーターに対してRL検索対象配列2の全てのデーターを検査し終わったら、一時配列4のデーターをひとつ検査し終わる度に区切り文字としてマーク1を仮一時変数に代入されたデーターに連結して次の一時配列4のデーターを検査する事とし、一時配列4に代入されたデーター全てを検査し終わったら、一時配列4繰り返し処理を終了し、文字数配列の最初の位置に仮一時変数のデーターを代入し、これで分岐8を終了し、分類配列の最初の位置に代入されたデーターの次のデーターの処理を行う事とし、分類配列の最初の位置に代入されたデーターの次のデーター以降の処理を行う場合は、文字数配列の末尾に処理結果を代入する事とし、この手順で繰り返し処理3を分類配列に代入されたデーター全てに行い終わったら、繰り返し処理3を終了し、変数を作成し、この変数を番号変数と仮称し、検査配列に代入されたデーターの右辺に相当するデーターと同じデーターを右辺配列に代入された全てのデーターから探し出して、探し出した右辺配列に代入されたデーターの位置を示すインデックスを取得して番号変数に代入し、変数を作成し、この変数を抽出変数と仮称し、番号変数に代入されたデーターを分類配列に代入されたデーターの位置を示すインデックスとして使用して分類配列のデーターを読み込んで、抽出変数に代入し、配列を作成し、この配列を分離配列と仮称し、抽出変数に代入されたデーターが、マーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐9と仮称し、分岐9で抽出変数に代入されたデーターがマーク1で区切られていない場合は、分離配列の最初の位置に抽出変数に代入されたデーターを代入し、分岐9で抽出変数に代入されたデーターがマーク1で区切られている場合は、抽出変数に代入されたデーターをマーク1で分割したデーター数を配列のサイズとして分離配列を作成しなおして、抽出変数に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを作成して、分離配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した抽出変数に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを全て一つづつ分離配列に代入し、これで分岐9を終了し、分離配列のデーターの中から検査配列の最初の位置に代入されたデーターと同じデーターを探し出し、同じデーターが格納された分離配列の位置を示すインデックスを取得し、探し出して取得した分離配列の位置を示すインデックスを代入する為の変数を作成し、この変数を決従来技術では、検索しようとしているファイルに記録された文字を1文字づつハッシュコードと呼ばれる0から9までの数値を出力させて、出力させたハッシュコードを基に文字を分類し、分類した中から文字を探し出すという方法で検索速度を高速化するものである。このハッシュコードを基に文字を分類する方法だと、全文検索と比較すると最大で10倍の処理速度という事になる。しかしながら、中国語などの検索する文字種が多い言語の文字検索などでは、より高速な検索技術が必要であると考えられる。また、できるだけ安価なコンピューターで検索する事を考えるとやはり、もっと、高速な検索技術が期待されていると思われる。コンピューターで普通に使われているテキスト文字日本では、ASCIIコード2文字で1文字を表す文字とASCIIコード1文字で表す文字を、テキスト文字と略して記述する事とする。また、テキスト文字の事を文字コードで書かれた文字という事がある。また、コンピューターで普通に使われている機械語を機械語と略して記述する事とする。コンピューターで普通に使われている機械語とは、コンピューターに搭載されているCPUと呼ばれる中央演算処理装置が処理を予定している命令文の事を言う。この機械語でASCIIコードを表すと、4bitを1単位としたBCD数値と呼ばれる数値を2個使用して、8bitで1文字とした機械語となる。また、以降、4bitを1単位としたBCD数値と呼ばれる数値1個の事を4bitを1単位としたBCD数値と呼ばれる数値1文字と表現したり、4bitを1単位としたBCD数値と呼ばれる数値2個の事を4bitを1単位としたBCD数値と呼ばれる数値2文字と表現したりする。また、配列とは、データーを一個から複数のデーターを代入する事が出来るものを言い、配列サイズまたは、配列のサイズとは、配列に代入する事が出来るデーターの数の事を言う。配列に代入したデーターの事を配列要素または、配列の要素と呼び、配列要素または、配列の要素の合計数を配列要素数または、配列の要素数と呼ぶものである。また、配列のサイズの事を配列サイズと呼ぶ事がある。配列の型とは、配列に代入する事ができる一個のデーターが使用するコンピューターに在る本体メモリーで使用するbit数または、byte数の指定を行う場合に用いるものである。変数にも配列と同じく型が存在し、型の意味は、配列の型の場合と全く同じである。また、配列のインデックスとは、配列の添字または、配列番号などとも呼ばれる事があるものである。以降、配列のインデックスを配列の添字または、配列番号と呼ぶ事がある。配列を作成する時点で配列のインデックスを何番から作成するという具合に配列のインデックスを指定せずに配列を作成すると通常、配列のデーターを代入できる部分の先頭の位置のインデックスは0番となり順次1づつ番号が増えた数値が配列のデーターを代入できる各々の配列の位置にコンパイラによって自動的に付けられるものである。つまり、言い換えると配列のインデックスとは、配列に代入されるデーターの位置を示す番号の事を言うという事になる。これによって、プログラマーは、配列のインデックスを指定する事で簡便に配列の位置を指定する事ができる様にしているものである。日本語をコンピューター上でテキスト文字にすると、文字コードでファイルに記述されるようになっている。その為、日本語のかたかなでアイウエオという文字列が書かれたファイルをバイナリー形式で読み込んで配列に代入する為に必要な配列サイズで配列を作成し、その配列に日本語のかたかなでアイウエオという文字列が書かれたファイルをバイナリー形式で読み込んだデーターを1byteづつ、最初の配列から順に配列に代入すると以下の様になる。何も指定せずに配列を作成すると、配列の最初のインデックスが0であるというのは、常識である。0は、偶数であり、1が奇数である事も当然の事である。1316513167131691317113173必ず、131という文字コードが互い違いに記述されている様子がうかがえると思う。和文の文章の場合は、殆どの場合がこの様な文字コードの組み合わせである。つまり、8bitを1文字として、2文字で1文字を表す方式になっている。8bitを1文字として表現可能な数値は、0から255までの数値である。従って、配列インデックスの偶数データーの131の文字コードの方を基準に分類するか、または、その逆に、配列インデックスの奇数データーの65、67、69、71、73の方を基準に分類すれば、16bitの文字を分類整理する場合、0から255までの数値で分類する事が可能にり高速検索が可能になるはずなのである。配列のインデックスの偶数値のデーターを基準にする場合と配列のインデックスの奇数値のデーターを基準にする場合との二種類があるが、どちらを基準に分類した場合でも、この分類方法で日本語を分類すると最大で256種類に分類する事が出来るという事になる。日本語の文字が256種類に分類する事が出来るほど大量に文字種があるかどうかは検証しておりません。これは、理論値です。実際には、256×256個の文字数が存在しないというのは明白ですので最速を目指すコードを記述する場合は、後者の65、67、69、71、73の方を基準に分類する方法を利用する事が良い方法であると考えられる。なぜなら、分類する数が多くなれば多くなるほど高速検索が可能になるはずだからである。しかし、分類する数が多くなれば多くなるほど高速検索が可能になるといっても、当然、限界がある。この限界を超えて分類した場合は、段々と検索処理時間が長くなっていくはずである。分類する事による検索時間の短縮方法に於ける分類限界は、未だに計算していないので、今のところ、ここまでが分類による検索処理時間の短縮法方に於ける限界であると、御説明できないところである。さて、従来技術のハッシュコードで分類する場合と比較すると単純計算で最大256倍の高速検索処理が出来るという事になる。また、配列インデックスの偶数データーを基準に分類する方法と配列インデックスの奇数データーを基準に分類する方法のどちらの場合を利用しても本発明のレパートリーであると明言する。また、これ以降、このテキスト文字の特性を利用して分類する方法で検索する方法をテキストレベルの検索と呼ぶ事とする。分類する数が多くなれば多くなるほど高速検索が可能になるといっても、当然、限界があると前述しましたが、その限界がなぜあるのかの説明をこの段落で説明する。とてつもなく簡単な話ですが、全件検索するのと差が無い分類数にまで分類数を増やす事は出来ないという事である。例えば、256文字書かれたファイルがあると仮定する。このファイルに書かれた文字のすべてが違う文字であった場合、このファイルに書かれた文字を256種に分類すると、全件検索しているのと同じ事になってしまうのである。このような分類限界があるという事である。この分類限界は、機械語レベルでの検索でも、同じ様な限界が存在する。突然、機械語レベルでの検索という言葉を使用するがこの機械語レベルの検索という言葉の定義は、段落0012を参照の事。また、従来のハッシュコードで分類した場合との処理速度の比較という意味では、テキストレベルでの検索と機械語レベルでの検索の両方ともに処理してみてどちらが速い処理になるのかを検証してから処理するかべきなのか、または、最初からこの方法だけを使用するといった具合に処理速度を比較検証せずに処理すべきなのか問題になるところである。実施例では、この分類限界による処理速度の差を完全に無視した処理工程で処理するソフトウェアを作成しました。つまり、どちらが早いかを確認する事で速い処理を行うという様な処理工程を一切挿入しないで処理しているという事である。また、従来のハッシュコードで分類した場合との処理速度の比較を行う事で処理速度の速い処理を選択するという方法も考えられるが、実施例では、この様な処理も行わなかった。ASCIIコードを使用していない他のコンピューターでも本発明のテキストレベルの検索と同じ事が出来ると考えられる。第一の方法として、一定のbit数で1文字の数値を表し、2文字の数値で1文字の文字を表す方式のコードを使用している場合、どちらか一方の1文字の数値を基準に分類する事ができると考えられるからである。第二の方法として、ASCIIコードを使用していない他のコンピューターでも、分類する為の検索用特殊文字コードを作成する事で本発明のソフトウェアと同じ事を行う事ができると考えている。この場合は、分類する為の検索用特殊文字コードをASCIIコードと同じものにし、ASCIIコードを使用していない他のコンピューターの文字コードを分類する為の検索用特殊文字コードに変換する事で実現する事が可能になるはずである。ASCIIコードを使用していない他のコンピューターでも本発明のテキストレベルの検索を行う、第一の方法と第二の方法の両方とも本発明のソフトウェアである事を明言する。DOSV機コンピューターと呼ばれるコンピューターで使用されている機械語でASCIIコードの0から255までの256文字全ての文字コードを表すと以下の様になる。4bitを1単位とし、8bitで1文字とした機械語となるのである。0と1で構成されたいわゆる2進数と呼ばれる文字列に変換した2進数が4bitに満たない場合は、4bitに満たない分だけ後方に0を連結して合計で4bitになる様にしたような特殊な4bitの数値である。この特殊な4bitの数値を普通BCD数値と呼んでいる。ASCIIコードの機械語は、8bitなのでわかり易いように4bitづつに分ける為にスペースをBCD数値とBCD数値の間に挿入して表記した。下記のBCD数値は、DOSV機コンピューターと呼ばれるコンピューターで使用されているCPUの機械語を図7の<本発明に使用した機材の説明図>で説明している実施例で用いた機材を用いてBCD数値を取得し、記述したものである。CPUが処理を予定している機械語は、CPUによって全部違うものになっている。00000000は、ASCIIコードの0である。10000000は、ASCIIコードの1である。01000000は、ASCIIコードの2である。11000000は、ASCIIコードの3である。00100000は、ASCIIコードの4である。10100000は、ASCIIコードの5である。01100000は、ASCIIコードの6である。11100000は、ASCIIコードの7である。00010000は、ASCIIコードの8である。10010000は、ASCIIコードの9である。01010000は、ASCIIコードの10である。11010000は、ASCIIコードの11である。00110000は、ASCIIコードの12である。10110000は、ASCIIコードの13である。01110000は、ASCIIコードの14である。11110000は、ASCIIコードの15である。00001000は、ASCIIコードの16である。10001000は、ASCIIコードの17である。01001000は、ASCIIコードの18である。11001000は、ASCIIコードの19である。00101000は、ASCIIコードの20である。10101000は、ASCIIコードの21である。01101000は、ASCIIコードの22である。11101000は、ASCIIコードの23である。00011000は、ASCIIコードの24である。10011000は、ASCIIコードの25である。01011000は、ASCIIコードの26である。11011000は、ASCIIコードの27である。00111000は、ASCIIコードの28である。10111000は、ASCIIコードの29である。01111000は、ASCIIコードの30である。11111000は、ASCIIコードの31である。00000100は、ASCIIコードの32である。10000100は、ASCIIコードの33である。01000100は、ASCIIコードの34である。11000100は、ASCIIコードの35である。00100100は、ASCIIコードの36である。10100100は、ASCIIコードの37である。01100100は、ASCIIコードの38である。11100100は、ASCIIコードの39である。00010100は、ASCIIコードの40である。10010100は、ASCIIコードの41である。01010100は、ASCIIコードの42である。11010100は、ASCIIコードの43である。00110100は、ASCIIコードの44である。10110100は、ASCIIコードの45である。01110100は、ASCIIコードの46である。11110100は、ASCIIコードの47である。00001100は、ASCIIコードの48である。10001100は、ASCIIコードの49である。01001100は、ASCIIコードの50である。11001100は、ASCIIコードの51である。00101100は、ASCIIコードの52である。10101100は、ASCIIコードの53である。01101100は、ASCIIコードの54である。11101100は、ASCIIコードの55である。00011100は、ASCIIコードの56である。10011100は、ASCIIコードの57である。01011100は、ASCIIコードの58である。11011100は、ASCIIコードの59である。00111100は、ASCIIコードの60である。10111100は、ASCIIコードの61である。01111100は、ASCIIコードの62である。11111100は、ASCIIコードの63である。00000010は、ASCIIコードの64である。10000010は、ASCIIコードの65である。01000010は、ASCIIコードの66である。11000010は、ASCIIコードの67である。00100010は、ASCIIコードの68である。10100010は、ASCIIコードの69である。01100010は、ASCIIコードの70である。11100010は、ASCIIコードの71である。00010010は、ASCIIコードの72である。10010010は、ASCIIコードの73である。01010010は、ASCIIコードの74である。11010010は、ASCIIコードの75である。00110010は、ASCIIコードの76である。10110010は、ASCIIコードの77である。01110010は、ASCIIコードの78である。11110010は、ASCIIコードの79である。00001010は、ASCIIコードの80である。10001010は、ASCIIコードの81である。01001010は、ASCIIコードの82である。11001010は、ASCIIコードの83である。00101010は、ASCIIコードの84である。10101010は、ASCIIコードの85である。01101010は、ASCIIコードの86である。11101010は、ASCIIコードの87である。00011010は、ASCIIコードの88である。10011010は、ASCIIコードの89である。01011010は、ASCIIコードの90である。11011010は、ASCIIコードの91である。00111010は、ASCIIコードの92である。10111010は、ASCIIコードの93である。01111010は、ASCIIコードの94である。11111010は、ASCIIコードの95である。00000110は、ASCIIコードの96である。10000110は、ASCIIコードの97である。01000110は、ASCIIコードの98である。11000110は、ASCIIコードの99である。00100110は、ASCIIコードの100である。10100110は、ASCIIコードの101である。01100110は、ASCIIコードの102である。11100110は、ASCIIコードの103である。00010110は、ASCIIコードの104である。10010110は、ASCIIコードの105である。01010110は、ASCIIコードの106である。11010110は、ASCIIコードの107である。00110110は、ASCIIコードの108である。10110110は、ASCIIコードの109である。01110110は、ASCIIコードの110である。11110110は、ASCIIコードの111である。00001110は、ASCIIコードの112である。10001110は、ASCIIコードの113である。01001110は、ASCIIコードの114である。11001110は、ASCIIコードの115である。00101110は、ASCIIコードの116である。10101110は、ASCIIコードの117である。01101110は、ASCIIコードの118である。11101110は、ASCIIコードの119である。00011110は、ASCIIコードの120である。10011110は、ASCIIコードの121である。01011110は、ASCIIコードの122である。11011110は、ASCIIコードの123である。00111110は、ASCIIコードの124である。10111110は、ASCIIコードの125である。01111110は、ASCIIコードの126である。11111110は、ASCIIコードの127である。00000001は、ASCIIコードの128である。10000001は、ASCIIコードの129である。01000001は、ASCIIコードの130である。11000001は、ASCIIコードの131である。00100001は、ASCIIコードの132である。10100001は、ASCIIコードの133である。01100001は、ASCIIコードの134である。11100001は、ASCIIコードの135である。00010001は、ASCIIコードの136である。10010001は、ASCIIコードの137である。01010001は、ASCIIコードの138である。11010001は、ASCIIコードの139である。00110001は、ASCIIコードの140である。10110001は、ASCIIコードの141である。01110001は、ASCIIコードの142である。11110001は、ASCIIコードの143である。00001001は、ASCIIコードの144である。10001001は、ASCIIコードの145である。01001001は、ASCIIコードの146である。11001001は、ASCIIコードの147である。00101001は、ASCIIコードの148である。10101001は、ASCIIコードの149である。01101001は、ASCIIコードの150である。11101001は、ASCIIコードの151である。00011001は、ASCIIコードの152である。10011001は、ASCIIコードの153である。01011001は、ASCIIコードの154である。11011001は、ASCIIコードの155である。00111001は、ASCIIコードの156である。10111001は、ASCIIコードの157である。01111001は、ASCIIコードの158である。11111001は、ASCIIコードの159である。00000101は、ASCIIコードの160である。10000101は、ASCIIコードの161である。01000101は、ASCIIコードの162である。11000101は、ASCIIコードの163である。00100101は、ASCIIコードの164である。10100101は、ASCIIコードの165である。01100101は、ASCIIコードの166である。11100101は、ASCIIコードの167である。00010101は、ASCIIコードの168である。10010101は、ASCIIコードの169である。01010101は、ASCIIコードの170である。11010101は、ASCIIコードの171である。00110101は、ASCIIコードの172である。10110101は、ASCIIコードの173である。01110101は、ASCIIコードの174である。11110101は、ASCIIコードの175である。00001101は、ASCIIコードの176である。10001101は、ASCIIコードの177である。01001101は、ASCIIコードの178である。11001101は、ASCIIコードの179である。00101101は、ASCIIコードの180である。10101101は、ASCIIコードの181である。01101101は、ASCIIコードの182である。11101101は、ASCIIコードの183である。00011101は、ASCIIコードの184である。10011101は、ASCIIコードの185である。01011101は、ASCIIコードの186である。11011101は、ASCIIコードの187である。00111101は、ASCIIコードの188である。10111101は、ASCIIコードの189である。01111101は、ASCIIコードの190である。11111101は、ASCIIコードの191である。00000011は、ASCIIコードの192である。10000011は、ASCIIコードの193である。01000011は、ASCIIコードの194である。11000011は、ASCIIコードの195である。00100011は、ASCIIコードの196である。10100011は、ASCIIコードの197である。01100011は、ASCIIコードの198である。11100011は、ASCIIコードの199である。00010011は、ASCIIコードの200である。10010011は、ASCIIコードの201である。01010011は、ASCIIコードの202である。11010011は、ASCIIコードの203である。00110011は、ASCIIコードの204である。10110011は、ASCIIコードの205である。01110011は、ASCIIコードの206である。11110011は、ASCIIコードの207である。00001011は、ASCIIコードの208である。10001011は、ASCIIコードの209である。01001011は、ASCIIコードの210である。11001011は、ASCIIコードの211である。00101011は、ASCIIコードの212である。10101011は、ASCIIコードの213である。01101011は、ASCIIコードの214である。11101011は、ASCIIコードの215である。00011011は、ASCIIコードの216である。10011011は、ASCIIコードの217である。01011011は、ASCIIコードの218である。11011011は、ASCIIコードの219である。00111011は、ASCIIコードの220である。10111011は、ASCIIコードの221である。01111011は、ASCIIコードの222である。11111011は、ASCIIコードの223である。00000111は、ASCIIコードの224である。10000111は、ASCIIコードの225である。01000111は、ASCIIコードの226である。11000111は、ASCIIコードの227である。00100111は、ASCIIコードの228である。10100111は、ASCIIコードの229である。01100111は、ASCIIコードの230である。11100111は、ASCIIコードの231である。00010111は、ASCIIコードの232である。10010111は、ASCIIコードの233である。01010111は、ASCIIコードの234である。11010111は、ASCIIコードの235である。00110111は、ASCIIコードの236である。10110111は、ASCIIコードの237である。01110111は、ASCIIコードの238である。11110111は、ASCIIコードの239である。00001111は、ASCIIコードの240である。10001111は、ASCIIコードの241である。01001111は、ASCIIコードの242である。11001111は、ASCIIコードの243である。00101111は、ASCIIコードの244である。10101111は、ASCIIコードの245である。01101111は、ASCIIコードの246である。11101111は、ASCIIコードの247である。00011111は、ASCIIコードの248である。10011111は、ASCIIコードの249である。01011111は、ASCIIコードの250である。11011111は、ASCIIコードの251である。00111111は、ASCIIコードの252である。10111111は、ASCIIコードの253である。01111111は、ASCIIコードの254である。11111111は、ASCIIコードの255である。以上の様に、左辺の4bitは、2進数の0から15までとし、右辺の4bitは、0から15までの2進数となっている。4bitで記述されている右辺は、16文字ごとに1づつ大きな数値となる。従って、右辺の4bitを基準に分類すると16種類に文字を分類する事が出来るという事になる。また、その逆に左辺を基準に分類しても、右辺を基準に分類した場合と同じく16種類に分類するが出来るという事になる。従来技術のハッシュコードで分類する場合と比較すると単純計算で約15倍の高速検索処理が出来るという事になる。また、この機械語の特性を利用して分類する方法で検索する方法を機械語レベルの検索と呼ぶ事とする。機械語レベルの検索は、DOSV機コンピューターと呼ばれるコンピューターで使用されているCPUと呼ばれる中央演算処理装置が処理を予定している命令文の事を機械語の特徴を利用して分類するものであるから、DOSV機コンピューターと呼ばれるコンピューター以外のコンピューターではCPUと呼ばれる中央演算処理装置が処理を予定している命令文のが違う為に使用できない分類方法になってしまう。しかしながら、CPUと呼ばれる中央演算処理装置が処理を予定している命令文が違うのであるならば、違う機械語をDOSV機コンピューターと呼ばれるコンピューターで使用されているCPUと呼ばれる中央演算処理装置が処理を予定している命令文の事を機械語と同じものに変換処理する事でDOSV機コンピューターと呼ばれるコンピューターで使用されているCPUと呼ばれる中央演算処理装置が処理を予定している命令文の事を機械語の特徴を利用して分類する機械語レベルの検索を行う事が可能となる。また、DOSV機コンピューターと呼ばれるコンピューターで使用されているCPUと呼ばれる中央演算処理装置が処理を予定している命令文の事を機械語は、左辺の4bitは、2進数の0から15までとし、右辺の4bitは、0から15までの2進数となっており、4bitで記述されている右辺は、16文字ごとに1づつ大きな数値となるように作られているが、左辺の4bitと右辺の4bitを左右入れ替えた分類用の分類用特殊コードを作成して、違う機械語を分類用特殊コードに変換処理する事でもDOSV機コンピューターと呼ばれるコンピューターで使用されているCPUと呼ばれる中央演算処理装置が処理を予定している命令文の事を機械語の特徴を利用して分類する機械語レベルの検索を行う事が可能となる。実施例では、1文字のみの検索を行えるソフトウェアであるが、連続した文字列を検索するソフトウェアであっても、本発明の2分割文字検索ソフトウェアと同じように文字コードや機械語の特性を利用して分類する事によって検索処理速度を高速化している場合は、本発明である。つまり、本発明で説明しているテキストレベルの検索と機械語レベルの検索のどちからかと同じ方法で文字を検索している場合は、本発明であるという事である。実施例のテキストレベルの検索では、半角英数字を検索できるものではない。半角英数字のみのファイルから文字を検索するソフトウェアや、半角英数字とその他の文字とが混在したファイルなどから、文字を検索するソフトウェアであっても、本発明の技術を利用している場合は、本発明であると明言する。日本語や中国語などの様な文字種の多い言語での文字検索が従来技術よりも高速化できるようになる。また、安価なコンピューターでも高速な検索が行えるようになるというメリットがある。利用用途は、かなり広範囲であり、圧縮技術や差分ファイル作成技術やデーターベース検索や文章ファイルの編集用文字列検索と書き換えソフトウェアやインターネット検索ソフトウェアなどでの使用が考えられる。実施に於いては、Microsoft株式会社のVisualStadio2005というコンパイラを使用しCというコンピューター言語を使用して本発明のソフトウェアを作成した。また、実施例の分岐で分岐条件に該当する場合が無い場合どうするかを記述していない場合があるが、この場合何もしないという事である。本発明のソフトウェアは、図7の<本発明に使用した機材の説明図>に示した様なハードウェア資源上で動作するソフトウェアである。図7の<本発明に使用した機材の説明図>に示した様なハードウェア資源は、図符号Oのコンピューター本体と図符号Nのモニターと図符号Pのキーボードと図符号Qのマウスの合計4個のパーツで構成された機材であるが、これらの合計4個のパーツで構成された機材を一般的にコンピューターと呼んでいる。図符号Oのコンピューター本体は、DOSV機コンピューターと呼ばれるコンピューターである。図符号Oのコンピューター本体には、ハードディスクドライブなどの記録媒体やCPUや本体メモリーなどと呼ばれる装置が内蔵されており、本発明の圧縮前の2分割処理ソフトウェアは、図符号Oのコンピューター本体内部に在るハードディスクドライブなどの記録媒体にインストールされているものとする。図符号Oのコンピューター本体に接続された外部に在るハードディスクドライブなどの記録媒体に本発明のソフトウェアがインストールされていて、図符号Oのコンピューター本体から本発明のソフトウェアを起動する事が出来る場合は、図符号Oのコンピューター本体に接続された外部に在るハードディスクドライブなどの記録媒体に本発明のソフトウェアがインストールされているものとする。本発明のソフトウェアがインストールされている図符号Oのコンピューター本体内部に在るハードディスクドライブなどの記録媒体または、図符号Oのコンピューター本体に接続された外部に在るハードディスクドライブなどの記録媒体にインストールされている本発明のソフトウェアを起動すると本発明のソフトウェアは、図符号Oのコンピューター本体に内蔵された本体メモリーに適時に必要量読み込まれる。図符号Oのコンピューター本体に内蔵された本体メモリーに適時に必要量読み込まれた本発明のソフトウェアに書かれたCPUと呼ばれる中央演算処理装置が処理を予定している命令文が必要な時に必要量CPUに読み込まれ、そのCPUに読み込まれた命令文がCPUによって実行される事によってコンピューター上で本発明のソフトウェアが動作する。従って、本発明のソフトウェアがハードウェア資源を利用してどのような工程で処理されるのかを簡単な表現で説明すると、本発明のソフトウェアに書かれた命令文は、コンピューター本体のCPUによって処理されると表現しなおす事ができるものである。図7の<本発明に使用した機材の説明図>に示した様なハードウェア資源上で動作するソフトウェアであると段落0019にて説明したが、コンピューターの形状は、図7の<本発明に使用した機材の説明図>に示した様なハードウェア資源上に限定できるものではなく、図符号Nのモニター、図符号Oのコンピューター本体、図符号Pのキーボード、図符号Qのマウスが一体化したものや、図符号Qのマウスが存在しない構成のものや、図符号Nのモニター、図符号Oのコンピューター本体の二つを一体化した構成のもの等いろいろある。今後ももっと、いろいろな形状のコンピューターが開発されていくであろうと考えられる。図7の<本発明に使用した機材の説明図>に示した様なハードウェア資源上でなくても、類似と言い得るいわゆるコンピューターで本発明のソフトウェアを動作させている場合も本発明のソフトウェアであると明言する。また、図符号Oのコンピューター本体内部に在るハードディスクドライブなどの記録媒体に本発明のソフトウェアがインストールされているものとし、そのインストールされたソフトウェアに機械語で書かれた命令文がコンピューターのCPUによって処理される事によって、ソフトウェアの目的とする処理を実行するという事をコンピューター上で動作させると言う事と定義すると、ソフトウェアがコンピューターと呼ばれるハードウェア資源と協調して動作して処理するものであるという事を含めたかたちで、ソフトウェアの説明を簡単な表現で表現すると、コンピューター上で動作するソフトウェアであると表現する事ができる。以下の段落に於いて、配列や変数などを作成すると記述しているが配列や変数などが作成される場所は、図符号Oのコンピューター本体の内部にある本体メモリーに作成される。但し、OSと呼ばれるソフトウェアによって仮想メモリー領域に作成される場合もある。仮想メモリー領域とは、図符号Oのコンピューター本体の内部に在るハードディスクドライブなどの記録媒体の一部分を仮想的に本体メモリーとして使用する場合に使用する図符号Oのコンピューター本体の内部に在るハードディスクドライブなどの記録媒体の一部分の事を言う。この図符号Oのコンピューター本体の内部にある本体メモリーまたは、図符号Oのコンピューター本体の内部に在るハードディスクドライブなどの記録媒体の一部分を仮想的に本体メモリーとして使用する場合に使用する図符号Oのコンピューター本体の内部に在るハードディスクドライブなどの記録媒体の一部分の事をコンピューター内部のメモリー装置と呼ぶ事とする。従って、配列や変数などを作成すると記述している場合の配列や変数などが作成される場所を端的な表現をして説明するならば、コンピューター内部のメモリー装置内に作成されるという表現になる。以下の段落に於いて、配列の末尾にデーターを代入すると記述している場合がある。未だに配列に代入されたデーターが無い場合は、普通、配列の最初の位置にデーターを代入するものである。しかし、配列の最初の位置から代入する度に一つづつ代入する位置をずらしてデーターを配列に代入していく場合、配列の最初の位置に既にデーターを代入した後は、配列に代入されたデーターの最後の位置のデーターの次の配列の位置に代入するという事になる。この場合、配列の最初の位置に既にデーターを代入した後の配列の位置の指定を末尾と表現できると思われる。では、未だに配列に代入されたデーターが無い場合で、配列の最初の位置から代入する度に一つづつ代入する位置をずらしてデーターを配列に代入していく場合で、配列の最初の位置にデーターを代入する場合でも、配列の末尾にデーターを代入すると表現が可能だと考えている。そこで、配列の最初の位置から代入する度に一つづつ代入する位置をずらしてデーターを配列に代入していく場合は、配列の最初の位置であっても、配列の末尾に代入すると記述している事がある。また、以下の段落で、配列の最初の位置から代入する度に一つづつ代入する位置をずらしてデーターを配列に代入していく場合に於いて、配列に代入するデーターの順番について断り書きが無い場合は、元のデーター作成したデーターや取得したデーターや読み込んだデーターや元の配列に代入されたデーターなどの順番通りに一つづつ代入するものとする。以下の段落に於いて、全て一次元配列を利用してソフトウェアを作成しているが、多次元配列を利用する事や、ファイルを利用する事でも同じ処理が出来ると考えられる。また、一次元配列と多次元配列とファイルの組み合わせによっても、同じ処理が出来ると考えられる。これらはソフトウェアの書き方の違いであって、全て本発明の単純なレパートリーでしかないという事を明言する。また、以下の段落で、ソフトウェアとコンピューターによる自動処理の場合は、いちいち、ソフトウェアとコンピューターによる自動処理である事を書いておりません。書いていない場合は、ソフトウェアとコンピューターによる自動処理である。しかし、図1の<本発明の2分割文字検索ソフトウェアのフローチャート図>には、図符号Aの人為的な手動による操作もしくは、入力と、図符号Bの本発明のソフトウェアとコンピューターによる自動処理の二つに分けて示す事とした。以下のソフトウェアとコンピューターによる自動処理の部分の処理工程を記述した命令文の事をソフトウェアと総称する。また、配列のサイズの調整なども自明の理であるから書いておりません。また、配列の型の調整なども自明の理であるから書いておりません。また、変数の型についても自明の理であるから書いておりません。また、図2、図3、図4、図5、図6、図7は、実際とは、多少異なる。また、以下の段落で、機械語を取得すると説明している場合の処理工程を説明する。Microsoft株式会社のVisualStadio2005というコンパイラを使用しCという言語を用いている場合は、機械語を取得する場合に使用するように用意された関数を使用するとtrueとfalseというデーターとして取得される。取得されたtrueとfalseの組み合わせを0と1という数値で置き換えられた形で表現するには、変換処理を行う必要がある。Microsoft株式会社のVisualStadio2005というコンパイラを使用しCという言語でこの変換処理を行うと、trueが1に変換され、falseが0に変換される。変換された数値データーを4bitづつ取得すると、4bitのBCD数値が得られるようになっている。機械語を取得するとは、ASCIIコードの1文字分の機械語を取得するという事であり、ASCIIコードの1文字分の機械語を取得するという事は、4bitのBCD数値を1単位とした2単位分の合計8bitのデーターを1文字として取得するという事である。但し、左辺に相当する機械語を取得するという場合は、左辺に相当する4bitのBCD数値の1単位分のみを取得するという事であり、右辺に相当する機械語を取得するという場合は、右辺に相当する4bitのBCD数値の1単位分のみを取得するという事である。また、以下の段落で区切り文字としてスペースを使用すると説明しているが、このスペースは、半角または、全角のどちらでも良い。また、マーク1やマーク2という区切り文字の説明をしている段落があるが、このマーク1やマーク2という区切り文字も半角または、全角のどちらでも良い。また、以下の段落で機械語に変換すると説明している場合の処理工程を説明する。データーから機械語の4bitを1単位としたBCD数値を取得して、4bitを1単位とし2単位の合計8bitのデーターを1文字として表し、BCD数値とBCD数値の間に区切り文字としてスペースを挿入して作成したデーターを作成するという処理工程の事を言う事とする。図1の<本発明の2分割文字検索ソフトウェアのフローチャート図>を参照の事。図符号Jと図符号Kには、ステップ番号を付けました。このステップ番号順に説明する事とする。まず、本発明の圧縮前の2分割処理ソフトウェアを起動すると、図2の<本発明の2分割文字検索ソフトウェアの操作画面図>の様な操作画面が図符号Nのモニターに表示される。ステップ100に進む。ステップ100は、人為的な操作である。図符号Lの参照ボタンを図符号Qのマウスなどの入力デバイスを使用してクリックする。これによって、ハードディスクなどの記録媒体の中を閲覧できる様になるので、ハードディスクなどの記録媒体から検索対象ファイルを選択する。選択すると図符号Gの指定した検索対象ファイルをフルパスで表示するテキストボックスに、選択した検索対象ファイルのフルパスが入力される。また、図符号Pのキーボードなどの入力デバイスを使って図符号Gの指定した検索対象ファイルをフルパスで表示するテキストボックスに、直接入力する事も出来るようになっている。図符号Gの指定した検索対象ファイルをフルパスで表示するテキストボックスに検索対象ファイルを指定したら、図符号Jのファイルを読み込むボタンを図符号Qのマウスなどの入力デバイスを使用してクリックする。ステップ101に進む。図符号Gの指定した検索対象ファイルをフルパスで表示するテキストボックスに指定されたファイルをバイナリー形式で全て読み込んだ場合に必要となるサイズで配列を作成し、この作成した配列を検索対象配列と仮称する。検索対象配列に図符号Gの指定した検索対象ファイルをフルパスで表示するテキストボックスに指定された検索対象ファイルをバイナリー形式で全て読み込んで、検索対象配列の最初の位置から代入する度に一つづつ代入する位置をずらして、検索対象ファイルをバイナリー形式で全て読み込んだデーターを一つづつ検索対象配列に代入する。読み込んだ検索対象ファイルのデーターを検索対象配列の内容を図符号Mの図符号C列と図符号F列と図符号I列を持つリストビューにある図符号Fの文字コード表示列に一つづつ縦方向に表示する。検索対象配列の最初の位置インデックス0番を1として連番を作成する事で検索対象配列の各データーに対応した文字数を算出する。検索対象配列と同じサイズの配列を作成し、この配列を全文字数配列と仮称する。算出した文字数を全文字数配列の最初の位置から最後まで代入する度に一つづつ代入する位置をずらして、算出した文字数の最初から最後までの全てのデーターを一つづつ全文字数配列に代入する。全文字数配列の内容を図符号Mの図符号C列と図符号F列と図符号I列を持つリストビューにある図符号Cの文字数表示列に一つづつ縦方向に表示する。ここまでの処理結果を表示させた状態の操作画面の図が図3の<図符号Jのボタンをクリックした結果を説明する図>である。図符号Mの図符号C列と図符号F列と図符号I列を持つリストビューに配列の内容を表示した状態を示した図である。つまり、図符号Cの文字数表示列と図符号Fの文字コード表示列に配列の内容を表示した状態である。ステップ102に進む。ステップ102は、人為的な操作である。図符号Hの検索対象ファイルから検索する文字を入力するテキストボックスは、検索対象ファイルから検索したい文字を1文字だけ入力出来るように作成してある。図符号Hの検索対象ファイルから検索する文字を入力するテキストボックスに図符号Pのキーボードなどの入力デバイスを使用して検索対象ファイルから検索したい文字を1文字だけ入力する。図符号Dの機械語レベル検索工程を指定するチェックボックスか図符号Eのテキストレベルの検索工程を指定するチェックボックスのどちからかを図符号Qのマウスなどの入力デバイスを使用して選択して、図符号Kの検索実行ボタンを図符号Qのマウスなどの入力デバイスを使用してクリックする。ここで、図符号Dの機械語レベル検索工程を指定するチェックボックスを選択した場合は、機械語レベルの検索方法で検索対象ファイルまたは、検索対象配列を検索する。ここで、図符号Eのテキストレベルの検索工程を指定するチェックボックスを選択した場合は、テスキストレベルの検索方法で検索対象ファイルまたは、検索対象配列を検索する。先に、機械語レベルの検索方法の場合を説明する事にする。機械語レベルの検索方法の場合は、図符号Qのマウスなどの入力デバイスを使用して図符号Dの機械語レベル検索工程を指定するチェックボックスをクリックする事で検査方法を指定して、図符号Kの検索実行ボタンを図符号Qのマウスなどの入力デバイスを使用してクリックする。ステップ103に進む。図符号Hの検索対象ファイルから検索する文字を入力するテキストボックスに入力された1文字のテキスト文字をファイルに保存する。保存したファイルを検査一時ファイルと仮称する。この検査一時ファイルは、検索文字を1文字だけ記録したファイルとなる。保存する場合の注意点として、後で、この検査一時ファイルをバイナリー形式で読み込ませて検索用データーとして使用するのでバイナリー形式で正しく読み込めるようにエンコードを指定して保存する。2文字代入できるサイズで配列を作成する。この作成した配列を検査配列と呼ぶ事とする。検査一時ファイルをバイナリー形式で読み込んで、検査配列の最初の位置と最後の位置に代入する。ステップ104に進む。検索対象配列のコピー配列を作成し、このコピーした配列を検索対象配列2と仮称する。検索対象配列2の全データーを機械語に変換したデーターを代入する為の検索対象配列2のサイズと同じ配列サイズで配列を作成し、この配列を機械語配列と仮称する。検索対象配列2の最初から最後までの全データーを機械語に変換したデーターを作成して、機械語配列の最初の位置から最後の位置まで代入する度に一つづつ代入する位置をずらして、作成した検索対象配列2の最初から最後までの全データーを機械語に変換したデーターを一つづつ機械語配列に代入する。機械語配列と同じサイズで配列を作成し、この配列をRL機械語配列と仮称する。機械語配列に代入された各データーを4bitのBCD数値の左辺と右辺とを逆転させ、4bitのBCD数値と4bitのBCD数値の間には、区切り文字としてスペースを挿入したデーターを作成して、RL機械語配列の最初の位置から最後の位置まで代入する度に一つづつ代入する位置をずらして、作成した4bitのBCD数値の左辺と右辺とを逆転させたデーターを一つづつRL機械語配列に代入する。配列を作成し、この配列を出現文字配列と仮称する。RL機械語配列に代入されたデーター全てからRL機械語配列に代入されたデーターに出現する全文字種を取得して出現文字配列に代入するが、以下の様な処理を行う事でRL機械語配列に代入されたデーター全てからRL機械語配列に代入されたデーターに出現する全文字種を取得して出現文字配列に代入する。出現文字配列に代入するデーターを全て作成して出現文字配列の最初の位置から最後の位置までに一つづつデーターを代入する処理工程を出現文字配列作成工程と仮称する。出現文字配列作成工程での処理は、配列を作成し、この配列を仮称、ソート配列とする。RL機械語配列に代入された全てのデーターを昇順降順を問わず、どちらの方法でも良いのでソートする。ソートしたデーターをソート配列の最初の位置から代入する度に一つづつ代入する位置をずらして、順番通りに全てソート配列に代入する。ソート配列に代入された最初のデーターだけを出現文字配列の最初の位置に代入し、出現検査データーと仮称する。基本的に、この出現検査データーは、常に出現文字配列に代入された最後のデーターを出現検査データーと呼ぶ事とする。このソート配列に対して以下の繰り返し処理を行う。この繰り返し処理を出現繰り返し処理と仮称する。出現検査データーとソート配列に代入された次のデーターとを比較して同じデーターであった場合と違うデーターであった場合とに分岐する。この分岐を出現検査分岐と仮称する。出現検査データーとソート配列に代入された次のデーターとを比較して同じデーターであった場合は、何もしないでソート配列に代入された次のデーターと出現検査データーとを比較検査する。出現検査データーとソート配列に代入された次のデーターとを比較して違うデーターであった場合は、出現文字配列に代入する次のデーターとしてソート配列に代入された違うデーターであった次のデーターを出現文字配列の末尾に代入する。ここで出現検査分岐を終了する。出現文字配列の末尾に代入したデーターを次の出現検査データーとし、ソート配列に代入された次のデーターを検査する。この処理をソート配列に代入された全てのデーターに対して繰り返し処理する事でRL機械語配列に代入された全てのデーターの中から、RL機械語配列に代入されたデーターに出現する全文字種を取得して出現文字配列に代入する。ソート配列に代入された全てのデーターに対して出現繰り返し処理を行ったら出現繰り返し処理を終了し、出現文字配列作成工程も終了する。全文字種を取得するとは、つまり、RL機械語配列に代入されたデーターにあるデーター全てから重複データーをなくした配列を作成する事である。次に、配列を作成し、この配列を右辺配列と仮称する。出現文字配列に代入された全てのデーターの右辺に相当する4bitのBCD数値を取得して、右辺配列の最初の位置から代入する度に一つづつ代入する位置をずらして、取得した出現文字配列に代入された最初から最後までの全てのデーターの右辺に相当する4bitのBCD数値を一つづつ右辺配列に代入する。右辺を基準に分類する為に右辺配列と同じ配列サイズで配列を作成し、この配列を分類配列と仮称する。右辺配列に代入されたデーター全てに対して以下の繰り返し処理を行う。この繰り返し処理を検査繰り返し処理と仮称する。右辺配列に代入された最初のデーターとRL機械語配列に代入された全てのデーターの右辺に相当するデーターとを比較して同じであった場合は、分類配列の最初の位置末尾とも言えるにRL機械語配列に代入された同じであったデーターを代入する。分類配列の最初の位置末尾とも言えるに代入するRL機械語配列に代入されたデーターが2つ以上あった場合は、複数あるデーターとデーターの区切り文字として数値以外の任意の文字を既にあったデーターに連結し、その後ろに新たに見つけ出したRL機械語配列に代入されたデーターを連結して分類配列の最初の位置末尾とも言えるに代入する。この数値以外の任意の文字をマーク1と仮称する。マーク1は、区切り文字として使用する。右辺配列に代入された最初のデーターとRL機械語配列に代入された全てのデーターの右辺に相当するデーターとを比較し終わったら、右辺配列に代入された次のデーターとRL機械語配列に代入された全てのデーターの右辺に相当するデーターとを比較するという繰り返し処理を行う。右辺配列に代入されたデーター全ての検査を終了する事で検査繰り返し処理を終了する。また、マーク1とは別に数値以外の任意の文字をもう一個選択して、マーク2と仮称する。マーク2も、マーク1と同じく区切り文字として使用する。マーク1とマーク2とは、必ず異なる区切り文字を選択し指定する。分類配列に代入された全てのデーターがRL機械語配列または、検索対象配列のどのインデックスの配列に代入されているかを記録する配列を分類配列のサイズで作成し、この配列を文字数配列と仮称する。文字数配列を作成する為に分類配列の最初のデーターから最後のデーターまで以下の処理を繰り返し行う。この繰り返し処理を繰り返し処理1と呼ぶ事とする。繰り返し処理1では、検査対象の分類配列の最初の位置に代入されたデーターがマーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐1と呼ぶ事とする。分岐1で検査対象の分類配列の最初の位置に代入されたデーターがマーク1で区切られていない場合は、検査対象の分類配列の最初の位置に代入されたデーターとRL機械語配列に代入された全てのデーターとを比較し同じであった場合は、同じであったRL機械語配列のデーターの位置を示すインデックスが一つだけの場合は同じであったRL機械語配列のデーターの位置を示すインデックスを取得して、文字数配列の最初の位置に代入する。但し、文字数配列の最初の位置に代入するデーターが二つ以上ある場合は、マーク2を区切り文字として使用して複数あるデーターとデーターの間に入れてRL機械語配列のインデックスを連結して文字数配列の最初の位置に代入する。分岐1で検査対象の分類配列の最初の位置に代入されたデーターがマーク1で区切られている場合は、検査対象の分類配列に代入されたデーターをマーク1で分割したデーターを代入する配列をマーク1で分割できる個数分のデーターを格納できる配列サイズで作成し、この配列を一時配列と仮称する。検査対象の分類配列の最初の位置に代入されたデーターを、複数個にマーク1で分割してマーク1を削除した状態に加工したデーターを作成して、一時配列の最初の位置から代入する度に一づつ代入する位置をずらして、作成した検査対象の分類配列の最初の位置に代入されたデーターを、複数個にマーク1で分割してマーク1を削除した状態に加工したデーターを全て一つづつ一時配列に代入する。以下の処理を一時配列に代入されたデーター数分、繰り返し処理を行う。この繰り返し処理を一時配列繰り返し処理と仮称する。一時配列に代入された最初のデーターとRL機械語配列に代入された全てのデーターとを比較し同じであった場合は、同じであったRL機械語配列に代入されたデーターの位置を示すインデックスが一つであった場合は同じであったRL機械語配列に代入されたデーターの位置を示すインデックスを取得して文字数配列の最初のデーターとして代入する。但し、文字数配列の最初の位置に代入するデーターが二つ以上ある場合は、区切りマークとして、マーク2を複数あるデーターとデーターの間に入れて同じであったRL機械語配列に代入されたデーターの位置を示すインデックスを連結して文字数配列の最初の位置に代入する。文字数配列の最初の位置に代入するデーターが二つ以上あるかどうかは、文字数配列の最初の位置にデーターを代入する度に代入した回数をカウントする事で判断させる事ができる。一時配列のデーターをひとつ検査し終わる度に区切り文字としてマーク1を文字数配列の最初の位置に代入されたデーターに連結して次の一時配列のデーターを検査する。一時配列のデーターを全て検査し終わったら、一時配列繰り返し処理を終了する。これで分岐1を終了する。次に、分類配列の最初の位置に代入されたデーターの次のデーターの処理を行う。分類配列の最初の位置に代入されたデーターの次のデーターの処理を行う場合は、文字数配列の末尾に処理結果を代入する。この手順で繰り返し処理1を分類配列に代入されたデーター全てに行い終わったら、繰り返し処理1を終了する。ステップ105に進む。2個のサイズで配列を作成し、この配列を検査機械語配列と仮称する。検査配列に代入された最初の位置のデーターを機械語に変換して検査機械語配列の最初の位置に代入する。検査配列に代入された最後の位置に代入されたデーターを機械語に変換して検査機械語配列の最後の位置に代入する。2個のサイズで配列をふたつ作成し、各々の配列を左機械語配列、右機械語配列と仮称する。検査機械語配列に代入した最初の位置に代入されたデーターの左辺に相当する4bitのBCD数値を取得して、左機械語配列の最初の位置に代入する。検査機械語配列に代入した最後の位置に代入されたデーターの左辺に相当する4bitのBCD数値を取得して、左機械語配列の最後の位置に代入する。検査機械語配列に代入した最初の位置に代入されたデーターの右辺に相当する4bitのBCD数値を取得して、右機械語配列の最初の位置に代入する。検査機械語配列に代入した最後の位置に代入されたデーターの右辺に相当する4bitのBCD数値を取得して、右機械語配列の最後の位置に代入する。2個のサイズで配列を作成し、この配列を番号配列と仮称する。右機械語配列に代入された最初の位置のデーターと右辺配列に代入された全てのデーターとを比較して同じデーターであった場合は、同じデーターであった右辺配列のデーターの位置を示すインデックスを番号配列の最初の位置にデーターとして代入する。右機械語配列に代入された最後の位置のデーターと右辺配列に代入された全てのデーターとを比較して同じデーターであった場合は、同じデーターであった右辺配列のデーターの位置を示すインデックスを番号配列の最後の位置にデーターとして代入する。2個のサイズで配列を作成し、この配列を抽出配列と仮称する。番号配列の最初の位置に代入されたデーターを分類配列のインデックスとして使用して分類配列のデーターを読み込んで、抽出配列の最初の位置に代入する。番号配列の最後の位置に代入されたデーターを分類配列のインデックスとして使用して分類配列のデーターを読み込んで、抽出配列の最後の位置に代入する。抽出配列に代入されたふたつのデーターを処理する為に以下の処理を行う。この抽出配列に代入された最初の位置に代入されたデーターに対する処理を第一処理と仮称し、抽出配列に代入された最後の位置に代入されたデーターに対する処理を第二処理と仮称する。この第一処理と第二処理では、抽出配列のデーターの中から左機械語配列と同じ左辺に相当する4bitのBCD数値と同じデーターを探し出すという処理を行う。探し出した結果を代入する為の変数をふたつ作成し、各々の変数を決定変数1、決定変数2と仮称する。配列をふたつ作成し、この配列をそれぞれ分離配列1と分離配列2仮称する。分離配列1と分離配列2に代入されるデーター数が解らないので分離配列1と分離配列2のサイズは、必要だと思われる最低限度以上のサイズで配列を作成する。抽出配列に代入されている最初の位置と最後の位置に代入されている二つのデーターを検査して処理する。第一処理では、抽出配列の最初の位置に代入されたデーターが、マーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐2と仮称する。分岐2で抽出配列の最初の位置に代入されたデーターが、マーク1で区切られていない場合は、分離配列1の最初の位置に抽出配列の最初の位置に代入されたデーターを代入する。分岐2で抽出配列の最初の位置に代入されたデーターが、マーク1で区切られている場合は、抽出配列の最初の位置に代入されたデーターを区切り文字のマーク1で複数個に分割して、区切り文字のマーク1を削除した状態のデーターに加工したデーターを作成して、分離配列1の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した抽出配列の最初の位置に代入されたデーターを区切り文字のマーク1で複数個に分割して、区切り文字のマーク1を削除した状態のデーターの全てを一つづつ分離配列1に代入する。これで分岐2を終了する。左機械語配列の最初の位置に代入されたデーターと分離配列1に代入された全てのデーターの左辺に相当する4bitのBCD数値を比較して同じものがあった場合は、同じものがあった分離配列1のデーターの位置を示すインデックスを取得する。決定変数1に取得したインデックスを代入する。左機械語配列の最初の位置に代入されたデーターと分離配列1に代入された全てのデーターの左辺に相当する4bitのBCD数値を比較して同じものがない場合は、有り得ないので有り得ないので何も行わない。これで第一処理を終了する。次に第二処理を行う。抽出配列の最後の位置に代入されたデーターが、マーク1で区切られていない場合とマーク1で区切られている場合とに分岐し、この分岐を分岐3と仮称する。分岐3で抽出配列の最後の位置に代入されたデーターが、マーク1で区切られていない場合は、分離配列2の最初の位置に抽出配列の最後の位置に代入されたデーターを代入する。分岐3で抽出配列の最後の位置に代入されたデーターが、マーク1で区切られている場合は、抽出配列の最後の位置に代入されたデーターを区切り文字のマーク1で複数個に分離分割して、区切り文字のマーク1を削除した状態のデーターに加工したデーターを作成して、分離配列2の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した抽出配列の最後の位置に代入されたデーターを区切り文字のマーク1で複数個に分離分割して、区切り文字のマーク1を削除した状態のデーターに加工したデーターを全て一つづつ分離配列2に代入する。これで分岐3を終了する。左機械語配列の最後の位置に代入されたデーターと分離配列2に代入された全てのデーターの左辺に相当する4bitのBCD数値を比較して同じものがあった場合は、同じものがあった分離配列2のデーターの位置を示すインデックスを取得する。決定変数2に取得したインデックスを代入する。左機械語配列の最後の位置に代入されたデーターと分離配列2に代入された全てのデーターの左辺に相当する4bitのBCD数値を比較して同じものがない場合は、有り得ないので何も行わない。これで、第二処理を終了する。2個のサイズで配列を作成し、この配列を暫定文字数配列と仮称する。番号配列の最初の位置に代入されたデーターを文字数配列に代入されたデーターの位置を示すインデックスとして使用して文字数配列に代入されたデーターを取得して暫定文字数配列の最初の位置に代入する。番号配列の最後の位置に代入されたデーターを文字数配列に代入されたデーターの位置を示すインデックスとして使用して文字数配列に代入されたデーターを取得して暫定文字数配列の最後の位置に代入する。ふたつの配列を作成し、このふたつの配列を各々、決定文字数配列1と決定文字数配列2と仮称する。決定文字数配列1と決定文字数配列2の両方ともに代入するデーター数が解らないので必要最低限と思われるサイズ以上の任意のサイズで配列を作成する。暫定文字数配列の最初の位置に代入されたデーターが、マーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐4と仮称する。分岐4で暫定文字数配列の最初の位置に代入されたデーターが、マーク1で区切られていない場合は、決定文字数配列1の最初の位置に暫定文字数配列の最初の位置に代入されたデーターを代入する。分岐4で暫定文字数配列の最初の位置に代入されたデーターが、マーク1で区切られている場合は、暫定文字数配列の最初の位置に代入されたデーターが、マーク1で区切られているデーター数分のサイズで配列を作成し、この配列を一時配列2と仮称する。暫定文字数配列の最初の位置に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを作成して、一時配列2の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した暫定文字数配列の最初の位置に代入されているデーターをマーク1で複数個に分割して、マーク1を削除したデーターを全て一つづつ一時配列2に代入する。決定変数1のデーターを一時配列2に代入されたデーターの位置を示すインデックスとして使用して一時配列2のインデックスの位置に代入されたデーターを取得し、取得したデーターを決定文字数配列1の最初の位置に代入する。これで分岐4を終了する。暫定文字数配列の最初の位置に代入されたデーターが、マーク2で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐5と仮称する。分岐5で暫定文字数配列の最初の位置に代入されたデーターが、マーク2で区切られていない場合は、配列のサイズを一個で配列を作成する。この配列を仮決定行数配列と仮称する。仮決定行数配列の最初の位置に決定文字数配列1の最初の位置に代入されたデーターを代入する。分岐5で暫定文字数配列の最初の位置に代入されたデーターが、マーク2で区切られている場合は、マーク2で区切られているデーター数分のサイズで配列を作成し、この配列を仮決定行数配列と仮称する。決定文字数配列1の最初の位置に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを作成して、仮決定行数配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した決定文字数配列1の最初の位置に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを全て一つづつ仮決定行数配列に代入する。これで分岐5を終了する。仮決定行数文字数配列の配列を少ない順にソートする。決定文字数配列1の配列サイズを仮決定行数文字数配列に代入されたデーター数と同じに作成しなおす。仮決定行数文字数配列に代入された全てのデーターを決定文字数配列1の最初の位置から代入する度に一つづつ代入する位置をずらして、仮決定行数文字数配列に代入された最初の位置から最後までの全てのデーターを一つづつ決定文字数配列1に代入する。暫定文字数配列の最後の位置に代入されたデーターが、マーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐6と仮称する。分岐6で暫定文字数配列の最後の位置に代入されたデーターが、マーク1で区切られていない場合は、決定文字数配列2の最初の位置に暫定文字数配列の最後の位置に代入されたデーターを代入する。分岐6で暫定文字数配列の最後の位置に代入されたデーターが、マーク1で区切られている場合は、暫定文字数配列の最後のデーターが、マーク1で区切られているデーター数分のサイズで配列を作成し、この配列を一時配列3と仮称する。暫定文字数配列の最後の位置に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを作成して、一時配列3の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した暫定文字数配列の最後のデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを全て一つづつ一時配列3に代入する。決定変数2のデーターを一時配列3に代入されたデーターの位置を示すインデックスとして使用して一時配列3のデーターを取得し、取得したデーターを決定文字数配列2の最初の位置に代入する。これで分岐6を終了する。暫定文字数配列の最後の位置に代入されたデーターが、マーク2で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐7と仮称する。分岐7で暫定文字数配列の最後の位置に代入されたデーターが、マーク2で区切られていない場合は、配列のサイズを一個で作成する。この配列を仮決定行数配列と仮称する。仮決定行数配列の最初の位置に代入された位置に決定文字数配列2の最初の位置に代入されたデーターを代入する。分岐7で暫定文字数配列の最後の位置に代入されたデーターが、マーク2で区切られている場合は、マーク2で区切られているデーター数分のサイズで配列を作成し、この配列を仮決定行数配列と仮称する。決定文字数配列2の最初の位置に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを作成して、仮決定行数配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した決定文字数配列2の最初の位置に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを全て仮決定行数配列に一つづつ代入する。これで分岐7を終了する。仮決定行数文字数配列の配列を少ない順にソートする。決定文字数配列2の配列サイズを仮決定行数文字数配列に代入されたデーター数と同じに作成しなおす。仮決定行数文字数配列に代入された全てのデーターを決定文字数配列2の最初の位置から代入する度に一つづつ代入する位置をずらして、仮決定行数文字数配列に代入された最初から最後までの全てのデーターを決定文字数配列2に一つづつ代入する。ステップ106に進む。検索対象配列と同じサイズの配列を作成し、この配列を検索結果配列と仮称する。任意の文字を決定し、これをマーク3と仮称する。実施例では、一致という文字をマーク3とした。マーク3は、マーク1または、マーク2の区切り文字と同じであっても問題ない。また、全角半角問わない任意の文字を指定する事とする。決定文字数配列1に代入されたデーターの全てを一つづつ検索結果配列に代入されたデーターの位置を示すインデックスとして使用して、検索結果配列のデーターを代入する位置を示すインデックスの位置にマーク3を代入する。決定文字数配列2に代入されたデーター全てを一つづつ検索結果配列に代入されたデーターの位置を示すインデックスとして使用して、検索結果配列の位置を示すインデックスの位置にマーク3を代入する。検索結果配列の全てのデーターを検査する。検索結果配列を検査してマーク3があったら、検索結果配列の次の位置に代入されたデーターにマーク3があるかどうかを検査する。検索結果配列の次の位置に代入されたデーターにマーク3がある場合は、次の検査データーの位置を二つ進める。検索結果配列の次の位置に代入されたデーターにマーク3がない場合は、注目している配列のデーターのマーク3を削除して、次の検査データー位置を二つ進める。検索結果配列に代入されたデーターの全て検査し終わったら、図符号Mの図符号C列と図符号F列と図符号I列を持つリストビューにある図符号Iの検索結果表示列に検索結果配列のデーターを全て表示して処理を終了する。図4の<図符号Dをチェックして機械語レベルでの検索を実行した結果を説明する図>を参照の事。図6の<実施例で使用した検索対象ファイルの内容図>で示した内容のファイルを検索対象ファイルとしていというひらがな文字を検索させた結果を示した図である。処理を終了すると図4の<図符号Dをチェックして機械語レベルでの検索を実行した結果を説明する図>のような状態で表示される。次に、テスキストレベルの検索方法で検索対象ファイルまたは、検索対象配列を検索する場合を説明する事とする。ステップ100からステップ101までは、機械語レベルの検索方法の場合と同じである。ステップ102で、図符号Qのマウスなどの入力デバイスを使用して図符号Eのテキストレベルの検索工程を指定するチェックボックスをクリックする事で選択して、図符号Kの検索実行ボタンを図符号Qのマウスなどの入力デバイスを使用してクリックする。ステップ102では、この部分以外は機械語レベルの検索方法の場合と全て同じである。ステップ103に進む。テスキストレベルの検索方法の場合も機械語レベルの検索方法の場合もステップ103の内容は、全く同じである。ステップ107に進む。検索対象配列の半分のサイズで配列を作成し、この配列を検索対象配列2と仮称する。検索対象配列のインデックスは、0から始まっているものとする。検索対象配列の偶数のインデックスに代入されているデーターを偶数に相当する左辺または、左辺に相当するデーターと呼んだり、奇数のインデックスに代入されているデーターを奇数に相当する右辺または、右辺に相当するデーターと呼んだりする事がある。検索対象配列の偶数のインデックスに代入されているデーターと奇数のインデックスに代入されているデーターを区切り文字としてスペースを使用して連結して、2文字を1文字とした文字列を作成して、検索対象配列2の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した検索対象配列の偶数のインデックスに代入されているデーターと奇数のインデックスに代入されているデーターを区切り文字としてスペースを使用して連結して、2文字を1文字とした文字列を1文字づつ検索対象配列2に代入する。検索対象配列2と同じサイズで配列を作成し、この配列をRL検索対象配列2と仮称する。検索対象配列に代入されている最初から最後までの全てのデーターを、区切り文字のスペースで区切られた左側のデーターと右側のデーターを入れ替えたデーターを作成する。このデーターを作成する時、左側の文字と右側の文字とを区切る為の区切り文字のスペースは、そのまま残した文字列を作成する。RL検索対象配列2の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した検索対象配列に代入されているデーターを、区切り文字のスペースで区切られた左側のデーターと右側のデーターを入れ替えたデーターを全て一つづつRL検索対象配列2に代入する。以降、区切り文字の左側の8bitのASCIIコードのデーターの事を右辺に相当するデーターと呼んだり、区切り文字の右側の8bitのASCIIコードのデーターの事を左辺に相当するデーターと呼んだりする事がある。配列を作成し、この配列を出現文字配列と仮称する。RL検索対象配列2に代入された最初から最後までの全てのデーターから全文字種を取得したデーターを作成して、出現文字配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成したRL検索対象配列2に代入された最初から最後までの全てのデーターから全文字種を取得したデーターを全て一つづつ出現文字配列に代入する。出現文字配列に代入するデーターは、RL検索対象配列2に代入された全てのデーターを検査して重複したデーターを削除したものとする。重複したデーターを削除する方法は、段落0034の出現文字配列作成工程と同じである。段落0034の出現文字配列作成工程では、RL機械語配列に代入された全てのデーターから重複データーを削除したデーターを出現文字配列に代入しているが、ここでは、RL検索対象配列2に代入された全てのデーターから重複したデーターを削除したデーターを作成して、出現文字配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成したRL検索対象配列2に代入された全てのデーターから重複したデーターを削除したデーターを全て一つづつ出現文字配列に代入する。配列を作成し、この配列を右辺配列と仮称する。出現文字配列の最初の位置に代入されたデーターから最後の位置に代入されたデーターまでの全てに以下の処理を行う事で右辺配列を完成させる。この工程を右辺配列作成処理と仮称する。出現文字配列の配列サイズと同じサイズで配列を作成し、仮右辺配列と仮称する。出現文字配列の右辺に相当するデーターを取得して、仮右辺配列の最初の位置から代入する度に一つづつ代入する位置をずらして、取得した出現文字配列の右辺に相当するデーターを全て一つづつ仮右辺配列に代入する。仮右辺配列に代入された全てのデーターを調べて重複したデーターを削除したデーターを作成し、右辺配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した仮右辺配列に代入された全てのデーターを調べて重複したデーターを削除したデーターを全て一つづつ右辺配列に代入する。右辺配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した仮右辺配列に代入された全てのデーターを調べて重複したデーターを削除したデーターを全て右辺配列に代入し終わったら、右辺配列作成処理を終了する。重複したデーターを削除したデーターの作成方法は、段落0034の出現文字配列作成工程と同じである。右辺配列のサイズで配列を作成し、この配列を分類配列と仮称する。右辺配列に代入されたデーターの全てに対して以下の繰り返し処理を行う。この繰り返し処理を検査繰り返し処理と仮称する。右辺配列に代入された最初の位置に代入されたデーターと出現文字配列に代入された全てのデーターの右辺に相当するデーターとを比較検査し、同じであった場合は、分類配列の末尾に出現文字配列に代入された同じであったデーターを代入する。分類配列の同じ位置に代入されるデーターが複数ある場合は、区切り文字として数値以外の任意の文字を選択してその文字を複数あるデーターとデーターの間に入れてデーターを連結して分類配列の末尾に代入する。この数値以外の任意の文字をマーク1と仮称する。マーク1は、区切り文字として使用する。このマーク1の連結方法は、段落0035でのマーク1の使用方法と同じである。表現を変えて説明した。右辺配列に代入された最初の位置に代入されたデーターと出現文字配列に代入された全てのデーターの右辺に相当するデーターとを比較検査し終わったら、右辺配列に代入された次のデーターと出現文字配列に代入された全てのデーターの右辺に相当するデーターとを比較検査するという繰り返し処理を行う事で、右辺配列に代入されたデーターの全てに対してこの繰り返し処理を行って、この検査繰り返し処理を終了する。また、マーク1とは別にもう一個、数値以外の任意の文字を選択してマーク2と仮称する。マーク2も、マーク1と同じく区切り文字として使用する。マーク1とマーク2とは、違う区切り文字を指定する。分類配列に代入された左辺と右辺を逆転させたデーターがRL検索対象配列2または、検索対象配列2のどのインデックスの配列に代入されているかを記録する配列を分類配列のサイズと同じサイズで作成し、この配列を文字数配列と仮称する。以下の繰り返し処理を行う。この繰り返し処理を繰り返し処理3と仮称する。分類配列に代入されたデーター全てに対して繰り返し処理3を行う事で文字数配列に全てのデーターを代入して配列を完成させる処理を行う。繰り返し処理3では、分類配列の最初の位置に代入されたデーターがマーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐8と仮称する。分岐8の分類配列の最初の位置に代入されたデーターがマーク1で区切られていない場合は、分類配列の最初の位置のデーターとRL検索対象配列2に代入された全てのデーターとを比較してデーターが同じであった場合は、同じであったRL検索対象配列2のデーターの位置を示すインデックスが一つだけの場合はその位置を示すインデックスを取得して文字数配列の最初の位置に代入する。但し、文字数配列の最初の位置に代入するデーターが二つ以上ある場合は、マーク2を既に記録してあるデーターと新たに見つけたRL検索対象配列2のインデックスとの間に区切り文字として入れて連結して代入する。分岐8の分類配列の最初の位置に代入されたデーターがマーク1で区切られている場合は、分類配列の最初の位置に代入されたデーターをマーク1で複数個に分割したデーター数分のサイズで配列を作成し、作成したこの配列を一時配列4と仮称する。分類配列の最初の位置に代入されたデーターをマーク1で複数個に分割してマーク1を削除したデーターに加工したデーターを作成して、一時配列4の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した分類配列の最初の位置に代入されたデーターをマーク1で複数個に分割してマーク1を削除したデーターに加工したデーターを全て一つづつ一時配列4に代入する。変数を作成し、この変数を仮一時変数と仮称する。一時配列4に代入された全てのデーターに対して以下の繰り返し処理を行う。この繰り返し処理を一時配列4繰り返し処理と仮称する。一時配列4の最初の位置のデーターに対してRL検索対象配列2の全てのデーターを検査し、一時配列4の最初の位置のデーターとRL検索対象配列2に代入されたデーターが同じであった場合に、同じであったRL検索対象配列2のデーターの位置を示すインデックスが一つであった場合はデーターが同じであったRL検索対象配列2のデーターの位置を示すインデックスを取得して、仮一時変数に代入する。但し、仮一時変数に代入するデーターが二個以上の場合は、仮一時変数に代入されたデーターにマーク2を文字区切りとして連結して、新たに見つけたRL検索対象配列2のデーターの位置を示すインデックスを連結して仮一時変数に代入する。仮一時変数に代入するデーターが二個以上あるかどうかは、仮一時変数に代入するデーターを代入する度に代入した回数をカウントする事で判断させる事ができる。一時配列4の最初の位置のデーターに対してRL検索対象配列2の全てのデーターを検査し終わったら、一時配列4のデーターをひとつ検査し終わる度に区切り文字としてマーク1を仮一時変数に代入されたデーターに連結して次の一時配列4のデーターを検査する。一時配列4に代入されたデーター全てを検査し終わったら、一時配列4繰り返し処理を終了する。文字数配列の最初の位置に仮一時変数のデーターを代入する。これで分岐8を終了する。分類配列の最初の位置に代入されたデーターの次のデーターの処理を行う。分類配列の最初の位置に代入されたデーターの次のデーター以降の処理を行う場合は、文字数配列の末尾に処理結果を代入する。この手順で繰り返し処理3を分類配列に代入されたデーター全てに行い終わったら、繰り返し処理3を終了する。ステップ107に進む。変数を作成し、この変数を番号変数と仮称する。検査配列に代入されたデーターの右辺に相当するデーターと同じデーターを右辺配列に代入された全てのデーターから探し出して、探し出した右辺配列に代入されたデーターの位置を示すインデックスを取得して番号変数に代入する。検査配列に代入されたデーターの右辺に相当するデーターとは、検査配列の最後の位置に代入されたデーターの事である。変数を作成し、この変数を抽出変数と仮称する。番号変数に代入されたデーターを分類配列に代入されたデーターの位置を示すインデックスとして使用して分類配列のデーターを読み込んで、抽出変数に代入する。配列を作成し、この配列を分離配列と仮称する。抽出変数に代入されたデーターが、マーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐9と仮称する。分岐9で抽出変数に代入されたデーターがマーク1で区切られていない場合は、分離配列の最初の位置に抽出変数に代入されたデーターを代入する。分岐9で抽出変数に代入されたデーターがマーク1で区切られている場合は、抽出変数に代入されたデーターをマーク1で分割したデーター数を配列のサイズとして分離配列を作成しなおす。抽出変数に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを作成して、分離配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した抽出変数に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを全て一つづつ分離配列に代入する。これで分岐9を終了する。分離配列のデーターの中から検査配列の最初の位置に代入されたデーター検査配列の最初の位置に代入されたデーターとは、左辺に相当するデーターの事である。と同じデーターを探し出し、同じデーターが格納された分離配列の位置を示すインデックスを取得する。探し出して取得した分離配列の位置を示すインデックスを代入する為の変数を作成する。この変数を決定変数と仮称する。決定変数に探し出して取得した分離配列の位置を示すインデックスを代入する。変数を作成し、この変数を暫定文字数変数と仮称する。番号変数のデーターを文字数配列に代入されたデーターの位置を示すインデックスとして使用して文字数配列のデーターを読み込んで暫定文字数変数に代入する。配列を作成し、この配列を決定文字数配列と仮称する。変数を作成し、この変数を一時変数2と仮称する。暫定文字数変数に代入されたデーターが、マーク1で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐10と仮称する。分岐10で暫定文字数変数に代入されたデーターが、マーク1で区切られていない場合は、一時変数2に暫定文字数変数に代入されたデーターを代入する。分岐10で暫定文字数変数に代入されたデーターが、マーク1で区切られている場合は、暫定文字数変数に代入されたデーターをマーク1で分割したデーター数を配列のサイズとして配列を作成し、この配列を一時配列5と仮称する。暫定文字数変数に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを作成して、一時配列5の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した暫定文字数変数に代入されたデーターをマーク1で複数個に分割して、マーク1を削除したデーターに加工したデーターを全て一つづつ一時配列5に代入する。決定変数に代入されたデーターを一時配列5に代入されたデーターの位置を示すインデックスとして使用して一時配列5のデーターを読み込んで一時変数2に代入する。これで分岐10を終了する。一時変数2に代入されたデーターが、マーク2で区切られている場合と区切られていない場合とに分岐し、この分岐を分岐11と仮称する。分岐11で一時変数2に代入されたデーターが、マーク2で区切られていない場合は、決定文字数配列の最初の位置に一時変数2に代入されたデーターを代入する。分岐11で一時変数2に代入されたデーターが、マーク2で区切られている場合は、一時変数2に代入されたデーターをマーク2で分割したデーター数を配列サイズとして決定文字数配列を作成して、一時変数2に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを作成して、決定文字数配列の最初の位置から代入する度に一つづつ代入する位置をずらして、作成した一時変数2に代入されたデーターをマーク2で複数個に分割して、マーク2を削除したデーターに加工したデーターを全て一つづつ決定文字数配列に代入する。これで分岐11を終了する。決定文字数配列のデーターを少ない順番でソートする。ステップ109に進む。全文字数配列のサイズを検索対象配列2のサイズと同じサイズに変更する。最初のデーターを1として全文字数配列のサイズ分までの通し番号を作成して、全文字数配列の最初の位置から最後までの位置に代入する度に一つづつ代入する位置をずらして、通し番号を一つづつ全文字数配列に代入する。図符号Mの図符号C列と図符号F列と図符号I列を持つリストビューの図符号Cの文字数表示列に全文字数配列のデーターを一つづつ縦方向に表示しなおします。図符号Mの図符号C列と図符号F列と図符号I列を持つリストビューの図符号Fの文字コード表示列の最初の行から検索対象配列2に代入された全てのデーターを代入する度に一つづつ代入する位置をずらして、一つづつ縦方向に表示しなおします。配列を作成し、この配列を決定文字数配列2と仮称する。任意の文字を指定し、これをマーク3と仮称する。実施例では、一致という文字をマーク3とした。マーク3は、マーク1または、マーク2の区切り文字と同じであっても問題ない。また、全角半角問わない任意の文字を指定する事とする。決定文字数配列に代入された全てのデーターを決定文字数配列2のデーターの位置を示すインデックスとして使用してマーク3を決定文字数配列に代入する。図符号Mの図符号C列と図符号F列と図符号I列を持つリストビューの図符号Iの検索結果表示列に決定文字数配列2のデーターを表示して処理を終了する。図5の<図符号Eをチェックしてテキストレベルでの検索を実行した結果を説明する図>は、図6の<実施例で使用した検索対象ファイルの内容図>で示した内容のファイルを検索対象ファイルとしていというひらがな文字を検索させた結果を示したものである。処理を終了すると図5の<図符号Eをチェックしてテキストレベルでの検索を実行した結果を説明する図>のような状態で表示する。