JPH11282599A - ファイル内容の変化を表示する方法および装置,ならびに表示のためのプログラムを記録した媒体 - Google Patents
ファイル内容の変化を表示する方法および装置,ならびに表示のためのプログラムを記録した媒体Info
- Publication number
- JPH11282599A JPH11282599A JP10402998A JP10402998A JPH11282599A JP H11282599 A JPH11282599 A JP H11282599A JP 10402998 A JP10402998 A JP 10402998A JP 10402998 A JP10402998 A JP 10402998A JP H11282599 A JPH11282599 A JP H11282599A
- Authority
- JP
- Japan
- Prior art keywords
- file
- unit data
- data
- comparison
- contents
- 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.)
- Pending
Links
- 230000008859 change Effects 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 title claims description 64
- 238000012217 deletion Methods 0.000 claims abstract description 10
- 230000037430 deletion Effects 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 39
- 238000012545 processing Methods 0.000 description 47
- 239000011159 matrix material Substances 0.000 description 25
- 238000007792 addition Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000002360 preparation method Methods 0.000 description 7
- 239000003086 colorant Substances 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
(57)【要約】
【目的】 ファイル比較結果を見やすくする。
【構成】 比較された2つのファイルの一方を表示し,
この表示おいて変化(変更,削除,追加)のあった部分
を明示する。切替入力に応答して,一方のファイルに重
ねてかつ一方のファイルの変化のあった部分と対比でき
るように他方のファイルの変化のあった部分を表示し明
示する。
この表示おいて変化(変更,削除,追加)のあった部分
を明示する。切替入力に応答して,一方のファイルに重
ねてかつ一方のファイルの変化のあった部分と対比でき
るように他方のファイルの変化のあった部分を表示し明
示する。
Description
【0001】
【技術分野】この発明は元のファイルとこれを変更した
ファイルとの間において変化(変更,削除,追加)のあ
った部分を明示的に表示する方法および装置,変化のあ
った部分を抽出するファイル比較方法および装置,なら
びにこれらの方法を実現するための,またはこれらの装
置をコンピュータを用いて構築するためのプログラムを
記録したコンピュータ読取可能な記録媒体に関する。
ファイルとの間において変化(変更,削除,追加)のあ
った部分を明示的に表示する方法および装置,変化のあ
った部分を抽出するファイル比較方法および装置,なら
びにこれらの方法を実現するための,またはこれらの装
置をコンピュータを用いて構築するためのプログラムを
記録したコンピュータ読取可能な記録媒体に関する。
【0002】
【技術的背景】プログラム・ファイル,データ・ファイ
ル等は頻繁に書き替えられたり,一部が修正されたりす
ることが多い。このような更新処理後のファイルにおい
て,どの部分が更新(変更,追加または削除)されたか
を,後日,知ることが必要となることがある。
ル等は頻繁に書き替えられたり,一部が修正されたりす
ることが多い。このような更新処理後のファイルにおい
て,どの部分が更新(変更,追加または削除)されたか
を,後日,知ることが必要となることがある。
【0003】新,旧2つのファイルにおいて変化のあっ
た部分を検索するための比較処理プログラムがある。こ
れは比較処理が終了したのちに比較結果を表示する。
た部分を検索するための比較処理プログラムがある。こ
れは比較処理が終了したのちに比較結果を表示する。
【0004】この表示において,新,旧いずれか一方の
ファイルが表示画面の大きさの範囲で表示され(もちろ
んスクロールすることもできる),その表示において変
化のあった部分が明示される。いずれか一方のファイル
において変化のあった部分が明示されるだけであるか
ら,他方のファイルの該当する部分がわからない。
ファイルが表示画面の大きさの範囲で表示され(もちろ
んスクロールすることもできる),その表示において変
化のあった部分が明示される。いずれか一方のファイル
において変化のあった部分が明示されるだけであるか
ら,他方のファイルの該当する部分がわからない。
【0005】2つのファイルを表示画面の左右に対比さ
せて表示するものもあるが,左右に離れているのでこの
表示形態も見ずらい。
せて表示するものもあるが,左右に離れているのでこの
表示形態も見ずらい。
【0006】
【発明の開示】この発明はファイル比較結果を見やすく
表示できる方法,装置およびプログラム記録媒体を提供
するものである。
表示できる方法,装置およびプログラム記録媒体を提供
するものである。
【0007】この発明はまた,2つのファイルを迅速に
比較することができる方法,装置およびプログラム記録
媒体を提供するものである。
比較することができる方法,装置およびプログラム記録
媒体を提供するものである。
【0008】この発明はさらに,2つのファイルの比較
処理において使用するメモリをできるだけ少なくするこ
とのできる方法,装置およびプログラム記録媒体を提供
するものである。
処理において使用するメモリをできるだけ少なくするこ
とのできる方法,装置およびプログラム記録媒体を提供
するものである。
【0009】この発明によるファイル比較結果表示方法
は,第1のファイルの内容と,第1のファイルの内容を
更新して得られた第2のファイルの内容を比較した結果
を表わすデータを用いて,第1のファイルの内容と第2
のファイルの内容において変化のあった部分を明示する
方法であり,変化のあった部分を明示するための少なく
とも2つの異なるイメージ部品を用意し,第1のファイ
ルの内容および第2のファイルの内容の少なくとも一方
を表示画面に表示するとともに,比較結果を表わすデー
タに基づいて上記第1のファイルにおいて変化のあった
部分を一方のイメージ部品により明示的に表示する形態
と,上記一方のファイル内容の変化のあった部分と対比
して,他方のファイルの変化のあった部分を他方のイメ
ージ部品により明示的に表示する形態とを,外部からの
切替指令に応答して切替えるものである。
は,第1のファイルの内容と,第1のファイルの内容を
更新して得られた第2のファイルの内容を比較した結果
を表わすデータを用いて,第1のファイルの内容と第2
のファイルの内容において変化のあった部分を明示する
方法であり,変化のあった部分を明示するための少なく
とも2つの異なるイメージ部品を用意し,第1のファイ
ルの内容および第2のファイルの内容の少なくとも一方
を表示画面に表示するとともに,比較結果を表わすデー
タに基づいて上記第1のファイルにおいて変化のあった
部分を一方のイメージ部品により明示的に表示する形態
と,上記一方のファイル内容の変化のあった部分と対比
して,他方のファイルの変化のあった部分を他方のイメ
ージ部品により明示的に表示する形態とを,外部からの
切替指令に応答して切替えるものである。
【0010】この発明によるファイル比較結果表示装置
は,第1のファイルの内容と,第1のファイルの内容を
更新して得られた第2のファイルの内容を比較した結果
を表わすデータを用いて,第1のファイルの内容と第2
のファイルの内容において変化のあった部分を明示する
装置であり,変化のあった部分を明示するための少なく
とも2つの異なるイメージ部品を記憶する記憶装置,表
示形態切替入力手段,および第1のファイルの内容およ
び第2のファイルの内容の少なくとも一方を表示画面に
表示するとともに,比較結果を表わすデータに基づいて
上記第1のファイルにおいて変化のあった部分を一方の
イメージ部品により明示的に表示する形態と,上記一方
のファイル内容の変化のあった部分と対比して,他方の
ファイルの変化のあった部分を他方のイメージ部品によ
り明示的に表示する形態とを,上記切替入力手段からの
切替指令に応答して切替えるように制御する表示制御手
段を備えたものである。
は,第1のファイルの内容と,第1のファイルの内容を
更新して得られた第2のファイルの内容を比較した結果
を表わすデータを用いて,第1のファイルの内容と第2
のファイルの内容において変化のあった部分を明示する
装置であり,変化のあった部分を明示するための少なく
とも2つの異なるイメージ部品を記憶する記憶装置,表
示形態切替入力手段,および第1のファイルの内容およ
び第2のファイルの内容の少なくとも一方を表示画面に
表示するとともに,比較結果を表わすデータに基づいて
上記第1のファイルにおいて変化のあった部分を一方の
イメージ部品により明示的に表示する形態と,上記一方
のファイル内容の変化のあった部分と対比して,他方の
ファイルの変化のあった部分を他方のイメージ部品によ
り明示的に表示する形態とを,上記切替入力手段からの
切替指令に応答して切替えるように制御する表示制御手
段を備えたものである。
【0011】この発明によるファイル比較結果表示のた
めのプログラムを記録した媒体は,次のプログラムを記
録したものである。このプログラムは,第1のファイル
の内容と,第1のファイルの内容を更新して得られた第
2のファイルの内容を比較した結果を表わすデータを用
いて,第1のファイルの内容と第2のファイルの内容に
おいて変化のあった部分を明示する方法を実現するため
のプログラムであって,第1のファイルの内容および第
2のファイルの内容の少なくとも一方を表示画面に表示
するとともに,比較結果を表わすデータに基づいて上記
第1のファイルにおいて変化のあった部分を第1の変化
明示用イメージ部品を用いて明示的に表示する形態と,
上記一方のファイル内容の変化のあった部分に対比し
て,他方のファイルの変化のあった部分を,上記第1の
変化明示用イメージ部品とは異なる第2の変化明示用イ
メージ部品により明示的に表示する形態とを,切替指令
に応答して切替えるようにコンピュータを制御するもの
である。
めのプログラムを記録した媒体は,次のプログラムを記
録したものである。このプログラムは,第1のファイル
の内容と,第1のファイルの内容を更新して得られた第
2のファイルの内容を比較した結果を表わすデータを用
いて,第1のファイルの内容と第2のファイルの内容に
おいて変化のあった部分を明示する方法を実現するため
のプログラムであって,第1のファイルの内容および第
2のファイルの内容の少なくとも一方を表示画面に表示
するとともに,比較結果を表わすデータに基づいて上記
第1のファイルにおいて変化のあった部分を第1の変化
明示用イメージ部品を用いて明示的に表示する形態と,
上記一方のファイル内容の変化のあった部分に対比し
て,他方のファイルの変化のあった部分を,上記第1の
変化明示用イメージ部品とは異なる第2の変化明示用イ
メージ部品により明示的に表示する形態とを,切替指令
に応答して切替えるようにコンピュータを制御するもの
である。
【0012】この発明によると,比較対象となった少な
くとも一方のファイルが表示され,この表示されたファ
イルにおいて,比較処理により変化があったと判定され
た部分がイメージ部品により明示される。表示切替入力
に応答して,既に表示されている一方のファイルの変化
のあった部分に対比して,他方のファイルの変化のあっ
た部分が表示されかつ上記のイメージ部品とは異なるイ
メージ部品により明示される。表示切替入力を与えるこ
とにより元の表示に戻すこともできる。
くとも一方のファイルが表示され,この表示されたファ
イルにおいて,比較処理により変化があったと判定され
た部分がイメージ部品により明示される。表示切替入力
に応答して,既に表示されている一方のファイルの変化
のあった部分に対比して,他方のファイルの変化のあっ
た部分が表示されかつ上記のイメージ部品とは異なるイ
メージ部品により明示される。表示切替入力を与えるこ
とにより元の表示に戻すこともできる。
【0013】したがって,ユーザーは一方のファイル
(たとえば更新後のファイルを)見たいときにはそのフ
ァイルのみを表示させることができる。表示切替によ
り,更新前,後の両ファイルの変化のあった部分につい
て,更新前(変化前)と更新後(変化後)の状態を対比
させてみることもできる。この発明によるとファイル比
較結果が非常に分かりやすくなる。
(たとえば更新後のファイルを)見たいときにはそのフ
ァイルのみを表示させることができる。表示切替によ
り,更新前,後の両ファイルの変化のあった部分につい
て,更新前(変化前)と更新後(変化後)の状態を対比
させてみることもできる。この発明によるとファイル比
較結果が非常に分かりやすくなる。
【0014】イメージ部品はたとえば変化のあった部分
を囲む枠,その部分の背景色等を表示するものである。
2つのファイルの変化のあった部分を明示するために背
景色をファイルに応じて変えるようにするとよい。
を囲む枠,その部分の背景色等を表示するものである。
2つのファイルの変化のあった部分を明示するために背
景色をファイルに応じて変えるようにするとよい。
【0015】変化とは変更,削除および追加を含む。
【0016】好ましい実施態様においては,イメージ部
品により明示的に表示された変化のあった部分の近傍に
変化の内容(上述の変更,削除,追加等)を表わすアイ
コンを表示すると,変化の内容がよく理解できる。
品により明示的に表示された変化のあった部分の近傍に
変化の内容(上述の変更,削除,追加等)を表わすアイ
コンを表示すると,変化の内容がよく理解できる。
【0017】この発明によるファイル比較方法は,第1
のファイルと第2のファイルを配列の順序にしたがって
所定単位データずつ順次比較し,不一致の単位データが
現れたところで,それ以降の単位データにおいて一致す
る箇所を検索するに際して,一方のファイルの単位デー
タのポインタを固定し,他方のファイルの単位データの
ポインタを1つずつ増加させて,両ポインタによって指
定される単位データを比較し,他方のファイルの単位デ
ータのポインタを限界まで増加させても一致する単位デ
ータがなければ,一方のファイルの単位データのポイン
タを1増加さて同様の比較処理を繰返し,一致する単位
データがあれば,他方のファイルの単位データのポイン
タを増加させる範囲を一致した単位データの位置によっ
て制限するものである。
のファイルと第2のファイルを配列の順序にしたがって
所定単位データずつ順次比較し,不一致の単位データが
現れたところで,それ以降の単位データにおいて一致す
る箇所を検索するに際して,一方のファイルの単位デー
タのポインタを固定し,他方のファイルの単位データの
ポインタを1つずつ増加させて,両ポインタによって指
定される単位データを比較し,他方のファイルの単位デ
ータのポインタを限界まで増加させても一致する単位デ
ータがなければ,一方のファイルの単位データのポイン
タを1増加さて同様の比較処理を繰返し,一致する単位
データがあれば,他方のファイルの単位データのポイン
タを増加させる範囲を一致した単位データの位置によっ
て制限するものである。
【0018】この発明によるファイル比較装置は,第1
のファイルと第2のファイルを配列の順序にしたがって
所定単位データずつ順次比較し,不一致の単位データが
現れたところで,それ以降の単位データにおいて一致す
る箇所を検索するに際して,一方のファイルの単位デー
タのポインタを固定し,他方のファイルの単位データの
ポインタを1つずつ増加させて,両ポインタによって指
定される単位データを比較する比較手段,および他方の
ファイルの単位データのポインタを限界まで増加させて
も一致する単位データがなければ,一方のファイルの単
位データのポインタを1増加さて上記比較手段による比
較処理を繰返し,一致する単位データがあれば,他方の
ファイルの単位データのポインタを増加させる範囲を一
致した単位データの位置によって制限する比較制御手段
を備えているものである。
のファイルと第2のファイルを配列の順序にしたがって
所定単位データずつ順次比較し,不一致の単位データが
現れたところで,それ以降の単位データにおいて一致す
る箇所を検索するに際して,一方のファイルの単位デー
タのポインタを固定し,他方のファイルの単位データの
ポインタを1つずつ増加させて,両ポインタによって指
定される単位データを比較する比較手段,および他方の
ファイルの単位データのポインタを限界まで増加させて
も一致する単位データがなければ,一方のファイルの単
位データのポインタを1増加さて上記比較手段による比
較処理を繰返し,一致する単位データがあれば,他方の
ファイルの単位データのポインタを増加させる範囲を一
致した単位データの位置によって制限する比較制御手段
を備えているものである。
【0019】この発明によるファイル比較プログラムを
記録した媒体は,第1のファイルと第2のファイルを配
列の順序にしたがって所定単位データずつ順次比較し,
不一致の単位データが現れたところで,それ以降の単位
データにおいて一致する箇所を検索するに際して,一方
のファイルの単位データのポインタを固定し,他方のフ
ァイルの単位データのポインタを1つずつ増加させて,
両ポインタによって指定される単位データを比較し,他
方のファイルの単位データのポインタを限界まで増加さ
せても一致する単位データがなければ,一方のファイル
の単位データのポインタを1増加さて同様の比較処理を
繰返し,一致する単位データがあれば,他方のファイル
の単位データのポインタを増加させる範囲を一致した単
位データの位置によって制限するようにコンピュータを
制御するファイル比較プログラムを記録したものであ
る。
記録した媒体は,第1のファイルと第2のファイルを配
列の順序にしたがって所定単位データずつ順次比較し,
不一致の単位データが現れたところで,それ以降の単位
データにおいて一致する箇所を検索するに際して,一方
のファイルの単位データのポインタを固定し,他方のフ
ァイルの単位データのポインタを1つずつ増加させて,
両ポインタによって指定される単位データを比較し,他
方のファイルの単位データのポインタを限界まで増加さ
せても一致する単位データがなければ,一方のファイル
の単位データのポインタを1増加さて同様の比較処理を
繰返し,一致する単位データがあれば,他方のファイル
の単位データのポインタを増加させる範囲を一致した単
位データの位置によって制限するようにコンピュータを
制御するファイル比較プログラムを記録したものであ
る。
【0020】上記において,一方のファイルの残りすべ
ての単位データについて比較処理を終了するか,または
他方のファイルの単位データのポインタの増加する範囲
が無くなるまで比較を繰返す。
ての単位データについて比較処理を終了するか,または
他方のファイルの単位データのポインタの増加する範囲
が無くなるまで比較を繰返す。
【0021】この発明によると,2つのファイルをその
データ配列の順序にしたがって比較していって,不一致
の箇所があったときに,次に一致する箇所を検索する。
この検索において,次に一致する共通部分,しかも長さ
のできるだけ長い共通部分は不一致箇所の近くにあるの
が一般的であるという前提に立って,検索すべき範囲を
一致部分の発見ごとにしだいに狭めている。したがっ
て,効率よく迅速にできるだけ長い共通部分がみつか
る。
データ配列の順序にしたがって比較していって,不一致
の箇所があったときに,次に一致する箇所を検索する。
この検索において,次に一致する共通部分,しかも長さ
のできるだけ長い共通部分は不一致箇所の近くにあるの
が一般的であるという前提に立って,検索すべき範囲を
一致部分の発見ごとにしだいに狭めている。したがっ
て,効率よく迅速にできるだけ長い共通部分がみつか
る。
【0022】この発明はもう一つのファイル比較方法,
装置およびプログラム記録媒体を提供している。
装置およびプログラム記録媒体を提供している。
【0023】この発明によるもう一つのファイル比較方
法は,第1のファイルと第2のファイルを配列の順序に
したがって所定単位データずつ順次比較し,不一致の単
位データが現れたところで,それ以降の単位データにお
いて一致する箇所を検索し,一致する単位データが発見
されたときに再び所定単位データずつ順次比較し,一致
している単位データの連続数を記憶しながら最も連続数
の大きいものを検出して,一方のファイルにおいて進む
べきルートの起点と終点を表わす第1のマークとして不
一致の単位データに付し,すべての単位データの比較が
終了したのち,再び第1のファイルと第2のファイルを
配列の順序にしたがって所定単位データずつ比較し,第
1のファイルの単位データと第2のファイルの単位デー
タのすべてについて,データの一致する部分と不一致の
部分とを区別するデータを上記第1のマークを参照しな
がら付して結果シートを作成するものである。
法は,第1のファイルと第2のファイルを配列の順序に
したがって所定単位データずつ順次比較し,不一致の単
位データが現れたところで,それ以降の単位データにお
いて一致する箇所を検索し,一致する単位データが発見
されたときに再び所定単位データずつ順次比較し,一致
している単位データの連続数を記憶しながら最も連続数
の大きいものを検出して,一方のファイルにおいて進む
べきルートの起点と終点を表わす第1のマークとして不
一致の単位データに付し,すべての単位データの比較が
終了したのち,再び第1のファイルと第2のファイルを
配列の順序にしたがって所定単位データずつ比較し,第
1のファイルの単位データと第2のファイルの単位デー
タのすべてについて,データの一致する部分と不一致の
部分とを区別するデータを上記第1のマークを参照しな
がら付して結果シートを作成するものである。
【0024】この発明によるもう一つのファイル比較装
置は,第1のファイルと第2のファイルを配列の順序に
したがって所定単位データずつ順次比較し,不一致の単
位データが現れたところで,それ以降の単位データにお
いて一致する箇所を検索し,一致する単位データが発見
されたときに再び所定単位データずつ順次比較し,一致
している単位データの連続数を記憶しながら最も連続数
の大きいものを検出して,一方のファイルにおいて進む
べきルートの起点と終点を表わす第1のマークとして不
一致の単位データに付す比較手段,およびすべての単位
データの比較が終了したのち,再び第1のファイルと第
2のファイルを配列の順序にしたがって所定単位データ
ずつ比較し,第1のファイルの単位データと第2のファ
イルの単位データのすべてについて,データの一致する
部分と不一致の部分とを区別するデータを上記第1のマ
ークを参照しながら付して結果シートを作成する結果作
成手段を備えているものである。
置は,第1のファイルと第2のファイルを配列の順序に
したがって所定単位データずつ順次比較し,不一致の単
位データが現れたところで,それ以降の単位データにお
いて一致する箇所を検索し,一致する単位データが発見
されたときに再び所定単位データずつ順次比較し,一致
している単位データの連続数を記憶しながら最も連続数
の大きいものを検出して,一方のファイルにおいて進む
べきルートの起点と終点を表わす第1のマークとして不
一致の単位データに付す比較手段,およびすべての単位
データの比較が終了したのち,再び第1のファイルと第
2のファイルを配列の順序にしたがって所定単位データ
ずつ比較し,第1のファイルの単位データと第2のファ
イルの単位データのすべてについて,データの一致する
部分と不一致の部分とを区別するデータを上記第1のマ
ークを参照しながら付して結果シートを作成する結果作
成手段を備えているものである。
【0025】この発明によるもう一つのファイル比較プ
ログラムを記録した媒体は,第1のファイルと第2のフ
ァイルを配列の順序にしたがって所定単位データずつ順
次比較し,不一致の単位データが現れたところで,それ
以降の単位データにおいて一致する箇所を検索し,一致
する単位データが発見されたときに再び所定単位データ
ずつ順次比較し,一致している単位データの連続数を記
憶しながら最も連続数の大きいものを検出して,一方の
ファイルにおいて進むべきルートの起点と終点を表わす
第1のマークとして不一致の単位データに付し,すべて
の単位データの比較が終了したのち,再び第1のファイ
ルと第2のファイルを配列の順序にしたがって所定単位
データずつ比較し,第1のファイルの単位データと第2
のファイルの単位データのすべてについて,データの一
致する部分と不一致の部分とを区別するデータを上記第
1のマークを参照しながら付して結果シートを作成する
ようにコンピューターを制御するファイル比較プログラ
ムを記録した媒体である。
ログラムを記録した媒体は,第1のファイルと第2のフ
ァイルを配列の順序にしたがって所定単位データずつ順
次比較し,不一致の単位データが現れたところで,それ
以降の単位データにおいて一致する箇所を検索し,一致
する単位データが発見されたときに再び所定単位データ
ずつ順次比較し,一致している単位データの連続数を記
憶しながら最も連続数の大きいものを検出して,一方の
ファイルにおいて進むべきルートの起点と終点を表わす
第1のマークとして不一致の単位データに付し,すべて
の単位データの比較が終了したのち,再び第1のファイ
ルと第2のファイルを配列の順序にしたがって所定単位
データずつ比較し,第1のファイルの単位データと第2
のファイルの単位データのすべてについて,データの一
致する部分と不一致の部分とを区別するデータを上記第
1のマークを参照しながら付して結果シートを作成する
ようにコンピューターを制御するファイル比較プログラ
ムを記録した媒体である。
【0026】この発明による,ファイル比較において不
一致の単位データが現れたときに,データが一致する共
通部分ができるだけ長い部分を検出し,検出された共通
部分をルートとして記憶している(第1のマーク)。し
たがって,最終的にファイル比較結果データを作成する
ときに,このルートを参照することができる。2つの比
較すべきファイルをマトリックス状にメモリに展開し
て,そこに比較結果を書込んでいくとかなりのメモリの
容量が必要となるが,この発明によると比較処理に使用
するメモリの容量が少なくすむ。
一致の単位データが現れたときに,データが一致する共
通部分ができるだけ長い部分を検出し,検出された共通
部分をルートとして記憶している(第1のマーク)。し
たがって,最終的にファイル比較結果データを作成する
ときに,このルートを参照することができる。2つの比
較すべきファイルをマトリックス状にメモリに展開し
て,そこに比較結果を書込んでいくとかなりのメモリの
容量が必要となるが,この発明によると比較処理に使用
するメモリの容量が少なくすむ。
【0027】
【実施例】1 ファイル比較プログラム ファイル比較プログラムは比較処理と描画処理とを行
う。
う。
【0028】比較処理は更新前のファイルと更新後のフ
ァイルを1行単位で比較し,どのような更新操作が行わ
れたかを特定するものである。更新操作には「変更」と
「追加」と「削除」の3つの操作がある。実際の更新操
作では「移動」という操作もあるが,ここでは「追加」
と「削除」の組み合わせであるとみなす。
ァイルを1行単位で比較し,どのような更新操作が行わ
れたかを特定するものである。更新操作には「変更」と
「追加」と「削除」の3つの操作がある。実際の更新操
作では「移動」という操作もあるが,ここでは「追加」
と「削除」の組み合わせであるとみなす。
【0029】描画処理は比較の結果どの更新操作が行わ
れたのか認識しやすいようにわかりやすく表示するもの
である。
れたのか認識しやすいようにわかりやすく表示するもの
である。
【0030】図1は更新前のファイル301 に「変更」と
「追加」と「削除」とが行われた結果,更新後のファイ
ル302 になった事をあらわしている。「共通部分」303
とは更新操作が行われなかった行である。「共通部分」
303 以外が非共通部分であり,更新前のファイルの「非
共通部分」304 と更新後のファイルの「非共通部分」30
5 とがある。この「非共通部分」304 ,305 が「追
加」,「変更」,「削除」のいづれかに対応づけられ
る。ここでは「追加」,「変更」,「削除」を以下のよ
うに定める。 変更…更新前のファイルと更新後のファイルにおいて,
「非共通部分」がどちらにも存在し,その前後の共通部
分が更新前と更新後で同じである場合の事とする。 追加…更新前と更新後において,更新前のファイルには
存在せず,更新後のファイルには存在する場合の事とす
る。 削除…更新前と更新後において,更新前のファイルには
存在し,更新後のファイルには存在しない場合の事とす
る。
「追加」と「削除」とが行われた結果,更新後のファイ
ル302 になった事をあらわしている。「共通部分」303
とは更新操作が行われなかった行である。「共通部分」
303 以外が非共通部分であり,更新前のファイルの「非
共通部分」304 と更新後のファイルの「非共通部分」30
5 とがある。この「非共通部分」304 ,305 が「追
加」,「変更」,「削除」のいづれかに対応づけられ
る。ここでは「追加」,「変更」,「削除」を以下のよ
うに定める。 変更…更新前のファイルと更新後のファイルにおいて,
「非共通部分」がどちらにも存在し,その前後の共通部
分が更新前と更新後で同じである場合の事とする。 追加…更新前と更新後において,更新前のファイルには
存在せず,更新後のファイルには存在する場合の事とす
る。 削除…更新前と更新後において,更新前のファイルには
存在し,更新後のファイルには存在しない場合の事とす
る。
【0031】2 ファイル比較結果の表示例 図1で示されている更新前と更新後のファイルの表示例
が図2から図4に示されている。
が図2から図4に示されている。
【0032】ファイル比較結果を表わす画面はアトリビ
ュートエリア311 とテキストエリア312 から構成され
る。アトリビュートエリア311 には「変更」,「追
加」,「削除」のアイコンを表示する。図2に「変更」
のアイコン313 の例が,図3に「追加」のアイコン321
の例が,図4に「削除」のアイコン331 の例がそれぞれ
示されている。
ュートエリア311 とテキストエリア312 から構成され
る。アトリビュートエリア311 には「変更」,「追
加」,「削除」のアイコンを表示する。図2に「変更」
のアイコン313 の例が,図3に「追加」のアイコン321
の例が,図4に「削除」のアイコン331 の例がそれぞれ
示されている。
【0033】テキストエリア312 にはファイルの内容が
表示される。「非共通部分」は修正前と修正後のファイ
ルの内容が重ねて表示されたり,上下にならべて表示さ
れたりする。重ねて表示されているときは更新前または
更新後のいずれか一方のファイルの内容しか表示されて
いない。この状態を「展開されていない状態」314 ,32
5 ,335 と呼ぶ。図2から図4では更新後のファイルが
表示されている。上下にならべて表示されている状態を
「展開されている状態」315 ,328 ,337 と呼ぶ。「展
開されていない状態」314 ,325 ,335 と「展開されて
いる状態」315,328 ,337 は「非共通部分」316 ,323
,333 をマウスでクリックする事で切り替える。表示
されているファイルはもちろんマウスでスクロールする
ことができる。
表示される。「非共通部分」は修正前と修正後のファイ
ルの内容が重ねて表示されたり,上下にならべて表示さ
れたりする。重ねて表示されているときは更新前または
更新後のいずれか一方のファイルの内容しか表示されて
いない。この状態を「展開されていない状態」314 ,32
5 ,335 と呼ぶ。図2から図4では更新後のファイルが
表示されている。上下にならべて表示されている状態を
「展開されている状態」315 ,328 ,337 と呼ぶ。「展
開されていない状態」314 ,325 ,335 と「展開されて
いる状態」315,328 ,337 は「非共通部分」316 ,323
,333 をマウスでクリックする事で切り替える。表示
されているファイルはもちろんマウスでスクロールする
ことができる。
【0034】「変更」,「追加」,「削除」の場合のそ
れぞれの表示例を以下に説明する。
れぞれの表示例を以下に説明する。
【0035】2.1 変更された部分の表示例 図2の上側の図は変更された非共通部分が「展開されて
いない状態」314 で表示されている例である。つまり,
更新後のファイル内容がテキストエリアに表示されてい
る。アトリビュートエリア311 内の「非共通部分」316
を表示している個所に対する位置には「変更」を意味す
るアイコン313 が表示されている。また,「非共通部
分」316 全体(長方形の枠の内部)の背景の色(たとえ
ば赤色)が共通部分の色(たとえば白色)とは異なって
表示されている。
いない状態」314 で表示されている例である。つまり,
更新後のファイル内容がテキストエリアに表示されてい
る。アトリビュートエリア311 内の「非共通部分」316
を表示している個所に対する位置には「変更」を意味す
るアイコン313 が表示されている。また,「非共通部
分」316 全体(長方形の枠の内部)の背景の色(たとえ
ば赤色)が共通部分の色(たとえば白色)とは異なって
表示されている。
【0036】図2の下側の図は変更された非共通部分が
「展開されている状態」315 で表示されている例であ
る。更新後の非共通部分316 が,更新前の「非共通部
分」317の行数分だけ下に表示されている。更新前の
「非共通部分」(長方形の枠内)317 と変更後の「非共
通部分」(長方形の枠内)316 と「共通部分」319 とは
互い異なる背景色(たとえば黄色,赤色,白色)で表示
されている。更新後の「非共通部分」316 の表示のため
にその背後に隠れた「共通部分」320 は見えなくなって
いる。
「展開されている状態」315 で表示されている例であ
る。更新後の非共通部分316 が,更新前の「非共通部
分」317の行数分だけ下に表示されている。更新前の
「非共通部分」(長方形の枠内)317 と変更後の「非共
通部分」(長方形の枠内)316 と「共通部分」319 とは
互い異なる背景色(たとえば黄色,赤色,白色)で表示
されている。更新後の「非共通部分」316 の表示のため
にその背後に隠れた「共通部分」320 は見えなくなって
いる。
【0037】「展開されていない状態」314 に戻すため
には,更新前の「非共通部分」317または更新後の「非
共通部分」316 をクリックする。
には,更新前の「非共通部分」317または更新後の「非
共通部分」316 をクリックする。
【0038】更新後の「非共通部分」316 をマウスで下
方にドラッグして更新前の「非共通部分」317 を表示し
てもよい。
方にドラッグして更新前の「非共通部分」317 を表示し
てもよい。
【0039】2.2 追加された部分を表示する 図3の上側の図は追加された「非共通部分」323 が「展
開されていない状態」325 で表示されている例である。
つまり,更新後のファイル内容がテキストエリアに表示
されている。「非共通部分」323 を表示している個所に
対する位置においてアトリビュートエリアには「追加」
を意味するアイコン321 が表示されている。また,「非
共通部分」323 全体(長方形の枠内)の背景の色(たと
えば赤色)が「共通部分」322 や324 の色(たとえば白
色)とは異なって表示されている。
開されていない状態」325 で表示されている例である。
つまり,更新後のファイル内容がテキストエリアに表示
されている。「非共通部分」323 を表示している個所に
対する位置においてアトリビュートエリアには「追加」
を意味するアイコン321 が表示されている。また,「非
共通部分」323 全体(長方形の枠内)の背景の色(たと
えば赤色)が「共通部分」322 や324 の色(たとえば白
色)とは異なって表示されている。
【0040】図3の下側の図は追加された「非共通部
分」323 が「展開されている状態」328 で表示されてい
る例である。更新後の「非共通部分」323 が,更新前の
「非共通部分」326 の行数分だけ下に表示されている。
更新前の「非共通部分」326 は存在しないので,更新後
の「非共通部分」324 と同じ桁数だけ空白となって表示
されている。更新前の「非共通部分」326 と,更新後の
「非共通部分」324 と,「共通部分」322 ,324 とは互
い異なる背景色(たとえば黄色,赤色,白色)で表示さ
れている。更新後の「非共通部分」323 の表示のために
その背後に隠れた「共通部分」324 の一部は見えなくな
っている。
分」323 が「展開されている状態」328 で表示されてい
る例である。更新後の「非共通部分」323 が,更新前の
「非共通部分」326 の行数分だけ下に表示されている。
更新前の「非共通部分」326 は存在しないので,更新後
の「非共通部分」324 と同じ桁数だけ空白となって表示
されている。更新前の「非共通部分」326 と,更新後の
「非共通部分」324 と,「共通部分」322 ,324 とは互
い異なる背景色(たとえば黄色,赤色,白色)で表示さ
れている。更新後の「非共通部分」323 の表示のために
その背後に隠れた「共通部分」324 の一部は見えなくな
っている。
【0041】「展開されていない状態」325 に戻すため
には,更新前の「非共通部分」326または更新後の「非
共通部分」323 をクリックする。
には,更新前の「非共通部分」326または更新後の「非
共通部分」323 をクリックする。
【0042】更新後の「非共通部分」323 をマウスで下
方にドラッグして更新前の「非共通部分」326 を表示し
てもよい。
方にドラッグして更新前の「非共通部分」326 を表示し
てもよい。
【0043】2.3 削除された部分を表示する 図4の上側は削除された非共通部分が「展開されていな
い状態」335 で表示されている例である。つまり,更新
後のファイル内容がテキストエリアに表示されている。
「非共通部分」333 には更新後のファイルの表示すべき
テキストがないので,その行間に収まる程度に細長い長
方形の枠として表示されている。「非共通部分」333 の
表示位置に対するアトリビュートエリア内の位置には
「削除」を意味するアイコン331 が表示されている。ま
た,「非共通部分」333 全体(細長い長方形の枠内)の
背景の色(たとえば赤色)が「共通部分」332 ,334 の
色とは異なって表示されている。
い状態」335 で表示されている例である。つまり,更新
後のファイル内容がテキストエリアに表示されている。
「非共通部分」333 には更新後のファイルの表示すべき
テキストがないので,その行間に収まる程度に細長い長
方形の枠として表示されている。「非共通部分」333 の
表示位置に対するアトリビュートエリア内の位置には
「削除」を意味するアイコン331 が表示されている。ま
た,「非共通部分」333 全体(細長い長方形の枠内)の
背景の色(たとえば赤色)が「共通部分」332 ,334 の
色とは異なって表示されている。
【0044】図4の下側は削除された非共通部分が「展
開されている状態」337 で表示されている例である。更
新後の「非共通部分」333 が,更新前の「非共通部分」
336の行数だけ下に表示されている。更新後の「非共通
部分」333 の表示のためにその背後に隠れた「共通部
分」334 の一部は見えなくなっている。
開されている状態」337 で表示されている例である。更
新後の「非共通部分」333 が,更新前の「非共通部分」
336の行数だけ下に表示されている。更新後の「非共通
部分」333 の表示のためにその背後に隠れた「共通部
分」334 の一部は見えなくなっている。
【0045】「展開されていない状態」335 に戻すため
には,更新前の「非共通部分」336または更新後の「非
共通部分」333 をクリックする。
には,更新前の「非共通部分」336または更新後の「非
共通部分」333 をクリックする。
【0046】更新後の「非共通部分」333 をマウスで下
方にドラッグして更新前の「非共通部分」336 を表示し
てもよい。
方にドラッグして更新前の「非共通部分」336 を表示し
てもよい。
【0047】3 ファイル比較処理システムの構成 図5はファイル比較処理システムの構成図である。中央
処理装置346 と,これに付随する外部記憶装置(たとえ
ばハードディスク)343 と,内部メモリ(たとえば半導
体メモリ)353 と,入力装置341 と,出力装置342 から
なっている。出力装置342 は表示装置を含む。ファイル
比較プログラムはメモリ353 上に存在し,第1のファイ
ル構造体348 と,第2のファイル構造体349 と,結果シ
ート構造体352 と,非共通部画面イメージ部品351 と,
オフスクリーン350 とをメモリ上に確保する。ファイル
比較プログラムは記憶装置343 またはFD,CD−RO
M等からロードまたはインストールされる。
処理装置346 と,これに付随する外部記憶装置(たとえ
ばハードディスク)343 と,内部メモリ(たとえば半導
体メモリ)353 と,入力装置341 と,出力装置342 から
なっている。出力装置342 は表示装置を含む。ファイル
比較プログラムはメモリ353 上に存在し,第1のファイ
ル構造体348 と,第2のファイル構造体349 と,結果シ
ート構造体352 と,非共通部画面イメージ部品351 と,
オフスクリーン350 とをメモリ上に確保する。ファイル
比較プログラムは記憶装置343 またはFD,CD−RO
M等からロードまたはインストールされる。
【0048】4 比較のためのマトリックス 「変更」,「追加」,「削除」が行われた個所を探し出
すため,2つのファイルを比較し,非共通部分を探し出
す必要がある。非共通部分と共通部分とは相反する関係
なので,共通部分を探し出す事で非共通部分を求める事
ができる。共通部分は選び方によって何通りも存在す
る。共通部分が最も長くなる選び方を採用し,その結果
得られる非共通部分を「変更」,「追加」または「削
除」された部分とする。共通部分の行数を「共通部分
長」と呼び,その最大のものを「最大共通部分長」と呼
ぶ。
すため,2つのファイルを比較し,非共通部分を探し出
す必要がある。非共通部分と共通部分とは相反する関係
なので,共通部分を探し出す事で非共通部分を求める事
ができる。共通部分は選び方によって何通りも存在す
る。共通部分が最も長くなる選び方を採用し,その結果
得られる非共通部分を「変更」,「追加」または「削
除」された部分とする。共通部分の行数を「共通部分
長」と呼び,その最大のものを「最大共通部分長」と呼
ぶ。
【0049】図6は2つのファイルを比較し,最大共通
部分長を計算し,共通部分を探し出す処理を説明するた
めのマトリックスである。このマトリックスは,更新前
のファイル(以下第1のファイルと呼ぶ)の行データを
横方向にならべて,更新後のファイル(以下第2のファ
イルと呼ぶ)の行データを縦方向にならべて作られる。
部分長を計算し,共通部分を探し出す処理を説明するた
めのマトリックスである。このマトリックスは,更新前
のファイル(以下第1のファイルと呼ぶ)の行データを
横方向にならべて,更新後のファイル(以下第2のファ
イルと呼ぶ)の行データを縦方向にならべて作られる。
【0050】説明を分かりやすくするために,図6では
1行が1文字で構成されているファイル「AXBYSD
XEYCXBY」と「AXBYCXBYS」とからマト
リックスを作っている。「AXBYSDXEYCXB
Y」を第1のファイル,「AXBYCXBYS」を第2
のファイルとしている。それぞれの行のデータが格納さ
れている行アドレスが,第1のファイルではデータの上
に,第2のファイルのではデータの左に示してある。行
アドレスについては後で説明する。
1行が1文字で構成されているファイル「AXBYSD
XEYCXBY」と「AXBYCXBYS」とからマト
リックスを作っている。「AXBYSDXEYCXB
Y」を第1のファイル,「AXBYCXBYS」を第2
のファイルとしている。それぞれの行のデータが格納さ
れている行アドレスが,第1のファイルではデータの上
に,第2のファイルのではデータの左に示してある。行
アドレスについては後で説明する。
【0051】セル361 は,105 番地に格納されている
“S”(行データ)と205 番地に格納されている“C”
(行データ)とを比較する事を意味する。セル361 内に
書かれた×は行データが一致していない事を意味する。
セル362 は,107 番地に格納されている“X”(行デー
タ)と206 番地に格納されている“X”(行データ)と
を比較している事を意味している。セル362 内に書かれ
た○は行データが一致している事を意味する。
“S”(行データ)と205 番地に格納されている“C”
(行データ)とを比較する事を意味する。セル361 内に
書かれた×は行データが一致していない事を意味する。
セル362 は,107 番地に格納されている“X”(行デー
タ)と206 番地に格納されている“X”(行データ)と
を比較している事を意味している。セル362 内に書かれ
た○は行データが一致している事を意味する。
【0052】比較は一番左上のセル363 から開始する。
行データが一致すれば,一つ右下のセルを比較する。こ
のとき,比較するセルを左上の頂点とする部分マトリッ
クスを考慮する(詳しくは後述する)。図7は104 番地
と204 番地で示されるセル370 まで比較を行いすべて一
致していた事を表わす。
行データが一致すれば,一つ右下のセルを比較する。こ
のとき,比較するセルを左上の頂点とする部分マトリッ
クスを考慮する(詳しくは後述する)。図7は104 番地
と204 番地で示されるセル370 まで比較を行いすべて一
致していた事を表わす。
【0053】比較を行ってきたセルを結んでできる線を
ルートと呼ぶ。ルートは右下に向かって伸びていく。し
たがって,ルート上の任意のセルに対して左上を
「後」,右下を「前」と呼ぶ。最大共通部分を持つルー
トを最大共通部分ルートと呼ぶ。
ルートと呼ぶ。ルートは右下に向かって伸びていく。し
たがって,ルート上の任意のセルに対して左上を
「後」,右下を「前」と呼ぶ。最大共通部分を持つルー
トを最大共通部分ルートと呼ぶ。
【0054】次にセル361 (105 番地と205 番地)を比
較すると2つの行データが一致しない。このような場合
には,次に示す検索ルールにしたがって一致する候補を
探す。
較すると2つの行データが一致しない。このような場合
には,次に示す検索ルールにしたがって一致する候補を
探す。
【0055】マトリックスの横方向にとった軸を第1フ
ァイル軸とし,第1ファイル軸に沿う各行データの位置
を列番で表わす(列番は第1のファイルの行アドレスに
対応する)。マトリックスの縦方向にとった軸を第2フ
ァイル軸とし,第2ファイル軸に沿う各行データの位置
を行番で表わす(行番は第2のファイルの行アドレスと
対応する)。
ァイル軸とし,第1ファイル軸に沿う各行データの位置
を列番で表わす(列番は第1のファイルの行アドレスに
対応する)。マトリックスの縦方向にとった軸を第2フ
ァイル軸とし,第2ファイル軸に沿う各行データの位置
を行番で表わす(行番は第2のファイルの行アドレスと
対応する)。
【0056】行データが一致しなかったセルの位置の列
番をx,行番をyとする。xは第1のファイルの先頭か
ら一致しなかったセルの位置までの第1のファイル軸に
沿う列数であり,yは第2のファイルの先頭から一致し
なかったセルの位置までの第2ファイル軸に沿う行数で
ある。
番をx,行番をyとする。xは第1のファイルの先頭か
ら一致しなかったセルの位置までの第1のファイル軸に
沿う列数であり,yは第2のファイルの先頭から一致し
なかったセルの位置までの第2ファイル軸に沿う行数で
ある。
【0057】第1ファイル軸に沿うカウンタ値をnと
する。nは,0から,(x+n)が第1のファイルの総
行数を表わすまで1つずつ変化するものである。 第2ファイル軸に沿うカウンタ値をmとする。mは,
0から,(y+m)が第2のファイルの総行数を表わす
まで1つずつ変化するものである。 n=0とし,mを0から1つずつ増大させていく。m
を(y+m)が第2のファイルの総行数に達するまで変
化させても行データの一致するセルが発見できなけれ
ば,nを1つ増加させる。 行データが一致するセルがあれば(そのときのmの値
をm1とする),それ以降の検索においてmの変化する
範囲を0から(m1―1)に制限する。 (x+n)が第1のファイルの総行数に達するか,m
の変化が許される範囲が無くなったときに,検索を終了
する。
する。nは,0から,(x+n)が第1のファイルの総
行数を表わすまで1つずつ変化するものである。 第2ファイル軸に沿うカウンタ値をmとする。mは,
0から,(y+m)が第2のファイルの総行数を表わす
まで1つずつ変化するものである。 n=0とし,mを0から1つずつ増大させていく。m
を(y+m)が第2のファイルの総行数に達するまで変
化させても行データの一致するセルが発見できなけれ
ば,nを1つ増加させる。 行データが一致するセルがあれば(そのときのmの値
をm1とする),それ以降の検索においてmの変化する
範囲を0から(m1―1)に制限する。 (x+n)が第1のファイルの総行数に達するか,m
の変化が許される範囲が無くなったときに,検索を終了
する。
【0058】この検索ルールに従って,候補を探し出
す。例ではx=5,y=5で一致していない。n=0
(105 番地の列)のとき,セル371 (209 番地の
“S”)で行データが一致している。n=1(106 番地
の列)のとき,行データが一致するセルは存在しない。
n=2(107 番地の列)のとき,セル373 (206 番地の
“X”)において行データが一致する。セル372 (202
番地の“X”)においても行データが一致するが,mが
負の値を取る範囲なので実際には検索されない。
す。例ではx=5,y=5で一致していない。n=0
(105 番地の列)のとき,セル371 (209 番地の
“S”)で行データが一致している。n=1(106 番地
の列)のとき,行データが一致するセルは存在しない。
n=2(107 番地の列)のとき,セル373 (206 番地の
“X”)において行データが一致する。セル372 (202
番地の“X”)においても行データが一致するが,mが
負の値を取る範囲なので実際には検索されない。
【0059】このようにして探し出した結果が図8に示
されている。セル381 (105 番地と209 番地),セル38
2 (107 番地と206 番地),セル383 (110 番地と205
番地)の3つの候補が見つかっている。
されている。セル381 (105 番地と209 番地),セル38
2 (107 番地と206 番地),セル383 (110 番地と205
番地)の3つの候補が見つかっている。
【0060】それぞれの候補を左上の頂点とする部分マ
トリックスを想定し,この部分マトリックス内で行デー
タが一致するセルを探していく。すなわち,それぞれの
候補に対して一つ右下のセルで比較を行う。一致してい
ればさらに,一つ右下のセルを比較する。一致していな
ければ(たとえば108 番地の列と207 番地の行とにおい
て特定されるセル),上述した検索ルールにしたがって
次の一致する候補を探し出す。これを繰り返して得られ
た結果が図9に示されている。
トリックスを想定し,この部分マトリックス内で行デー
タが一致するセルを探していく。すなわち,それぞれの
候補に対して一つ右下のセルで比較を行う。一致してい
ればさらに,一つ右下のセルを比較する。一致していな
ければ(たとえば108 番地の列と207 番地の行とにおい
て特定されるセル),上述した検索ルールにしたがって
次の一致する候補を探し出す。これを繰り返して得られ
た結果が図9に示されている。
【0061】図9にはセルを検索したルートが3つある
が,この中でもっとも一致するセルが多いルートが最大
の共通部分を持っている。ルート391 の共通部分長は8
で最大ある。共通部分は「AXBY」392 と「CXB
Y」394 とである。非共通部分は第1のファイルにおい
て「SDXEY」393 であり,第2のファイルおいて
「S」395 である。
が,この中でもっとも一致するセルが多いルートが最大
の共通部分を持っている。ルート391 の共通部分長は8
で最大ある。共通部分は「AXBY」392 と「CXB
Y」394 とである。非共通部分は第1のファイルにおい
て「SDXEY」393 であり,第2のファイルおいて
「S」395 である。
【0062】更新前が第1のファイルで,更新後が第2
のファイルなので,定義に従って「SDXEY」393 が
削除された部分,「S」395 が追加された部分となる。
のファイルなので,定義に従って「SDXEY」393 が
削除された部分,「S」395 が追加された部分となる。
【0063】5 比較処理 マトリックスを使った最大共通部分長とその共通部分と
を求める方法の例である。マトリックスに相当するデー
タ領域をメモリ上に展開するのは非効率である。そこ
で,マトリックスを展開する代わりに行にマークをつけ
る事でルートを探し出す。
を求める方法の例である。マトリックスに相当するデー
タ領域をメモリ上に展開するのは非効率である。そこ
で,マトリックスを展開する代わりに行にマークをつけ
る事でルートを探し出す。
【0064】第1のファイルの行につけるマークは一致
があったときにのみ付けられるものであり(複数個つけ
ることが可能),検索済を表わすものであり,これは次
に述べる「最大長構造体」によって実現される。第2の
ファイルの行につけるマークは不一致の行についてのみ
付けられるものであり,進むべきルートの起点と終点を
表わし,これは次に述べる「次候補構造体」によって実
現される。
があったときにのみ付けられるものであり(複数個つけ
ることが可能),検索済を表わすものであり,これは次
に述べる「最大長構造体」によって実現される。第2の
ファイルの行につけるマークは不一致の行についてのみ
付けられるものであり,進むべきルートの起点と終点を
表わし,これは次に述べる「次候補構造体」によって実
現される。
【0065】5.1 データ構造 5.1.1 「最大長構造体」401 図10は「最大長構造体」401 の構成図である。
【0066】「最大長構造体」401 とは「共通部分長」
402 と「第2のファイルの行アドレス」403 とで構成さ
れるデータの構造体である。共通部分長402 は第1のフ
ァイルの行と第2のファイルの行が一致したとき,その
セルより前のルートに存在する共通部分の行数を保存す
る。最大長構造体401 は,第1のファイルの行につけ
る,既に比較が終了している事を意味するマークであ
る。
402 と「第2のファイルの行アドレス」403 とで構成さ
れるデータの構造体である。共通部分長402 は第1のフ
ァイルの行と第2のファイルの行が一致したとき,その
セルより前のルートに存在する共通部分の行数を保存す
る。最大長構造体401 は,第1のファイルの行につけ
る,既に比較が終了している事を意味するマークであ
る。
【0067】5.1.2 「次候補構造体」405 図11は「次候補構造体」405 の構成図である。
【0068】「次候補構造体」405 とは「第1のファイ
ルの行アドレス1」406 と,「第1のファイルの行アド
レス2」407 と,「第2のファイルの行アドレス」408
とで構成されるデータの構造体である。
ルの行アドレス1」406 と,「第1のファイルの行アド
レス2」407 と,「第2のファイルの行アドレス」408
とで構成されるデータの構造体である。
【0069】データが一致しなかったセルに対して,次
に一致した候補を覚えておくために利用する。一致しな
かったセルの第1のファイルの行アドレスを「第1のフ
ァイルの行アドレス1」に,候補として見つかったセル
の第1のファイルの行アドレスを「第1のファイルの行
アドレス2」に,候補として見つかったセルの第2のフ
ァイルの行アドレスを「第2のファイルの行アドレス」
にそれぞれセットする。これは,第2のファイルの行に
つけるルートの進む先を示すマークである。
に一致した候補を覚えておくために利用する。一致しな
かったセルの第1のファイルの行アドレスを「第1のフ
ァイルの行アドレス1」に,候補として見つかったセル
の第1のファイルの行アドレスを「第1のファイルの行
アドレス2」に,候補として見つかったセルの第2のフ
ァイルの行アドレスを「第2のファイルの行アドレス」
にそれぞれセットする。これは,第2のファイルの行に
つけるルートの進む先を示すマークである。
【0070】5.1.3 「第1のファイル構造体」410 図12は「第1のファイル構造体」410 の構成図である。
【0071】「第1のファイル構造体」410 とは,「デ
ータセット」414 がリスト構造で保持されているデータ
の構造体である。「データセット」414 とは「行のデー
タ」411 と処理の途中で随時追加される「最大長構造
体」401 で構成されるデータの構造体である。
ータセット」414 がリスト構造で保持されているデータ
の構造体である。「データセット」414 とは「行のデー
タ」411 と処理の途中で随時追加される「最大長構造
体」401 で構成されるデータの構造体である。
【0072】「データセット」414 に第1のファイルの
1行のデータが読み込まれる。読み込まれたデータが
「行のデータ」である。「データセット」414 は第1の
ファイルのすべての行データについて作成される。「デ
ータセット」414 が第1のファイルの行の順番を保った
ままリスト構造で保持される。
1行のデータが読み込まれる。読み込まれたデータが
「行のデータ」である。「データセット」414 は第1の
ファイルのすべての行データについて作成される。「デ
ータセット」414 が第1のファイルの行の順番を保った
ままリスト構造で保持される。
【0073】第1のファイルの「行アドレス」とはこの
「データセット」414 の保存されているメモリの先頭ア
ドレスの事である。
「データセット」414 の保存されているメモリの先頭ア
ドレスの事である。
【0074】初期状態においてデータセットは「最大長
構造体」401 を持っていない。最大長構造体はマトリッ
クスの一度比較をしデータが一致したセルに対し,そこ
をマトリックスの一番左上のセルとして計算した共通部
分長を保存するために利用される。
構造体」401 を持っていない。最大長構造体はマトリッ
クスの一度比較をしデータが一致したセルに対し,そこ
をマトリックスの一番左上のセルとして計算した共通部
分長を保存するために利用される。
【0075】図13は第1のファイル構造体に第1のファ
イルのデータがセットされた初期状態の例である。ファ
イルの読み込みについては後で述べる。
イルのデータがセットされた初期状態の例である。ファ
イルの読み込みについては後で述べる。
【0076】5.1.4 「第2のファイル構造体」415 図14は「第2のファイル構造体」415 の構成図である。
「第2のファイル構造体」415 とは「データセット」41
8 がリスト構造で保持されているデータの構造体であ
る。「データセット」418 とは「行のデータ」416 と
「次候補構造体」405 とで構成されるデータの構造体で
ある。
「第2のファイル構造体」415 とは「データセット」41
8 がリスト構造で保持されているデータの構造体であ
る。「データセット」418 とは「行のデータ」416 と
「次候補構造体」405 とで構成されるデータの構造体で
ある。
【0077】「データセット」418 は第2のファイルの
すべての行データについて作成される。第2のファイル
の1行のデータが1つの「データセット」418 に入る。
この「データセット」418 が第2のファイルの行の順番
を保ったままリスト構造で保持される。
すべての行データについて作成される。第2のファイル
の1行のデータが1つの「データセット」418 に入る。
この「データセット」418 が第2のファイルの行の順番
を保ったままリスト構造で保持される。
【0078】第2のファイルの「行アドレス」とはこの
「データセット」418 の保存されているメモリの先頭ア
ドレスの事である。
「データセット」418 の保存されているメモリの先頭ア
ドレスの事である。
【0079】「データセット」418 は初期状態において
「次候補構造体」405 を持っていない。「次候補構造
体」417 は比較を行い一致しなかったセルに対し,上述
したルールに従って検索された一致するセルの位置を保
存するために利用される。
「次候補構造体」405 を持っていない。「次候補構造
体」417 は比較を行い一致しなかったセルに対し,上述
したルールに従って検索された一致するセルの位置を保
存するために利用される。
【0080】図15は第2のファイル構造体にファイルの
データがセットされた初期状態の例である。ファイルの
読み込みについては後で述べる。
データがセットされた初期状態の例である。ファイルの
読み込みについては後で述べる。
【0081】5.1.5 「結果シート構造体」421 図16は「結果シート構造体」421 の構成図である。
【0082】「結果シート構造体」421 とは「シート」
425 がリスト構造で保持されているデータの構造体であ
る。「シート」は第1のファイルのすべての行アドレス
(行データ)と第2のファイルのすべての行アドレス
(行データ)のすべての組み合わせについて作成され
る。
425 がリスト構造で保持されているデータの構造体であ
る。「シート」は第1のファイルのすべての行アドレス
(行データ)と第2のファイルのすべての行アドレス
(行データ)のすべての組み合わせについて作成され
る。
【0083】「シート」425 は「行アドレス1」422 と
「行アドレス2」423 と「展開フラグ」424 とで構成さ
れるデータの構造体である。「展開フラグ」424 はファ
イル比較の結果の表示のために利用され,上述した「展
開されている状態」,「展開されていない状態」をそれ
ぞれON(1),OFF(0)で表わす。
「行アドレス2」423 と「展開フラグ」424 とで構成さ
れるデータの構造体である。「展開フラグ」424 はファ
イル比較の結果の表示のために利用され,上述した「展
開されている状態」,「展開されていない状態」をそれ
ぞれON(1),OFF(0)で表わす。
【0084】5.2 ファイルの読み込み 記憶装置343 内にある更新前のファイル(第1のファイ
ル)を1行単位でメモリ353 に読み込み,第1のファイ
ル構造体410 の「データセット」414 の「行のデータ」
411 に行データをそれぞれセットする。各行に対してこ
れを繰り返し行い,データセットをその順番を保ったリ
スト構造でメモリ内に確保する。これが「第1のファイ
ル構造体」411 である。図13は上述したように第1のフ
ァイルを読み込んで「第1のファイル構造体」411 をメ
モリ上に確保した状態を示す。
ル)を1行単位でメモリ353 に読み込み,第1のファイ
ル構造体410 の「データセット」414 の「行のデータ」
411 に行データをそれぞれセットする。各行に対してこ
れを繰り返し行い,データセットをその順番を保ったリ
スト構造でメモリ内に確保する。これが「第1のファイ
ル構造体」411 である。図13は上述したように第1のフ
ァイルを読み込んで「第1のファイル構造体」411 をメ
モリ上に確保した状態を示す。
【0085】記憶装置343 内にある更新後のファイル
(第2のファイル)を1行単位でメモリ353 に読み込
み,「第2のファイル構造体」415 の「データセット」
418 の「行のデータ」416 に行データをセットする。各
行に対してこれを繰り返し行い,データセットをその順
番を保ったリスト構造でメモリ内に確保する。これが
「第2のファイル構造体」415 である。図15は第2のフ
ァイルを読み込んで「第2のファイル構造体」をメモリ
上に確保した状態を示す。
(第2のファイル)を1行単位でメモリ353 に読み込
み,「第2のファイル構造体」415 の「データセット」
418 の「行のデータ」416 に行データをセットする。各
行に対してこれを繰り返し行い,データセットをその順
番を保ったリスト構造でメモリ内に確保する。これが
「第2のファイル構造体」415 である。図15は第2のフ
ァイルを読み込んで「第2のファイル構造体」をメモリ
上に確保した状態を示す。
【0086】5.3 比較処理のフロー 比較処理はマトリックス上のセルにおいて行データの比
較を行う処理である。第1のファイルの行の「行アドレ
ス」と第2のファイルの行の「行アドレス」とが与えら
れると,そのセルが一番左上になっている部分マトリッ
クスにおける最大共通部分長が計算される。この処理は
再帰的に呼び出される。
較を行う処理である。第1のファイルの行の「行アドレ
ス」と第2のファイルの行の「行アドレス」とが与えら
れると,そのセルが一番左上になっている部分マトリッ
クスにおける最大共通部分長が計算される。この処理は
再帰的に呼び出される。
【0087】図17が比較処理のフローチャートである。
【0088】最初は第1のファイルの第1行の「行デー
タ」と第2のファイルの第1行の「行データ」とが比較
される(ステップ433 )。これらの「行データ」が一致
していれば「同じ時の処理」(ステップ434 )に,異な
れば「異なる時の処理」(ステップ435 )に進む。これ
らの処理の詳細は後述するが,これらの処理から,次に
比較すべき行のデータの「行アドレス」が渡される。
タ」と第2のファイルの第1行の「行データ」とが比較
される(ステップ433 )。これらの「行データ」が一致
していれば「同じ時の処理」(ステップ434 )に,異な
れば「異なる時の処理」(ステップ435 )に進む。これ
らの処理の詳細は後述するが,これらの処理から,次に
比較すべき行のデータの「行アドレス」が渡される。
【0089】渡された第1のファイルの行の「行アドレ
ス」の示す「行データ」と第2のファイルの行の「行ア
ドレス」の示す「行データ」を比較する(ステップ433
)。一致している場合,「同じ時の処理」(ステップ4
34 )を行い,一致していない場合,「異なる時の処
理」(ステップ435 )を行う。
ス」の示す「行データ」と第2のファイルの行の「行ア
ドレス」の示す「行データ」を比較する(ステップ433
)。一致している場合,「同じ時の処理」(ステップ4
34 )を行い,一致していない場合,「異なる時の処
理」(ステップ435 )を行う。
【0090】第1のファイルまたは第2のファイルのい
ずれかが終っていないかチェックし(ステップ432 ),
どちらかが終っていれば終了する。
ずれかが終っていないかチェックし(ステップ432 ),
どちらかが終っていれば終了する。
【0091】図18が「同じ時の処理」434 のフローチャ
ートである。この処理で,第1のファイルの行に上述し
たマークがつけられる。「同じ時の処理」434 は,第1
のファイルの処理すべき行の「行アドレス」と第2のフ
ァイルの処理すべき行の「行アドレス」とで示されるセ
ルでの「比較処理」431 が以前に行われたかをチェック
する(ステップ436 )。チェックするためには第1のフ
ァイルの処理すべき行の「行アドレス」が示す「データ
セット」414 内にある「最大長構造体」401 の中に,第
2のファイルの処理すべき行の「行アドレス」と同じ
「第2のファイルの行アドレス」408 を持った「最大長
構造体」401 があるか調べれば良い。なければ,以前に
このセルでの比較は行われなかった事を意味する。
ートである。この処理で,第1のファイルの行に上述し
たマークがつけられる。「同じ時の処理」434 は,第1
のファイルの処理すべき行の「行アドレス」と第2のフ
ァイルの処理すべき行の「行アドレス」とで示されるセ
ルでの「比較処理」431 が以前に行われたかをチェック
する(ステップ436 )。チェックするためには第1のフ
ァイルの処理すべき行の「行アドレス」が示す「データ
セット」414 内にある「最大長構造体」401 の中に,第
2のファイルの処理すべき行の「行アドレス」と同じ
「第2のファイルの行アドレス」408 を持った「最大長
構造体」401 があるか調べれば良い。なければ,以前に
このセルでの比較は行われなかった事を意味する。
【0092】以前に調べたセルだった場合,その見つか
った「最大長構造体」401 にセットされている「共通部
分長」402 を終了コードとして終了する。
った「最大長構造体」401 にセットされている「共通部
分長」402 を終了コードとして終了する。
【0093】以前に調べたセルでなかった場合,第1の
ファイル,第2のファイルのいずれにおいても処理対象
となっている「行アドレス」が示す「データセット」の
次の「データセット」の「行アドレス」を入力値にして
「比較処理」431 を実行する。つまり,マトリックスで
は一つ右下のセルを比較することになる。この比較処理
の結果(共通部分長)に1を加えた値を終了コードとす
る。「登録処理」(ステップ438 )とはマークを付ける
事であり,実際には「最大長構造体」の「第2のファイ
ルの行アドレス」に入力された第2のファイルの行アド
レスをセットし,「共通部分長」に比較処理の結果に1
を加えたものをセットし,この「最大長構造体」を,入
力された第1のファイルの行アドレスが示すデータセッ
トに付け加えることである。したがって,次にこの最大
長構造体を調べれば以前に調べた場所が否か判断ができ
る。
ファイル,第2のファイルのいずれにおいても処理対象
となっている「行アドレス」が示す「データセット」の
次の「データセット」の「行アドレス」を入力値にして
「比較処理」431 を実行する。つまり,マトリックスで
は一つ右下のセルを比較することになる。この比較処理
の結果(共通部分長)に1を加えた値を終了コードとす
る。「登録処理」(ステップ438 )とはマークを付ける
事であり,実際には「最大長構造体」の「第2のファイ
ルの行アドレス」に入力された第2のファイルの行アド
レスをセットし,「共通部分長」に比較処理の結果に1
を加えたものをセットし,この「最大長構造体」を,入
力された第1のファイルの行アドレスが示すデータセッ
トに付け加えることである。したがって,次にこの最大
長構造体を調べれば以前に調べた場所が否か判断ができ
る。
【0094】図19の「異なる時の処理」435 は,上述し
た検索ルールにしたがって行データが一致するセルを検
索し,見つかったものを候補とする(ステップ439 )。
見つかった候補すべてに対して候補となっている行の行
アドレスを入力値として比較処理を行う(ステップ440
)。すなわち,見つかった候補を部分マトリックスの
左上のセルとして,この部分マトリックスの中でルート
を探していく。もし,部分マトリックスにおいて起点と
なるセルの右下に順に対角線上に一致するセルが検索さ
れたときには,比較処理において図18に示す「同じ時の
処理」434 が何回も呼び出されることになるであろう。
この比較処理の繰返しの過程で,共通部分長が最大であ
る候補の「行アドレス」の組み合わせアドレスを一時的
に覚えておく(ステップ441 )。比較処理のループが終
わったときには共通部分長が最大となるも組み合わせを
覚えている事になっているので,最後の「登録処理」で
それを保存する(ステップ442 )。これが第2のファイ
ルの行にマークを付ける事である。
た検索ルールにしたがって行データが一致するセルを検
索し,見つかったものを候補とする(ステップ439 )。
見つかった候補すべてに対して候補となっている行の行
アドレスを入力値として比較処理を行う(ステップ440
)。すなわち,見つかった候補を部分マトリックスの
左上のセルとして,この部分マトリックスの中でルート
を探していく。もし,部分マトリックスにおいて起点と
なるセルの右下に順に対角線上に一致するセルが検索さ
れたときには,比較処理において図18に示す「同じ時の
処理」434 が何回も呼び出されることになるであろう。
この比較処理の繰返しの過程で,共通部分長が最大であ
る候補の「行アドレス」の組み合わせアドレスを一時的
に覚えておく(ステップ441 )。比較処理のループが終
わったときには共通部分長が最大となるも組み合わせを
覚えている事になっているので,最後の「登録処理」で
それを保存する(ステップ442 )。これが第2のファイ
ルの行にマークを付ける事である。
【0095】「登録処理」とは「次候補構造体」に「第
1のファイルの行アドレス2」に候補となった第1のフ
ァイルの行の「行アドレス」を,「第2のファイルの行
アドレス」に候補となった第2のファイルの行の「行ア
ドレス」をセットすることである。「第1のファイルの
行アドレス1」には先に入力された第1のファイルの行
の「行アドレス」を入力する。
1のファイルの行アドレス2」に候補となった第1のフ
ァイルの行の「行アドレス」を,「第2のファイルの行
アドレス」に候補となった第2のファイルの行の「行ア
ドレス」をセットすることである。「第1のファイルの
行アドレス1」には先に入力された第1のファイルの行
の「行アドレス」を入力する。
【0096】図20は比較処理が終わったときの第1のフ
ァイル構造体の例を示す。図21は比較処理が終わったと
きの第2のファイル構造体の例を示す。
ァイル構造体の例を示す。図21は比較処理が終わったと
きの第2のファイル構造体の例を示す。
【0097】「比較処理」がすべて終ったところで,結
果シートを作成する。第1のファイル構造体のデータセ
ットの「行データ」と第2のファイル構造体のデータセ
ットの「行データ」を先頭から逐次比較していく。一致
した場合,第1のファイルの行(便宜的にL1とする)
の行アドレスと第2のファイルの行(便宜的にL2とす
る)の行アドレスをセットしたシートを追加する。
果シートを作成する。第1のファイル構造体のデータセ
ットの「行データ」と第2のファイル構造体のデータセ
ットの「行データ」を先頭から逐次比較していく。一致
した場合,第1のファイルの行(便宜的にL1とする)
の行アドレスと第2のファイルの行(便宜的にL2とす
る)の行アドレスをセットしたシートを追加する。
【0098】異なる場合は第2のファイルにセットされ
た「次候補構造体」の中から「第1のファイルの行アド
レス1」が第1のファイルの行(L1)の「行アドレ
ス」(第1のファイル構造体のデータセットのアドレ
ス)と一致するものを見つける。その「次候補構造体」
に保存されている「第1のファイルの行アドレス1」か
ら「第1のファイルの行アドレス2」のひとつ前の行ま
でをシートに追加する。その際,シートの「第2のファ
イルの行アドレス」(「行アドレス2」)には何もセッ
トしない。次に第2のファイルの行(L2)から,「次
候補構造体」の「第2のファイルの行アドレス」のひと
つ前の行までをシートに追加する。そのとき,第1のフ
ァイルの行アドレスには何もセットしない。
た「次候補構造体」の中から「第1のファイルの行アド
レス1」が第1のファイルの行(L1)の「行アドレ
ス」(第1のファイル構造体のデータセットのアドレ
ス)と一致するものを見つける。その「次候補構造体」
に保存されている「第1のファイルの行アドレス1」か
ら「第1のファイルの行アドレス2」のひとつ前の行ま
でをシートに追加する。その際,シートの「第2のファ
イルの行アドレス」(「行アドレス2」)には何もセッ
トしない。次に第2のファイルの行(L2)から,「次
候補構造体」の「第2のファイルの行アドレス」のひと
つ前の行までをシートに追加する。そのとき,第1のフ
ァイルの行アドレスには何もセットしない。
【0099】これを繰り返し,結果シートを完成させ
る。図22は完成された結果シートの例である。
る。図22は完成された結果シートの例である。
【0100】6 描画処理のフロー 6.1 結果シート 上述のように図22は結果シートの例である。最初はすべ
ての展開フラグはOFF(0)で初期化されている。逆
にON(1)で初期化していても良い。結果シートにお
いて上側の「行アドレス1」と下側の「行アドレス2」
の両方に行アドレスがセットされている場合は「共通部
分」である。「行アドレス1」には第1のファイル構造
体の「データセット」へのアドレスがセットされてお
り,「行アドレス2」には「第2のファイル構造体」の
「データセット」へのアドレスがセットされている。
ての展開フラグはOFF(0)で初期化されている。逆
にON(1)で初期化していても良い。結果シートにお
いて上側の「行アドレス1」と下側の「行アドレス2」
の両方に行アドレスがセットされている場合は「共通部
分」である。「行アドレス1」には第1のファイル構造
体の「データセット」へのアドレスがセットされてお
り,「行アドレス2」には「第2のファイル構造体」の
「データセット」へのアドレスがセットされている。
【0101】「行アドレス1」だけがセットされたシー
トが続き,次に「行アドレス2」だけがセットされたシ
ートが現れた場合,「変更」の「非共通部分」である。
「行アドレス1」だけがセットされたシートが続き,次
に「行アドレス1」と「行アドレス2」の両方がセット
されたシートがあらわれた場合,「削除」の「非共通部
分」である。「行アドレス2」だけがセットされたシー
トがあらわれた場合は「追加」の「非共通部分」とな
る。
トが続き,次に「行アドレス2」だけがセットされたシ
ートが現れた場合,「変更」の「非共通部分」である。
「行アドレス1」だけがセットされたシートが続き,次
に「行アドレス1」と「行アドレス2」の両方がセット
されたシートがあらわれた場合,「削除」の「非共通部
分」である。「行アドレス2」だけがセットされたシー
トがあらわれた場合は「追加」の「非共通部分」とな
る。
【0102】6.2 描画準備 描画準備処理は非共通部分の画面イメージ部品を用意
し,「共通部分」だけが描画されたオフスクリーンを用
意する事である。画面イメージ部品とは先に説明した非
共通部分を示す長方形の枠およびその背景色を表わすイ
メージデータであり,その種類は全部で6種類ある。
「更新前ファイルの変更部分(変更される部分)」,
「更新後ファイルの変更部分(変更された部分)」,
「更新前ファイルの追加部分(追加される部分)」,
「更新後ファイルの追加部分(追加された部分)」,
「更新前ファイルの削除部分(削除される部分)」,
「更新後ファイルの削除部分(削除された部分)」を表
示する長方形の枠とその背景色を表わすイメージデータ
である。画面イメージ部品はあらかじめ作成しておいて
もよいし,描画処理プログラムが作成してもよい。
し,「共通部分」だけが描画されたオフスクリーンを用
意する事である。画面イメージ部品とは先に説明した非
共通部分を示す長方形の枠およびその背景色を表わすイ
メージデータであり,その種類は全部で6種類ある。
「更新前ファイルの変更部分(変更される部分)」,
「更新後ファイルの変更部分(変更された部分)」,
「更新前ファイルの追加部分(追加される部分)」,
「更新後ファイルの追加部分(追加された部分)」,
「更新前ファイルの削除部分(削除される部分)」,
「更新後ファイルの削除部分(削除された部分)」を表
示する長方形の枠とその背景色を表わすイメージデータ
である。画面イメージ部品はあらかじめ作成しておいて
もよいし,描画処理プログラムが作成してもよい。
【0103】描画準備処理は出力すべき先頭行と,出力
可能な行数を保持している。展開されていない状態で更
新後のファイルを表示している事を前提としているの
で,更新後のファイルの行に対して,出力するべき先頭
行と出力可能行数とを組み合わせて出力範囲を判断す
る。非共通部分の画面イメージ部品の作成は,出力範囲
内と判断された更新後の非共通部分にあたる行と,更新
後の非共通部分にあたる行に対応する更新前の非共通部
分の行とに対してのみ行われる。
可能な行数を保持している。展開されていない状態で更
新後のファイルを表示している事を前提としているの
で,更新後のファイルの行に対して,出力するべき先頭
行と出力可能行数とを組み合わせて出力範囲を判断す
る。非共通部分の画面イメージ部品の作成は,出力範囲
内と判断された更新後の非共通部分にあたる行と,更新
後の非共通部分にあたる行に対応する更新前の非共通部
分の行とに対してのみ行われる。
【0104】図23は結果シートに基づいて先述の「変
更」,「追加」,「削除」の判断を行う処理をフローチ
ャートにしたものである。「変更」「追加」「削除」を
判断した後,非共通部分の画面イメージの部品を作成と
いう描画するための準備をする。図24が非共通部分の画
面イメージ部品の例である。長方形の枠の画面イメージ
にそれぞれに対応するファイル内容(行データ)が描画
される。
更」,「追加」,「削除」の判断を行う処理をフローチ
ャートにしたものである。「変更」「追加」「削除」を
判断した後,非共通部分の画面イメージの部品を作成と
いう描画するための準備をする。図24が非共通部分の画
面イメージ部品の例である。長方形の枠の画面イメージ
にそれぞれに対応するファイル内容(行データ)が描画
される。
【0105】図23において「行アドレス2」が空である
と判断した場合(ステップ503 ),「変更される部分の
画面イメージ作成処理」(ステップ504 )を行う。
と判断した場合(ステップ503 ),「変更される部分の
画面イメージ作成処理」(ステップ504 )を行う。
【0106】図25が「変更される部分」の画面イメージ
部品の作成処理フローチャートである。まず,図26で示
される「非共通部分画面イメージ構造体」515 に追加す
るためのイメージセットを用意する。「非共通部分画面
イメージ構造体」515 は「イメージセット」520 をリス
ト構造で保持するデータ構造体である。「イメージセッ
ト」520 とは,「更新前画面イメージアドレス」516 と
「更新後イメージアドレス」517 と「シートアドレス」
518 と「描画範囲」519 とで構成される。「更新前画面
イメージアドレス」516 と「更新後イメージアドレス」
517 とは「非共通部分画面イメージ部品」へのアドレス
である。「シートアドレス」518 とは「結果シート」内
の「シート」へのアドレスである。「描画範囲」519 と
は展開されていない状態で更新後の画面イメージ部品を
描画する「位置」と「幅」と「高さ」である。
部品の作成処理フローチャートである。まず,図26で示
される「非共通部分画面イメージ構造体」515 に追加す
るためのイメージセットを用意する。「非共通部分画面
イメージ構造体」515 は「イメージセット」520 をリス
ト構造で保持するデータ構造体である。「イメージセッ
ト」520 とは,「更新前画面イメージアドレス」516 と
「更新後イメージアドレス」517 と「シートアドレス」
518 と「描画範囲」519 とで構成される。「更新前画面
イメージアドレス」516 と「更新後イメージアドレス」
517 とは「非共通部分画面イメージ部品」へのアドレス
である。「シートアドレス」518 とは「結果シート」内
の「シート」へのアドレスである。「描画範囲」519 と
は展開されていない状態で更新後の画面イメージ部品を
描画する「位置」と「幅」と「高さ」である。
【0107】「イメージセット」520 内の「シートアド
レス」518 に現在のシートのアドレスをセットする(ス
テップ511 )。次ぎに「シート」の「行アドレス2」が
空の間,順次,次のシートの「行アドレス1」で示され
る行の行データを「変更される部分」の画面イメージ部
品に描画していく(ステップ512 ,ステップ513 )。ル
ープ終了後,先ほどの「イメージセット」の「更新前の
画面イメージアドレス」に画面イメージ部品のアドレス
をセットする(ステップ514 )。
レス」518 に現在のシートのアドレスをセットする(ス
テップ511 )。次ぎに「シート」の「行アドレス2」が
空の間,順次,次のシートの「行アドレス1」で示され
る行の行データを「変更される部分」の画面イメージ部
品に描画していく(ステップ512 ,ステップ513 )。ル
ープ終了後,先ほどの「イメージセット」の「更新前の
画面イメージアドレス」に画面イメージ部品のアドレス
をセットする(ステップ514 )。
【0108】図23のフローチャートで「変更される部分
の画面イメージ作成」(ステップ504 )の終了状態のカ
レントになっているシート(図25のステップ512 ,513
のループを抜け出したときのシート)に対し「行アドレ
ス1」が空か否か判断する(ステップ505 )。
の画面イメージ作成」(ステップ504 )の終了状態のカ
レントになっているシート(図25のステップ512 ,513
のループを抜け出したときのシート)に対し「行アドレ
ス1」が空か否か判断する(ステップ505 )。
【0109】図27が空と判断された後で行う「変更され
た部分の画面イメージの処理」(ステップ506 )のフロ
ーチャートである。「変更された部分」は「シート」の
「行アドレス1」が空の間,順次,次のシートの「行ア
ドレス2」で示される行の「行データ」を「変更された
部分」の画面イメージに描画していく(ステップ521,
ステップ522 )。ループが終了した時点で,その「登録
処理」(ステップ523)を行う。ここでの「登録処理」
(ステップ523 )とは「変更される部分」で作成した
「イメージセット」内の「更新後の画面イメージアドレ
ス」に変更された部分の画面イメージのアドレスをセッ
トし,「描画範囲」には「変更された部分」の変更され
た部分の画面イメージの幅と高さと展開されていない状
態での描画位置とをセットする事である。
た部分の画面イメージの処理」(ステップ506 )のフロ
ーチャートである。「変更された部分」は「シート」の
「行アドレス1」が空の間,順次,次のシートの「行ア
ドレス2」で示される行の「行データ」を「変更された
部分」の画面イメージに描画していく(ステップ521,
ステップ522 )。ループが終了した時点で,その「登録
処理」(ステップ523)を行う。ここでの「登録処理」
(ステップ523 )とは「変更される部分」で作成した
「イメージセット」内の「更新後の画面イメージアドレ
ス」に変更された部分の画面イメージのアドレスをセッ
トし,「描画範囲」には「変更された部分」の変更され
た部分の画面イメージの幅と高さと展開されていない状
態での描画位置とをセットする事である。
【0110】図28は図23のステップ505 で空と判断され
なかった後行う「削除された部分の作成と登録処理」
(ステップ508 )のフローチャートである。画面イメー
ジ部品「削除される部分」は「変更される部分」で描画
されたものをそのまま用いる。画面イメージ部品「削除
された部分」は行間程度の高さの長方形の枠および背景
色を描画する(ステップ525 )。この後,「登録処理」
(ステップ526 )を行う。ここでの「登録処理」(ステ
ップ526 )とは,「変更される部分」の処理で作成した
「イメージセット」内の「更新後の画面イメージアドレ
ス」に削除された部分の画面イメージのアドレスをセッ
トし,「描画範囲」には「削除された部分」の画面イメ
ージの縦横のサイズと描画位置をセットすることであ
る。
なかった後行う「削除された部分の作成と登録処理」
(ステップ508 )のフローチャートである。画面イメー
ジ部品「削除される部分」は「変更される部分」で描画
されたものをそのまま用いる。画面イメージ部品「削除
された部分」は行間程度の高さの長方形の枠および背景
色を描画する(ステップ525 )。この後,「登録処理」
(ステップ526 )を行う。ここでの「登録処理」(ステ
ップ526 )とは,「変更される部分」の処理で作成した
「イメージセット」内の「更新後の画面イメージアドレ
ス」に削除された部分の画面イメージのアドレスをセッ
トし,「描画範囲」には「削除された部分」の画面イメ
ージの縦横のサイズと描画位置をセットすることであ
る。
【0111】図23のフローチャートで「行アドレス1」
が空と判断した(ステップ501 )場合,「追加された部
分の画面イメージの作成処理」(ステップ502 )を行
う。図29は追加された部分の画面イメージ作成処理のフ
ローチャートである。まず,「イメージセット」を用意
する。この「イメージセット」内の「シートアドレス」
に現在のシートのアドレスをセットする(ステップ531
)。「追加された部分」は結果シートの「行アドレス
1」が空の間,順次シートの「行アドレス2」で示され
る行の行データを「追加された部分」の画面イメージに
描画していく(ステップ532 ,533 )。ループが終わっ
た後,このイメージと同じ高さで「追加される部分」と
して長方形の枠と背景色だけを描画する(ステップ534
)。最後に「登録処理」(ステップ535 )を行う。こ
こでの登録処理とは,「イメージセット」の「更新後画
面イメージアドレス」に「追加された部分」のイメージ
のアドレスをセットし,イメージセットの「更新前画面
イメージアドレス」には「追加される部分」のイメージ
のアドレスをセットし,「描画範囲」には「削除された
部分」の画面イメージの縦横のサイズと描画位置をセッ
トすることである。
が空と判断した(ステップ501 )場合,「追加された部
分の画面イメージの作成処理」(ステップ502 )を行
う。図29は追加された部分の画面イメージ作成処理のフ
ローチャートである。まず,「イメージセット」を用意
する。この「イメージセット」内の「シートアドレス」
に現在のシートのアドレスをセットする(ステップ531
)。「追加された部分」は結果シートの「行アドレス
1」が空の間,順次シートの「行アドレス2」で示され
る行の行データを「追加された部分」の画面イメージに
描画していく(ステップ532 ,533 )。ループが終わっ
た後,このイメージと同じ高さで「追加される部分」と
して長方形の枠と背景色だけを描画する(ステップ534
)。最後に「登録処理」(ステップ535 )を行う。こ
こでの登録処理とは,「イメージセット」の「更新後画
面イメージアドレス」に「追加された部分」のイメージ
のアドレスをセットし,イメージセットの「更新前画面
イメージアドレス」には「追加される部分」のイメージ
のアドレスをセットし,「描画範囲」には「削除された
部分」の画面イメージの縦横のサイズと描画位置をセッ
トすることである。
【0112】図23のステップ505 は「共通部分」と判断
された部分なのでそのシートが示す「行アドレス1」ま
たは「行アドレス2」のどちらが示す行の「行データ」
も同じである。したがって,その行が出力範囲内にあれ
ば,その「行データ」をオフスクリーンに1つ描画す
る。
された部分なのでそのシートが示す「行アドレス1」ま
たは「行アドレス2」のどちらが示す行の「行データ」
も同じである。したがって,その行が出力範囲内にあれ
ば,その「行データ」をオフスクリーンに1つ描画す
る。
【0113】以上で画面イメージ部品が完成し,描画準
備は終了である。
備は終了である。
【0114】6.3 描画処理 図30が描画処理のフローチャートである。共通部分が既
に描画されているオフスクリーンに,非共通部分画面イ
メージ構造体のイメージセットの内容を順次(ステップ
541 )描き込んでいく。この時,「イメージセット」に
セットされている「シートアドレス」で示されるシート
の展開フラグをチェック(ステップ542)して,ON
(1)なら「更新後画面イメージアドレス」で示される
部品を「イメージセット」で示される描画範囲に描画す
る(ステップ543 )。OFF(0)ならば,「更新前画
面イメージアドレス」で示される部品を「イメージセッ
ト」で示される描画範囲に描画する。その下に「更新前
画面イメージアドレス」で示される部品を描画する(ス
テップ544 )。これらはオフスクリーンで行われ,完成
した時点でスクリーン(表示装置(出力装置342 )の表
示画面)にコピーされる。
に描画されているオフスクリーンに,非共通部分画面イ
メージ構造体のイメージセットの内容を順次(ステップ
541 )描き込んでいく。この時,「イメージセット」に
セットされている「シートアドレス」で示されるシート
の展開フラグをチェック(ステップ542)して,ON
(1)なら「更新後画面イメージアドレス」で示される
部品を「イメージセット」で示される描画範囲に描画す
る(ステップ543 )。OFF(0)ならば,「更新前画
面イメージアドレス」で示される部品を「イメージセッ
ト」で示される描画範囲に描画する。その下に「更新前
画面イメージアドレス」で示される部品を描画する(ス
テップ544 )。これらはオフスクリーンで行われ,完成
した時点でスクリーン(表示装置(出力装置342 )の表
示画面)にコピーされる。
【0115】図31がオフスクリーンとスクリーンの画面
遷移で示したものである。描画準備においてオフスクリ
ーンには既に共通部分が描画されている。その上に非共
通部分画面イメージ構造体にセットされている画面イメ
ージ部品をオフスクリーンにコピーしていく事で画面を
完成する。展開フラグがON(1)ならば更新前のイメ
ージを非展開時の描画範囲で示される位置に描画し,更
新前のイメージの高さ分だけ下に更新後のイメージを描
画する。展開フラグがOFF(0)ならば更新後のイメ
ージを非展開時の描画範囲で示される位置に描画する。
遷移で示したものである。描画準備においてオフスクリ
ーンには既に共通部分が描画されている。その上に非共
通部分画面イメージ構造体にセットされている画面イメ
ージ部品をオフスクリーンにコピーしていく事で画面を
完成する。展開フラグがON(1)ならば更新前のイメ
ージを非展開時の描画範囲で示される位置に描画し,更
新前のイメージの高さ分だけ下に更新後のイメージを描
画する。展開フラグがOFF(0)ならば更新後のイメ
ージを非展開時の描画範囲で示される位置に描画する。
【0116】6.4 マウスイベント マウスイベントが発生した場合,マウスカーソルの位置
を取得する。非共通部分画面イメージ構造体のイメージ
セットの中で,このマウスカーソルの位置が描画範囲に
含まれる場合,イメージセット内のシートアドレスで示
されるシートの展開フラグを切り替える。つまり,ON
の状態だった場合にはOFFに,OFFの状態だった場
合にはONにする。その後再度描画処理を実行する。こ
れにより「展開されている状態」と「展開されていない
状態」がマウスイベントで切り替わる。
を取得する。非共通部分画面イメージ構造体のイメージ
セットの中で,このマウスカーソルの位置が描画範囲に
含まれる場合,イメージセット内のシートアドレスで示
されるシートの展開フラグを切り替える。つまり,ON
の状態だった場合にはOFFに,OFFの状態だった場
合にはONにする。その後再度描画処理を実行する。こ
れにより「展開されている状態」と「展開されていない
状態」がマウスイベントで切り替わる。
【0117】6.5 表示例 図32は更新前と更新後のファイルの例で,2行目から6
行目が変更されている。図33は図32の更新前のファイル
と更新後のファイルを比較した結果得られる結果シート
の例である。つまり,非共通部分が「変更」である結果
シートである。展開フラグは省略してある。901 は「行
アドレス1」または「行アドレス2」にアドレスがセッ
トされていない事を意味する。図34の上側が「展開され
ていない状態」の「変更」の表示例である。図34の下側
が「展開されている状態」の「変更」の表示例である。
行目が変更されている。図33は図32の更新前のファイル
と更新後のファイルを比較した結果得られる結果シート
の例である。つまり,非共通部分が「変更」である結果
シートである。展開フラグは省略してある。901 は「行
アドレス1」または「行アドレス2」にアドレスがセッ
トされていない事を意味する。図34の上側が「展開され
ていない状態」の「変更」の表示例である。図34の下側
が「展開されている状態」の「変更」の表示例である。
【0118】図35は更新前と更新後のファイルの例で,
2行目に2行追加されている。図36は図35の更新前のフ
ァイルと更新後のファイルを比較した結果得られる結果
シートの例である。つまり,非共通部分が「追加」であ
る結果シートである。展開フラグは省略してある。図37
の上側が「展開されていない状態」の「追加」の表示例
である。図37の下側が「展開されている状態」の「追
加」の表示例である。
2行目に2行追加されている。図36は図35の更新前のフ
ァイルと更新後のファイルを比較した結果得られる結果
シートの例である。つまり,非共通部分が「追加」であ
る結果シートである。展開フラグは省略してある。図37
の上側が「展開されていない状態」の「追加」の表示例
である。図37の下側が「展開されている状態」の「追
加」の表示例である。
【0119】図38は更新前と更新後のファイルの例で,
3行目と4行目が削除されている。図39は図38の更新前
のファイルと更新後のファイルを比較した結果得られる
結果シートの例である。つまり,非共通部分が「削除」
である結果シートである。展開フラグは省略してある。
図40の上側が「展開されていない状態」の「削除」の表
示例である。図40の下側が「展開されている状態」の
「削除」の表示例である。
3行目と4行目が削除されている。図39は図38の更新前
のファイルと更新後のファイルを比較した結果得られる
結果シートの例である。つまり,非共通部分が「削除」
である結果シートである。展開フラグは省略してある。
図40の上側が「展開されていない状態」の「削除」の表
示例である。図40の下側が「展開されている状態」の
「削除」の表示例である。
【図1】更新前と更新後の2つのファイルを例を示す
【図2】変更された部分の表示例を示す。
【図3】追加された部分の表示例を示す。
【図4】削除された部分の表示例を示す。
【図5】ファイル比較処理システムを示すブロック図で
ある。
ある。
【図6】比較マトリックスを示す。
【図7】比較マトリックスを示す。
【図8】比較マトリックスを示す。
【図9】比較マトリックスを示す。
【図10】最大長構造体の構成を示す。
【図11】次候補構造体の構成を示す。
【図12】第1のファイル構造体の構成を示す。
【図13】第1のファイル構造体にデータを読み込んだ
状態を示す。
状態を示す。
【図14】第2のファイル構造体の構成を示す。
【図15】第2のファイル構造体にデータを読み込んだ
状態を示す。
状態を示す。
【図16】結果シート構造体の構成を示す。
【図17】比較処理のフローチャートである。
【図18】同じ時の処理のフローチャートである。
【図19】異なる時の処理のフローチャートである。
【図20】比較処理が終了したときの第1のファイル構
造体の状態を示す。
造体の状態を示す。
【図21】比較処理が終了したときの第2のファイル構
造体の状態を示す。
造体の状態を示す。
【図22】比較処理が終了したときの結果シート構造体
の状態を示す。
の状態を示す。
【図23】描画準備処理のフローチャートである。
【図24】非共通部分の画面イメージ部品を示す。
【図25】変更去れる部分の画面イメージ処理のフロー
チャートである。
チャートである。
【図26】非共通部分描画イメージ構造体の構成を示
す。
す。
【図27】変更された部分の画面画面イメージ処理のフ
ローチャートである。
ローチャートである。
【図28】削除された部分の画面画面イメージ処理のフ
ローチャートである。
ローチャートである。
【図29】追加された部分の画面画面イメージ処理のフ
ローチャートである。
ローチャートである。
【図30】描画処理のフローチャートである。
【図31】画面描画処理を図式的に示す。
【図32】更新前と更新後(変更された例)のデータ例
である。
である。
【図33】結果シート構造体(変更された例)の例を示
す。
す。
【図34】更新前と更新後(変更された場合)の表示例
である。
である。
【図35】更新前と更新後(追加された例)のデータ例
である。
である。
【図36】結果シート構造体(追加された例)の例を示
す。
す。
【図37】更新前と更新後(追加された場合)の表示例
である。
である。
【図38】更新前と更新後(削除された例)のデータ例
である。
である。
【図39】結果シート構造体(削除された例)の例を示
す。
す。
【図40】更新前と更新後(削除された場合)の表示例
である。
である。
301 更新前のファイル 302 更新後のファイル 303 ,319 ,320 ,322 ,324 ,332 ,334 共通部分 304 ,316 ,323 ,333 非共通部分 313 変更アイコン 321 追加アイコン 331 削除アイコン 341 入力装置 342 出力装置(表示装置) 343 記憶装置 346 中央処理装置 353 メモリ
Claims (14)
- 【請求項1】 第1のファイルの内容と,第1のファイ
ルの内容を更新して得られた第2のファイルの内容を比
較した結果を表わすデータを用いて,第1のファイルの
内容と第2のファイルの内容において変化のあった部分
を明示する方法であり,変化のあった部分を明示するた
めの少なくとも2つの異なるイメージ部品を用意し,第
1のファイルの内容および第2のファイルの内容の少な
くとも一方を表示画面に表示するとともに,比較結果を
表わすデータに基づいて上記第1のファイルにおいて変
化のあった部分を一方のイメージ部品により明示的に表
示する形態と,上記一方のファイル内容の変化のあった
部分と対比して,他方のファイルの変化のあった部分を
他方のイメージ部品により明示的に表示する形態とを,
外部からの切替指令に応答して切替える,ファイル比較
結果表示方法。 - 【請求項2】 上記の変化が変更,削除または追加であ
る請求項1に記載の表示方法。 - 【請求項3】 第1のファイルと第2のファイルを所定
単位データずつ比較して変化のあった部分を検索し,比
較結果を表わすデータを作成する,請求項1に記載の表
示方法。 - 【請求項4】 上記イメージ部品により明示的に表示さ
れた変化のあった部分の近傍に,変化の態様を表わすア
イコンを表示する,請求項1から3のいずれか一項に記
載の表示方法。 - 【請求項5】 第1のファイルと第2のファイルを配列
の順序にしたがって所定単位データずつ順次比較し,不
一致の単位データが現れたところで,それ以降の単位デ
ータにおいて一致する箇所を検索するに際して,一方の
ファイルの単位データのポインタを固定し,他方のファ
イルの単位データのポインタを1つずつ増加させて,両
ポインタによって指定される単位データを比較し,他方
のファイルの単位データのポインタを限界まで増加させ
ても一致する単位データがなければ,一方のファイルの
単位データのポインタを1増加さて同様の比較処理を繰
返し,一致する単位データがあれば,他方のファイルの
単位データのポインタを増加させる範囲を一致した単位
データの位置によって制限する,ファイル比較方法。 - 【請求項6】 一方のファイルの残りのすべての単位デ
ータについて比較処理を終了するか,または他方のファ
イルの単位データのポインタの増加範囲が無くなるまで
比較を繰返す,請求項5に記載のファイル比較方法。 - 【請求項7】 第1のファイルと第2のファイルを配列
の順序にしたがって所定単位データずつ順次比較し,不
一致の単位データが現れたところで,それ以降の単位デ
ータにおいて一致する箇所を検索し,一致する単位デー
タが発見されたときに再び所定単位データずつ順次比較
し,一致している単位データの連続数を記憶しながら最
も連続数の大きいものを検出して,一方のファイルにお
いて進むべきルートの起点と終点を表わす第1のマーク
として不一致の単位データに付し,すべての単位データ
の比較が終了したのち,再び第1のファイルと第2のフ
ァイルを配列の順序にしたがって所定単位データずつ比
較し,第1のファイルの単位データと第2のファイルの
単位データのすべてについて,データの一致する部分と
不一致の部分とを区別するデータを上記第1のマークを
参照しながら付して結果シートを作成する,ファイル比
較方法。 - 【請求項8】 他方のファイルにおいて一致した単位デ
ータについては検索済みであることを意味する第2のマ
ークを付して同じデータの再度の比較を省く,請求項7
に記載のファイル比較方法。 - 【請求項9】 第1のファイルの内容と,第1のファイ
ルの内容を更新して得られた第2のファイルの内容を比
較した結果を表わすデータを用いて,第1のファイルの
内容と第2のファイルの内容において変化のあった部分
を明示する装置であり,変化のあった部分を明示するた
めの少なくとも2つの異なるイメージ部品を記憶する記
憶装置,表示形態切替入力手段,および第1のファイル
の内容および第2のファイルの内容の少なくとも一方を
表示画面に表示するとともに,比較結果を表わすデータ
に基づいて上記第1のファイルにおいて変化のあった部
分を一方のイメージ部品により明示的に表示する形態
と,上記一方のファイル内容の変化のあった部分と対比
して,他方のファイルの変化のあった部分を他方のイメ
ージ部品により明示的に表示する形態とを,上記切替入
力手段からの切替指令に応答して切替えるように制御す
る表示制御手段を備えた,ファイル比較結果表示装置。 - 【請求項10】 第1のファイルと第2のファイルを配
列の順序にしたがって所定単位データずつ順次比較し,
不一致の単位データが現れたところで,それ以降の単位
データにおいて一致する箇所を検索するに際して,一方
のファイルの単位データのポインタを固定し,他方のフ
ァイルの単位データのポインタを1つずつ増加させて,
両ポインタによって指定される単位データを比較する比
較手段,および他方のファイルの単位データのポインタ
を限界まで増加させても一致する単位データがなけれ
ば,一方のファイルの単位データのポインタを1増加さ
て上記比較手段による比較処理を繰返し,一致する単位
データがあれば,他方のファイルの単位データのポイン
タを増加させる範囲を一致した単位データの位置によっ
て制限する比較制御手段,を備えたファイル比較装置。 - 【請求項11】 第1のファイルと第2のファイルを配
列の順序にしたがって所定単位データずつ順次比較し,
不一致の単位データが現れたところで,それ以降の単位
データにおいて一致する箇所を検索し,一致する単位デ
ータが発見されたときに再び所定単位データずつ順次比
較し,一致している単位データの連続数を記憶しながら
最も連続数の大きいものを検出して,一方のファイルに
おいて進むべきルートの起点と終点を表わす第1のマー
クとして不一致の単位データに付す比較手段,およびす
べての単位データの比較が終了したのち,再び第1のフ
ァイルと第2のファイルを配列の順序にしたがって所定
単位データずつ比較し,第1のファイルの単位データと
第2のファイルの単位データのすべてについて,データ
の一致する部分と不一致の部分とを区別するデータを上
記第1のマークを参照しながら付して結果シートを作成
する結果作成手段,を備えたファイル比較装置。 - 【請求項12】 第1のファイルの内容と,第1のファ
イルの内容を更新して得られた第2のファイルの内容を
比較した結果を表わすデータを用いて,第1のファイル
の内容と第2のファイルの内容において変化のあった部
分を明示する方法を実現するためのプログラムであっ
て,第1のファイルの内容および第2のファイルの内容
の少なくとも一方を表示画面に表示するとともに,比較
結果を表わすデータに基づいて上記第1のファイルにお
いて変化のあった部分を第1の変化明示用イメージ部品
を用いて明示的に表示する形態と,上記一方のファイル
内容の変化のあった部分と対比して,他方のファイルの
変化のあった部分を,上記第1の変化明示用イメージ部
品とは異なる第2の変化明示用イメージ部品により明示
的に表示する形態とを,切替指令に応答して切替えるよ
うコンピュータを制御する,ファイル比較結果表示のた
めのプログラムを記録した媒体。 - 【請求項13】 第1のファイルと第2のファイルを配
列の順序にしたがって所定単位データずつ順次比較し,
不一致の単位データが現れたところで,それ以降の単位
データにおいて一致する箇所を検索するに際して,一方
のファイルの単位データのポインタを固定し,他方のフ
ァイルの単位データのポインタを1つずつ増加させて,
両ポインタによって指定される単位データを比較し,他
方のファイルの単位データのポインタを限界まで増加さ
せても一致する単位データがなければ,一方のファイル
の単位データのポインタを1増加さて同様の比較処理を
繰返し,一致する単位データがあれば,他方のファイル
の単位データのポインタを増加させる範囲を一致した単
位データの位置によって制限するようにコンピュータを
制御するファイル比較プログラムを記録した媒体。 - 【請求項14】 第1のファイルと第2のファイルを配
列の順序にしたがって所定単位データずつ順次比較し,
不一致の単位データが現れたところで,それ以降の単位
データにおいて一致する箇所を検索し,一致する単位デ
ータが発見されたときに再び所定単位データずつ順次比
較し,一致している単位データの連続数を記憶しながら
最も連続数の大きいものを検出して,一方のファイルに
おいて進むべきルートの起点と終点を表わす第1のマー
クとして不一致の単位データに付し,すべての単位デー
タの比較が終了したのち,再び第1のファイルと第2の
ファイルを配列の順序にしたがって所定単位データずつ
比較し,第1のファイルの単位データと第2のファイル
の単位データのすべてについて,データの一致する部分
と不一致の部分とを区別するデータを上記第1のマーク
を参照しながら付して結果シートを作成するようにコン
ピューターを制御するファイル比較プログラムを記録し
た媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10402998A JPH11282599A (ja) | 1998-03-31 | 1998-03-31 | ファイル内容の変化を表示する方法および装置,ならびに表示のためのプログラムを記録した媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10402998A JPH11282599A (ja) | 1998-03-31 | 1998-03-31 | ファイル内容の変化を表示する方法および装置,ならびに表示のためのプログラムを記録した媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11282599A true JPH11282599A (ja) | 1999-10-15 |
Family
ID=14369830
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10402998A Pending JPH11282599A (ja) | 1998-03-31 | 1998-03-31 | ファイル内容の変化を表示する方法および装置,ならびに表示のためのプログラムを記録した媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11282599A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001306369A (ja) * | 2000-04-26 | 2001-11-02 | Sony Corp | データ処理装置 |
| JPWO2007116899A1 (ja) * | 2006-04-06 | 2009-08-20 | コニカミノルタエムジー株式会社 | 医用情報処理装置 |
| JP2009245448A (ja) * | 2009-06-15 | 2009-10-22 | Fujitsu Ltd | データリストア装置 |
-
1998
- 1998-03-31 JP JP10402998A patent/JPH11282599A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001306369A (ja) * | 2000-04-26 | 2001-11-02 | Sony Corp | データ処理装置 |
| JPWO2007116899A1 (ja) * | 2006-04-06 | 2009-08-20 | コニカミノルタエムジー株式会社 | 医用情報処理装置 |
| JP2009245448A (ja) * | 2009-06-15 | 2009-10-22 | Fujitsu Ltd | データリストア装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6437799B1 (en) | Method and apparatus for logical zooming of a directed graph | |
| JPH11282599A (ja) | ファイル内容の変化を表示する方法および装置,ならびに表示のためのプログラムを記録した媒体 | |
| JP2908425B1 (ja) | フレームを使用しているホームページのマーキング・再表示方式 | |
| JPH06348250A (ja) | 円滑テキスト表示システム | |
| JP3608864B2 (ja) | 組版方法及び装置 | |
| JP3111596B2 (ja) | 表計算処理方法および装置 | |
| JP3042666B2 (ja) | データベース・システムにおけるデータベース情報表示装置 | |
| JPH02139625A (ja) | 画面表示方式 | |
| JP2000322444A (ja) | 文書表示装置 | |
| JP2665206B2 (ja) | 表画面描画処理方式 | |
| JPH08166950A (ja) | 文書編集装置 | |
| JP2001325020A (ja) | 状態遷移表表示システム | |
| JP3077351B2 (ja) | データ表示方法 | |
| JPH0935083A (ja) | アニメーション編集装置 | |
| JPH04111054A (ja) | 文書処理装置 | |
| JPH08153100A (ja) | 階層化文書表示システム | |
| JPH0876685A (ja) | 図形データ送信システム | |
| JPH08339413A (ja) | データエントリ装置 | |
| JPH04263329A (ja) | 知識修正支援システム | |
| JPH06162016A (ja) | データ表示方法 | |
| JPH04170670A (ja) | 文書処理装置 | |
| JPH07200220A (ja) | データ出力装置 | |
| JPH05250363A (ja) | 文書処理システム | |
| JPS63262687A (ja) | ウインドウ制御方法 | |
| JPS63160466A (ja) | 電子フアイリングシステムにおける画像登録方法 |