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

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Memo1: TMemo;
OpenDialog1: TOpenDialog;
Memo2: TMemo;
Button5: TButton;
SaveDialog1: TSaveDialog;
Edit1: TEdit;
Button6: TButton;
procedure Button2Click(Sender: TObject); //Сортировать
procedure Button1Click(Sender: TObject); //Очистить
procedure Button4Click(Sender: TObject); //Выход
procedure Button3Click(Sender: TObject); //Загрузить текст
procedure Button5Click(Sender: TObject); //Сохранить
procedure Button6Click(Sender: TObject); //Поиск
private
{ Private declarations }
public
{ Public declarations }
end;

const bk=['А'..'я','Ё','ё']; //все буквы файла

var Form1: TForm1;
t:TStringlist;//переменная для хранения и сортировки слов
implementation

{$R *.dfm}
//процедура загрузки файла (любой файл формата txt)
procedure TForm1.Button3Click(Sender: TObject);
begin
if Opendialog1.Execute then
//помещаем текст в Memo1
Memo1.Lines.LoadFromFile(Opendialog1.FileName);
end;
//Процедура очистки Memo1 и Memo2
procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.Text:='';
memo2.Text:='';
end;
//сортировка слов
procedure TForm1.Button2Click(Sender: TObject);
var s,s1:string;
i,j,k:integer;
begin
t:=TStringlist.Create; //создаем экземпляр класса
t.Sorted:=true; //подключаем сортировку при добавлении
for i:=0 to Memo1.Lines.Count-1 do
begin
s:=Memo1.Lines.Strings[i];//просматриваем строки
j:=1;
while(j<=length(s)) do //выбираем только слова из букв
if (s[j] in bk) and((j=1)or not(s[j-1] in bk)) then
begin
k:=j;
s1:='';
while(k<=length(s))and(s[k] in bk) do
begin
s1:=s1+s[k];
k:=k+1;
end;
t.Add(s1);
j:=j+length(s1);
end
else j:=j+1;
end;
for i:=0 to t.Count-1 do
Memo2.Lines.Add(t.Strings[i]);//выведем слова
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
if savedialog1.Execute then
memo2.Lines.SaveToFile(savedialog1.FileName);
end;

procedure TForm1.Button6Click(Sender: TObject);
var
FindStr:string; // Искомая строка
i,j:integer; // Счетчик для цикла

begin
findStr:=Edit1.Text; // Записываем в find текст из Edit
For i:=0 to Memo1.Lines.Count-1 do // Запускаем цикл поиска строки
If Pos(FINDStr, Memo1.Lines.Text)<>0
Then
Begin
Memo1.SetFocus();
Memo1.SelStart:=Pos(FINDStr,Memo1.Lines.Text)-1;
Memo1.SelLength:=Length(FINDStr);
End;

end;
end.
Соседние файлы в папке ЛАБ№2
  • #
    14.03.20151.34 Кб5text.txt
  • #
    14.03.2015987 б4text1
  • #
    14.03.20156.54 Кб4Unit1.dcu
  • #
    14.03.201551 б5Unit1.ddp
  • #
    14.03.20154 Кб4Unit1.dfm
  • #
    14.03.20152.83 Кб5Unit1.pas
  • #
    14.03.201551 б4Unit1.~ddp
  • #
    14.03.20154 Кб5Unit1.~dfm
  • #
    14.03.20152.76 Кб5Unit1.~pas
  • #
    14.03.2015124.42 Кб7ЛАБ№2_отчет.doc