Добавил:
rn Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
13
Добавлен:
16.12.2017
Размер:
2 Кб
Скачать
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.
Соседние файлы в папке Текстовый редактор (лаба)