русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

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

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Создание главного меню


Дата добавления: 2014-12-02; просмотров: 835; Нарушение авторских прав


омпонент Delphi MainMenu предназначен для добавления к программе главного меню, элемента, без которого не обходится ни одно из приложений для Windows.
Чтобы добавить к программе Delphi главное меню, нужно расместить на Форме в произвольном месте компонент MainMenu. Компонент MainMemuневизуальный, то есть, хотя и отображается на прототипе Формы как небольшой квадрат, в работающей программе не будет виден. Опции главного меню создаются с помощью специального редактора. Редактор меню вызывается с помощью двойного щелчка по компоненту MainMenu.

Для создания первой опции (как правило, опция главного меню программы File) нужно перейти в Инспектор объектов и свойству Caption присвоить нужное название. В Windows опции меню, как правило, имеют возможность выбора при помощи сочетания клавиш ALT+<Key>, где Key - первая буква в названии данной опции должна иметь подчеркивание. Для создания такого подчеркивания перед этой буквой ставится символ &. После нажатия Enter созданный пункт меню появляется на Форме:
Обратите внимание на то, что автоматически Delphi создаёт следующий пустой пункт меню верхнего уровня. А щёлкнув в редакторе меню по синему прямоугольничку File, мы сразу получим пустой пункт меню второго уровня. Они не выделены, и отображаются белыми прямоугольниками. Щелкнув по одному из них, мы получим возможность редактировать его совершенно аналогично. Пока их свойства не заданы, в работающей программе на Форме они не появятся, и удалять в редакторе их не нужно.

Далее, в редакторе меню щёлкнув по пункту меню правой клавишей мыши, мы получим контекстное меню, в котором есть пункты Insert (вставить) и Delete (удалить). Пункт Insert добавляет новый пункт меню над выделенным, а Delete - удаляет выбранный пункт.

То, что мы пользуемся Инспектором объектов, говорит о том, что опция меню для Delphi - это объект, со своими свойствами и методами. И без их настройки будет пассивной структурой надписей. Для того чтобы меню выполняло свои функции, как минимум нужно описать обработчик события OnClick каждого пункта меню. Делается это совершенно стандартным способом. Опишем пункт меню, который будет закрывать программу.



Выделим нижний элемент меню, в Инспекторе объектов изменим свойство Caption на Exit (ну или по-русски тоже можно - Выход). Затем перейдём на вкладку Инспектора объектов Events и щелкнем дважды мышкой по обработчику OnClick. В созданной процедуре напишем просто - Close; Всё, скомпилируем программу (нажмите F9). В работающей программе наше меню функционирует - при нажатии мышкой Exit программа закрывается. И при нажатии на клавиатуре ALT появляется подчеркивание первой буквы пунктов меню верхнего уровня - File, и далее можно выбрать нужный пункт, работая кнопками управления курсором.

Во всплывающем меню выделенного элемента есть также пункт Create SubMenu, нажав на который мы создадим подменю выбранного элемента, а к его названию прибавится изображение треугольника - стрелки, указывающей на его наличие. Работа с подменю осуществляется также совершенно аналогично.

Кстати, описывать обработчик OnClick пунктов меню верхнего уровня не обязятельно, раскрывание меню при щелчку мышкой происходит автоматически. Но в случае необходимости произвести какие-либо действия при раскрытии меню этот обработчик позволит это сделать.

Наш компонент MainMenu обладает также возможностью сопровождать названия опций меню пиктограммами. Для этого нужно из редактора меню перейти к самому компоненту, и в Инспекторе объектов его свойству Image присвоить значение одного из компонентов ImageList, который необходимо предварительно поместить на Форму, и наполнить нужными пиктограммами (компонент ImageList описывается на странице Win32). Далее, выбрав нужный пункт меню в редакторе меню, его свойству ImageIndex нужно присвоить номер пиктограммы, который она имеет в компоненте ImageList. Для удобства выбора свойство ImageIndex имеет раскрывающийся список, содержащий пиктограммы, находящиеся в компоненте ImageList. Значение -1означает отсутствие пиктограммы.
Текстовые файлы

31Текстовые файлы.

Открытие файла как текстового еще не значит, что он обязательно содержит удобочитаемый текст, который пользователь может просмотреть в текстовом редакторе. Вполне можно с помощью доступа к файлу как к текстовому хранить в нем совсем не текстовую информацию. Все зависит от того, что мы хотим читать и записывать и как в данном случае удобнее это делать.

Если рассматривать структуру текстового файла, то он содержит символы, организованные в строки. Символы же могут быть любыми (даже невидимыми при выводе на экран).

Текстовые файлы открываются и закрываются так же, как и любые другие. Но процедуру Reset в текстовых файлах можно использовать лишь для их чтения. Для записи текстового файла его нужно открыть с помощью Rewrite (в этом случае создается новый файл) или использовать процедуру Append:

procedure Append(var F: Text);

Она открывает текстовый файл (именно текстовый, с другими типами файлов процедура Append не работает) для дополнения, то есть новые строки текста будут добавляться в конец файла после существующих строк. Если открывать текстовый файл с помощью Rewrite, то он будет доступен для записи, но строки будут добавляться в начало файла.

Рассмотрим примеры работы с текстовыми файлами:

Формирование текстового файла

Создайте новый проект, поместите на форму кнопку и дважды щелкните на ней, чтобы попасть в окно редактора кода.

Введите эту процедуру вместо пустой.

Листинг 8.1
procedure TForm1.Button1CI ick(Sender: TObject);
var
F: TextFile;
begin
AssignFi le(F,myf i le.txt);
Rewrite(F);
WriteLn(F,Привет! Это первая строка в текстовом файле);
CloseFi le(F);
end;

После запуска программы при нажатии кнопки будет создан файл myfile.txt в той же директории, где расположена запускаемая программа. В файл запишется строка текста, а затем он будет закрыт.

Добавление строк в файл

Теперь можно попробовать добавить в файл строки. Сделаем для этого еще одну кнопку на форме (Button2) и запишем в процедуру Button2Click такой код.

Листинг 8.2
procedure TForm1.Button2CI ick(Sender: TObject);
var
F: TextFile;
begin
AssignFile(F,myfi le.txt);
Append(F);
WriteLn(F,Хлебом не корми, дай только строки добавлять!);
CloseFi le(F);
end;

Пока примеры маленькие и скучные. Когда рассмотрим большее количество процедур и функций, можно будет писать соответствующие программы.

Чтение файла

И еще один пример работы с текстовыми файлами. На этот раз — чтение файла, в котором что-то написано. Поместите на форму еще одну кнопку (третью) и рядом с ней компонент Memol. В процедуру Buttons. Click введите код.

Листинг 8.3
procedure TForm1.Button3CI ick(Sender: TObject);
var
F: TextFile;
s: String;
begin
AssignFile(F,myfile.txt);
Reset(F);
ReadLn(F.s); // читаем строку из файла в Memol
Memol. Lines.Add(s); // добавляем строки в Memol
CloseFi le(F);
end;

Данная программа прочитает только первую строку из файла. Чтобы прочитать все строки, нужно изменить процедуру до такого вида.

Листинг 8.4
procedure TForml.ButtonSCI ick(Sender: TObject);
var
F: TextFile;
s; String;
begin
AssignFile(F,myfile.txt);
Reset(F);
whi le not Eof(F) do
begin
ReadLn(F.s); // читаем строку из файла в Memo"!
Memol.Lines. Add(s); //добавляем строки в Memo!
end;
CloseFi le(F);
end;



<== предыдущая лекция | следующая лекция ==>
Классы exception | Типизированные файлы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.