Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
12
Добавлен:
16.12.2017
Размер:
2.04 Кб
Скачать
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
SourceEdit: TEdit;
btnFindWord: TButton;
Label2: TLabel;
Label3: TLabel;
sWordMinEdit: TEdit;
ColMinEdit: TEdit;
Label4: TLabel;
sWordMaxEdit: TEdit;
Label5: TLabel;
ColMaxEdit: TEdit;
procedure btnFindWordClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnFindWordClick(Sender: TObject);
const Delims = [' ', '.', ',', ':', ';', '!', '?', '-', Char(9), Char(10), Char(13)];

var i, min, max: integer;
sStr, sWord: string;

begin
max := 0; min := 0; sWord := '';

sWordMinEdit.Clear; sWordMaxEdit.Clear;
ColMinEdit.Clear; ColMaxEdit.Clear;


sStr := SourceEdit.Text;

if not (sStr[Length(sStr)] in Delims) then sStr := sStr + '.';


for i := 1 to Length(sStr) do
begin

if sStr[i] in Delims then
begin
if min = 0 then
min := Length(sWord)
else
if min > Length(sWord) then
min := Length(sWord);


if max = 0 then
max := Length(sWord)
else
if max < Length(sWord) then
max := Length(sWord);


sWord := '';
end
else sWord := sWord + sStr[i];
end;

ColMinEdit.Text := IntToStr(min);
ColMaxEdit.Text := IntToStr(max);

sWord := '';
for i := 1 to Length(sStr) do
begin

if sStr[i] in Delims then
begin
if min = Length(sWord) then sWordMinEdit.Text := sWordMinEdit.Text + sWord + ' ';

if max = Length(sWord) then SWordMaxEdit.Text := sWordMaxEdit.Text + sWord + ' ';

sWord := '';
end
else sWord := sWord + sStr[i];

end;

end;

end.
Соседние файлы в папке Текстовый редактор (лаба)