summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2018-02-20 14:31:02 +0100
committerErich Eckner <git@eckner.net>2018-02-20 14:31:02 +0100
commitd00a57492e82347fa8008902c2bd767e50c371c8 (patch)
tree0e6daf3cbe1df5372c50981f695eca2838dd86bc
parent2bfe76754a11679d0a3493e8ffc5bd87cc86daf1 (diff)
downloadMake-d00a57492e82347fa8008902c2bd767e50c371c8.tar.xz
tools.pas: tDateienMitDaten.istDisjunktZu neu
-rw-r--r--tools.pas17
1 files changed, 17 insertions, 0 deletions
diff --git a/tools.pas b/tools.pas
index 8cf0b5f..c290275 100644
--- a/tools.pas
+++ b/tools.pas
@@ -48,6 +48,7 @@ type
function add(neu: tDateiMitDatum): longint;
function gleicheNamenWie(dmd: tDateienMitDaten): boolean;
function istNamenObermengeVon(dmd: tDateienMitDaten): boolean; inline;
+ function istDisjunktZu(dmd: tDateienMitDaten): boolean; inline;
function toString: string; override;
procedure append(dmd: tDateienMitDaten);
function toMyStringList: tMyStringList;
@@ -236,6 +237,22 @@ begin
result:=j>=dmd.count; // wenn dmd "alle" ist, hatten wir alles gefunden
end;
+function tDateienMitDaten.istDisjunktZu(dmd: tDateienMitDaten): boolean;
+var
+ i,j: longint;
+begin
+ result:=false;
+ i:=0;
+ j:=0;
+ while (i<count) and (j<dmd.count) do
+ case vergleicheStrings(sItems[i].name,dmd.sItems[j].name) of
+ -1: inc(i); // Name fehlt in dmd
+ 0: exit; // gleiche Namen => nicht disjunkt
+ 1: inc(j); // Name fehlt in j
+ end{of case};
+ result:=true; // wenn self oder dmd "alle" ist, hatten wir keine gleichen Namen gefunden
+end;
+
function tDateienMitDaten.toString: string;
var
i: longint;