Звіт за обчислювальну практику, страница 9

6. Очищую значення властивості Text  для Edit1, Edit2; властивості Lines поля   Memo1 .

7. Задаю властивість Caption для міток Label1 – Слова, що починаються і закінчуються однією і тією ж літерою, Label2 – Введіть шлях до файлу в який потрібно записати результати.

8. До обробника події OnClick кнопки Button1 вводжу такий програмний код:

AssignFile(f,Edit1.text);

    reset(f);

   While not EOF(f) do

begin

ReadLn(f,s);

end;

CloseFile(f);

words(s);

AssignFile(f1,Edit2.text);

Append(f1);

WriteLn(f1,riad);

CloseFile(f1);

riad:='';

9.  До розділу var модуля дописую:

f,f1:textfile;

10. До обробника події OnClick кнопки Button2 вводжу такий програмний код:

OpenDialog1.Execute;

edit1.text:=OpenDialog1.FileName;

11. До обробника події OnClick кнопки Button3 вводжу такий програмний код:

OpenDialog1.Execute;

edit2.text:=OpenDialog1.FileName;

12. До обробника події OnClick кнопки Button4 вводжу такий програмний код:

AssignFile(f,Edit1.text);

    reset(f);

   While not EOF(f) do

begin

ReadLn(f,s);

Memo1.Lines.add(s);

end;

CloseFile(f);

13. До розділу var модуля дописую:

f:textfile;

14. До обробника події OnClick кнопки Button5 вводжу такий програмний код:

AssignFile(f1,Edit2.text);

    reset(f1);

   While not EOF(f1) do

begin

ReadLn(f1,s);

Memo1.Lines.add(s);

end;

CloseFile(f1);

15. До розділу var модуля дописую:

f1:textfile;

16. До обробника події OnClick кнопки Button6 вводжу такий програмний код:

Edit1.Clear;

Edit2.Clear;

Memo1.Clear;

17. До обробника події OnClick кнопки Button7 вводжу такий програмний код:

Close;

18. Створюю на визначеному місці текстові документи (1-ий – для зчитування, 2-ий – для запису результату)

19.Створюю ярлички-підказки для всіх елементів додатку . Для цього:

- виділяю компонент і до його властивості Hint вводжу пояснювальний текст;

- встановлюю властивість ShowHint (показ ярличка) у значення true.

20. Компілюю створений додаток, зберігаю його.

ЛІСТИНГ

unit Unit1; //назва проекта

interface // описання інтерфейсу

uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  StdCtrls; // підключення бібліотек

Type

  TForm1 = class(TForm) // описання класу

    Button1: TButton;

    Edit1: TEdit;

    Edit2: TEdit;

    Button2: TButton;

    Button3: TButton;

    OpenDialog1: TOpenDialog;

    Memo1: TMemo;

    Button4: TButton;

    Button5: TButton;

    Label1: TLabel;

    Label2: TLabel;

    Button6: TButton;

    Button7: TButton;

    procedure Button1Click(Sender: TObject); // опис процедури

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure Button7Click(Sender: TObject);

    procedure Button6Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var //блок опису змінних

  Form1: TForm1;

   s,riad:string;

implementation

{$R *.DFM}

function Space(ch:char):boolean; // функція пошуку пробілу в тексті

const s=[' '];

begin

  if ch in s then Space:=true else Space:=false;

end;

procedure words(s:string);// процедура з іменем words при роботі з рядком s

var i:integer;

slovo:string;

begin                                      

  for i:=1 to length(s) do // цикл з параметром ( перевірка з початку до кінця рядка)

  begin

    if Space(s[i])=false then slovo:=slovo+s[i]// якщо функція Space(s[i]) хибна, то перевіряються s[i] елементи рядка

    else

    begin

    if slovo[1]=slovo[length(slovo)] then riad:=riad+' '+slovo;// перевірка умови наявності однієї ж і тієї літери на початку і в кінці слова

    slovo:='';

    end;

    if i=length(s) then if slovo[1]=slovo[length(slovo)] then riad:=riad+' '+slovo; // перевірка умови наявності однієї ж і тієї літери на початку і в кінці слова

в кінці рядка

  end;

end;

procedure TForm1.Button1Click(Sender: TObject); //обробка подіі onclick  на компоненті Button1

var f,f1:textfile;

     begin

    AssignFile(f,Edit1.text); // встановлення відповідності між логічним і фізичним іменами файлів

    reset(f); // відкриття файлу для читання

   While not EOF(f) do // умова кінця файлу

begin

ReadLn(f,s); // зчитати рядок s з файлу f

end;

CloseFile(f); // закриття файлу f

words(s); // виклик процедури words(s)

AssignFile(f1,Edit2.text); // встановлення відповідності між логічним і фізичним іменами файлів

Append(f1); // відкриття файлу для дописування

WriteLn(f1,riad); //записати у файл f1 отриманий рядок слів

CloseFile(f1); // закриття файлу f1

riad:='';

end;

procedure TForm1.Button2Click(Sender: TObject);//обробка подіі onclick  на компоненті Button2

begin

OpenDialog1.Execute; //опис компоненту OpenDialog1

edit1.text:=OpenDialog1.FileName; // присвоєння властивості Text рядка edit1 значення OpenDialog1.FileName

end;

//обробка подіі onclick на компоненті Button3 проводиться аналогічно

procedure TForm1.Button3Click(Sender: TObject);

begin

OpenDialog1.Execute;

edit2.text:=OpenDialog1.FileName;

end;

procedure TForm1.Button4Click(Sender: TObject); //обробка подіі onclick  на компоненті Button4

var f:textfile;

     begin

    AssignFile(f,Edit1.text); встановлення відповідності між логічним і фізичним іменами файлів

    reset(f); // відкриття файлу для читання

   While not EOF(f) do// доки не досягнуто ознаки кінця файлу

begin

ReadLn(f,s); //зчитування з файлу f рядка s

Memo1.Lines.add(s); // присвоєння властивості Lines значення s  компонента Memo1

end;

CloseFile(f);// закриттяфайлу

end;

//обробка подіі onclick на компоненті Button4 проводиться аналогічно

procedure TForm1.Button5Click(Sender: TObject);

var f1:textfile;

     begin

    AssignFile(f1,Edit2.text);

    reset(f1);

   While not EOF(f1) do

begin

ReadLn(f1,s);

Memo1.Lines.add(s);

end;

CloseFile(f1);

end;

procedure TForm1.Button7Click(Sender: TObject); //обробка подіі onclick на компоненті Button7

begin

Close;// Кінець роботи додатку

end;

procedure TForm1.Button6Click(Sender: TObject); //обробка подіі onclick на компоненті Button6

begin

Edit1.Clear;// очищення рядка введення Edit1

Edit2.Clear; //очищення рядка введення Edit2

Memo1.Clear;// очищення компонента  Memo1

end;

end.

Вигляд форми:

Результати виконання: