русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Приклад використання умовного оператору if для запису інформації у текстовий файл.


Дата додавання: 2014-11-28; переглядів: 765.


 

Написати програму, що створює на диску С файл a.txt і заповнює його рядками, введеними з Edit1 поки не буде введено рядок END.

 

Для написання програми потрібно розташувати на формі об'єкти Button1, Button2 та Edit1.

Так як ім'я файлу нам відомо завчасно, то не будемо використовувати об'єкт SaveDialog.

 

Форма матиме вигляд:

 

 

Визначимо головну подію для клавіші Button1. Ця клавіша буде розпочинати роботу програми, тобто ми організовуємо роботу програми таким чином, щоб спочатку у робочому вікні програми була видимою лише клавіша Button1, а по натисканню її Button1 зникала з екрану, а Button2 та Edit1 – виводились. Спочатку встановимо початкові значення параметрів visible для об’єктів форми. Для цього звернемось до Object inspector і послідовно для всіх об’єктів (Button1, Button2 та Edit1) встановимо значення таким чином:

Button1.Visible – true

Button2.Visible – false

Edit1.Visible - false

 

Для створення відповідної процедури досить двічі клацнути на Button1. Отримаємо

 

procedure TForm1.Button1Click(Sender: TObject);

begin

 

end;

 

Далі потрібно відкрити для запису (створити) файл c:\a.txt. Для цього опишемо глобальні (тобто ті, що можуть використовуватись у будь-якій підпрограмі даної програми) змінні таким чином:

 

var

f:textfile;

s:string;

 

та опишемо оператори, що відкривають файл на запис. Фрагмент програми матиме вигляд:

 

var

f:textfile;

s:string;

procedure TForm1.Button1Click(Sender: TObject);

begin

assignfile(f,'c:\a.txt');

rewrite(f);

end;

 

У цій же ж підпрограмі має зникати з екрану клавіша Button1, Button2 та Edit1 – з’являтись. Тому текст підпрограми матиме вигляд:

 

var

f:textfile;

s:string;

procedure TForm1.Button1Click(Sender: TObject);

begin

assignfile(f,'c:\a.txt');

rewrite(f);

button2.visible:=true;

edit1.visible:=true;

button1.visible:=false;

end;

 

Наступним кроком є встановлення головної події для клавіші Button2, де має відбуватись зчитування з Edit1 тексту та запису його у файл. Це виглядає таким чином:

 

procedure TForm1.Button2Click(Sender: TObject);

begin

s:=Edit1.Text;

writeln(f,s);

closefile(f);

end;

 

Але зчитування повинно проводитись поки не буде набрано рядок END, тому необхідним є використання умовного оператору if, і текст процедури матиме вигляд

 

procedure TForm1.Button2Click(Sender: TObject);

begin

s:=Edit1.Text;

if s<>'END' then

writeln(f,s)

else

closefile(f);

end;

 

тобто поки введений рядок тексту не є END, то здійснюється запис цього рядка у файл, а у противному випадку – файл закривається.

Логічно додати сюди ще дії, у яких клавіша Button2 та рядок Edit1 стають невидимими, а клавіша Button1 - видимою:

 

procedure TForm1.Button2Click(Sender: TObject);

begin

s:=Edit1.Text;

if s<>'END' then

writeln(f,s)

else

begin

closefile(f);

button1.visible:=true;

edit1.visible:=false;

button2.visible:=false;

end;

end;

 

Таким чином, при запуску написаної програми, на екран виводиться вікно

 

 

Далі, після натискання на клавішу Button1, отримаємо

 

 

і вводимо текст у рядок Edit1, підтверджуючи натисканням на клавішу Button2. Як тільки буде введено рядок END і натиснуто на Button2, файл с:\a.txt буде створено і на екран виведеться вікно

 

Повний текст програми має вигляд:

 

unit Unit1;

 

interface

 

uses

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

StdCtrls;

 

type

TForm1 = class(TForm)

Button1: TButton;

Edit1: TEdit;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.DFM}

var

f:textfile;

s:string;

procedure TForm1.Button1Click(Sender: TObject);

 

begin

assignfile(f,'c:\a.txt');

rewrite(f);

button2.visible:=true;

edit1.visible:=true;

button1.visible:=false;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

s:=Edit1.Text;

if s<>'END' then writeln(f,s)

else

begin

closefile(f);

button1.visible:=true;

edit1.visible:=false;

button2.visible:=false;

end;

 

end;

 

end.


<== попередня лекція | наступна лекція ==>
Умовний оператор IF. | Складені умови


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн