| |||||
Delphi - это просто ! Часть 2Dj Kiry, DjKiry@mail.ru В прошлой части мы позмакомились с Delphi и создали простенькую программу, которая спрашивала ваше имя и говорила "Привет, <Имя пользователя>", а сегодня мы усовершенствуем нашу программу и познакомимся с новыми приемами работы. Как вы помните, если ввести пустую строчку в нашей предыдущей программе, то программа вывела бы сообщение "Привет, ", так как у компонента "PoleVvoda" свойство "Text" так и осталось пустым. Чтобы это исправить, давайте добавим еще немного "сухого" английского. Теперь наша процедура выглядит так : procedure TForma.KnopkaClick(Sender: TObject); Давайте сначала все это переведем и вам все сразу будет понятно без моих комментариев : Процедура TForma.KnopkaClick(Sender: TObject); Неправда ли, просто? Но давайте поясним несколько моментов - конечно же, экземпляр процедуры на русском недействителен, он просто приведен для того, чтобы показать ее дословный перевод. Также может возникнуть вопрос - " Почему вы не написали " ; " после действия ShowMessage('Введите имя !!!') ? ". Присмотритесь повнимательней - она же еще не закончена ! Чтобы это доказать - прочитайте эту процедуру, как предложение и все поймете. Ну вот - теперь нажимайте на кнопку запуска программы и испробуйте все это в действии. А теперь давайте сделаем программу, которая ничего не спрашивает у пользователя, но все равно здоровается с ним по имени. Вы думаете, что это невозможно, но Вы глубоко ошибаетесь, ведь сама Windows располагает сведениями о пользователе, а хранятся они в системном реестре. Итак, начнем : Для начала создадим новый проект командой главного меню " Файл ( File ) > Создать ( Create ) > Приложение ( Application ). Никаких компонентов на форму мы не ставим, а Свойству "Name" формы придадим значение "Forma". Появление сообщения сделаем на событие активации формы, но делать это мы будем не как обычно, так как если щелкнуть по форме два раза, то вызовется событие по умолчанию - "OnCreate". Для того, чтобы вызать событие "OnActivate" ( на активацию ) надо с инспекторе объектов выздать вкладку "События" ( "Events" ), затем найти там соответствующее событие и щелкнуть в пустом поле рядом с ним два раза. Процедура создалась, и мы перешли к коду. Давайте сначала взглянем на то, что у нас получится, а потом я все поясню : procedure TForma.FormActivate(Sender: TObject); Первое, что вам бросается в глаза - это незнакомое слово "Var". Слово "Var" в переводе с английского означает переменная, то есть после этого слова мы можем указать все переменные, которые вам нужны. Переменные указываются так : <Название переменной>: <Ее тип>. Называть переменную можно как угодно, но только английскими буквами ( Лучше всего называть ее словом так, чтобы было сразу понятно, что делает эта переменная ). Тип переменной должен быть строго определен и в ходе уроков я попытаюсь упомянуть обо всех. В нашем случае переменная "Reestr" отвечает за тип "TRegistry", т.е. отвечает за реестр. Переменная "Name" отвечает за имя пользователя и имеет тип "String" ( "строка" ). Хорошо, идем к коду. При прочтении первой строчки возникают незнакомые символы ":=" - это оператор присвоения. В данном случае переменной "Reestr" мы присваиваем значение создать объект реестра. В следующей строчке переменной "Reestr", ее свойству "RootKey" ( корневой ключ ) придаем значение "HKEY_LOCAL_MACHINE" и открываем в нем ключ реестра "SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION" ( для Win 95/98/me - "SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION" ). Присваиваем значение свойству "Name" значение параметра "RegisteredOwner", которое имеет значение пользователя Windows. Во все это углубляться необязательно - мы просто считали из реестра имя пользователя. После этого показываем сообщение "Привет, "+<Имя пользователя>, которое хранилось в реестре. Попробуйте запустить программу... Упс !!! Ошибка !!! Эту ошибку я сделал специально, чтобы показать, что Delphi не сделает файл, пока все ошибки не будут устранены. А ошибка следующая - мы не сообщили программе, что будем работать с реестром, а сделать это надо так - перейдите к коду программы и поднимитесь в самый ее верх. Там Вы найдете ключевое слово uses (используется), а после него большой список всего используемого. Допишите туда слово "Registry". Этим мы сообщили программе, что собираемся работать с реестром. Запустите программу еще раз. Все!!! Работает!!! Но, правда хотелось бы сделать, чтобы после показа сообщения программа закрывалась. Это легко - допишите в конец нашей процедуры "OnActivate" строку "Close;" Все, в конце код программы должен получиться такой :
На этом уроке мы познакомились с доступом к системному реестру, обработкой исключительных ситуаций и переменными. Читайте продолжение в следующем выпуске. Сайт автора: Http://DjKirySoft.narod.ru
| |||||
Copyright © "Internet Zone", info@izcity.com Копирование и использование данных материалов разрешается только в случае указания на журнал "Internet Zone", как на источник получения информации. При этом во всех ссылках обязательно явное указание адреса вэб-сайта http://www.izcity.com/. При наличии у копируемого материала авторов и источника информации - их также нужно указывать, наряду со ссылкой на нас. Подробнее условия использования материалов смотрите здесь. |