От Delphi 4 к Delphi 5 часть 42От Delphi 4 к Delphi 5 Палитра компонентов Страница FASTNET. Компоненты этой страницы (рисунок 1) предоставляют программисту возможность использования различных протоколов для передачи деловых сообщений и данных по локальным или глобальным сетям, в том числе и по Internet. В Delphi 4 они размещались на странице Internet. Назначение компонентов, входящих в FastNet рассмотрено на занятии 10 (КГ ЂЂЂ17(309) от 8 мая 2001). Управление процессом отладки приложения, временные контрольные точки. Команды раздела Run меню Delphi управляют процессом отладки. Чтобы запустить приложение под присмотром отладчика, вы выбирали команду Run или клавишу F9, в результате чего приложение начинало выполняться. Для прерывания приложения и перехода в режим отладки используется команда Program Pause. В итоге вы получаете возможность использовать любые средства отладчика. Чтобы продолжить выполнение программы, необходимо снова выбрать команду Run. Процесс отладки можно прервать с помощью команды Program Reset или комбинации клавиш Ctrl + F2. Если вы сразу хотите вызвать отладчик на определенной строке программы, вам не надо устанавливать контрольную точку. Для этого необходимо поместить курсор на необходимую строку программы и нажать клавишу F4, или можно открыть меню Run и выбрать команду Run to Cursor (рисунок 2). Произойдет запуск программы на компиляцию и выполнение ее до указанной курсором строки. Эта команда очень удобна, когда выполняются циклы. Если вы попали в цикл программы, то чтобы не выполнять все его итерации по шагам, поместите курсор на следующую строку, за операторами тела цикла, и нажмите F4. Таким же образом можно пропустить ту часть отлаживаемой программы, анализ которой не нужен. Вы можете сразу перейти в режим отладки до выполнения своей программы. Находясь в Редакторе кода, нажмите клавишу F8 или откройте меню Run и выберите команду Step Over . Среда Delphi откомпилирует вашу программу и перейдет в режим отладчика, остановившись на ключевом слове begin файла модуля вашего проекта . Как только достигается контрольная точка, ваша программа останавливается, и Delphi переходит в режим отладчика. Вы не можете взаимодействовать с вашей программой до тех пор, пока не запустите ее снова. Среда Delphi в этом случае предусматривает различные способы запуска программ. Простейший способ заставить вашу программу работать ЂЂЂ нажать клавишу F9 или открыть меню Run и вызвать команду Run . Ваша программа будет работать обычным образом с полной скоростью, как будто нет никаких контрольных точек. Использование других способов может привести к зависанию вашей программы и компьютера, что приведет к потере не сохраненных данных. Старайтесь чаще производить сохранение, если в этом есть необходимость. Обеспечение пошагового выполнения программы. Среда Delphi позволяет вам выполнять вашу программу по шагам, команда за командой. На каждой строке своей программы вы сможете следить за результатом выполнения, контролировать значения переменных и вообще видеть, что программа делает. Есть три способа пошагового выполнения программы: нажать клавишу F7; открыть меню Run и выбрать команду Trace Into; щелкнуть кнопку Trace Into на инструментальной линейке панели быстрого доступа. Вне зависимости от того, какой способ вы используете, Delphi выполняет текущую строку программы и переводит указатель вставки на строку, которая будет выполняться следующей (рисунок 3). В том случае, если вы собираетесь по шагам пройти пару строк программы, то быстрее всего делать это, нажимая клавишу F7. Пошаговое выполнение, известное еще как трассировка, позволяет Delphi прослеживать работу программы и внутри вызываемых функций, если это возможно. Если, например, у вас предусмотрен вызов функции, Delphi вызовет эту функцию и оставит курсор на первой строке внутри функции. Если функция не имеет отладочной информации, Delphi вызовет функцию, но не проследит выполнение внутри ее, а оставит курсор на следующей строке программы. С помощью команды Trace Into или клавиши F7 вы можете выполнять команду по шагам, т.е. трассировать ее. Выбор данной команды позволяет выполнять одну строку исходного кода. Если в строке записан вызов подпрограммы, начинается трассировка по тексту подпрограммы (библиотечные процедуры и функции выполняются без трассировки за одно нажатие клавиши F7 ). В некоторых случаях вам не нужно и нежелательно прослеживать выполнение внутри функции. Вы уверены, что эта функция свободна от ошибок и не связана с проблемой, с которой вы столкнулись. В этом случае Delphi позволяет вам переступить через вызов функции или строку кода. У вас есть возможность перешагнуть команду тремя способами: нажать клавишу F8; открыть меню Run и выбрать Step Over; нажать кнопку Step Over на инструментальной линейке панели быстрого доступа. Даже если вы перешагнете через команду, эта команда все равно выполняется. Перешагивание через строку, не содержащую вызова функции, полностью аналогично пошаговому выполнению. Единственное различие появляется, когда вы перешагиваете через строку, содержащую вызов функции, для которой имеется отладочная информация. Не переступайте и не шагайте по слишком многим строкам кода. Если вы не хотите смотреть, что происходит на каждой строке, переведите курсор на ту строку кода, к которой вы хотите перейти, и нажмите клавишу F4. Среда Delphi выполнит вашу программу до строки, где установлен курсор. При трассировке подпрограмм, для которых отладочная информация отсутствует, удобной и полезной оказывается команда Trace to Next Source Line (Shift + F7) . Пусть программа выполняет некоторое действие (например, устанавливает свойство Text компонента Edit ), в результате которого генерируется событие (для компонента Edit ЂЂЂ это событие OnChange ). Допустим также, что в приложении определен обработчик этого события. Тогда трассировка оператора установки свойства с помощью команды Trace to Next Source Line передаст управление на метод обработки события (в данном случае OnChance), т.е. на первые операторы, для которых была обнаружена отладочная информация. Этого не позволяют сделать команды Trace Into и Step Over. Компонент Panel. Построение строки состояния. Строку состояния легче построить, чем инструментальную линейку. Среда программирования Delphi содержит специальный компонент StatusBar, основанный на специальном управляющем элементе системы Windows . Хотя вы можете использовать компонент Panel, помещать его в форму, обычно выравниваемый в ее нижней части, и определять для него правильный трехмерный эффект. Строка состояния используется для многих целей. Наиболее часто ее используют для вывода на экран информации об элементе меню, который в настоящее время выбран пользователем. Кроме того, строка состояния часто выводит на экран информацию о программе (т.е. ее название). Например, вы можете вывести на экран положение курсора в графическом приложении, текущую строку текста в текстовом процессоре, состояние клавиш блокировки, время и дату или другую информацию. Рассмотрим пример использования компонента Panel для построения строки состояния. Запустите Delphi. Сохраните файл модуля под именем PanBar_.pas, а файл проекта ЂЂЂ PanBar.dpr. Поместите на форму компонент Panel. Используя свойство Align, в инспекторе объекта на странице Properties выберите для компонента Panel значение alBottom. Panel разместится в нижней части формы. Поместите на форму два компонента Button1 и Button2. Пусть в вашем приложении щелчок по данным кнопкам приводит к различным действиям. Напишите программный код, позволяющий отображать текстовую информацию на панели, используемой как строка состояния в приложении, в тот момент, когда происходит активизация данных кнопок. Для этого используйте двойной щелчок в окне справа от события OnEnter на странице Events инспектора объекта, для компонентов Button. procedure TForm1.Button1Enter(Sender: TObject); begin Panel1.Font.Size:=24; Panel1.Font.Color:=clRed; Panel1.Caption:='Активизирован компонент Button1'; end; procedure TForm1.Button2Enter(Sender: TObject); begin Panel1.Font.Size:=24; Panel1.Font.Color:=clGreen; Panel1.Caption:='Активизирован компонент Button2'; end; Вы можете задать размер шрифта и цвет шрифта отображаемой информации. Рекомендуется следующее цветовое кодирование в зависимости от вида информации. Использование красного цвета (дополнительный оранжевый) применяется для запрещающей информации, которая носит аварийный характер, т.е. накладывает строгие ограничения на выполнение или запрещение тех или иных действий, указывает на неготовность к работе или неисправность. Зеленый цвет (дополнительный синий) используется для информации, которая носит командный характер, требует или разрешает выполнение строго определенных действий, указывает на готовность к выполнению тех или иных действий. Желтый цвет (дополнительный белый) используется для информации, которая носит осведомительный характер, дает рекомендации для выполнения тех или иных действий, оставляя за пользователем право выбора окончательного решения. Дополнительный цвет применяется для выделения особо важной информации (например, для информации, требующей экстренного принятия решения). Следующий программный код позволяет отображать на панели положение курсора на форме при движении мыши по коврику: procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Panel1. Caption:='Координата X = ' + IntToStr(X); Panel1.Font.Size:=18; Panel2. Caption :='Координата Y = ' + IntToStr(Y); Panel2.Font.Size:=18; end; Для реализации данного примера необходимо поместить в нижней части формы (рисунок 4) два компонента Panel. Следующий пример позволяет отображать на компоненте Panel координаты курсора (рисунок 5) на форме при нажатии левой кнопки мыши: procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Panel1.Caption :='(' + IntToStr(X) + ',' +IntToStr(Y) +')'; end; end; Поместите на форму компонент CheckBox. Нижеприведенный программный код позволит отображать в строке состояния сообщение о том, в каком положении находится компонент CheckBox, а именно, помечен или нет. procedure TForm1.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked then Panel1.Caption:='Чекбокс помечен' else Panel1.Caption:='Чекбокс не помечен'; end; Вы можете также выдавать на панель текущее время, в момент необходимый для вас (рисунок 6). Программный код следующий: procedure TForm1.Button1Click(Sender: TObject); begin Panel1.Caption := 'Время ' + TimeToStr(Time); end; Таким образом, используя компонент панель, вы можете сами создавать строку состояния на нем. Оформление ее полностью лежит на ваших плечах. Но вы можете использовать возможности специального компонента StatusBar, который окажет вам помощь в выводе необходимых сообщений в приложении. Вы можете организовать всплывающие подсказки меню в строке состояния, выводить на экран описание текущего элемента меню. В форме, конечно, может быть главное меню, и когда пользователь перемещается в нем, чтобы выбрать элемент, программа может выводить на экран в строке состояния описание текущей команды. Для этого вам нужно сделать два шага. Сначала (первый шаг) ввести строку как свойство Hint каждого элемента. Затем (второй шаг) написать некоторый код для обработки события OnHint приложения. Вам нужно добавить вручную новый метод в форму и затем его присвоить свойству OnHint объекта Application (например, когда создана форма): procedure TForm1.FormCreate(Sender: TObject); begin Application.OnHint := ShowHint; end; В интерфейсной части кода формы вы можете добавить следующее определение: procedure ShowHint(Sender: TObject); Эта процедура копирует текущее значение свойства Hint приложения, которое временно содержит копию всплывающей подсказки выбранного элемента, в строку состояния: procedure TForm1.ShowHint(Sender: TObject); begin StatusBar1.Panels[0].Text := Application.Hint; end; Чтобы построить пример, приведенный выше, необходимо копировать группу компонентов из одного приложения в другое. Это весьма просто. Откройте исходный пример, выберите несколько компонентов (в нашем случае панель и некоторые быстрые кнопки, содержащиеся в ней), копируйте их в буфер обмена, а затем переместитесь в форму-адресат и вставьте их в нее. Всплывающая подсказка в любом месте экрана. Для формирования всплывающей подсказки в любом месте экрана, которое вы определите, используйте процедуру DoShowHint. Чтобы понять, как это сделать, поместите три компонента Button на форму. Для компонента Button3 определите подсказку в рамке с цветом фона рамки отличным от стандартного, размер рамки определите с заданными параметрами по ширине, координаты и время появления всплывающей подсказки также можете определить сами. Программный код, показанный ниже, понятен, комментарии приведены в фигурных скобках, предусмотренных для комментариев. Единственное условие, после того, как поместите кнопку на форму, задайте свойству ShowHint значение True. На рисунке 7 показан процесс отображения всплывающей подсказки в заданн
содержаниеновый сайт КГ ЂЂЂ информация редакция
562-14-21 [МТС]630-29-63 [Velcom]skype: www.pk.byicq: 219-068-786
Более 100 м2 площадей мастерских, десять опытных, высококвалифицированных инженеров, огромная база запчастей
Высококлассный сертифицированный сервисный центр по ремонту:
Комментариев нет:
Отправить комментарий