Висновок записи в файл

Розглянемо програму, яка записує в файл введені користувачем дані про результати змагань, формуючи, таким чином, просту базу даних. Вихідні дані вводяться в поля діалогового вікна (рис. 8.1) і зберігаються в файлі, компонентами якого є записи типу TMedal.






Мал. 8.1. Вікно програми Додавання запису в файл

Для введення прізвища спортсмена застосовується поле редагування (компонент Edit). Для введення назви виду спорту і країни використовуються компоненти ComboBox (комбінований список).

Компонент ComboBox, значок якого знаходиться на вкладці Standard (рис. 8.2), дає можливість ввести дані або безпосередньо в полі введення-редагування, або шляхом вибору зі списку, який з'являється в результаті клацання на кнопці списку, що розкривається.

Мал. 8.2. Значок компонента ComboBox У табл. 8.1 перераховані властивості компонента ComboBox.

Таблиця 8.1. Властивості компонента ComboBox

Мал. 8.3. Введення списку для компонента ComboBox2 під час створення форми додатка

Повний текст програми приведений в лістингу 8.1.

Лістинг 8.1. Додавання записів в файл

Windows, Messages, SysUtils, Classes,

Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

TForm1 = class (TForm) Label1: TLabel;

Label2: TLabel; Label3: TLabel;

Edit1: TEdit; // спортсмен

ComboBoxl: TComboBox; // країна

ComboBox2: TComboBox; // вид спорту

RadioGroup1: TRadioGroup; // медаль

Buttonl: TButton; // кнопка Додати

procedure FormActivate (Sender: TObject);

procedure FormClose (Sender: TObject;

var Action: TCloseAction)

procedure ButtonlClick (Sender: TObject);

TKind = (GOLD, SILVER, BRONZE);

country: string [20]; // країна

sport: string [20]; // вид спорту

person: string [40]; // спортсмен

kind: TKind; // медаль

f: file of TMedal; // файл записів - база даних

procedure TForm1.FormActivate (Sender: TObject);






resp. word; // відповідь користувача

Reset (f); // відкрити файл

Seek (f, FileSize (f)); // покажчик записи в кінець файлу

if lOResult = 0

then buttonl.enabled: = TRUE // тепер кнопка Додати доступна

resp: = MessageDlg ( 'Файл бази даних не знайдений.'

+ 'Створити нову БД?', Mtlnformation, [mbYes, mbNo], 0);

if lOResult = 0

else ShowMessage ( 'Помилка створення файлу БД.');

// клацання на кнопці Додати

procedure TForml.Button1Click (Sender: TObject);

case RadioGroup1.Itemlndex of

write (f, medal); // записати вміст полів записи в файл

// завершення роботи програми

procedure TForm1.FormClose (Sender: TObject;

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

У представленій програмі процедура TForm1.FormActivate відкриває файл бази даних для додавання. Тут слід звернути увагу на те, як це реалізовано. Процедуру AppendFile, яка відкриває файл для додавання в кінець, використовувати не можна, т. К. Файл не є текстовим. Тому файл спочатку відкривається процедурою Rewrite в режимі перезапису, а потім процедура Seek встановлює покажчик читання / запису в кінець файлу. Параметром процедури seek є функція Fiiesize, значення якої дорівнює розміру файлу (в байтах).

Процедура TForm1.Button1Click, яка запускається натисканням кнопки Додати (Buttoni), виконує пряме доповнення записи в файл. Поля country і sport додається записі заповнюються з властивості Text комбінованих списків Країна (comboBoxi) і Вид спорту (ComboBox2).

Поле person формованої записи заповнюється з поля введення Спортсмен (компонент Editi), а вміст поля medal визначається обраною кнопкою компонента RadioGroupl.

Чи знаєте Ви, що, як і будь-яка язичницький релігія, релятивізм хибна у своїй основі. Він суперечить фактам. Серед них такі:

1. Електромагнітна хвиля (в релігійній термінології релятивізму - "світло") має строго постійну швидкість 300 тис.км / с, абсурдно НЕ відлічувану ні від чого. Реально ЕМ-хвилі мають різну швидкість в речовині (наприклад,

200 тис км / с в склі і

3 млн. Км / с в поверхневих шарах металів, різну швидкість в ефірі (див. Статтю "Температура ефіру і червоні зсуви"), різну швидкість для різних частот (див. Статтю "Про швидкості ЕМ-хвиль")

2. У релятивізм "світло" є міфічне явище саме по собі, а не фізична хвиля, яка є хвилюванням певної фізичної середовища. Релятивістський "світло" - це хвилювання нічого в нічим. У нього немає середовища-носія коливань.

3. У релятивізмі можливі маніпуляції з часом (уповільнення), тому там порушуються основоположні для будь-якої науки принцип причинності і принцип суворої логічності. У релятивізм при швидкості світла час зупиняється (тому в ньому абсурдно говорити про частоту фотона). У релятивізмі можливі такі насильства над розумом, як твердження про взаємне перевищенні віку близнюків, що рухаються з субсветовой швидкістю, і інші знущання над логікою, притаманні будь-якій релігії.

НОВИНИ ФОРУМУ
Лицарі теорії ефіру







Схожі статті