
16.03.2010, 20:40
|
|
Познающий
Регистрация: 17.02.2010
Сообщений: 45
С нами:
8542140
Репутация:
47
|
|
DJeFRY_RASH...потестил, вроде работает, но как говорится вроде...если что, могу исходник кинуть
Код:
const
n = 10000;
var
Form1: TForm1;
a: string;
lin: array [1..n] of shortstring;
kol, lenn: integer;
implementation
{$R *.dfm}
function check(f: string; var kol2: integer; len: integer): boolean;
var
i: integer;
ok: boolean;
begin
ok:=false;
for i:=1 to kol do
if f = lin[i] then
begin
delete(a, kol2 - len, len);
dec(kol2, len);
dec(lenn, len);
ok:=true;
break;
end;
if not ok then
begin
inc(kol);
lin[kol]:=f;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
f: shortstring;
begin
a:=Edit1.Text;
for i:=1 to kol do
lin[i]:='';
i:=1;
kol:=0;
f:='';
a:=a+' ';
lenn:=length(a);
while i <= lenn do
begin
if a[i] in ['A'..'Z', 'a'..'z'] then f:=f + a[i]
else
if (a[i] in [',', '.', '!', ';', ':', ' ']) then
begin
check(f, i, length(f));
f:='';
if a[i] = ' ' then if a[i-1] = ' ' then
begin
delete(a, i-1, 1);
dec(i);
dec(lenn);
end;
end;
inc(i);
end;
Edit2.Text:=a;
end;
end.
|
|
|