program Find_Dubletten;
uses Strings;
{Mehrfaches Auftauchen eines Kanji-Codes in GK.RC ist verboten: Check}
var
Kanji:array[0..2000] of Integer;
i,j,k,endi,ec,zeile,lektion,startlektion: Integer;
zn,startzn:Integer;
f: Text;
s: array[0..255] of Char;
sp,sp2: PChar;
begin
Assign(f,'GK.RC'); reset(f);
zeile:=1;
i:=0;
while not eof(f) do begin
ReadLn(f,s);
if (s[0] in ['0'..'9'])
and (strpos(s,'RCDATA')=nil) then begin
sp:=s;
repeat
sp2:=strscan(sp,',');
if sp2<>nil then begin
sp2^:=#0;
Inc(sp2);
end;
Val(sp,Kanji[i],ec);
if ec<>0 then begin
WriteLn('Falsches Zahlenformat/Zeichen auf Zeile ',zeile);
break;
end;
Inc(i);
sp:=sp2;
until sp=nil;
end;
Inc(zeile);
end;
close(f);
WriteLn(i,' Kanji eingesammelt');
endi:=i;
startlektion:=1;
for i:=0 to endi-1 do begin
k:=Kanji[i];
if k=0 then begin
Inc(startlektion);
startzn:=1;
end else begin
lektion:=startlektion;
for j:=i+1 to endi-1 do begin
if Kanji[j]=0 then begin
Inc(lektion);
zn:=1;
end else begin
if k=Kanji[j] then begin
WriteLn('Dublette Code ',k:4,' Lektion/Zeichen ',
startlektion:2,'/',startzn:2,' und ',
lektion:2,'/',zn:2,' !');
inc(ec);
end;
Inc(zn);
end;
end;
Inc(startzn);
end;
end;
if ec=0 then WriteLn('OK: keine Dubletten enthalten.');
end.
Detected encoding: ASCII (7 bit) | 2
|