В Delphi имеется мощный встроенный отладчик, значительно упрощающий отладку программ. Основными инструментами отладки являются точки контрольного останова и окно наблюдения за переменными.
(1)Точки контрольного останова
Точка контрольного останова определяет оператор в программе, перед выполнением которого программа прервет свою работу, и управление будет передано среде Delphi. Точка останова задается с помощью опции View|Debug windows|Breakponts.
Окно точек останова содержит список всех установленных в проекте точек, перед выполнением которых происходит прекращение работы программы и управление получает среда Delphi.
Для добавления новой точки следует щелкнуть по окну правой кнопкой мыши и выбрать опцию Add. В этом случае появляется окно, с помощью которого можно указать положение добавляемой точки:
FileName – определяет имя файла;
Line number – номер строки от начала файла (в момент появления окна оно содержит файл и строку с текстовым курсором);
Урок по Delphi 7 | установка
Condition – можно указать условие останова в виде логического выражения (например, MyValue = Мах — Value -12);
Pass count – количество проходов программы через контрольную точку без прерывания вычислений.
Окно точек останова (слева) и окно добавления новой точки (справа)
(2)Окно наблюдения
Наблюдать за состоянием переменной или выражения можно с помощью специального окна, вызываемого опцией View|Debug windows|Watches.
Окно наблюдения используется в отладочном режиме для наблюдения за изменением значений выражений, помещенных в это окно.
Для добавления нового выражения следует щелкнуть по окну правой кнопкой мыши и выбрать опцию New Watch. В строке Expression ввести выражение. Окно Repeat count определяет количество показываемых элементов массивов данных; окно Digits указывает количество значащих цифр для отображения вещественных данных; переключатель Enabled разрешает или запрещает вычисление выражения. Остальные элементы определяют вид представления значения.
Значения переменных можно также посмотреть во время останова программы, наведя курсор мыши на переменную в тексте кода.
Окно наблюдения и окно добавления в него нового выражения
(3)Принудительное прерывание работы программы
Если программа запущена из среды Delphi, ее работу можно прервать в любой момент с помощью клавиш Ctrl+F2, кнопки ESC, опцией Run|Program Pause или, наконец, установив точку контрольного останова в той части программы, которая выполняется в данный момент или будет выполнена.
(4)Трассировка программы
Перед исполнением оператора, в котором установлена точка контрольного останова, работа программы будет прервана, управление получит среда Delphi, a в окне наблюдения отразится текущее значение наблюдаемых переменных и/или выражений.
Теперь программист может прослеживать работу программы по шагам с помощью клавиш F7 и F8 или инструментальных кнопок. При нажатии клавиши F8 будут выполнены запрограммированные в текущей строке действия, и работа программы прервется перед выполнением следующей строки текста программы.
Добавление программы в авто запуск в Delphi 7
Следует заметить, что контрольная точка останова выделяется по умолчанию красным цветом, а текущая прослеживаемая строка – синим. Если программа остановлена в контрольной точке, т. е. когда текущая строка совпадает со строкой останова, строка выделяется красным цветом. Признаком текущей строки является особое выделение строки в служебной зоне слева в окне редактора.
Фрагмент окна редактора в режиме отладки
Чтобы установить/снять точку контрольного останова, достаточно щелкнуть мышью по служебной зоне слева от нужной строки или установить в эту строку текстовый курсор и нажать клавишу F5.
При нажатии клавиши F7 выполняются те же действия, что и при нажатии клавиши F8, однако, если в текущей строке содержится вызов подпрограммы пользователя, программа прервет свою работу перед выполнением первого исполняемого оператора этой подпрограммы, т. е. клавиша F7 позволяет прослеживать работу вызываемых подпрограмм.
После трассировки нужного фрагмента программы можно продолжить нормальную ее работу, нажав клавишу F9.
(5)Действия в точках прерывания
В Delphi с любой точкой можно связать одно или несколько действий. Для этого нужно активизировать окно точек останова, вызвать его локальное меню (щелчок правой кнопкой) и выбрать продолжение Properties. В появившемся окне свойств щелкнуть по кнопке Advanced.
В нижней части окна имеется панель Actions, с помощью которой и определяются действия для точки останова, указанной в верхней части окна:
· Break – останов перед выполнением помеченного оператора;
· Ignore subsequent exceptions – если переключатель установлен, игнорируются все возможные последующие исключения в текущем отладочном сеансе до очередной точки останова, в которой, возможно, это действие будет отменено;
· Handle subsequent exceptions – после установки этого переключателя отменяется действие предыдущего переключателя и возобновляется обработка возможных исключений;
· Log message –можно указать произвольное сообщение, связанное с точкой останова;
· Eval expression – можно вычислить некоторое выражение и поместить его результат в это сообщение.
Окно свойств точек останова
(6)Группировка точек прерывания
В Delphi имеется возможность объединения точек останова в группы. Для этого используется все то же окно (рис. 7.4): в строке Group следует указать имя группы, к которой принадлежит точка, а в строках Enable group и Disable group соответственно разрешить или запретить действие всех точек останова, относящихся к соответствующей группе.
(7)Вычисление выражений и изменение значений
С помощью окна Evaluate/Modify опции Run можно узнать значение любого выражения или установить в переменную другое значение. Это окно вызывается в режиме отладки после нажатия Ctrl+F7.
Окно просмотра изменения значений
В строке Expression можно написать имя переменной или интересующее вас выражение. После щелчка по кнопке Evaluate в поле Result появится текущее значение переменной (выражения). Если в Expression содержится имя переменной, одновременно становится доступной кнопка Modify, а в строке New value повторяется текущее значение переменной. Если изменить эту строку и нажать Modify, в переменную будет помещено новое значение, которое и будет использоваться при дальнейшем прогоне программы (если определяется значение выражения, кнопка Modify и строка New value будут недоступны).
Можно использовать дополнительные кнопки этого окна Watch и Inspect. Если щелкнуть по первой из них, выражение (переменная) из окна Evaluate будет перенесено в окно наблюдений Watch, щелчок по второй отображает выражение (переменную) в специальном окне Inspect.
(8)Ведение протокола работы программы
В ряде случаев бывает неудобно или невозможно пользоваться пошаговой отладкой программ. В таких ситуациях могут помочь контрольные точки, которые не прерывают работу программы, а лишь помещают некоторую информацию в специальный файл трассировки. Для реализации такой точки следует раскрыть окно Run|Add Breakpoint|Source Breakpoint (рис.
7.1), убрать флажок в переключателе Break и написать сообщение в строке Log message. Можно также в строке Eval expression указать выражение, которое будет вычислено и вместе с сообщением помещено в протокол работы программы. Этот протокол можно просмотреть в любой момент (в том числе и после завершения прогона программы) с помощью опции View|Debug Windows|Event Log.
Глава 2. Лекция 6
Источник: studopedia.su
Как запустить программу в делфи 7
Внимание Скидка 50% на курсы! Спешите подать
заявку
Профессиональной переподготовки 30 курсов от 6900 руб.
Курсы для всех от 3000 руб. от 1500 руб.
Повышение квалификации 36 курсов от 1500 руб.
Лицензия №037267 от 17.03.2016 г.
выдана департаментом образования г. Москвы
Знакомство с интерфейсом интегрированной среды разработки Delphi. Создание и запуск приложения
Слободской государственный колледж педагогики и социальных отношений
Дисциплина: Основы объектно-ориентрованного программирования
Лабораторная работа
Тема: Знакомство с интерфейсом интегрированной среды разработки Delphi. Создание и запуск приложения.
- Познакомиться с основными событиями объекта «Форма».
- Научиться создавать и правильно сохранять приложения.
Основные теоретические положения
Основные элементы среды программирования Delphi
Для того чтобы запустить Delphi, выполните команду: Пуск – Программы – Borland Delphi 7 – Delphi 7. Главное окно Delphi Окно Object Inspector Главное меню Палитра компонентов Панель быстрого доступа Дизайнер форм Окно редактирования модуля Комбинированная панель выбора объекта Окно дерева объектов
В интегрированную среду разработки Delphi входит несколько основных элементов. Главное окно Delphi . Главное окно Delphi содержит главное меню, панель быстрого доступа и палитру компонентов. Главное меню позволяет управлять всеми аспектами работы в Delphi из одного места так, что в Delphi не требуется индивидуального меню для каждого окна.
Панель быстрого доступа (или палитра инструментов) содержит кнопки, выполняющие некоторые наиболее часто используемые команды меню. Например, запуск приложения () или переключение между дизайнером форм и окном редактирования модуля (). Палитра компонентов содержит пиктограммы, которые представляют компоненты библиотеки визуальных компонент (VCL).
Окно Object Inspector . Отображает свойства (или события) одного или нескольких выбранных компонентов. Окно инспектора объектов состоит из следующих элементов. Комбинированная панель выбора объекта – это поле, расположенное вверху окна инспектора объектов. Выше на рисунке в комбинированной панели указан объект Form1: TForm1. Страница свойств (Properties).
Для каждого компонента определен список свойств, изменение которых приводит к изменению внешнего вида объекта или к изменению реакции на внешние воздействия. Левая колонка страницы свойств содержит имена свойств, а правая – их значения. Страница событий (Events). Каждый компонент способен реагировать на события, список которых отображен на странице событий инспектора объектов.
Левая колонка страницы событий содержит названия, а правая – имя процедуры-обработчика события. Дизайнер форм . Форма – это визуальное изображение окна приложения. Простые приложения имеют только одну форму, а более сложные приложения могут включать множество таких форм.
Точечная сетка, отображаемая в процессе проектирования приложения, помогает выравнивать помещаемые на форму компоненты. В скомпилированном приложении сетка не отображается. Окно редактирования модуля . Содержит текст модуля на языке Object Pascal, связанный с каждой формой приложения. Delphi автоматически создает этот программный код. Это окно также используется для редактирования других модулей приложения.
Создание приложения
При запуске Delphi автоматически создает новое приложение, с которым Вы можете начать программирование новой задачи. Для удобства работы файлы каждого создаваемого проекта лучше хранить в отдельной папке.
Сохранение приложения
Выберите команду File – Save All. В появившемся диалоговом окне сохранения файла «дойдите» до места, где будете сохранять приложение, создайте новую папку Exercise1, в котором будут храниться файлы первого проекта, созданного в Delphi. В строке Имя файла введите имя Main. Щелкните по кнопке «Сохранить» для сохранения файла модуля, Main.pas, и файла формы, Main.dfm. Создать папку Создать папку
Примечание . Для того, чтобы создать папку щелкните левой клавишей мыши по значку «Создать папку» в верхней части диалогового окна сохранения файла. Затем Delphi с помощью еще одного аналогичного диалогового окна сохранения файла запросит имя проекта. В строке Имя файла введите Exercise1 и нажмите кнопку «Сохранить». Вы создадите файл проекта Exercise1.dpr. Используя программу Проводник Windows, убедитесь в том, что в папке Exercise 1, были созданы три указанные выше файла (и не только).
Запуск приложения
Выберите команду Run из меню Run, или щелкните по кнопке Run панели быстрого доступа. Обратите внимание на внешний вид формы. Во время выполнения приложения исчезла точечная сетка, отображаемая в процессе проектирования. Курсор мыши имеет вид стрелки.
Закройте приложение, для этого щелкните дважды на кнопке системного меню в верхнем левом углу окна; или по кнопке закрытия окна, расположенной в верхнем правом углу. Если вы привыкли работать с клавиатурой, то для закрытия приложения и возврата в среду программирования Delphi нажмите Alt+F4. Если случайно приложение осталось открытым, многие команды Delphi будут недоступными (например, окно инспектора объектов будет недоступно).
Изменение свойств
Свойства влияют на то, как объект выглядит, и на его невидимые черты (поведение). Изменение свойств в ходе проектирования – это простой ручной процесс, который включает выбор желаемого объекта, работу со страницей свойств в окне инспектора и изменение значений желаемых свойств. Свойство Name . В Delphi для каждого объекта имеется свойство Name.
Когда компонент помещается в форму, Delphi автоматически присваивает ему уникальное имя. Наш компонент форма имеет имя Form1. В ходе разработки программы происходит частое обращение к объектам по их именам, поэтому осмысленное присвоение имен компонентам упрощает создание приложений. Назовем форму MainF (описана в модуле Main, буква F говорит о том, что данный объект – это форма (Form)).
В окне инспектора объектов выберите свойство Name и в правом столбце наберите MainF. Это изменение сразу же отображается в комбинированной панели выбора объекта инспектора объектов. Свойство Color определяет цвет. В Delphi предусмотрены предопределенные цветовые константы, которые соответствуют многим общеупотребительным цветам.
Например, при выборе констант clRed или clYellow , цвет формы изменяется, соответственно, на красный или желтый. Кроме того, определены константы для представления системных цветов экранных элементов Win 32. Например, константы clActiveCaption и clHighLightText соответствуют цветам активных заголовков и выделенного цвета в Win 32.
Установите цвет формы, равным clAqua . Свойство Caption определяет заголовок формы. По умолчанию он совпадает с именем компонента. Измените значение этого свойства формы на значение – «Приложение _ВАШЕ_ИМЯ». Свойства Height и ClientHeight задают высоту формы и высоту рабочей области (исключая рамку и заголовок формы), соответственно.
Эти свойства связаны между собой: при изменении значения одного из свойств изменяется и другое. Свойства Width и ClientWidth задают ширину формы и ширину рабочей области формы (исключая рамку формы), соответственно.
Значения этих четырех свойств можно задать, уменьшая (или увеличивая) размеры формы, используя манипулятор мышь, или вводя необходимые значения в правый столбец инспектора объектов. Свойства Top и Left определяют расположение формы на экране, задавая расстояние от верхней границы экрана до верхнего края формы и от левой границы экрана до левого края формы, соответственно.
Кроме свойств, изменение значений которых приводит к видоизменению внешнего вида приложения во время проектирования, существуют свойства, изменение значения свойств которых видимы только после запуска приложения. Свойство Cursor определяет графический вид курсора. В инспекторе объектов измените свойство Cursor, выбрав из списка любое значение.
Запустите приложение, посмотрите, как изменился вид курсора. Значение свойства Cursor, равное crHelp, придает курсору вид стрелки со знаком вопроса. Закройте приложение. Используя свойства Hint и ShowHint , можно отобразить подсказку. Установите значение свойства Hint в «Это форма», а значение ShowHint – в True. Запустите приложение.
Окно подсказки появляется, когда курсор мыши помещается на форму и на мгновение останавливается. Закройте приложение.
Обработка событий
Архитектуру программы, выполняющейся в операционной системе Windows, достаточно сложно нарисовать в виде визуальной схемы. Например, пусть программа только что начала работать. На экране показывается главное меню программы, и пользователь нажимает на кнопку мыши. Нажатие на кнопку мыши является событием, начинает работать определенный объект.
Пользователь мог бы не нажимать кнопку мыши, и тогда работа программы пошла бы по другому сценарию. То есть ситуация типа: может быть, а может и не быть.
В вероятностной структуре (это структура, в которой не все маршруты, трассы кодов жестко закреплены; в этой архитектуре элементы программ могут включаться при возникновении некоторого события, которое может произойти, а может и не произойти) сильно увеличивается количество возможных состояний и сценариев работы программы. Здесь пользователь определяет порядок работы программы.
Приложения Delphi используют управляемые событиями методы для организации взаимодействия между программой и пользователем. Большую часть кода, которую вы будете писать в Delphi, будет инициироваться событиями. В принципе событием может быть изменение любой величины.
Происхождение события заставляет работать определенный объект, при этом объект получает заранее определенные параметры для своей настройки на работу. В Delphi процедура, инициируемая событием, называется обработчиком события. События делятся на три основные категории: события мыши, события клавиатуры и системные события.
События мыши
Для формы событие OnClick возникает в том случае, если пользователь нажимает левую кнопку мыши в то время, когда курсор мыши находится на поле формы. Упражнение 1. Напишите приложение, которое при нажатии левой кнопки мыши перекрашивает форму в синий цвет. Решение Создайте обработчик события OnClick: выберите страницу Events инспектора объектов и выполните двойной щелчок мышью в правой колонке, напротив события OnClick. На переднем плане появится окно редактирования модуля с помещенной сразу в нужное место модуля заготовкой обработчика события OnClick.
В обработчике события указан параметр Sender, в котором хранится имя объекта, породившего данное событие (в примере Sender будет содержать ссылку на объект MainF – форму). Для изменения цвета формы в обработчике события OnClick напишем следующий оператор: procedure TMainF.FormClick(Sender: TObject); begin MainF.Color := clBlue (*) end ; Поясним оператор (*). MainF – это название объекта формы. Color – это свойство формы.
Обращение к свойствам объекта происходит так же, как и в структуре данных записи, через точку. Запустите приложение. Щелкните левой кнопкой мыши по форме. Убедитесь, что цвет формы стал синим. При повторном щелчке опять возникнет событие OnClick форма снова становится синей, но пользователю это не видно.
Упражнение 2. Напишите приложение, в котором при каждом щелчке левой кнопкой мыши произвольным образом изменяется цвет формы. Решение Модифицируем код модуля Main.pas. Для получения различных цветов для формы воспользуемся функцией RGB.
Функция RGB(Red, Green, Blue) принимает три параметра — уровни интенсивности красного, зеленого и синего цвета, соответственно, и возвращает цвет Win32 как целое значение. Для каждого уровня интенсивности существует 256 возможных значений. Например, RGB(255, 0, 0) возвращает цветовое значение для красного цвета, а RGB(255, 0, 255) – сиреневого цвета.
Итак, щелчок левой кнопкой мыши по форме порождает событие OnClick формы, т.е. приводит к обращению к процедуре TMainF.FormClick, в результате чего выполняется оператор (*) – изменение цвета формы на синий. Изменим оператор (*) в соответствии с формулировкой задачи: procedure TMainF . FormClick ( Sender : TObject ); begin Color := RGB(Random(256), Random(256), Random(256)); (**) e nd ; Сравните правые части операторов (*) и (**).
Оператор (*) изменяет цвет конкретного объекта типа TMainF (под именем MainF). Оператор (**) позволяет изменить цвет любого объекта типа TMainF, следовательно, этот оператор более общий, и далее будем использовать его при обращении к форме. Запустите приложение. Убедитесь, что после каждого щелчка по форме левой кнопкой цвет изменяет произвольным образом.
Упражнение 3. Напишите приложение, в котором при нажатии на левую кнопку мыши происходит смена цвета с голубого на синий, и, наоборот, с синего на голубой. Решение При щелчке по левой кнопке мыши происходит событие OnClick. В соответствии с условием задачи в обработчике события OnClick формы необходимо проанализировать свойство Color формы: если его значение соответствует синему, то изменить его на голубой ( clAqua ), иначе присвоить значение clBlue . На языке Object Pascal это записывается так : procedure TMainF.FormClick(Sender: TObject); begin if Color=clBlue then Color:=clAqua else Color:=clBlue; e nd ; Сохраните приложение, запустите его. Проверьте выполнение условия задачи.
- Конспект теоретической части
- Работающие программы на ЭВМ
- Коды программ с пояснениями в тетради
- Схема окон приложений
- Файлы проекта и исполняемые файлы в отдельных папках.
Источник: doc4web.ru
Delphi: Пишем шаблон клиент-серверного приложения
Продолжая тему разработки собственной утилиты администрирования, в данной статье я рассмотрю типовой шаблон программы клиент-сервер, на базе которой можно разрабатывать собственные клиент-серверные приложения. Данный типовой шаблон для простоты понимания и удобства применения будет рассмотрен на примере компонентов ClientSocket и ServerSocket.
Примечание
Для тех, кто не в курсе, что значит клиент-серверное приложение, поясню: это комплекс программ (модулей) состоящий из двух частей — клиентской и серверной. Серверная часть является «главной»- так называемый командный пункт, на который возложена задача поддержания связи со всеми клиентами и раздача команд управления, соответствующих их функционалу (управление клиентами). Клиентская же часть является второстепенной, но не менее важной, так как является важным и связующим элементом, позволяющим выполнять удаленные команды (функции) на компьютере, на котором установлен.
>Компоненты ClientSocket и ServerSocket, которые мы будем использовать, находятся на вкладке Internet. Если на этой вкладке у Вас нет этих компонентов (а по умолчанию при установке Delphi7 они не ставятся), необходимо установить их самостоятельно (пакет dclsocketsXX.bpl).
Данный пакет можно найти на установочном диске Delphi7 (или в папке «C:Temp», куда распаковывается дистрибутив перед установкой — «C:Tempdelphi7installprogram filesborlanddelphi7bin») или можете его скачать отсюда. Чтобы установить данный пакет, запустите Delphi7. Зайдите в меню Component->Install Packages. В появившемся окне нажмите кнопку «Add» и укажите место, где расположен пакет dclsocketsXX.bpl. После этого жмите ОК.
Компонент на месте.
Надеюсь все объяснил доступно =). А теперь приступим к делу и начнем мы с серверной части. Для этого создадим проект и скинем на форму компонент ServerSocket. В настройках компонента ServerSocket укажем следующее:
Active = false
Name = ss
Port = 4321
ServerType = stNonBlocking
А также для удобства скинем компонент Memo, в который будем выводить всякую инфу. Дадим имя компоненту log.
Далее, для компонента ServerSocket определяем метод onClientConnect, чтобы определять момент подключения клиентов. Вставим следующий код:
Источник: zetblog.ru