русс | укр

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

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


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


Хід виконання роботи.


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


 

Завдання: написати програму підрахунку числа слів у довільному рядку. Як роздільник може бути будь-яка кількість пробілів. Для введення рядків і роботи з ними використовувати ТСоmbоВох. Уведення рядка закінчувати натисканням Enter. Для виходу з програми використовувати кнопку Close.

Панель діалогу буде мати вигляд (мал.13.1). Текст програми приведений нижче.

 
 

Unit Unit1;

Interface

Uses

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

type

Tunit_Lab5 = class(TForm)

ComboBox1: TComboBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

BitBtn1: TBitBtn;

Button1: TButton;

 

Procedure FormActivate(Sender: TObject);

Procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);

Procedure ComboBox1Click(Sender: TObject);

Private

{ Private declarations }

Public

{ Public declarations }

end;

 

var

Unit_Lab5: TUnit_Lab5;

 

Implementation

{$R *.DFM}

 

// Обробка події активізації форми

Procedure TUnit_Lab5.FormActivate(Sender: TObject);

begin

ComboBox1.SetFocus; //Передача фокуса ComboBox1

end;

 

// Обробка події натискання лівої клавіші миші

Procedure TUnit_Lab5.ComboBox1KeyPress(Sender: TObject; var Key: Char);

begin

if Key =#13 then //Якщо натиснуто клавішу Enter те...

begin

// Рядок з вікна редагування заноситься в список вибору

ComboBox1.Items.Add(ComboBox1.Text);

ComboBox1.Text := ''; //Очищення вікна редагування

end;

end;

 

Procedure TUnit_Lab5.ComboBox1Click(Sender: TObject);

var

St : string;

n, і, nst, ind : integer;

begin

n := 0; //Містить число слів обраного рядка

//Містить кількість слів

ind := 0;

//Визначення номера обраного рядка

nSt := ComboBox1.ItemIndex;

//Занесення обраного рядка в перемінну st

St := ComboBox1.Items[nst];

//Перегляд усіх символів рядка st

for i := 1 to Length(St) do

begin

Case ind of

0: if St[і] <>'' then

begin

//Якщо зустрівся символ після пробілу

//кількістьслів збільшується на одиницю

ind := 1;

n := n+1;

end;

// Якщо зустрівся пробіл після символів

1: if St[i] ='' then ind := 0;

end;

end;

 

Label3.Caption := IntToStr(n); //Виведення кількості слів у Label3

end;

end.

Контрольні запитання:

8. Які типи рядкових змінних у Delphi Ви знаєте?

9. Вкажіть на особливості кожного типу рядкових змінних.

10.Що називають обробником подій у Delphi&

11.Який інструментарій використовують для створення коду обробника подій?


<== попередня лекція | наступна лекція ==>
Обробка подій | Варіанти завдання


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