і Про;
Лабораторная
работа
по
ІпТорматике
Дмитрий
aka
BrotherNone ЖМУРКОВ
Г
О кончание, начало см. в М К , № 4 (331)
1.4.3. Написание кода
Т
еперь перейдем к самой важной и сложной части нашей
лабораторной работы — написанию кода. Начнем, ра-
зумеется, с самого простого — с объявления переменных.
Первой будет переменная, работающая с іпі-файлом. Она
должна быть типа TiniFile. Мы назовем ее
Myini.
Следующей
переменной будет переменная
F
типа JextFile. Оно будет чи-
тать из созданного нами файла значение и передавать его на-
шей программе. Переменная s типа string как раз и служит для
того, чтобы принимать переданное
F
значение. Следующая пе-
ременная —
dir.
Она будет определять путь к программе и к
нашим ini-файлам. Последняя переменная является массивом —
dialog: array [1. .7] of string
Каждый элемент массива бу-
дет принимать из ini-файла значение сообщения, выводимого
программой пользователю при определенных действиях (на-
пример, при закрытии программы она будет говорить: «До сви-
дания, хозяин!» или же: «Good buy, master!», если выбран анг-
лийский язык). Значения, получаемые
dialog'oM,
представле-
ны в разделе
[dialogs]
наших іпі-файлов.
Теперь, создав все необходимые переменные, выберем в
созданном нами меню Файл>Выход и дважды кликнем на нем.
В появившемся окошке, между словами be g in и end, введем:
C lose;
Этим коротким словом мы заставим программу закрывать-
ся при выборе пункта меню Выход. Но как-то не хорошо ухо-
дить не попрощавшись — поэтому после слова C lose введем:
MessageDlg (d ia lo g [7] , mt in fo rm â t io n , [mbok] , 0) ;
Теперь программа очень вежлива и приятна в общении ©.
Такие же действия нам надо проделать еще несколько раз —
в таблице приведены пункты меню и строки, которые необ-
ходимо вводить для каждого из них.
Мы кликаем дважды на необходимом пункте меню, к при-
меру, на Помощь>Руководство, и между словами be g in и end
вводим, в нашем случае, M e s s a g e D lg (d ia lo g [l] , m tin -
fo rm a tio n , [m bok]. О );.
На данном этапе выполнения лабораторной работы не-
обходимо запустить программу, нажав на панели инструмен-
тов кнопку с подсказкой Run (F9). Другой способ — зайти в
меню Run>Run и запустить программу оттуда. Но ноиболее
удобный и простой способ — нажать кнопку F9 на клавиа-
туре. После запуска программы мы выбираем те пункты ме-
ню, которые указаны в таблице, и проверяем правильность
выводимых сообщений.
Если мы закроем программу не через Файл>Выход, а клик-
нув по крестику в правом верхнем углу, мы не увидим того
самого вежливого сообщения, только что созданного нами
на этот случай. Исправим мы это следующим образом. На-
ходим событие (Event) нашей формы, как раз и отвечающее
за зокрытие программы. Оно так и называется — OnClose
(«ПриЗакрытии»), Привычно дважды кликнув на нем, мы вво-
дим то же что вводили и для Файл>Выход, то есть:
M e s s a g e D lg (d ia lo g [7 ], m tin fo rm â tio n , [m bok], 0 );
Допущенная нами оплошность исправлена, но появился
небольшой глюк — при выходе из программы с помощью
Файл>Выход (File>Exif) «прощальное» сообщение выводится
ТАБЛИЦА
Помощь/Руководство
MessogeDlg(diolog[ 1
],mtinformation, [rnbok],0),
Помощь/ЧаВо
MessogeDlg(diolog[2],mlinformotion,[rnbok],0),
Помощь/Лицензионное соглошение
MessogeDlg(diolog[3],mtinformotion, [mbok],0),
Помощь/Регистроция
MessogeDlg(diolog[4],mtirtformofion,[mbok],0),
Помощь/Об авторе
MessogeDlg(diolog[5],mtinformation,[mbok],0),
Помощь/О программе
MessageDIgJdiologté^mtinformotion^mbok^O);
дважды. Чтобы это не происходило, мы просто удаляем ра-
нее сделанную запись в обработчике
OnClick
пункта меню
Файл>Выход.
Было
Close;
MessageDlg(dialog[7] , mt information, [mbok], 0);
Стало:
Close;
Чтобы наша программа функционировола, необходимо
создать текстовый файл
Lang.txt
в каталоге, где находятся все
файлы нашего приложения. Этот файл должен быть пустым
(пока что). Теперь самое время научить программу уходить
не только вежливо, но и правильно © . Имеется в виду, что
перед тем, как закрыться и освободить занимаемую собой
память компьютера, программа должна записать в создан-
ный нами файл
Lang.txt
значение индекса Com bobox. Индек-
сом
(combobox. itemindex)
называется позиция выбранного
элемента в списке. Все, что записано в выпадающем списке
Combobox, выступает элементами массива. То есть запись
Английский
— это первый элемент,
Русский —
второй,
ite-
mlndex,
являющийся целочисленным (integei) числом, получа-
ет порядковый номер выбранного (другими словами, актив-
ного) элемента в списке. Если выбран
Английский,
значит,
itemindex
получает 1-1 , если Русский — 2~1. Почему —/?
Потому что в Delphi итерация элементов начинается с нуля.
Итак:
procedure TForml.FormDestroy( Sender: TObject);
begin
/ /начинается закрытие программы
//проверяем, не принял ли Itemindex отрицательного
числа
if combobox. Itemlndex<0 then
/ / если принял, просто выходим
exit
else
begin
//если нет, ассоциируем файл Lang.txt с переменной F
assignfile(f, 'Lang.txt');
//командой Rewrite (f) подготовим его для чтения
rewrite (f) ;
/ /запишем в Itemindex значение из файла Lang.txt
writeln(f, inttostr(combobox.Itemindex));
//теперь можно закрыть файл
closefile(f);
end;
//и освободить занимаемую оперативную память нашей
переменной Myini
Myini.free;
end.
Пояснения. Отрицательное число для Itemindex — это ото-
бражение того, что написано в свойстве
Combobox.Text.
Нам это ни к чему, поэтому сразу обезопасим себя от та-
кой записи. Функция
inttostr (combobox. itemindex)
в ка-
честве параметра принимает целочисленное значение
com-
bobox. itemindex'a,
но поскольку переменная
F
является
TextFile'ом, принимать числовые значения она не может, по-
этому «трансформируем» значение
itemindex
в аналогич-
ное, но типа string. Отсюда и название:
intToStr (iNTeger
то
STRing).
Все, при закрытии программа запишет в файл,
в нашем случае О или 1.
После тестирования мы определили, что если перед запуском
программы файл Lang.txtocraBHTb пустым, а перед закрытием про-
граммы ничего не выбирать в Combobox'e, то вместо слов «До
свидания, хозяин!» программа выдаст пустое диалоговое окно. Ес-
МОИ КОМПЬЮТЕР
предыдущая страница 36 Мой Компьютер 2005 06 читать онлайн следующая страница 38 Мой Компьютер 2005 06 читать онлайн Домой Выключить/включить текст