JP2011118703A - Comparison program - Google Patents
Comparison program Download PDFInfo
- Publication number
- JP2011118703A JP2011118703A JP2009275874A JP2009275874A JP2011118703A JP 2011118703 A JP2011118703 A JP 2011118703A JP 2009275874 A JP2009275874 A JP 2009275874A JP 2009275874 A JP2009275874 A JP 2009275874A JP 2011118703 A JP2011118703 A JP 2011118703A
- Authority
- JP
- Japan
- Prior art keywords
- line
- file
- original file
- information
- line number
- 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
Images
Landscapes
- Document Processing Apparatus (AREA)
Abstract
Description
本発明は、比較プログラムに関し、特に、表計算ソフトウェアで作成された2つの元ファイル同士を比較した場合に、変更があった行の元ファイルにおける行番号を一見して把握することができる比較プログラムに関するものである。 The present invention relates to a comparison program, and in particular, when comparing two original files created by spreadsheet software, a comparison program that can grasp at a glance the line number in the original file of the changed line. It is about.
従来、2つの元ファイルを比較可能なソフトウェアに知られている。例えば、マイクロソフト社のワード(登録商標)には、次の文書比較機能が搭載されている。図8(a1)は比較対象の一方である元ファイルAの出力画面、図8(a2)は比較対象の他方である元ファイルBの出力画面、図8(a3)は比較結果ファイルの出力画面を示している。 Conventionally, software that can compare two original files is known. For example, Microsoft's Word (registered trademark) has the following document comparison function. 8A1 is an output screen of the original file A that is one of the comparison targets, FIG. 8A2 is an output screen of the original file B that is the other of the comparison targets, and FIG. 8A3 is an output screen of the comparison result file. Is shown.
ワードを使って、図8(a1)、図8(a2)に示す表を作成し、その2つの表をワードの文書比較機能を使って比較すると、図8(a3)に示す表が出力される。図8(a3)に示す表から、文字中央の削除線によって「伊藤××、愛知××」が削除され、アンダーラインによって「太田○○、愛知××」が挿入されたことを一見して把握することができる。尚、2つの元ファイルを比較可能なソフトウェアは、上述したワードの文書比較機能の他、次の特許文献1に、元文書と変更後文書とを比較して変更箇所を校正記号で表示させる文書処理装置が記載されている。
When the tables shown in FIGS. 8 (a1) and 8 (a2) are created using words, and the two tables are compared using the word document comparison function, the table shown in FIG. 8 (a3) is output. The From the table shown in FIG. 8 (a3), at first glance, “Ito XX, Aichi XX” was deleted by the deletion line in the middle of the character, and “Ota XX, Aichi XX” was inserted by the underline. I can grasp it. In addition to the word document comparison function described above, the software that can compare two original files is a document that, in the
しかしながら、図8(a1)、図8(a2)に示す表には行番号がなく、何行目かを一見して把握できない。また、行番号を付けて表を作成すれば良いが、わざわざ行番号を付けるのは手間である。一方で、マイクロソフト社のエクセル(登録商標)に例示される表計算ソフトウェアが知られている。表計算ソフトウェアでは、行番号と列番号とが規定されている格子状の表が出力されるので、行番号をわざわざ付ける必要がない。図8(b1)は、図8(a1)に示す表をエクセルで作成したファイルの出力画面、図8(b2)は、図8(a2)に示す表をエクセルで作成したファイルの出力画面である。図8(b1)、図8(b2)に示すように、エクセルで表を作成することで、わざわざ行番号を付けることなく一見して行番号を把握できる。 However, the tables shown in FIGS. 8 (a1) and 8 (a2) do not have line numbers, and it is impossible to grasp at a glance what line they are. Moreover, it is sufficient to create a table with line numbers, but it is troublesome to bother with line numbers. On the other hand, spreadsheet software exemplified by Excel (registered trademark) of Microsoft Corporation is known. The spreadsheet software outputs a grid-like table in which row numbers and column numbers are defined, so there is no need to bother with row numbers. 8 (b1) is a file output screen created by excel with the table shown in FIG. 8 (a1). FIG. 8 (b2) is a file output screen created by excel with the table shown in FIG. 8 (a2). is there. As shown in FIG. 8 (b1) and FIG. 8 (b2), by creating a table in Excel, it is possible to grasp the line number at a glance without adding the line number.
しかしながら、エクセルをはじめ、表計算ソフトウェアで作成した元ファイル同士を比較するソフトウェアはなく、表計算ソフトウェアで作成した元ファイル同士を比較可能なソフトウェアが要望されていた。また、表計算ソフトウェアで作成したファイルには、行番号と列番号とが付けられるので、上述したワードの文書比較機能を、そのまま適用しても、次の問題点があった。 However, there is no software for comparing original files created with spreadsheet software, such as Excel, and there has been a demand for software capable of comparing original files created with spreadsheet software. In addition, since the file number created by the spreadsheet software is assigned a row number and a column number, there is the following problem even if the word document comparison function is applied as it is.
図8(b3)は、図8(a3)に示す表をエクセルで作成したファイルの出力画面である。図8(b3)に示すように、ワードの文書比較機能では、削除された行(「伊藤××、愛知××」)も比較結果として出力されるので、比較結果と、元ファイルとの間で行番号がずれ、挿入された行が元ファイルの何行目なのかを、特定し難いという問題点があった。 FIG. 8B3 is a file output screen in which the table shown in FIG. 8A3 is created in Excel. As shown in FIG. 8 (b3), in the word document comparison function, the deleted line ("Ito xx, Aichi xx") is also output as the comparison result, so the comparison result and the original file There was a problem that the line numbers were shifted and it was difficult to specify the line number of the original file.
図8(b3)の比較結果では、挿入された「太田○○、愛知××」は5行目に出力されるのに対し、図8(b2)の元ファイルでは4行目に出力される。よって、挿入された「太田○○、愛知××」が、図8(b2)の元ファイルの何行目なのかは、結局、図8(b2)の元ファイルにおいて、「太田○○、愛知××」という文字列を追わなければ分からず、挿入された行の元ファイルにおける行番号を特定し難いという問題点があった。 In the comparison result of FIG. 8 (b3), the inserted “Ota XX, Aichi xx” is output on the fifth line, whereas in the original file of FIG. 8 (b2), it is output on the fourth line. . Therefore, the inserted line of “Ota XX, Aichi XX” in the original file in FIG. 8B2 in the end is “Ota XX, Aichi XX” in FIG. 8B2. There is a problem in that it is difficult to identify the line number in the original file of the inserted line without following the character string “XX”.
本発明は、上述した問題点を解決するためになされたものであり、表計算ソフトウェアで作成された元ファイル同士を比較した場合に、変更があった行の元ファイルにおける番号を一見して把握することができる比較プログラムを提供することを目的としている。 The present invention has been made to solve the above-mentioned problems, and when comparing original files created with spreadsheet software, the number in the original file of the changed line can be grasped at a glance. The aim is to provide a comparison program that can do.
請求項1記載の比較プログラムによれば、行番号が規定されている格子状の表を出力可能な表計算ソフトウェアによって作成された2つのファイル同士を比較する場合、2つファイルの一方である第1元ファイルと他方である第2元ファイルとが特定ステップによって特定され、その特定された第1元ファイルと第2元ファイルとの各々から行単位で情報が抽出ステップによって抽出される。
According to the comparison program of
抽出された行単位の情報である第1元ファイルの行情報と第2元ファイルの行情報とは、変更なし行番号特定ステップによって比較され、第1元ファイルと第2元ファイルとで同じ行情報を有する第1元ファイルの行番号と第2元ファイルの行番号とが特定される。また、変更なし行番号を特定する場合には、重複特定されるのが避けられている。例えば、3行形成の2つの表において、一方の表の第1行目に入力されている行情報と、他方の表の第1〜第3行目の各々に入力されている行情報とが同一であった場合、他方の表の第1〜第3行目の全部は特定されず、特定されるのは、他方の表の第1〜第3行目のいずれか1行である。 The line information of the first original file and the line information of the second original file, which are the extracted line-by-line information, are compared by the line number specifying step without change, and the same line in the first original file and the second original file. The line number of the first original file having information and the line number of the second original file are specified. In addition, when specifying the line number without change, it is avoided that the line number is duplicated. For example, in two tables formed in three rows, the row information input to the first row of one table and the row information input to each of the first to third rows of the other table are If they are the same, not all of the first to third rows of the other table are specified, and what is specified is any one of the first to third rows of the other table.
一方、複写ステップによって、表計算ソフトウェアから2つの新規ファイルが用意され、その一方に第1元ファイル、他方に第2元ファイルが複写され、2つの複写ファイルが作成される。尚、複写とは、第1元ファイルと、第2元ファイルとの各々が、各複写ファイルと同一であることを意味している。 On the other hand, in the copying step, two new files are prepared from the spreadsheet software, and the first original file is copied to one of them and the second original file is copied to the other to create two copied files. Note that copying means that each of the first original file and the second original file is the same as each copy file.
複写ステップによって作成された2つの複写ファイルの各々は、複写された情報と対応付けられている行番号は維持されるので、第1元ファイルと複写ファイルとの間、第2元ファイルと複写ファイルとの間で行番号がずれることはない。また、2つの複写ファイルの各々は、変更なし行番号特定ステップによって特定された行番号に対応する行情報と、それ以外の行番号に対応する行情報とが識別情報によって識別可能に設定される。 Each of the two copy files created by the copy step maintains the line number associated with the copied information, so the second original file and the copy file are between the first original file and the copy file. Line numbers do not shift between. Each of the two copy files is set so that the line information corresponding to the line number specified by the line number specifying step without change and the line information corresponding to other line numbers can be identified by the identification information. .
即ち、変更なし行番号特定ステップによって特定された行番号に対応する行情報は、変更がなかった行情報であり、それ以外の行番号に対応する行情報は、変更があった行情報であり、変更がなかった行情報と、変更があった行情報とは、識別情報によって識別可能に設定されるので、変更があった行情報を一見して把握することができる。 That is, the line information corresponding to the line number specified by the line number specifying step without change is line information that has not been changed, and the line information corresponding to other line numbers is line information that has been changed. The line information that has not been changed and the line information that has been changed are set to be identifiable by the identification information, so that the changed line information can be grasped at a glance.
また、上述した通り、第1元ファイルと複写ファイルとの間、第2元ファイルと複写ファイルとの間で行番号がずれることもないので、変更があった行番号も一見して把握することができる。従って、表計算ソフトウェアで作成されたファイル同士を比較した場合に、変更があった行の元ファイルにおける行番号を一見して把握することができるという効果がある。尚、請求項1では、行番号、行単位、行情報の記載がされているが、請求項1は「行」方向(横方向)に限定されるものではない。行番号、行単位、行情報は縦方向であっても良い。換言すれば、行番号、行単位、行情報を、列番号、列単位、列情報としても良い。
In addition, as described above, the line numbers do not shift between the first original file and the copy file, and between the second original file and the copy file. Can do. Therefore, when files created by spreadsheet software are compared with each other, there is an effect that the line number in the original file of the changed line can be grasped at a glance. In
請求項2記載の比較プログラムによれば、請求項1記載の比較プログラムの奏する効果に加え、第1元ファイルと第2元ファイルとで同じ行情報を有する第1元ファイルの行番号と第2元ファイルの行番号とを特定する場合には小さい行番号が優先して特定される。よって、後述する方法で、変更があった行が、削除、挿入、編集の何れの変更なのかを特定することができる。 According to the comparison program of the second aspect, in addition to the effect produced by the comparison program of the first aspect, the line number and the second number of the first original file having the same line information in the first original file and the second original file When specifying the line number of the original file, the smaller line number is specified preferentially. Therefore, it is possible to specify whether the changed line is a deletion, insertion, or editing change by a method described later.
さらに、第1元ファイルの行番号と第2元ファイルの行番号とのうち、変更なし行番号特定ステップによって特定された行番号には、ステータスとして変更なし、それ以外の行番号には、ステータスとして変更ありが設定される。よって、行番号単位で、変更があった行と、変更がなかった行とを把握できる。設定されたステータスは、第1元ファイルにおいて行番号順に抽出され、第2元ファイルにおいても行番号順に抽出され、その抽出された両ステータスの組み合わせから、変更があった行が、削除、挿入、編集の何れの変更なのかが特定される。 Further, of the line numbers of the first original file and the second original file, the line number specified by the no change line number specifying step has no change as the status, and the other line numbers have the status As changed. Therefore, it is possible to grasp a line that has been changed and a line that has not been changed in units of line numbers. The set statuses are extracted in the order of line numbers in the first original file, and are also extracted in the order of line numbers in the second original file. From the combination of both extracted statuses, the changed lines are deleted, inserted, Which change of editing is specified.
第1元ファイルの行番号は、第1カウントステップによってカウントされ、そのカウント値に対応した第1元ファイルの行番号について、設定されているステータスが第1抽出ステップによって抽出される。最初は、第1元ファイルも、第2元ファイルも、最も小さい行番号に対応つけられているステータスが抽出される。その後は、第1指示ステップ、第2指示ステップからの指示に応じてカウントアップされていき、そのカウント値に対応した行番号について、設定されているステータスが抽出される。同様に、第2元ファイルの行番号は第2カウントステップによってカウントされ、そのカウント値に対応した第2元ファイルの行番号について設定されているステータスが第2抽出ステップによって抽出される。 The line number of the first original file is counted by the first counting step, and the set status is extracted by the first extracting step for the line number of the first original file corresponding to the count value. Initially, the status associated with the smallest line number is extracted for both the first source file and the second source file. Thereafter, the count is incremented according to the instructions from the first instruction step and the second instruction step, and the set status is extracted for the line number corresponding to the count value. Similarly, the line number of the second source file is counted by the second count step, and the status set for the line number of the second source file corresponding to the count value is extracted by the second extraction step.
抽出された第1元ファイルの行番号に設定されたステータスと、第2元ファイルの行番号に設定されたステータスとは、判断手段によって、その組み合わせが判断される。組み合わせとしては、次の4通りである。両方「変更なし」、両方「変更あり」、片方「変更あり」、別の片方「変更あり」である。 The combination of the status set to the line number of the extracted first source file and the status set to the line number of the second source file is determined by the determining means. There are the following four combinations. Both are “no change”, both are “changed”, one is “changed”, and the other is “changed”.
判断ステップによって、両ステータスが、共に変更なし、または、共に変更ありと判断されると、第1指示ステップによって、第1カウントステップと、第2カウントステップとの各々にカウントアップするように指示がなされる。即ち、両方、次の行番号に設定されているステータスが抽出される。 When it is determined that both statuses are not changed or both are changed by the determination step, an instruction is given to count up to each of the first count step and the second count step by the first instruction step. Made. That is, in both cases, the status set to the next line number is extracted.
また、両ステータスが、共に変更ありと判断されると、編集情報設定ステップによって、変更ありが設定されている第1元ファイルの行番号に対応する行情報と、第2元ファイルの行番号に対応する行情報との各々が、複写ファイルにおいて、編集された情報であるこを示す編集情報と対応付けて設定される。即ち、両ステータスが、共に変更ありの場合、両行は何らかの編集があったと特定できるので、複写ファイルにおいて、両行に編集情報を対応つけて設定することで、両行が変更があった行であり、更に、編集された行であることを把握することができる。尚、両ステータスが、共に変更なしの場合には、特に、複写ファイルに設定はされない。 If both statuses are determined to be changed, the edit information setting step sets the line information corresponding to the line number of the first source file set to change and the line number of the second source file. Each of the corresponding line information is set in association with editing information indicating that it is edited information in the copy file. In other words, if both statuses are changed, both lines can be identified as having been edited, so in the copy file, by setting the edit information in association with both lines, both lines have changed. Furthermore, it is possible to grasp that the line has been edited. If both statuses are not changed, the copy file is not set.
一方、判断ステップによって、両ステータスの一方だけが変更ありと判断された場合、その変更ありが第1元ファイルの行番号に設定されていれば、第1指示ステップによって第1カウントステップにカウントアップさせるように指示がなされ、その変更ありが第2元ファイルの行番号に設定されていれば第2カウントステップにカウントアップさせるように指示がなされる。即ち、変更があった行のみ、次の行番号に設定されているステータスが第1、第2抽出ステップによって抽出される。 On the other hand, if it is determined in the determination step that only one of the two statuses is changed, if the change is set in the line number of the first original file, the first instruction step counts up to the first count step. If the change is set to the line number of the second original file, the second count step is instructed to count up. That is, the status set to the next line number is extracted only in the changed line by the first and second extraction steps.
また、両ステータスのうち第1元ファイルの行番号に設定されているステータスだけが変更ありと判断された場合には、削除情報設定ステップによって、その第1元ファイルの行番号に対応する行情報と、削除された情報であるこを示す削除情報とが複写ファイルにおいて対応付けて設定される。即ち、この場合、第1元ファイルにおける該当行は、削除された行情報であると特定できるので、その行に削除情報を対応つけて複写ファイルを設定するこで、その行が変更があった行であり、更に、削除された行であることを把握することができる。尚、この場合、第1元ファイルにおける該当行は、削除された行情報であると特定できるとしたのは、後述するように、第2元ファイルの行番号に設定されているステータスだけが変更ありと判断された場合、その第2元ファイルの該当行を、挿入としている関係である。よって、この関係を逆に構成しても良い。 Also, if it is determined that only the status set in the line number of the first original file among the two statuses is changed, the line information corresponding to the line number of the first original file is determined by the deletion information setting step. And deletion information indicating deleted information are set in association with each other in the copy file. That is, in this case, since the corresponding line in the first original file can be specified as deleted line information, the line is changed by setting the copy file by associating the deleted information with the line. It can be recognized that this is a deleted line. In this case, it is possible to specify that the corresponding line in the first source file is deleted line information, as described later, only the status set in the line number of the second source file is changed. If it is determined that there is, the relationship is that the corresponding line of the second source file is inserted. Therefore, this relationship may be reversed.
一方、両ステータスのうち第2元ファイルの行番号に設定されているステータスだけが変更ありと判断された場合、挿入情報設定ステップによって、その第2元ファイルの行番号に対応する行情報と、挿入された情報であるこを示す挿入情報とが複写ファイルにおいて対応付けて設定される。即ち、この場合、第2元ファイルにおける該当行は、挿入されたと特定できるので、その行に挿入情報を対応つけて複写ファイルを設定するこで、その行が変更があった行であり、更に、挿入された行であることを把握することができる。 On the other hand, if it is determined that only the status set in the line number of the second source file is changed, the line information corresponding to the line number of the second source file is determined by the insertion information setting step. Insertion information indicating the inserted information is set in association with the copy file. That is, in this case, since the corresponding line in the second source file can be specified as being inserted, by setting the copy file by associating the insertion information with the line, the line has been changed, , You can figure out that it is an inserted line.
このように、第1元ファイル、第2元ファイルから、行番号が小さい順に、各行番号に設定されているステータスを抽出し、その抽出した第1元ファイルのステータスと、第2元ファイルのステータスとの組合わせに応じて、変更があった行の変更種別(削除、挿入、編集)を特定し、その特定した種別を、対応する複写ファイルに設定する。即ち、2つの複写ファイルについて、並行して変更種別(削除、挿入、編集)を設定していくので、2つの複写ファイルについて、効率的に、変更種別(削除、挿入、編集)を設定することができる。 As described above, the statuses set for the respective line numbers are extracted from the first original file and the second original file in order of increasing line numbers, and the status of the extracted first original file and the status of the second original file are extracted. In accordance with the combination, the change type (deletion, insertion, editing) of the changed line is specified, and the specified type is set in the corresponding copy file. That is, since the change type (deletion, insertion, editing) is set in parallel for the two copy files, the change type (deletion, insertion, edit) is efficiently set for the two copy files. Can do.
請求項3記載の比較プログラムは、請求項2記載の比較プログラムの奏する効果に加え、複写ステップによって作成される2つの複写ファイルの各々には、挿入ステップによって第1列目が挿入され、その挿入された第1列目であって対応する行番号の位置に、編集情報設定ステップと、削除情報設定ステップと、挿入情報設定ステップとによって、編集情報、削除情報、挿入情報が設定される。よって、複写ファイルに対し、第1元ファイルと第2元ファイルとは列番号が1列ずれことになるが、行番号が変わることはなく、変更前と変更後とで行番号を変えることなく、どの行が編集、削除、挿入されたのかを、把握し易くすることができるという効果がある。
In the comparison program according to
以下、本発明の好ましい実施の形態について添付図面を参照して説明する。図1は、本発明の一実施形態である比較プログラム5bがインストールされているパーソナルコンピュータ1(以下「PC1」)の電気的構成を示したブロック図である。比較プログラム5bは、表計算ソフトウェアで作成された元ファイル同士を比較した場合に、変更があった行の元ファイルにおける番号を一見して把握することができるプログラムである。 Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. FIG. 1 is a block diagram showing an electrical configuration of a personal computer 1 (hereinafter “PC1”) in which a comparison program 5b according to an embodiment of the present invention is installed. The comparison program 5b is a program that can grasp at first glance the number in the original file of the changed line when the original files created by the spreadsheet software are compared.
PC1は、各種プログラムに従って演算を行う装置であり、主に、CPU2、ROM3、RAM4、ハードディスク5が設けられ、その他、表示装置としてのCRT6、入力装置としてのキーボード7、外部装置と接続するI/F8等が設けられ、これらはバスライン9を介して互いに接続されている。
The
CPU2は、各種プログラムを実行するプロセッサであり、ROM3は、PC1で実行される各種プログラムなどを格納した書換不能なメモリであり、RAM4は、CPU2が各種プログラムを実行する際、変数などを一時記憶するワークエリア等を有するランダムにアクセスできるメモリである。RAM4には、特に、比較テーブルAメモリ4a、比較テーブルBメモリ4b、iカウンタ4c、jカウンタ4dが割り当てられている。
The
比較テーブルAメモリ4aには、図3(a1)、図3(a2)に示す比較テーブルAが記憶されている。比較テーブルAには、比較対象の一方である元ファイルAに関する情報が行単位で記憶されている。比較テーブルBメモリ4bには、図3(b1)、図3(b2)に示す比較テーブルBが記憶されている。比較テーブルBには、比較対象の他方である元ファイルBに関する情報が行単位で記憶されている。比較対象である元ファイルAと元ファイルBとの比較結果は、比較テーブルA,Bを参照して作成する。尚、比較テーブルA,Bの詳細については、後述する。
The comparison
iカウンタ4cは元ファイルAの行番号、jカウンタ4dは元ファイルBの行番号を計数するカウンタであり、カウントアップの指示があった場合に「1」カウントずつカウントし、各カウンタ4c,4dが示すカウンタ値に対応した行番号について各種処理が実行される。
The i counter 4c is a counter that counts the line number of the original file A, and the
ハードディスク5は、書換可能な不揮発性のメモリであり、ハードディスク5に記憶されたデータは、PC1の電源オフ後も保持される。ハードディスク5には、特に、エクセル5a、比較プログラム5bが記憶されている。
The
エクセル5aは、表計算アプリケーションの一つであり、本実施形態は、エクセル5aで作成された2つの元ファイルの一方である元ファイルA(図2(a))、他方である元ファイルB(図2(b))を比較するする。
比較プログラム5bは、エクセル5aで作成した2つの元ファイルを比較し、その比較結果ファイルを作成するプログラムであり、図4に示す比較処理、図5に示す変更なし行番号特定処理、図6に示す比較結果ファイル作成処理をCPU2に実行させるプログラムである。
The comparison program 5b is a program that compares the two original files created in
図2(a)は、比較対象の一方である元ファイルAの出力画面、図2(b)は比較対象の他方である元ファイルBの出力画面、図2(c)は比較結果ファイルAの出力画面、図2(d)は比較結果ファイルBの出力画面を示す図である。 2A is an output screen of the original file A that is one of the comparison targets, FIG. 2B is an output screen of the original file B that is the other of the comparison targets, and FIG. FIG. 2D is a diagram showing an output screen of the comparison result file B.
エクセル5aで作成したファイルは、行番号として横方向に1,2,3・・・・、列番号として縦方向にA,B,C・・・が規定された格子状の表に、その表の各マス目に入力した情報が出力画面に出力される。
The file created in
図2(a)に示すように、比較対象の一方である元ファイルAには、第1列目に第1行目から順番に「あ」、「−」、「い」、「あ」、「え」、「−」、「お」の文字、第2列目に第1行目から順番に「か」、「−」、「き」、「か」、「け」、「−」、「こ」の文字が入力されている。 As shown in FIG. 2A, in the original file A which is one of the comparison targets, “a”, “−”, “i”, “a”, "E", "-", "O" characters, "ka", "-", "ki", "ka", "ke", "-", The character “ko” is entered.
図2(b)に示すように、比較対象の他方である元ファイルBには、第1列目に第1行目から順番に「あ」、「−」、「い」、「わ」、「あ」、「や」、「お」、「お」の文字、第2列目に第1行目から順番に「か」、「−」、「ん」、「を」、「か」、「ゆ」、「こ」、「こ」の文字が入力されている。 As shown in FIG. 2B, the original file B, which is the other comparison target, has “a”, “−”, “i”, “wa” in the first column in order from the first row. "A", "YA", "O", "O" characters, "ka", "-", "n", "O", "KA", in the second column in order from the first row “Yu”, “ko” and “ko” are entered.
元ファイルA,Bを比較プログラム5bによって比較すると、図2(c)に示すように出力される比較結果ファイルAと、図2(d)に示すように出力される比較結果ファイルBとを作成する。比較結果ファイルAは元ファイルAに対応し、比較結果ファイルBは元ファイルBに対応する。 When the original files A and B are compared by the comparison program 5b, a comparison result file A output as shown in FIG. 2C and a comparison result file B output as shown in FIG. 2D are created. To do. The comparison result file A corresponds to the original file A, and the comparison result file B corresponds to the original file B.
比較結果ファイルA,Bは、元ファイルA,Bの行番号をずらすことなく作成する。即ち、比較結果ファイルAと元ファイルAとは、同じ行番号に同じ情報、比較結果ファイルBと元ファイルBとは、同じ行番号に同じ情報が設定される。一方で、比較結果ファイルA,Bには、元ファイルA,Bに対し、第1列目が挿入され、その挿入された第1列目の対応行に「削除」、「挿入」、「編集」の文字が設定される。また、「削除」、「挿入」が設定された行は全列、「編集」が設定された行は「編集」があった列にだけ、着色が設定される。 The comparison result files A and B are created without shifting the line numbers of the original files A and B. That is, the comparison information file A and the original file A are set with the same information at the same line number, and the comparison result file B and the original file B are set with the same information at the same line number. On the other hand, in the comparison result files A and B, the first column is inserted with respect to the original files A and B, and “delete”, “insert”, “edit” are inserted in the corresponding rows of the inserted first column. "Is set. In addition, coloring is set only for all the columns in which “Delete” and “Insert” are set, and only in the column in which “Edit” is set for the row where “Edit” is set.
よって、図2(c)に示す比較結果ファイルAを見れば、元ファイルAの第3行目,第5行目、第6行目を変更したこと。また、第3行目の変更,第5行目の変更は「編集」、第6行目の変更は「削除」であること。さらに、「編集」は第3行目の一部、第5行目の全部でしたことを一見して把握できる。 Therefore, if the comparison result file A shown in FIG. 2C is viewed, the third line, the fifth line, and the sixth line of the original file A are changed. The change in the third line and the change in the fifth line are “edit”, and the change in the sixth line is “delete”. Furthermore, it can be understood at a glance that “edit” was part of the third row and all of the fifth row.
また、同様に、図2(d)に示す比較結果ファイルBを見れば、元ファイルBの第3行目,第4行目、第6行目、第8行目を変更したこと。また、第3行目の変更,第6行目の変更は「編集」、第4行目の変更、第8行目の変更は「挿入」したこと。さらに、「編集」は第3行目の一部、第6行目の全部でしたことを一見して把握できる。 Similarly, if the comparison result file B shown in FIG. 2D is viewed, the third line, the fourth line, the sixth line, and the eighth line of the original file B are changed. In addition, the third line change and the sixth line change are “edit”, the fourth line change, and the eighth line change are “insert”. Furthermore, it can be understood at a glance that “editing” was part of the third row and all of the sixth row.
図3(a1)は作成当初の比較テーブルA、図3(a2)は更新後の比較テーブルA、図3(b1)は作成当初の比較テーブルB、図3(b2)は更新後の比較テーブルBを摸式的に示す図である。 3 (a1) is the comparison table A at the beginning of creation, FIG. 3 (a2) is the comparison table A after the update, FIG. 3 (b1) is the comparison table B at the beginning of the creation, and FIG. 3 (b2) is the comparison table after the update. It is a figure which shows B typically.
比較テーブルA,Bは、比較対象となる元ファイル毎に作成するテーブルであり、本実施形態では、元ファイルAについて比較テーブルA、元ファイルBに対して比較テーブルBを作成する。比較テーブルA,Bは、当初、図3(a1)、(b1)に示すように作成した後、各比較テーブルA,Bのステータスを図3(a2)、図3(b2)に示すように設定する。 The comparison tables A and B are tables created for each original file to be compared. In this embodiment, the comparison table A is created for the original file A and the comparison table A is created for the original file B. The comparison tables A and B are initially created as shown in FIGS. 3 (a1) and (b1), and the statuses of the comparison tables A and B are as shown in FIGS. 3 (a2) and 3 (b2). Set.
比較テーブルA,Bは、元ファイルの行番号毎に、文字列と、ハッシュ値と、ステータスとを対応つけて作成する。行番号は、元ファイルの行番号であり、第1行目から情報が入力されている最終の行番号までの行番号である。文字列は、同じ行番号に対応つけられている全ての文字である。尚、文字には、数字、記号等も含まれる。ハッシュ値は、各文字列を所定のハッシュ関数を用いて数値化したものである。ステータスは、変更があった行か、変更がなかった行かを示す情報であり、変更があった場合に「変更有」、変更がなかった場合に「変更なし」に設定するが、図3(a1)、図3(b1)に示す通り、比較テーブルA,Bの作成当初はステータスを全て「変更有」に設定する。 The comparison tables A and B are created by associating a character string, a hash value, and a status for each line number of the original file. The line number is the line number of the original file, and is the line number from the first line to the last line number in which information is input. A character string is all characters associated with the same line number. The characters include numbers and symbols. The hash value is obtained by digitizing each character string using a predetermined hash function. The status is information indicating whether there is a change or a change, and is set to “changed” when there is a change, and “no change” when there is no change. 3) As shown in FIG. 3 (b1), the statuses of the comparison tables A and B are all set to “changed” at the beginning.
図3(a1)に示す比較テーブルAは、図2(a)に示す元ファイルAから作成する。図2(a)に示す元ファイルAには、第1行目から第7行目まで文字が入力されているので、比較テーブルAの行番号に「1」〜「7」を設定する。また、元ファイルAの第1行目には第1列目に「あ」、第2列目に「い」が入力されているので、行番号「1」に対応する文字列として「あか」を設定する。ハッシュ値には、文字列の「あか」をハッシュ化したハッシュ値として「100」を設定する。ステータスには、変更の有り無しに拘わらず、当初は「変更有」を設定する。こうして、図3(a1)に示す比較テーブルAを作成する。また、同様に、図2(b)に示す元ファイルBから、図3(b1)に示す比較テーブルBを作成する。 The comparison table A shown in FIG. 3A1 is created from the original file A shown in FIG. In the original file A shown in FIG. 2A, since characters are input from the first line to the seventh line, “1” to “7” are set to the line numbers of the comparison table A. Also, since “A” is input in the first column and “I” is input in the second column in the first row of the original file A, “Aka” is used as the character string corresponding to the line number “1”. Set. In the hash value, “100” is set as a hash value obtained by hashing “Aka” of the character string. Regardless of whether or not there is a change, the status is initially set to “change”. In this way, the comparison table A shown in FIG. Similarly, the comparison table B shown in FIG. 3B1 is created from the original file B shown in FIG.
図3(a1)、図3(b1)に示す比較テーブルA,Bは、図5のフローチャートに示す変更なし行番号特定処理において、変更がなかった行番号に対応するステータスを、「変更有」から「変更なし」に設定する。具体的には、図3(a1)に示す比較テーブルAは、図3(a2)に示すように、第1行目,第2行目,第4行目,第7行目のステータスを「変更有」から「変更なし」に設定する。また、図3(b1)に示す比較テーブルBは、図3(b2)に示すように、第1行目,第2行目,第5行目,第7行目のステータスを「変更有」から「変更なし」に設定する。 The comparison tables A and B shown in FIGS. 3 (a1) and 3 (b1) indicate the status corresponding to the line number that has not been changed in the no-change line number specifying process shown in the flowchart of FIG. To “no change”. Specifically, as shown in FIG. 3A2, the comparison table A shown in FIG. 3A1 indicates the statuses of the first row, the second row, the fourth row, and the seventh row as “ Set “Changed” to “No change”. In addition, the comparison table B shown in FIG. 3B1 sets the status of the first row, the second row, the fifth row, and the seventh row to “changed” as shown in FIG. 3B2. To “no change”.
尚、図3(a2)、図3(b2)に示す比較テーブルA,Bを参照して、図6のフローチャートに示す比較結果ファイル作成処理を実行し、図2(b)、図2(d)のように出力される比較結果ファイルA,Bを作成する。 Note that the comparison result file creation process shown in the flowchart of FIG. 6 is executed with reference to the comparison tables A and B shown in FIGS. 3 (a2) and 3 (b2), and FIGS. 2 (b) and 2 (d). The comparison result files A and B output as shown in FIG.
図4は、比較処理を示すフローチャートである。この処理は、エクセル5aで作成された2つの元ファイル同士を比較し、比較結果ファイルを作成する処理であり、比較プログラム5bに従って、CPU2によって実行される。尚、この処理は、ユーザによって比較プログラム5aが起動された場合に実行される。
FIG. 4 is a flowchart showing the comparison process. This process is a process of comparing two original files created in
この処理では、まず、比較対象となる2つの元ファイル(元ファイルAと元ファイルB)が特定されたかを判断する(S401)。2つの元ファイルは、ユーザによって任意に指定され、ユーザによって2つの元ファイルが指定された場合に、その指定された2つの元ファイルを特定する(S401:Yes)。尚、2つの元ファイルが指定されない場合、2つの元ファイルを特定できないとして(S401:No)、本処理を終了する。 In this process, first, it is determined whether two original files (original file A and original file B) to be compared have been identified (S401). The two original files are arbitrarily designated by the user, and when the two original files are designated by the user, the two designated original files are specified (S401: Yes). If two original files are not designated, it is determined that the two original files cannot be specified (S401: No), and this process is terminated.
2つの元ファイルを特定すると(S401;Yes)、2つの元ファイルの各々をテキスト化し(S402)、そのテキスト化したデータから、元ファイルAに対応した比較テーブルA(図3(a1)参照)と、元ファイルBに対応した比較テーブルB(図3(b1)参照)とを作成する(S403)。 When the two original files are specified (S401; Yes), each of the two original files is converted into text (S402), and the comparison table A corresponding to the original file A is obtained from the converted data (see FIG. 3 (a1)). Then, a comparison table B (see FIG. 3B1) corresponding to the original file B is created (S403).
比較テーブルA,Bを作成すると(S403)、図5のフローチャートに示す変更なし行番号特定処理を実行し(S404)、元ファイルAと元ファイルBとで同じ行単位の情報を有する元ファイルAの行番号と元ファイルBとの行番号とを特定する。即ち、元ファイルAと元ファイルBとで変更がなかった行番号を特定する。また、図3(a1)、図3(b1)に示す比較テーブルA,Bにおいて、当初、全て「変更有」に設定したステータスを、図3(a2)、図3(b2)に示す比較テーブルA,Bのように、変更なかった行に対応するステータスを「変更有」から「変更なし」に設定する。 When the comparison tables A and B are created (S403), the unchanged line number specifying process shown in the flowchart of FIG. 5 is executed (S404), and the original file A having the same line unit information in the original file A and the original file B is executed. And the line number of the original file B are specified. That is, the line number that has not been changed between the original file A and the original file B is specified. Further, in the comparison tables A and B shown in FIGS. 3 (a1) and 3 (b1), the statuses that are initially set to “changed” are all the comparison tables shown in FIGS. 3 (a2) and 3 (b2). As in A and B, the status corresponding to the line that has not been changed is set from “changed” to “no change”.
こうして、変更なし行番号特定処理によって(S404)、図3(a1)、図3(b1)に示す比較テーブルA,Bのステータスを設定した後、その比較テーブルA,Bを参照して、図6のフローチャートに示す比較結果ファイル作成処理を実行し(S405)、図2(c)、図2(d)に示すように出力される比較結果ファイルA,Bを作成し、本処理を終了する。 In this way, the status of the comparison tables A and B shown in FIGS. 3 (a1) and 3 (b1) is set by the line number specifying process without change (S404), and then the comparison tables A and B are referred to. 6 is executed (S405), the comparison result files A and B output as shown in FIGS. 2C and 2D are created, and this process ends. .
図5は、変更なし行番号特定処理を示すフローチャートである。この処理は、元ファイルA,Bにおいて変更がなかった行番号を特定する処理である。また、図3(a1)、図3(b1)に示す比較テーブルA,Bにおいて、当初、全て「変更有」に設定したステータスを、図3(a2)、図3(b2)に示すように、変更なかった行に対応するステータスを「変更有」から「変更なし」に設定する処理である。 FIG. 5 is a flowchart showing the line number specifying process without change. This process is a process for specifying a line number that has not been changed in the original files A and B. Further, in the comparison tables A and B shown in FIGS. 3 (a1) and 3 (b1), the statuses that are initially set to “changed” are as shown in FIGS. 3 (a2) and 3 (b2). In this process, the status corresponding to the line that has not been changed is set from “changed” to “no change”.
この処理では、まず、iCntの最終値Kと、jCntの最終値Lとを設定する(S501)。iCntは元ファイルAの行番号に対応したカウンタ値であり、本実施形態では元ファイルAにおいてデータが入力されている最終行は第7行目なので、最終値Kを「7」に設定する。jCntは、元ファイルBの行番号に対応したカウンタ値であり、本実施形態では元ファイルBにおいてデータが入力されている最終行は第8行目なので最終値Lを「8」に設定する。 In this process, first, the final value K of iCnt and the final value L of jCnt are set (S501). iCnt is a counter value corresponding to the line number of the original file A. In this embodiment, since the last line to which data is input in the original file A is the seventh line, the final value K is set to “7”. jCnt is a counter value corresponding to the line number of the original file B. In this embodiment, since the last line to which data is input in the original file B is the eighth line, the final value L is set to “8”.
次に、iCntに「1」(S502)、jCntに「1」を設定した後(S503)、図3(b1)に示す比較テーブルBを参照して、jCntに対応つけられているステータスが「変更有」かを判断する(S504)。このS504の処理は、重複特定を防止する処理であり、図3(b1)に示すように、当初、比較テーブルBのステータスは全て「変更有」に設定されているので、jCntが「1」の場合、ステータスは「変更有」となる(S504;Yes)。 Next, after setting “1” to iCnt (S502) and “1” to jCnt (S503), referring to the comparison table B shown in FIG. 3B1, the status associated with jCnt is “ It is determined whether or not there is a change (S504). The process of S504 is a process for preventing duplicate identification. As shown in FIG. 3B1, since all the statuses of the comparison table B are initially set to “changed”, jCnt is “1”. In this case, the status is “changed” (S504; Yes).
次に、iCntに対応した「ハッシュ値」と、jCntに対応した「ハッシュ値」とが一致しているかを判断する(S505)。即ち、両「ハッシュ値」が一致していれば、現在比較している元ファイルAの行と、元ファイルBの行とは一致しており、変更がなかったものと判断する。この処理によって、両者が行単位で同じ情報を有しているか、即ち、変更がなかった行かを判断している。 Next, it is determined whether the “hash value” corresponding to iCnt matches the “hash value” corresponding to jCnt (S505). That is, if the two “hash values” match, it is determined that the line of the original file A and the line of the original file B that are currently compared are the same and no change has occurred. By this processing, it is determined whether or not both have the same information in units of lines, that is, lines that have not been changed.
尚、本実施形態では、異なる文字列は異なるハッシュ値、同じ文字列は同じハッシュ値に設定されるものとするが、異なる文字列であっても同じハッシュ値になる場合の解決策は、例えば、チェイン法などの周知の方法を採用できる。 In this embodiment, different character strings are set to different hash values, and the same character string is set to the same hash value. A well-known method such as a chain method can be employed.
S505の判断の結果、両「ハッシュ値」が一致している場合には(S505:Yes)、図3(a1)に示す比較テーブルAにおいてiCntに対応したステータスを「変更有」から「変更なし」に設定すると共に、図3(b1)に示す比較テーブルBにおいてjCntに対応したステータスを「変更有」から「変更なし」に設定する(S506)。 As a result of the determination in S505, if both “hash values” match (S505: Yes), the status corresponding to iCnt in the comparison table A shown in FIG. In addition, the status corresponding to jCnt in the comparison table B shown in FIG. 3B1 is set from “changed” to “no change” (S506).
このS506の処理により、iCntに対応する行と、jCntに対応する行とは変更がなかった行であることが特定できたので、元ファイルAの次の行について変更がなかったかを判断する。即ち、iCntに「1」を加算し(S507)、iCntが最終値K以下かを判断し(S508)、iCntが最終値K以下であれば(S508:Yes)、再び、S503からの処理を繰り返す。即ち、元ファイルAの第2行目について判断する。 As a result of the processing in S506, it can be identified that the line corresponding to iCnt and the line corresponding to jCnt are unchanged, it is determined whether the next line of the original file A has been changed. That is, “1” is added to iCnt (S507), and it is determined whether iCnt is not more than the final value K (S508). If iCnt is not more than the final value K (S508: Yes), the processing from S503 is performed again. repeat. That is, the second line of the original file A is determined.
元ファイルAの2行目について変更がなかったかを判断する場合には、再び、jCntを「1」に設定し(S503)、jCntに対応つけられているステータスが「変更有」かを判断する(S504)。尚、本実施形態では、先のS506の処理で、図3(b1)に示す比較テーブルBの1行目のステータスを「変更なし」に設定したので、jCnt(=1)に対応つけられているステータスは「変更なし」であると判断する(S504:No)。 When it is determined whether or not the second line of the original file A has been changed, jCnt is set to “1” again (S503), and it is determined whether or not the status associated with jCnt is “changed”. (S504). In this embodiment, since the status of the first row of the comparison table B shown in FIG. 3B1 is set to “no change” in the processing of S506, it is associated with jCnt (= 1). Is determined to be “no change” (S504: No).
よって、次は元ファイルBの2行目と比較すべく、jCntに「1」を加算し(S509)、jCntが最終値L以下かを判断し(S510)、jCntが最終値L以下であれば(S510:Yes)、再び、S504からの処理を繰り返す。尚、本実施形態の場合、図3(b1)の比較テーブルBに示す通り、元ファイルBの第2行目のステータスは「変更有」に設定されているので(S504:Yes)、以降は、第1行目と同じ処理を実行し、次に、元ファイルAの第3行目について判断すべく、再び、S503からの処理を繰り返す。 Therefore, next, in order to compare with the second line of the original file B, “1” is added to jCnt (S509), it is judged whether jCnt is the final value L or less (S510), and jCnt is less than the final value L. If (S510: Yes), the processing from S504 is repeated again. In the present embodiment, as shown in the comparison table B in FIG. 3B1, the status of the second line of the original file B is set to “changed” (S504: Yes), and so on. Then, the same processing as that of the first line is executed, and then the processing from S503 is repeated again to determine the third line of the original file A.
元ファイルAの第3行目については、上述したS506の処理によって、図3(b1)に示す比較テーブルBの第1行目、第2行目のステータスを「変更なし」に設定したので、S504、S509、S510の処理を2回繰り返した後で、S504の処理で「変更有」に設定されていると判断し(S504:Yes)、S505の処理で、元ファイルAの第3行目の「ハッシュ値」と、元ファイルBの第3行目の「ハッシュ値」とが一致しているかを判断する(S505)。 For the third line of the original file A, the statuses of the first and second lines of the comparison table B shown in FIG. 3 (b1) are set to “no change” by the process of S506 described above. After the processes of S504, S509, and S510 are repeated twice, it is determined that “changed” is set in the process of S504 (S504: Yes), and the third line of the original file A is determined in the process of S505. It is determined whether or not the “hash value” of the original file B matches the “hash value” of the third line of the original file B (S505).
しかし、図3(a1)に示す通り、比較テーブルAの第3行目のハッシュ値は「111」であり、図3(b1)に示す通り、比較テーブルBの第3行目のハッシュ値は「146」であり、両者は不一致なので、(S505:No)、S509の処理に移行する。それ以降は、S509、S510、S504(Yes)、S505(No)の各処理を繰り返すが、図3(b1)の比較テーブルBに示すとおり、比較テーブルAの第3行目のハッシュ値「111」と同じハッシュ値は、比較テーブルBには存在しない。 However, as shown in FIG. 3 (a1), the hash value of the third row of the comparison table A is “111”, and as shown in FIG. 3 (b1), the hash value of the third row of the comparison table B is Since it is “146” and the two do not match (S505: No), the process proceeds to S509. Thereafter, the processes of S509, S510, S504 (Yes), and S505 (No) are repeated, but as shown in the comparison table B of FIG. 3B1, the hash value “111” in the third row of the comparison table A The same hash value as “” does not exist in the comparison table B.
よって、最終的には、S510の処理において、jCntの値が最終値Lより大きいと判断し(S510:No)、元ファイルAの第3行目は変更があった行として、S506の処理を行うことなく、S507の処理に移行する。また、これ以降は、S508の処理において、iCntが最終値Kより大きくなるまで(S508:No)、即ち、元ファイルAの最終行Kを処理するまで、上述した処理を繰り返した後、本処理を終了する。 Therefore, in the process of S510, it is determined that the value of jCnt is larger than the final value L (S510: No), and the process of S506 is performed with the third line of the original file A being changed. Without performing this, the process proceeds to S507. Thereafter, in the process of S508, the above process is repeated until iCnt becomes larger than the final value K (S508: No), that is, until the last line K of the original file A is processed. Exit.
上述した変更なし行番号特定処理により、元ファイルAと元ファイルBとで行単位で同じ情報を有する行番号(変更がなかった行番号)を、重複特定することなく、且つ、小さい行番号を優先的に特定することができる。また、図3(a1)、図3(b1)に示す比較テーブルA,Bにおいて、変更がなかった行に対応付けられているステータスを、図3(a2)、図3(b2)に示すように、「変更あり」から「変更なし」に設定することができる。 By the above-described line number specifying process without change, the line number having the same information in the original file A and the original file B (the line number that has not been changed) is identified without duplication, and a small line number is obtained. It can be identified with priority. In addition, in the comparison tables A and B shown in FIGS. 3 (a1) and 3 (b1), the statuses associated with the unchanged rows are as shown in FIGS. 3 (a2) and 3 (b2). In addition, “changed” to “no change” can be set.
図6は、比較結果ファイル作成処理を示すフローチャートである。この処理は、図3(a2)、図3(b2)に示す比較テーブルA,Bを参照しながら、図2(c)、図2(d)に示す出力画面を出力可能な比較結果ファイルA,Bを作成する処理である。 FIG. 6 is a flowchart showing the comparison result file creation process. This processing is performed by referring to the comparison tables A and B shown in FIGS. 3 (a2) and 3 (b2), and the comparison result file A that can output the output screen shown in FIGS. 2 (c) and 2 (d). , B are created.
この処理では、まず、元ファイルAを複写した複写ファイルAと、元ファイルBを複写した複写ファイルBとを作成する(S601)。複写ファイルA,Bは、エクセル5aから2つの新規ファイルを用意させ、その新規ファイルの一方に元ファイルA、他方に元ファイルBを複写(コピー)して作成する(S602)。比較結果ファイルA,Bは、複写ファイルA,Bにおいて、行番号をずらすことなく作成する。これより、元ファイルAと比較結果ファイルAとの間、および、元ファイルBと比較結果ファイルBとの間で行番号がずれることはない。また、作成した複写ファイルA,Bには、第1列目を挿入する(S602)。挿入した第1列目には、図2(c)、図2(d)に示すように「編集」の文字、「削除」の文字、「挿入」の文字を設定する。これより変更があった行について、その変更の種別を一見して把握できる。
In this process, first, a copy file A obtained by copying the original file A and a copy file B obtained by copying the original file B are created (S601). Copy files A and B are created by preparing two new files from
その後、図5のS501〜S503で説明したのと同様に、iCntの最終値K、jCntの最終値Lを設定し(S603)、iCntに「1」、jCntに「1」を設定する(S604)。次に、iCntが最終値K以下、且つ、jCntが最終値L以下かを判断し(S605)、該当しなければ(S605:No)、本処理を終了し、該当すれば(S605:Yes)、S606の処理に移行する。 Thereafter, as described in S501 to S503 of FIG. 5, the final value K of iCnt and the final value L of jCnt are set (S603), “1” is set to iCnt, and “1” is set to jCnt (S604). ). Next, it is determined whether iCnt is less than or equal to the final value K and jCnt is less than or equal to the final value L (S605). If not applicable (S605: No), this process is terminated, and if applicable (S605: Yes). , The process proceeds to S606.
即ち、元ファイルAの第1行目から最終行Kまでの全行と、元ファイルBの第1行目から最終行Lまでの全行とについて、S606〜S613の処理を行い、元ファイルAの全行と、元ファイルBの全行とについて、S606〜S613の処理を行った場合に(S605:No)、本処理を終了する。 That is, the processing of S606 to S613 is performed on all lines from the first line to the last line K of the original file A and all lines from the first line to the last line L of the original file B, and the original file A When the processes of S606 to S613 are performed for all the lines and all the lines of the original file B (S605: No), this process ends.
S606の処理は、iCntが最終値K以下かを判断し(S606)、該当すればS609の処理に移行するが、該当しなければ(S606:No)、iCntを最終行Kに設定し(S607)、最終行Kに対応するステータスを「変更なし」に設定する(S608)。この処理により、iCntを最終行Kまで処理した後、残りのjCntについて図7のフローチャートに示す組合わせ判断処理を実行できる。 In the process of S606, it is determined whether iCnt is equal to or smaller than the final value K (S606). If applicable, the process proceeds to S609. If not applicable (S606: No), iCnt is set to the final line K (S607). ), The status corresponding to the last row K is set to “no change” (S608). With this process, after iCnt is processed to the last row K, the combination determination process shown in the flowchart of FIG. 7 can be executed for the remaining jCnt.
S609の処理では、上述したの同様に、jCntが最終値L以下かを判断し(S609)、該当すればS612の処理に移行するが、該当しなければ(S609:No)、jCntを最終行Lに設定し(S610)、その最終行Lに対応するステータスを「変更なし」に設定する(S611)。 In the process of S609, similarly to the above, it is determined whether jCnt is equal to or less than the final value L (S609). If it is applicable, the process proceeds to S612. If not applicable (S609: No), jCnt is set to the final line. L is set (S610), and the status corresponding to the last row L is set to “no change” (S611).
S612の処理では、iCntに対応するステータスを図3(a2)に示す比較テーブルA、jCntに対応するステータスを図3(b2)に示す比較テーブルBから抽出し(S612)、その抽出した2つのステータスについて、図7のフローチャートに示す組合わせ判断処理を実行する(S613)。 In the process of S612, the status corresponding to iCnt is extracted from the comparison table A shown in FIG. 3 (a2) and the status corresponding to jCnt is extracted from the comparison table B shown in FIG. 3 (b2) (S612). For the status, the combination determination process shown in the flowchart of FIG. 7 is executed (S613).
図7は、組合わせ判断処理を示すフローチャートである。この処理は、S612で抽出した2つのステータスの組合わせを特定し、その組合わせに応じて、ステータスとして「変更有」が設定されている行と、「削除」、「挿入」、「編集」の何れかとを、対応つけて、複写ファイルA,Bに設定する。 FIG. 7 is a flowchart showing the combination determination process. In this process, the combination of the two statuses extracted in S612 is specified, and according to the combination, the line in which “changed” is set as the status, “delete”, “insert”, “edit” Any of the above is associated with the copy files A and B.
この処理では、まず、iCntに対応したステータスだけが「変更有」かを判断し(S701)、該当すれば(S701:Yes)、複写ファイルAの第1列目のjCntに対応するマス目に「削除」の文字を設定し(S702)、複写ファイルAのiCntの対応する行に着色を設定する(S703)。 In this process, first, it is determined whether only the status corresponding to iCnt is “changed” (S701). If applicable (S701: Yes), the cell corresponding to jCnt in the first column of copy file A is checked. The character “delete” is set (S702), and coloring is set for the corresponding line of iCnt of the copy file A (S703).
元ファイルAのステータスだけが「変更有」の場合、そのステータスに対応する元ファイルAの行は、元ファイルBから「削除」された行である。よって、複写ファイルAにおいて、該当行に「削除」の文字を対応付けて設定し、複写ファイルAにおいて該当行が「削除」された行であることを明確にする。S703の処理の後は、iCntに「1」を加算して(S704)、元ファイルAについてだけ行番号を「1」繰り上げる。 When only the status of the original file A is “changed”, the line of the original file A corresponding to the status is a line “deleted” from the original file B. Therefore, in the copy file A, the character “deleted” is set in association with the corresponding line to clarify that the corresponding line in the copy file A is the “deleted” line. After the processing of S703, “1” is added to iCnt (S704), and the line number is incremented by “1” only for the original file A.
次に、S701の判断において、該当しなかった場合は(S701:No)、S705の処理において、jCntに対応したステータスだけが「変更有」かを判断し(S705)、該当すれば(S705:Yes)、複写ファイルBの第1列目のjCntに対応するマス目に「挿入」の文字を設定し(S706)、複写ファイルBのjCntに対応する行に着色を設定する(S707)。 Next, in the determination of S701, if not applicable (S701: No), in the processing of S705, it is determined whether only the status corresponding to jCnt is “changed” (S705), and if applicable (S705: Yes), the character “insert” is set in the cell corresponding to jCnt in the first column of the copy file B (S706), and the color corresponding to jCnt in the copy file B is set (S707).
元ファイルBのステータスだけが「変更有」の場合、そのステータスに対応する元ファイルBの行は、元ファイルAには存在しない「挿入」された行である。よって、複写ファイルBにおいて、該当行に「挿入」の文字に対応付けて設定し、複写ファイルBにおいて該当行が「挿入」された行であることを明確にする。S707の処理の後は、jCntに「1」を加算し(S708)、元ファイルBについてだけ行番号を「1」繰り上げる。 When only the status of the original file B is “changed”, the line of the original file B corresponding to the status is an “inserted” line that does not exist in the original file A. Therefore, in the copy file B, the corresponding line is set in association with the character “insert”, and it is clarified that the corresponding line is “inserted” in the copy file B. After the process of S707, “1” is added to jCnt (S708), and the line number is incremented by “1” only for the original file B.
次に、S705の判断に該当しなかった場合は(S705:No)、S709の処理において、iCntに対応したステータスと、jCntに対応したステータスとの両方が「変更有」かを判断し(S709)、該当すれば(S709:Yes)、複写ファイルAの第1列目のiCntに対応したマス目と、複写ファイルBの第1列目のjCntに対応したマス目とに「編集」の文字をセットする(S710)。 Next, when the determination of S705 is not satisfied (S705: No), it is determined in the processing of S709 whether both the status corresponding to iCnt and the status corresponding to jCnt are “changed” (S709). ), If applicable (S709: Yes), the character “edit” appears in the cell corresponding to iCnt in the first column of copy file A and the cell corresponding to jCnt in the first column of copy file B. Is set (S710).
両方のステータスが共に「変更有」の場合には、そのステータスに対応する両行は「編集」された行であるので、複写ファイルAと、複写ファイルBとにおいて、この両行に「編集」の文字を対応付け、この両行が「編集」された行であることを明確にする。 When both statuses are “changed”, both lines corresponding to the status are “edited” lines. Therefore, in the copy file A and the copy file B, the characters “edit” appear on both lines. To make it clear that both lines are “edited”.
また、編集の場合には、該当行の全部が編集された全部編集の場合と、該当行の一部が編集された一部編集の場合とが想定されるので、複写ファイルAのiCntに対応する行と、複写ファイルBのJCntに対応する行とを、各マス目毎(各列毎)に比較し、各マス目のデータが不一致であれば、そのマス目に着色を設定する(S711)。この処理により、編集の場合には編集された列だけを着色でき、編集された箇所を一見して把握できる。また、S711の処理の後は、iCntに「1」を加算すると共に、jCntに「1」を加算し(S712)、元ファイルA,Bの両方について行番号を「1」繰り上げる。 In addition, in the case of editing, it is assumed that all of the corresponding lines are edited, and that a part of the corresponding lines is partially edited, so that it corresponds to the iCnt of the copy file A. The line corresponding to JCnt of the copy file B is compared for each square (each column), and if the data of each square does not match, coloring is set for that square (S711). ). By this process, in the case of editing, only the edited column can be colored, and the edited part can be grasped at a glance. After the processing of S711, “1” is added to iCnt and “1” is added to jCnt (S712), and the line numbers are incremented by “1” for both the original files A and B.
最後に、S709の処理において、該当しないと判断した場合は(S709:No)、組合わせのパターン数から、iCntに対応したステータスと、jCntに対応したステータスとの両方が「変更なし」となるので、複写ファイルA,Bについては何ら設定せず、iCntに「1」を加算すると共に、jCntに「1」を加算し(S712)、元ファイルA,Bの両方について行番号を「1」繰り上げる。 Finally, if it is determined in the processing of S709 that it is not applicable (S709: No), both the status corresponding to iCnt and the status corresponding to jCnt are “no change” from the number of patterns of combination. Therefore, no setting is made for the copy files A and B, and “1” is added to iCnt and “1” is added to jCnt (S712), and the line number is set to “1” for both the original files A and B. Raise it.
上述したように、図6のフローチャートに示す比較結果ファイル作成処理では、図7のフローチャートに示す組合わせ判断処理を(S611)、元ファイルAの第1行目から最終行Kまでの全行と、元ファイルBの第1行目から最終行Lまでの全行との各々について行うことで、S601で作成した複写ファイルA,Bを、S702,S703,S706,S707,S710,S711で設定した内容を有する比較結果ファイルA,Bとして作成することができる。そして、複写ファイルA,Bは元ファイルA,Bを複写したものなので、比較結果ファイルAと元ファイルAとは、同じ行番号に同じ情報、比較結果ファイルBと元ファイルBとは、同じ行番号に同じ情報が設定されている上、変更(削除、挿入、編集)があった行には、「削除」の文字、「挿入」の文字、「編集」の文字が対応付けて設定されているので、変更(削除、挿入、編集)があった行の元ファイルにおける行番号を一見して把握することができる。 As described above, in the comparison result file creation process shown in the flowchart of FIG. 6, the combination determination process shown in the flowchart of FIG. 7 is performed (S611), and all the lines from the first line to the last line K of the original file A are changed. The copy files A and B created in S601 are set in S702, S703, S706, S707, S710, and S711 by performing each of the first line to the last line L of the original file B. Comparison result files A and B having contents can be created. Since the copy files A and B are copies of the original files A and B, the comparison result file A and the original file A have the same information on the same line number, and the comparison result file B and the original file B have the same line. The same information is set for the number, and the line that has been changed (deleted, inserted, edited) is associated with the characters “Delete”, “Insert”, and “Edit”. Therefore, it is possible to grasp at a glance the line number in the original file of the line that has been changed (deleted, inserted, edited).
また、図6のフローチャートに示す比較結果ファイル作成処理では、元ファイルA,B(比較テーブルA,B)から、行番号が小さい順に、各行番号に設定されているステータスを抽出し、その抽出した元ファイルAのステータスと、元ファイルBのステータスとの組合わせに応じて、変更があった行の変更種別(削除、挿入、編集)を特定し、その特定した種別を、対応する複写ファイルに設定する。即ち、2つの複写ファイルについて、並行して変更種別(削除、挿入、編集)を設定していくので、2つの複写ファイルについて、効率的に、変更種別(削除、挿入、編集)を設定することができる。 Further, in the comparison result file creation process shown in the flowchart of FIG. 6, the statuses set for the respective line numbers are extracted from the original files A and B (comparison tables A and B) in ascending order of the line numbers. According to the combination of the status of the original file A and the status of the original file B, the change type (deletion, insertion, edit) of the changed line is specified, and the specified type is set in the corresponding copy file. Set. That is, since the change type (deletion, insertion, editing) is set in parallel for the two copy files, the change type (deletion, insertion, edit) is efficiently set for the two copy files. Can do.
次に、図3(a2)、図3(b2)に示す比較テーブルA,Bを参照しながら、図7のフローチャートに示す組合わせ判断処理について説明する。 Next, the combination determination process shown in the flowchart of FIG. 7 will be described with reference to the comparison tables A and B shown in FIGS. 3 (a2) and 3 (b2).
まず、図3(a2)、図3(b2)に示す比較テーブルA,Bから第1行目に設定されているステータスを抽出する。両ステータスは、両方「変更なし」なので、複写ファイルA,Bについては何も設定せず、両方の行番号を「1」繰り上げる。 First, the status set in the first row is extracted from the comparison tables A and B shown in FIGS. 3 (a2) and 3 (b2). Since both statuses are “no change”, nothing is set for the copy files A and B, and both line numbers are incremented by “1”.
次に、比較テーブルA,Bから第2行目に設定されているステータスを抽出する。この場合も、両ステータスは、両方「変更なし」なので、複写ファイルA,Bについては何も設定せず、両方の行番号を「1」繰り上げる。 Next, the status set in the second row is extracted from the comparison tables A and B. Also in this case, since both statuses are “no change”, nothing is set for the copy files A and B, and both line numbers are incremented by “1”.
次に、比較テーブルA,Bから第3行目に設定されているステータスを抽出する。この場合、両ステータスは、両方「変更有」なので、元ファイルAの第3行目と、元ファイルBの第3行目とは「編集」された行である。そのため、複写ファイルAの第3行目と、複写ファイルBの第3行目とを、各列単位で比較する。本実施形態では、図2(c)に示す通り、複写ファイルAの3行目3列目は「き」、図2(d)に示す通り、複写ファイルBの3行目3列目は「ん」で異なる。よって、複写ファイルAにおいて、第3行目第1列目に「編集」の文字と、第3行目第3列目に着色とを設定する。また、複写ファイルBにおいて、第3行目第1列目に「編集」の文字と、第3行目第3列目に着色とを設定する。また、両方の各行番号を「1」繰り上げる。 Next, the status set in the third row is extracted from the comparison tables A and B. In this case, both statuses are “changed”, so the third line of the original file A and the third line of the original file B are “edited” lines. Therefore, the third row of the copy file A and the third row of the copy file B are compared for each column. In this embodiment, as shown in FIG. 2C, the third row and third column of the copy file A is “ki”, and as shown in FIG. 2D, the third row and third column of the copy file B is “ It ’s different. Therefore, in the copy file A, the character “edit” is set in the third row and the first column, and the coloring is set in the third row and the third column. In the copy file B, the character “edit” is set in the third row and the first column, and the coloring is set in the third row and the third column. Further, both line numbers are incremented by “1”.
次に、比較テーブルA,Bから第4行目に設定されているステータスを抽出する。この場合、元ファイルB(比較テーブルB)の第4行目に設定されているステータスだけが「変更有」なので、元ファイルBの第4行目は「挿入」された行である。そのため、複写ファイルBにおいて、第4行目第1列目に「挿入」の文字と、着色とを設定する。また、元ファイルBについてだけ行番号を「1」繰り上げる。 Next, the status set in the fourth row is extracted from the comparison tables A and B. In this case, only the status set in the fourth line of the original file B (comparison table B) is “changed”, so the fourth line of the original file B is the “inserted” line. Therefore, in the copy file B, the character “insert” and the coloring are set in the fourth row and first column. Also, the line number is incremented by “1” only for the original file B.
次は、比較テーブルAの第4行目、比較テーブルBの第5行目に設定されているステータスを抽出する。この場合、両ステータスは、両方「変更なし」なので、複写ファイルA,Bについては何も設定せず、両方の各行番号を「1」繰り上げる。 Next, the statuses set in the fourth row of the comparison table A and the fifth row of the comparison table B are extracted. In this case, since both statuses are “no change”, nothing is set for the copy files A and B, and both line numbers are incremented by “1”.
次は、比較テーブルAの第5行目、比較テーブルBの第6行目に設定されているステータスを抽出する。この場合、両ステータスは、両方「変更有」なので、元ファイルAの第5行目と、元ファイルBの第6行目とは、「編集」された行である。そのため、複写ファイルAの第5行目と、複写ファイルBの第6行目とを、各列単位で比較する。本実施形態では、図2(c)に示す通り、複写ファイルAの第5行目第2列目は「え」、図2(d)に示す通り、複写ファイルBの第6行目第2列目は「や」で異なる。また、図2(c)に示す通り、複写ファイルAの第5行目第3列目は「け」、図2(d)に示す通り、複写ファイルBの第6行目第3列目は「ゆ」で異なる。そのため、複写ファイルAにおいて、第5行目第1列目に「編集」の文字、第5行目の第2列目と第3列目とに着色を設定する。また、複写ファイルBにおいて、第6行目第1列目に「編集」の文字、第6行目の第2列目と第3列目とに着色を設定する。また、両方の各行番号を「1」繰り上げる。 Next, the statuses set in the fifth row of the comparison table A and the sixth row of the comparison table B are extracted. In this case, since both statuses are “changed”, the fifth line of the original file A and the sixth line of the original file B are “edited” lines. Therefore, the fifth row of the copy file A and the sixth row of the copy file B are compared for each column. In the present embodiment, as shown in FIG. 2 (c), the fifth row and second column of the copy file A is “e”, and as shown in FIG. The column is different by “ya”. Further, as shown in FIG. 2C, the fifth row and third column of the copy file A is “K”, and as shown in FIG. 2D, the sixth row and third column of the copy file B is Different in “yu”. Therefore, in the copy file A, the character “edit” is set in the fifth row and first column, and coloring is set in the second and third columns of the fifth row. In the copy file B, the character “edit” is set in the sixth row and first column, and coloring is set in the second and third columns of the sixth row. Further, both line numbers are incremented by “1”.
次は、比較テーブルAの第6行目、比較テーブルBの第7行目に設定されているステータスを抽出する。この場合、元ファイルAの第6行目に設定されているステータスだけが「変更有」なので、元ファイルAの第6行目は「挿入」された行である。よって、複写ファイルBにおいて、第6行目第1列目に「削除」の文字と、着色とを設定する。また、元ファイルAについてだけ行番号を「1」繰り上げる。 Next, the statuses set in the sixth row of the comparison table A and the seventh row of the comparison table B are extracted. In this case, since only the status set in the sixth line of the original file A is “changed”, the sixth line of the original file A is an “inserted” line. Therefore, in the copy file B, the character “deleted” and coloring are set in the sixth row and first column. Also, the line number is incremented by “1” only for the original file A.
次は、比較テーブルAの第7行目、比較テーブルBの第7行目に設定されているステータスを抽出する。この場合、両ステータスは、両方「変更なし」なので、複写ファイルA,Bについては何も設定せず、両方の各行番号を「1」繰り上げる。 Next, the statuses set in the seventh row of the comparison table A and the seventh row of the comparison table B are extracted. In this case, since both statuses are “no change”, nothing is set for the copy files A and B, and both line numbers are incremented by “1”.
ここで、元ファイルAの行番号が「8」となり、元ファイルAの最終行「7」を超えるので、元ファイルAの行番号を最終行「7」に設定し、比較テーブルAにおいて第7行目に対応したステータスを「変更なし」に設定する。そして、その比較テーブルAの第7行目、比較テーブルBの第8行目に設定されているステータスを抽出する。この場合、元ファイルBの第8行目に設定されているステータスだけが「変更有」なので、元ファイルBの第8行目は「挿入」された行である。よって、複写ファイルBにおいて、第8行目第1列目に「挿入」の文字と、着色とを設定する。また、元ファイルBについてだけ行番号を「1」繰り上げる。 Here, since the line number of the original file A is “8” and exceeds the last line “7” of the original file A, the line number of the original file A is set to the last line “7”. Set the status corresponding to the line to “no change”. Then, the statuses set in the seventh row of the comparison table A and the eighth row of the comparison table B are extracted. In this case, since only the status set in the eighth line of the original file B is “changed”, the eighth line of the original file B is an “inserted” line. Therefore, in the copy file B, the character “insert” and coloring are set in the eighth row and first column. Also, the line number is incremented by “1” only for the original file B.
こうして、元ファイルAの全行「7」と、元ファイルBの全行「8」とについて、上述した図7のフローチャートに示す組合わせ判断処理を終了すると、図6のS601で作成した複写ファイルA,Bを、図2(c)、図2(d)に示すように出力される比較結果ファイルA,Bとして作成することができる。 Thus, upon completion of the combination determination process shown in the flowchart of FIG. 7 for all lines “7” of the original file A and all lines “8” of the original file B, the copy file created in S601 of FIG. A and B can be created as comparison result files A and B output as shown in FIGS. 2 (c) and 2 (d).
ここで、比較結果ファイルAと元ファイルAとは、同じ行番号に同じ情報が設定されているので、図2(c)に示す比較結果ファイルAを見れば、元ファイルAの第3行目,第5行目、第6行目を変更したこと。また、第3行目の変更,第5行目の変更は「編集」、第6行目の変更は「削除」であること。さらに、「編集」は第3行目の一部、第5行目の全部でしたことを一見して把握できる。 Here, since the same information is set in the same line number in the comparison result file A and the original file A, if the comparison result file A shown in FIG. , The 5th line and the 6th line were changed. The change in the third line and the change in the fifth line are “edit”, and the change in the sixth line is “delete”. Furthermore, it can be understood at a glance that “edit” was part of the third row and all of the fifth row.
また、同様に、比較結果ファイルBと元ファイルBとは、同じ行番号に同じ情報が設定されているので、図2(d)に示す比較結果ファイルBを見れば、元ファイルBの第3行目,第4行目、第6行目、第8行目を変更したこと。また、第3行目の変更,第6行目の変更は「編集」、第4行目の変更、第8行目の変更は「挿入」したこと。さらに、「編集」は第3行目の一部、第6行目の全部でしたことを一見して把握できる。
Similarly, since the same information is set in the same line number in the comparison result file B and the original file B, if the comparison result file B shown in FIG. The
以上、実施の形態に基づき本発明を説明したが、本発明は上記実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。 The present invention has been described above based on the embodiments. However, the present invention is not limited to the above embodiments, and various improvements and modifications can be made without departing from the spirit of the present invention. It can be easily guessed.
上述した実施形態では、比較結果ファイルAと元ファイルAとで、同じ行番号に同じ情報、比較結果ファイルBと元ファイルBとで、同じ行番号に同じ情報を設定する場合について説明したが、比較結果ファイルAと元ファイルAとで、同じ列番号に同じ情報、比較結果ファイルBと元ファイルBとで、同じ列番号に同じ情報を設定するように構成しても良い。この場合であっても、本実施形態と同様な効果を奏することができる。 In the embodiment described above, a case has been described in which the same information is set in the same line number in the comparison result file A and the original file A, and the same information is set in the same line number in the comparison result file B and the original file B. The comparison result file A and the original file A may be configured to set the same information for the same column number, and the comparison result file B and the original file B may be set to the same information for the same column number. Even in this case, an effect similar to that of the present embodiment can be obtained.
また、上述した実施形態では、図7のフローチャートにおいて、iCntに対応するステータスだけ「変更有」の場合に「削除」(S702)、jCntに対応するステータスだけ「変更有」の場合に「挿入」(S703)とする場合について説明したが、この関係を逆に構成しても良い。 Further, in the above-described embodiment, in the flowchart of FIG. 7, “delete” (S702) when only the status corresponding to iCnt is “changed” (S702), and “insert” when only the status corresponding to jCnt is “changed”. Although the case of (S703) has been described, this relationship may be reversed.
また、図4のフローチャートのS401において、2つの元ファイルA,Bを特定する場合に、図2(a)に示す元ファイルAを変更前のファイル、図2(b)に示す元ファイルBを変更後のファイルとして、ユーザに指定させた上で、本実施形態のように、その2つの元ファイルA,Bを特定し、比較するように構成しても良い。かかる場合には、変更前のファイルである元ファイルAに対応した比較結果ファイルAに「削除」、変更後のファイルである元ファイルBに対応した比較結果ファイルBに「挿入」が設定されるので、比較結果を把握し易くすることができる。 Further, when two original files A and B are specified in S401 in the flowchart of FIG. 4, the original file A shown in FIG. 2A is changed to the original file B, and the original file B shown in FIG. It is also possible to configure the two original files A and B to be specified and compared as in the present embodiment after the user designates the changed file. In such a case, “delete” is set in the comparison result file A corresponding to the original file A that is the file before the change, and “insertion” is set in the comparison result file B corresponding to the original file B that is the file after the change. Therefore, the comparison result can be easily grasped.
また、上述した実施形態では、変更があった行について、その変更種別として「削除」、「挿入」、「編集」を特定する場合について説明したが、この変更種別を特定することなく、変更の有/無だけを特定し、その変更の有/無だけを複写ファイルに設定するように構成しても良い。この場合、変更の種別は特定できないものの、変更があった行の元ファイルにおける行番号は特定でき、変更の種別を特定する場合よりも、比較結果ファイルを高速に作成することができる。 Further, in the above-described embodiment, a case has been described in which “delete”, “insert”, and “edit” are specified as the change types for the changed rows. Only the presence / absence may be specified, and only the presence / absence of the change may be set in the copy file. In this case, although the type of change cannot be specified, the line number in the original file of the changed line can be specified, and the comparison result file can be created at a higher speed than when the type of change is specified.
また、上述した図5の変更なし行番号特定処理では、変更がなかった行番号を元ファイルAおよび元ファイルBについて特定する場合について説明したが、変更があった行番号を元ファイルAおよび元ファイルBについて特定するように構成しても良い。かかる場合であっても、変更なし行番号特定処理と同様な効果を奏することができる。 Further, in the above-described line number specifying process without change in FIG. 5, the case where the line numbers that have not been changed are specified for the original file A and the original file B has been described. The file B may be specified. Even in such a case, the same effect as the line number specifying process without change can be obtained.
5b 比較プログラム
S401 比較ファイル特定ステップ
S402、S403 抽出ステップ
S404 変更なし行番号特定ステップ
S405 設定ステップ
S601 複写ステップ
S612 第1抽出ステップ、第2抽出ステップ
S701、S705、S709 判断ステップ
S712 第1カウントステップ、第1指示ステップ
S704、S708 第2カウントステップ、第2指示ステップ
S710 編集情報設定ステップ
S702 削除情報設定ステップ
S706 挿入情報設定ステップ
5b Comparison program S401 Comparison file identification step S402, S403 Extraction step S404 Unchanged line number identification step S405 Setting step S601 Copying step S612 First extraction step, second extraction steps S701, S705, S709 Judgment step S712 First counting step, first 1 instruction step S704, S708 2nd count step, 2nd instruction step S710 Edit information setting step S702 Delete information setting step S706 Insertion information setting step
Claims (3)
前記2つのファイルの一方である第1元ファイルと他方である第2元ファイルとを特定する比較ファイル特定ステップと、
その比較ファイル特定ステップによって特定された前記第1元ファイルと前記第2元ファイルとの各々から行単位で情報を抽出する抽出ステップと、
その抽出ステップによって抽出された行単位の情報である前記第1元ファイルの行情報と前記第2元ファイルの行情報とを比較して、前記第1元ファイルと前記第2元ファイルとで同じ行情報を有する前記第1元ファイルの行番号と前記第2元ファイルの行番号とを、重複特定を避けて特定する変更なし行番号特定ステップと、
前記表計算ソフトウェアに2つの新規ファイルを用意させ、その一方に前記第1元ファイル、他方に前記第2元ファイルを複写して2つの複写ファイルを作成する複写ステップと、
その複写ステップによって作成された2つの複写ファイルの各々について、複写された情報と対応付けられている行番号は維持したまま、前記変更なし行番号特定ステップによって特定された行番号に対応する行情報と、それ以外の行番号に対応する行情報とを識別可能な識別情報を設定する設定ステップとを備えていることを特徴とする比較プログラム。 A comparison program for comparing two files created by spreadsheet software that can output a grid-like table with line numbers defined,
A comparison file specifying step of specifying a first original file which is one of the two files and a second original file which is the other;
An extraction step for extracting information line by line from each of the first original file and the second original file specified by the comparison file specifying step;
The line information of the first original file, which is line-by-line information extracted by the extraction step, is compared with the line information of the second original file, and the same for the first original file and the second original file A line number specifying step without change for specifying the line number of the first original file and the line number of the second original file having line information, avoiding duplication specification,
A copy step of creating two new files by causing the spreadsheet software to prepare two new files, copying the first original file to one of them and the second original file to the other;
For each of the two copy files created by the copying step, the line information corresponding to the line number specified by the unchanged line number specifying step is maintained while maintaining the line number associated with the copied information. And a setting step for setting identification information that can identify line information corresponding to other line numbers.
前記第1元ファイルと前記第2元ファイルとで同じ行情報を有する前記第1元ファイルの行番号と前記第2元ファイルの行番号とを特定する場合、小さい行番号を優先して特定し、
前記第1元ファイルの行番号と前記第2元ファイルの行番号とのうち、前記変更なし行番号特定ステップによって特定された行番号にはステータスとして変更なし、それ以外の行番号にはステータスとして変更ありを設定し、
前記設定ステップは、
前記第1元ファイルの行番号をカウントする第1カウントステップと、
その第1カウントステップによってカウントされているカウント値に対応した前記第1元ファイルの行番号について、その行番号に設定されているステータスを抽出する第1抽出ステップと、
前記第2元ファイルの行番号をカウントする第2カウントステップと、
その第2カウントステップによってカウントされているカウント値に対応した前記第2元ファイルの行番号について、その行番号に設定されているステータスを抽出する第2抽出ステップと、
前記第1抽出ステップによって抽出されたステータスと、前記第2抽出ステップによって抽出されたステータスとの組み合わせを判断する判断ステップと、
その判断ステップによって、両ステータスが、共に変更なし、または、共に変更ありと判断された場合、前記第1カウントステップと、前記第2カウントステップとの各々にカウントアップさせるように指示する第1指示ステップと、
前記判断ステップによって、両ステータスの一方だけが変更ありと判断された場合、その変更ありが前記第1元ファイルの行番号に設定されていれば、前記第1カウントステップにカウントアップさせ、その変更ありが前記第2元ファイルの行番号に設定されていれば前記第2カウントステップにカウントアップさせるように指示する第2指示ステップと、
前記判断ステップによって、両ステータスが、共に変更ありと判断された場合、その変更ありが設定されている前記第1元ファイルの行番号に対応する行情報と、前記第2元ファイルの行番号に対応する行情報との各々を、前記複写ファイルにおいて編集された情報であるこを示す編集情報と対応付けて設定する編集情報設定ステップと、
前記判断ステップによって、両ステータスのうち前記第1元ファイルの行番号に設定されているステータスだけが変更ありと判断された場合、その第1元ファイルの行番号に対応する行情報を、前記複写ファイルにおいて削除された情報であるこを示す削除情報と対応付けて設定する削除情報設定ステップと、
前記判断ステップによって、両ステータスのうち前記第2元ファイルの行番号に設定されているステータスだけが変更ありと判断された場合、その第2元ファイルの行番号に対応する行情報と、前記複写ファイルにおいて挿入された情報であるこを示す挿入情報と対応付けて設定する挿入情報設定ステップとを備えていることを特徴とする請求項1に記載の比較プログラム。 The unchanged line number specifying step includes:
When specifying the line number of the first source file and the line number of the second source file that have the same line information in the first source file and the second source file, specify the lower line number with priority. ,
Of the line numbers of the first original file and the line numbers of the second original file, the line numbers specified by the no-change line number specifying step are not changed as statuses, and other line numbers are changed as statuses. Set with change,
The setting step includes
A first counting step of counting line numbers of the first original file;
A first extraction step of extracting a status set in the line number of the first source file corresponding to the count value counted in the first counting step;
A second counting step of counting line numbers of the second source file;
A second extraction step of extracting a status set in the line number of the second source file corresponding to the count value counted in the second counting step;
A determination step of determining a combination of the status extracted by the first extraction step and the status extracted by the second extraction step;
A first instruction that instructs each of the first count step and the second count step to increment when both statuses are determined to be unchanged or not changed by the determination step. Steps,
If it is determined in the determination step that only one of the two statuses is changed, if the change is set in the line number of the first original file, the first count step is incremented and the change is made. If there is a line number of the second source file, a second instruction step for instructing the second count step to count up,
If both the statuses are determined to be changed by the determination step, the line information corresponding to the line number of the first source file in which the change is set and the line number of the second source file are set. An editing information setting step for setting each corresponding line information in association with editing information indicating that the information is edited in the copy file;
If it is determined by the determination step that only the status set in the line number of the first original file is changed, the line information corresponding to the line number of the first original file is copied. A deletion information setting step that is set in association with deletion information indicating that the information is deleted in the file;
If it is determined in the determination step that only the status set in the line number of the second source file is changed, the line information corresponding to the line number of the second source file and the copy The comparison program according to claim 1, further comprising an insertion information setting step that is set in association with insertion information indicating that the information is inserted in the file.
前記編集情報設定ステップと、前記削除情報設定ステップと、前記挿入情報設定ステップとは、前記挿入ステップによって挿入された第1列目であって対応する行番号に、前記編集情報、前記削除情報、前記挿入情報を設定することを特徴とする請求項2に記載の比較プログラム。 An insertion step of inserting a first row into each of the two copy files created by the copy step;
The editing information setting step, the deletion information setting step, and the insertion information setting step are the first column inserted by the insertion step and the corresponding row number includes the editing information, the deletion information, The comparison program according to claim 2, wherein the insertion information is set.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009275874A JP2011118703A (en) | 2009-12-03 | 2009-12-03 | Comparison program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009275874A JP2011118703A (en) | 2009-12-03 | 2009-12-03 | Comparison program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011118703A true JP2011118703A (en) | 2011-06-16 |
Family
ID=44283943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009275874A Pending JP2011118703A (en) | 2009-12-03 | 2009-12-03 | Comparison program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011118703A (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07225761A (en) * | 1994-02-08 | 1995-08-22 | Hitachi Ltd | Matching verification system for document data |
JP2001195522A (en) * | 2000-01-11 | 2001-07-19 | Casio Comput Co Ltd | Table processor and storage medium |
JP2009282969A (en) * | 2008-04-25 | 2009-12-03 | Dainippon Hourei Printing Co Ltd | Electronic editing-content change system for document placed in book, electronic editing-content change program of document placed in book and book creation system |
-
2009
- 2009-12-03 JP JP2009275874A patent/JP2011118703A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07225761A (en) * | 1994-02-08 | 1995-08-22 | Hitachi Ltd | Matching verification system for document data |
JP2001195522A (en) * | 2000-01-11 | 2001-07-19 | Casio Comput Co Ltd | Table processor and storage medium |
JP2009282969A (en) * | 2008-04-25 | 2009-12-03 | Dainippon Hourei Printing Co Ltd | Electronic editing-content change system for document placed in book, electronic editing-content change program of document placed in book and book creation system |
Non-Patent Citations (2)
Title |
---|
CSND200800329009; 織田 薫: 'Excelツール&マクロ大全' PC Japan 第13巻,第6号, 20080601, P.55, ソフトバンククリエイティブ株式会社 * |
JPN6012026968; 織田 薫: 'Excelツール&マクロ大全' PC Japan 第13巻,第6号, 20080601, P.55, ソフトバンククリエイティブ株式会社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2107457A2 (en) | Automatic software configuring system | |
CN113614659B (en) | Development support device, control method for development support device, and recording medium | |
JP2011118703A (en) | Comparison program | |
JP4921453B2 (en) | Bit string data sorting apparatus, method and program | |
JP2011060194A (en) | Design rule check verification device and design rule check verification method | |
JP6704947B2 (en) | Support system | |
KR102601387B1 (en) | Declarative cascade reordering for styles | |
WO2022056989A1 (en) | Digital watermarking for textual data | |
JP5758262B2 (en) | Similar document visualization apparatus, similar document visualization method, and program | |
KR101726120B1 (en) | Program editing device, program editing method and computer readable recoding medium for recording program editing program | |
EP1906649A2 (en) | Document edit device, program, and storage medium | |
JP2007034782A (en) | Document editing device | |
JP3933892B2 (en) | Specification creation program and computer-readable medium storing specification creation program | |
JP5369925B2 (en) | Information processing apparatus and program | |
JP2008233950A (en) | Element relation display apparatus and program | |
Sharaf et al. | Using Rules to Animate Prolog Programs. | |
WO2019239400A1 (en) | Expression editor for mathematical statement forms | |
JP6036224B2 (en) | Sequence control system, sequence control method, sequence control program, and message management system | |
JP3687659B2 (en) | Portable information device, character information display processing method for portable information device, and character information display processing program for portable information device | |
JP5332443B2 (en) | Component integration management apparatus, component integration management method, and component integration management program | |
JP5351803B2 (en) | BOM management system | |
JP2017068371A (en) | Information processing apparatus, screen generation method, and screen generation program | |
CN118333047A (en) | Article structure analysis system | |
JP5491566B2 (en) | Text display device | |
JP2005165691A (en) | Document production device, document production method, and document formation program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120529 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121002 |