sonyps4.ru

Среда проектирования delphi 7 и его возможности. Выбор среды разработки Delphi

VBA в Excel

Программирование в Excel с помощью VBA.

Язык VBA позволяет писать макросы в Excel. Как это делать рассматривается ниже.

Application

Application - это объект, занимающий вершину иерархии объектов в Excel. Application – это и есть Excel. Вот примеры использования Application:

окно нормальных размеров

Application.WindowState = xlNormal

окно максимальных размеров

Application.WindowState = xlMaximized

Workbooks

Workbooks - это коллекция рабочих книг, которые открыты. Каждая рабочая книга представлена объектом Workbook. Узнать сколько рабочих книг сейчас в коллекции можно так:

Dim bookCount As Integer
bookCount = Workbooks.Count
MsgBox ("Opened books = " & bookCount)

Обатиться к нужной рабочей книге в коллекции Workbooks можно обратиться по его номеру или по имени:

Workbooks.Item(2).Activate

здесь мы активизировали второй элемент коллекции Workbooks.

Другие примеры мы увидим ниже.

Workbook

Workbooks.Item(1).Save

И где же в этом примере рабочая книга Workbook? Здесь: Workbooks.Item(1), это выражение возвращает первый элемент коллекции Workbooks, а это и есть Workbook.

Закрыть рабочую книгу:

Workbooks.Item(1).Close

Sheets

Sheets - это все листы рабочей книги. Листы рабочей книги представлены двумя типами: рабочие листы - это обычные листы Excel и второй тип - это листы диаграмм. Те и другие и составляют коллекцию Sheets.

Charts

Charts - это только диаграммы рабочей книги.

Chart

Chart - это объект, представляющий одину диаграмму. Если диаграмма содержится в обычном рабочем листе, то она объектом Chart не является.

Worksheets

Worksheets - это только рабочие листы рабочей книги.

Добавим рабочий лист в коллекцию Worksheets:

Worksheet

Worksheet - это один лист рабочей книги Excel.

Все ячейки рабочего листа Worksheet:

Worksheets("Лист1").Cells

Range. Работа с ячейками в Excel

Range - это одна ячейка листа или несколько ячеек. Этот объект рассмотрим подробнее. Установим кнопку на рабочий лист Excel. Откройте панель инструментов «Элементы управления» (правой кнопкой по свободному полю панели инструментов и выбираем из выпавшего меню). В этой панели выбираем кнопку и устанавливаем её на свободное место рабочего листа, в его правой части. Правой кнопкой мыши по нашей кнопке - > Свойства. Установите значение свойства Name - CommandButton, а свойства Caption - Range Test.

Получаем:

Закройте окно свойств кнопки, и кликаем по нашей кнопке правой кнопкой мыши, из выпавшего меню выбираем «Исходный текст». Открывается окно редактора VBA, оно называется Microsoft Visual Basic. В нём уже есть заготовка обработчика нажатия на кнопку CommandButton:

Кстати, помотрите на эту заготовку, ключевое слово Sub говорит, что это процедура, а слово Private указывает, что эта процедура видна лишь в данном модуле.

Всё у нас готово для начала изучения работы с ячейками рабочего листа Excel.

Как задать активную ячейку?

Сделаем активной ячейку A2:A2:

Private Sub CommandButton_Click()
Range("A2:A2").Activate
End Sub

Для начала в качестве примера рассмотрим простую процедуру VBA типа Sub. Она хранится в модуле VBA и вычисляет сумму первых ста положительных целых чисел. По окончании вычислений процедура отображает сообщение с результатом.

Sub VBA_Demo()
" Пример простой процедуры VBA
Dim Total As Long, i As Long
Total = 0
For i = 1 To 100
Total = Total + i
Next i
MsgBox Total
End Sub

Скачать заметку в формате или

В этой процедуре применяются некоторые популярные элементы языка:

  • комментарий (строка, начинающаяся апострофом);
  • оператор объявления переменной (строка, начинающаяся ключевым словом Dim);
  • две переменные (Total и i);
  • два оператора присваивания (Total = 0 и Total = Total + i);
  • циклическая структура (For–Next);
  • функция VBA (MsgBox).

Комментарии

Вы можете использовать для комментария новую строку либо вставить комментарий после инструкции в той же строке.

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

Переменные, типы данных и константы

Переменная представляет собой именованное место хранения данных в памяти компьютера. Переменные могут содержать данные разных типов. Вы можете использовать в названиях буквы, числа и некоторые знаки препинания, но первой в имени переменной всегда должна вводиться буква. VBA не различает регистры в названии переменных. Нельзя использовать в именах пробелы или точки, но можно разделять слова нижним подчеркиванием.

В VBA используется очень много зарезервированных слов, которые не допускается применять в качестве названий переменных или процедур.

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

Рекомендуется выбирать тот тип данных, в котором используется минимальное количество байтов для хранения значений. Для проведения математических вычислений в рабочих листах Excel использует тип данных Double. Его рекомендуется применять и в процессе обработки чисел в VBA для обеспечения той же точности вычислений.

Существуют три типы областей действия переменных:

Работа с константами

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

Для объявления констант используется оператор Const. Например,

Const NumQuarters as Integer = 4

Как и переменные, константы имеют область действия. При попытке изменения значения константы в коде VBA вы получите сообщение об ошибке (чего и следовало ожидать). Константа - это постоянное значение, а не переменная. В Excel и VBA существует целый ряд предопределенных констант, которые можно использовать без объявления. Вам даже необязательно знать значение этих констант для их применения. При записи макросов обычно используются константы, а не значения. В следующей процедуре для изменения ориентации страницы активного листа на альбомную применена встроенная константа:

Sub SetToLandscape ()
ActiveSheet.PageSetup.Orientation = xlLandscape
End Sub

Фактическое значение переменной xlLandscape равно 2. Окно Object Browser содержит список всех констант Excel и VBA. Чтобы открыть Object Browser в VBE, нажмите клавишу .

В VBA дата и время определяются как значения, заключенные между знаками #

Const FirstDay As Date = #1/1/2007#
Const Noon = #12:00:00#

Даты всегда определяются в формате " месяц/день/год " , даже если система настроена на отображение данных в другом формате.

Операторы присваивания

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

Большое количество операций, выполняемых в VBA, связано с разработкой (и отладкой) выражений. Если вы знаете, как создавать формулы в Excel, то у вас не будет возникать проблем с созданием выражений в VBA. В формуле рабочего листа Excel результат отображается в ячейке. С другой стороны, выражение VBA может присваивать значение переменной или использоваться как значение свойства. В VBA оператором присваивания выступает знак равенства (=).

Массивы

Массив - это группа элементов одного типа, которые имеют общее имя; на конкретный элемент массива ссылаются, используя имя массива и индекс. Например, можно определить массив из 12 строк так, чтобы каждая переменная соответствовала названию месяца. Если вы назовете массив MonthNames, то можете обратиться к первому элементу массива как MonthNames (0), ко второму - как MonthNames (1) и так до MonthNames (11).

Объявить массив, содержащий ровно 100 целых чисел, можно следующим образом:

Dim MyArray(1 То 100) As Integer

По умолчанию в массивах VBA в качестве первого элемента используется нуль. Если вы хотите, чтобы в качестве первого индекса всех массивов использовалась единица, то перед первой процедурой модуля нужно сделать следующее объявление: Option Base 1

Динамический массив не имеет предопределенного количества элементов. Он объявляется с незаполненными значениями в скобках: Dim MyArray() As Integer. Тем не менее, прежде чем динамический массив можно будет использовать в программе, необходимо обратиться к оператору ReDim, указывающему VBA, сколько элементов находится в массиве. Для этого часто применяется переменная, значение которой неизвестно до тех пор, пока процедура не будет запущена на выполнение. Например, если переменной х присвоено число, размер массива определяется с помощью следующего оператора: ReDim MyArray (1 to х).

Объектные переменные

Объектая переменная - это переменная, представляющая целый объект, например, диапазон или рабочий лист: Dim InputArea As Range. Для присваивания объекта переменной воспользуйтесь ключевым словом Set: Set InputArea = Range(«С16:Е16»).

Встроенные функции

В VBA есть ряд встроенных функций, упрощающих вычисления и операции. Например, функция VBA UCase, преобразующая строку в верхний регистр, эквивалентна функции Excel ПРОПИСН. Чтобы использовать функцию Excel в операторе VBA, перед названием функции введите следующее выражение:

Application.WorksheetFunction

Важно понимать, что вы не можете использовать функции Excel, для которых в VBA представлены эквивалентные функции. Например, VBA не позволяет получить доступ к функции Excel КОРЕНЬ (SQRT), так как в VBA имеется собственная версия этой функции: Sqr. Таким образом, следующий оператор выдает ошибку:

MsgBox Application.WorksheetFunction.Sqrt(123)

Функция MsgBox - одна из самых полезных в VBA. Кроме прочего, это превосходный инструмент отладки, поскольку вы можете в любое время вставить функцию MsgBox, чтобы приостановить программу и отобразить результат вычисления или присваивания. Функция MsgBox не только возвращает значение, но и отображает диалоговое окно, в котором пользователь может выполнить определенные действия. Значение, возвращаемое функцией MsgBox, является ответом пользователя на отображенный запрос. Функция MsgBox может применяться даже в том случае, когда ответ пользователя не требуется, а нужно отобразить сообщение. Синтаксис функции MsgBox:

MsgBox(сообщение[, кнопки] [, заголовок] [, файл_справки, контекст])

  • Сообщение (обязательный аргумент) - сообщение, которое отображается в диалоговом окне.
  • Кнопки (необязательный аргумент) - значение, определяющее, какие кнопки и пиктограммы (если нужно) отображаются в окне сообщения. Применяйте встроенные константы (например, vbYesNo).
  • Заголовок (необязательный аргумент) - текст, который отображается в строке заголовка окна сообщения. По умолчанию отображается текст Microsoft Excel.
  • Файл_справки (необязательный аргумент) - название файла справки, соответствующего окну сообщения.
  • Контекст (необязательный аргумент) - контекстный идентификатор раздела справки. Представляет конкретный раздел справки для отображения. Если используется аргумент контекст, следует также задействовать аргумент файл_справки.

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

Ans = MsgBox(" Продолжить? " , vbYesNo + vbQuestion, " Сообщи ")
If Ans = vbNo Then Exit Sub

Обратите внимание, что в качестве значения аргумента кнопки используется сумма двух встроенных констант (vbYesNo + vbQuestion). Благодаря константе vbYesNo в окне сообщения отображаются две кнопки: одна с меткой Yes, а вторая - с меткой No. Добавление vbQuestion в состав аргумента также приведет к отображению значка вопроса. Как только будет выполнен первый оператор, переменная Ans получит одно из двух значений, представленных константами vbYes и vbNo. В этом примере процедура завершает свою работу после щелчка на кнопке No.

Управление объектами и коллекциями

VBA предлагает две конструкции, которые помогут вам упростить управление объектами и коллекциями. Конструкция With — End With позволяет выполнять несколько операций над одним объектом. Чтобы понять, как она работает, проанализируйте следующую процедуру, которая изменяет шесть свойств выделенного объекта (подразумевается, что выделен объект Range).

Sub ChangeFontl()
Selection.Font.Name = " Cambria "
Selection.Font.Bold = True Selection.Font.Italic = True
Selection.Font.Size = 12
Selection.Font.Underline = xlUnderlineStyleSingle
Selection.Font.ThemeColor = xlThemeColorAccentl
End Sub

Эту процедуру можно переписать с помощью конструкции With — End With. Процедура, показанная ниже, работает точно так же, как и предыдущая.

Sub ChangeFont2 ()
With Selection.Font
.Name = " Cambria "
.Bold = True
.Italic = True
.Size = 12
.Underline = xlUnderlineStyleSingle
.ThemeColor = xlThemeColorAccentl
End With
End Sub

Предположим, вы решили выполнить действие над всеми объектами коллекции или вам необходимо оценить все объекты коллекции и совершить действие при выполнении определенных условий. Это идеальная ситуация для применения конструкции For Each — Next. Синтаксис конструкции:

For Each элемент In коллекция
[инструкции ]
[инструкции ]
Next [элемент ]

Например:

Sub CountSheets()
Dim Item as Worksheet
For Each Item In ActiveWorkbook.Worksheets
MsgBox Item.Name
Next Item
End Sub

В следующем примере закрываются все окна, за исключением активного:

Sub Closelnactive()
Dim Book as Workbook
For Each Book In Workbooks
If Book.Name <> ActiveWorkbook.Name Then Book.Close
Next Book
End Sub

Контроль за выполнением кода

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

Оператор GoTo перенаправляет ход выполнения программы на новую инструкцию, которая помечена специальным образом (текстовая строка, заканчивающаяся двоеточием, или число, заканчивающееся пробелом, указанные перед инструкцией). В приведенной ниже процедуре применена функция VBA InputBox для получения имени пользователя. Если имя пользователя отличается от Ховард, то процедура переходит к метке WrongName, на чем заканчивает свою работу. В противном случае процедура выполняет дополнительные операции. Оператор Exit Sub заканчивает выполнение процедуры.

Sub GoToDemo()
UserName = InputBox(" Введите свое имя: ")
If UserName <> " Ховард " Then GoTo WrongName
MsgBox (" Привет, Ховард… ")
" — [Здесь вводится дополнительный код] —
Exit Sub
WrongName:
MsgBox " Извините, эту процедуру может запускать только Ховард. "
End Sub

В действительности оператор GoTo необходим только для перехват ошибок (код выше является неудачным примером, который не следует использовать).

Вероятно, конструкция If-Then чаще остальных используется для группирования инструкций VBA:

If условие Then инструкции_истина

Например

Sub GreetMe()
If Time < 0.5 Then
MsgBox " Доброе утро "
Elself Time >= 0.5 And Time < 0.75 Then
MsgBox " Добрый день "
Else
MsgBox " Добрый вечер "
End If
End Sub

VBA использует систему дат и времени, похожую на задействованную в Excel. Время дня выражается дробным числом, например, полдень представлен как 0.5. Значение 0.75 представляет время 18:00 - три четверти суток и тот момент, когда день переходит в вечер. Вложенные структуры If-Then достаточно громоздкие. Поэтому рекомендуется использовать их только для принятия простых бинарных решений. Если же необходимо выбрать между тремя и более вариантами, то целесообразно обратиться к конструкции Select Case.

В следующей процедуре используется функция VBA WeekDay, с помощью которой определяется, является ли текущий день субботой либо воскресеньем (функция Weekday возвращает значение 1 либо 7). Затем отображается соответствующее сообщение.

Sub GreetUserlO
Select Case Weekday(Now)
Case 1, 7
MsgBox " Это выходные "
Case Else
MsgBox " Это не выходные "
End Select
End Sub

Интерпретатор VBA осуществляет выход из конструкции Select Case, как только найдено условие True. Следовательно, для максимальной эффективности, в первую очередь, следует выполнить проверку наиболее вероятного случая.

Цикл - это процесс повторения набора инструкций. Возможно, вы заранее знаете, сколько раз должен повториться цикл, или это значение определяется переменными в программе. Простейший пример хорошего цикла - For-Next:

For счетчик = начало То конец
[инструкции ]
[инструкции ]
Next [счетчик ]

Следующая процедура суммирует квадратные корни первых 100 целых чисел:

Sub SumSquareRoots()
Dim Sum As Double
Dim Count As Integer
Sum = 0
For Count = 1 To 100
Sum = Sum + Sqr(Count)
Next Count
MsgBox Sum
End Sub

Значение переменной Step в цикле For-Next может быть отрицательным. Приведенная ниже процедура удаляет строки 2, 4, 6, 8 и 10 в активном листе:

Sub DeleteRows ()
Dim RowNum As Long
For RowNum = 10 To 2 Step -2
Rows(RowNum).Delete
Next RowNum
End Sub

Циклы For-Next могут также содержать один или более операторов Exit For. Когда программа встречает этот оператор, то сразу же выходит из цикла:

Sub ExitForDemo()
Dim MaxVal As Double
Dim Row As Long
MaxVal = Application.WorksheetFunction.Max(Range(" A:A "))
For Row = 1 To 1048576
If Cells(Row, 1).Value = MaxVal Then
Exit For
End If
Next Row
MsgBox " Максимальное значение в строке " & Row
Cells(Row, 1).Activate
End Sub

Максимальное значение в столбце вычисляется с помощью функции Excel МАХ. Затем это значение присваивается переменной MaxVal. Цикл For-Next проверяет каждую ячейку в столбце. Если определенная ячейка равна MaxVal, оператор Exit For заканчивает процедуру. Однако перед выходом из цикла процедура сообщает пользователю о расположении искомой ячейки и активизирует ее.

Цикл Do While выполняется до тех пор, пока удовлетворяется заданное условие. Цикл Do While может иметь один из двух представленных ниже синтаксисов.

Do
[инструкции ]
[инструкции ]
Loop

Do
[инструкции ]
[инструкции ]
Loop

Процедура EnterDates1 вводит даты текущего месяца в столбец рабочего листа, начиная с активной ячейки:

Sub EnterDatesl ()
" цикл Do While, условие проверяется в начале
Dim TheDate As Date
TheDate = DateSerial(Year(Date), Month(Date), 1)
Do While Month(TheDate) = Month(Date)
ActiveCell = TheDate
TheDate = TheDate + 1
ActiveCell.Offset(1, 0).Activate
Loop
End Sub

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

Циклы Do While также могут включать один или более операторов Exit Do. По достижении оператора Exit Do цикл завершается, а управление передается оператору, следующему за оператором Loop.

Структура цикла Do Until имеет много общего с конструкцией Do While. Разница заключается лишь в том, как проверяется условие цикла. В варианте Do While цикл выполняется до тех пор, пока выполняется условие. В цикле Do Until цикл выполняется, пока условие не станет выполняться. Структура Do Until также может быть представлена двумя видами синтаксиса.

По материалам книги . – М: Диалектика, 2013. – С. 211–251.

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

хорошую работу на сайт">

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

Размещено на http://www.allbest.ru/

3.2 Описание среды программирования

3.2.1 Среда разработчика Delphi

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

Среди пользователей персональных компьютеров в настоящее время наиболее популярно семейство операционных систем Windows и, естественно, что тот, кто собирается программировать, стремится писать программы, которые будут работать в этих системах. Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую «быструю разработку», среди которых можно выделить Borland Delphi и Microsoft Visual Basic. В основе систем быстрой разработки лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть генерации кода программы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий.

Delphi- это среда разработки программ, ориентированных на работу в операционных системах семейства Windows. Программы в Delphi создаются на основе современной технологии визуального проектирования, которая, в свою очередь, базируется на идеях объектно-ориентированного программирования. Программы в Delphi пишутся на языке Object Pascal, который является преемником и развитием языка Turbo Pascal. Язык программирования Turbo Pascal, а также одноименная интегрированная среда разработки, в которой он использовался, в недавнем прошлом завоевал широкую популярность как средство разработки программных продуктов и особенно как средство обучения программированию. Эта популярность была обусловлена простотой языка, высококачественным компилятором и удобной средой разработки.

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

3.2.2 Интегрированная среда разработки Delphi

Интегрированная Среда Разработки (Integrated Development Environment - IDE, в дальнейшем мы будем использовать для нее аббревиатуру ИСР) - это среда, в которой есть все необходимое для проектирования, запуска и тестирования приложений и где все нацелено на облегчение процесса создания программ. ИСР интегрирует в себе редактор кодов, отладчик, инструментальные панели, редактор изображений, инструментарий баз данных - все с чем приходится работать.

Запустите Delphi с помощью меню Windows Пуск | Программы . Когда вы щелкните на пиктограмме Delphi, перед вами откроется основное окно Интегрированной Среды Разработки (см. рис. 1).В основных чертах окна ИСР всех версий Delphi одинаковы.

Рис 1 Основное окно Интегрированной Среды Разработки в Delphi6

В верхней части окна ИСР вы видите полосу главного меню . Ее состав несколько различается от версии к версии и, кроме того, зависит от варианта Delphi, с которым вы работаете.

Главное меню позволяет вызывать все инструменты, необходимые для работы с проектом. Рассмотрим назначение разделов меню и связанных с ними функций.

File (Файл) - содержит набор команд для работы с файлами, позволяет добавлять их в проект, создавать новые файлы с помощью шаблонов, удалять, переименовывать и распечатывать. Кроме того, в этом разделе находятся команды для создания новых форм и приложений и команда выхода. В Delphi 6 сюда включена команда для создания нового элемента Frame (фрейм).

Edit (Правка) - здесь, в соответствии с названием, расположены команды редактирования текста, удаления и перемещения его в буфер обмена, вставки текста из буфера и отмены операций редактирования. В данном разделе сосредоточены команды управления положением компонентов на поверхности формы, а также команды добавления нового свойства, процедуры и функции к интерфейсу разрабатываемого вами компонента ActiveX. С помощью одной из опций раздела возможно также запретить изменение положения компонентов на форме.

Search (Поиск) - содержит набор команд для работы с текстом, его поиска и замены, причем то и другое может производиться как в одном файле, так и во всех файлах проекта либо в любом каталоге и/или подкаталогах, доступных в данный момент. В этом разделе содержится также команда поиска текста и ошибок с помощью исследователя.

View (Вид) - под этим названием объединены команды для вызова наиболее часто используемых инструментов управления проектом, таких как Project Manager (Менеджер проекта), Translation Manager (Менеджер языка DLL), Object Inspector (Инспектор объектов), To - Do - List (Список задач), Alignment Palette (Окно выравнивания компонентов), Browser (Исследователь), Code Explorer (Проводник по программе), Component List (Список компонентов), Window List (Список окно), Type Library (Библиотека типов), Debug Windows (Окно отладчика). В число последних входят Breakpoints (Список точек остановки), Call Stack (Окно стека), Watches (Окно контроля переменных), Local Variables (Окно лакальных переменных), Threads (Окна статуса нитей), Modules (Окно исполняемых модулей), CPU (Окно контроля переменных), FPU (Окно операций над числами с плавающей запятой), Event Log (Окно событий). Кроме того, здесь же находятся раздел меню Toggle Form / Unit (Переключатель формы / модуля) и опции Forms (Окно формы), Units (Окно модулей), New Edit Window (Новое окно редактирования), которые, как ясно уже из названия, позволяют выводить на экран окна форм, модулей и создавать новое окно редактирования, а также производить настройку панели инструментов. В дополнение к ним в Delphi5 появилась возможность сохранять текущие настройки среды для последующего использования с помощью группы команд из раздела Desktops .

Project (Проект) - предназначен для того, чтобы добавлять проект в Repository (Архив объектов), загружать окно редактирования текста проекта, добавлять проекты в группу, компилировать как отдельный проект, так и группу в целом, проверять корректность кода и в том, и в другом случае, получать информацию об итогах компиляции проекта, задавать свойства web-приложений и экспортировать их на Web-сервер, а также вызывать элемент Options (Окно свойств проекта). В дополнение к этим функциям в Delphi5 появилась возможность с помощью группы команд из раздела Languages создавать специальную DLL с файлом ресурсов, содержащим поддержку национального языка.

Run (Выполнить) -позволяет запускать разработанное приложение, передавать ему строку параметров, производить отладку, задавать точки остановки, осуществляет пошаговое выполнение, просматривать значения переменных и изменять их. При разработке компонентов ActiveX с помощью команд меню можно зарегистрировать ActiveX-сервер или удалить запись о нем из системного реестра. Данное меню содержит также опцию, которая необходима, чтобы установить MTS Object на Microsoft Transaction Server (MTS) для его дальнейшего использования под управлением этого сервера. В Delphi 5 появился раздел Attach to Process , который позволяет производить отладку процессов, запущенных не только на локальном, но и на удаленном компьютере.

Component (Компоненты) - здесь сосредоточены команды, предназначенные для установки компонентов, импорта ActiveX-компонентов, создания новых компонентов и шаблонов компонентов, редактирования пакетов, а также настройки палитры компонентов.

Database (Базы Данных) - содержат команды вызова утилит для работы с базами данных, таких как SQL Explorer (Исследователь баз данных), SQL Monitor (SQL монитор) и Form Wizard (Мастер создания форм).

Tools (Сервис) - позволяет установить свойства рабочей среды Delphi и отладчика, провести настройку архива проектов, добавить или удалить дополнительные утилиты для работы над проектом. В Delphi 6 в этом раздел включена команда, с помощью которой можно открыть еще один архив - Translation Repository , где хранятся строки ресурсов с национальным алфавитом.

Help (Помощь) - объединяет команды вызова справочной системы Delphi и ее настройки, а также позволяет обратиться к Web-серверу для получения дополнительной информации.

Ниже полосы главного меню расположены две инструментальные панели. Левая панель содержит два ряда быстрых кнопок, дублирующих некоторые наиболее часто используемые команды меню.

SpeedBar (Панель инструментов) позволяет организовать быстрый доступ к нужным вам инструментам Delphi.

Для того чтобы настроить панель инструментов, выберите раздел View => Toolbars главного меню или воспользуйтесь всплывающим меню панели инструментов. После этого укажите, какие из групп "быстрых" кнопок следует отображать на панелью Доступны Standard (Стандартная), View (Просмотр), Debug (Отладчик), Custom (Пользовательская), Component Palette (Палитра компонентов). Вы можете выбрать те из них, которые необходимы для работы, и кроме того, определить, какие "быстрые" кнопки будут входить в каждую из групп.

Настройка панели инструментов производится следующим образом. Сначала выберите раздел всплывающего меню Customize (Пользовательские настройки) и в появившемся окне (см. рис. 2) откройте страницу Commands (Команды). Далее с помощью мыши выберите в правом окне пиктограмму нужной вам опции и перетащите ее на панель инструментов. Для удаления ненужных кнопок достаточно перетащить их с панели инструментов в окно Commands .

В дополнение к этому с помощью страницы Options (Опции) данного окна можно установить, показывать или нет подсказки (строка Show tooltips (Показывать названия инструментов)) при перемещении курсора над кнопками панели инструментов и включать или нет в подсказку комбинацию " быстрых" клавиш (строка Show shortcut keys on tooltips (Показывать " быстрые" клавиши инструментов)) для вызова команды, запускаемой щелчком по кнопке.

Правая панель содержит палитру компонентов библиотеки визуальных компонентов.

Component palette (Палитра компонентов) - это один из наиболее часто используемых инструментов Delphi. Оно состоит из большего числа страниц, на которых располагаются компоненты (см.рис.3). В процессе работы пользователь может создавать новые страницы и удалять существующие, добавлять и убирать компоненты на любой из страниц, изменять их порядок.

рис. 3 Палитра компонентов

Standard - стандартные компоненты управления Delphi. расширяющие возможности предыдущего набора;

Additional -дополнительные компоненты управления Delphi, расширяющие возможности предыдущего набора;

Win 32 - компоненты, инкапсулирующие в себе набор 32-разрядных интерфейсов windows (9x/NT);

System - специфические системные не визуальные компоненты Delphi;

Data Access - компоненты для доступа к базам данных;

Data Controls - компоненты для отображения информации из баз данных;

ADO - компоненты, позволяющие подключатся к базам данных с использованием ActiveX Data Objects (ADO);

InterBase - компоненты, предназначенные для подключения к базам данных InterBase без использования Borland Database Engine (BDE) или ActiveX Date Objects (ADO);

MIDAS - компоненты для многозвенной технологии доступа к базам данных;

InternetExpress -компоненты, позволяющие создавать приложения, которые могут работать как с Web Server application (Internet-приложениями), так и с multi-tiered database (многозвенными приложениями);

Internet -компоненты для работы в Internet;

FastNet components - компоненты, благодаря которым приложения могут использовать различные Internet - протоколы;

Decision Cube - компоненты для многомерного анализа информации баз данных (только в поставке Delphi Client/Server);

QReport - компоненты для визуального проектирования печатных отчетов;

Dialogs - компоненты, инкапсулирующие в себе стандартные диалоговые окна Windows;

Win 3.1 - компоненты управления Windows 3.1 (для обратной совместимости приложений) ;

Samples - компоненты, которые используется как примеры в документации (их тексты находится в папке /DELPHI/SOURCE/SAMPLES/);

ActiveX - компоненты ActiveX, разработанные сторонними фирмами;

Servers page components -компоненты, которые представляют собой "обертку" VCL для популярных COM-серверов.

Палитра компонентов может отображаться или не отображаться на панели инструментов Delphi. Управление этой опцией осуществляется с помощью раздела меню View => Component Palette. Как и в предыдущих версиях, конфигурирование палитры осуществляется без перекомпиляции VCL.

В основном поле окна вы можете видеть слева окно Инспектор Объектов (Object Inspector), с помощью которого вы в дальнейшем будете задавать свойства компонентов и обработчики событий. Эта страница состоит из 2-х колонок: левая колонка содержит название свойства, а правая - конкретное значение свойства (см.рис.4)

рис. 4 Инспектор Объектов

Окно Инспектора Объектов отображает информацию для того компонента, который выделен щелчком мыши. Строки страницы этого окна выбираются щелчком мыши и могут отображать простые или сложные свойства. К простым относятся свойства, которые определяются одним значением - числом, строкой символов, значением False или True и т.д. Сложные свойства определяются совокупностью значений. Слева от имени таких свойств указывается символ «+». Двойной щелчок по имени такого свойства приводит к раскрытию списка значений сложного свойства. Закрывается раскрытый список также двойным щелчком мыши по имени сложного свойства. Интересным новшеством в Delphi 6 является добавление в Инспекторе Объектов так называемых расширенных встроенных компонентных ссылок (expanded inline component references) или, короче, встроенных компонентов. Под этим термином подразумеваются некоторые свойства компонентов, значениями которых являются имена других компонентов (т.е. ссылки на другие компоненты).

Например, у многих компонентов имеется свойство Popup Menu, содержащее имя компонента, являющегося контекстным меню. Свойства, которые содержат ссылку на встроенный компонент, отображаются в Инспекторе Объектов по умолчанию красным цветом. Когда такому свойству присваивают значение, около него появляется символ «+». Если выполнить двойной щелчок по свойству, содержащему имя встроенного компонента либо просто щелкнуть по символу «+», то раскроется список свойств встроенного компонента.

Свойства встроенного компонента по умолчанию отображаются зеленым цветом.

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

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

3.2.3 Структура проекта Delphi

Программа Delphi - это несколько связанных между собой файлов. Так, любая программа всегда состоит из уже знакомого нам файла проекта (такой файл имеет расширение.dpr) и одного или нескольких модулей (файлы с расширением.pas). Файл проекта не предназначен для редактирования пользователем и создается автоматически самой системой программирования Delphi. Для того чтобы увидеть содержимое файла проекта, необходимо выполнить команду Project | View Source. Содержимое файла проекта может быть, например, следующим:

program Projectl ;

Forms ,

Unitl in "Unitl.pas" {Forml};

{$R *.RES}

Application.Initialize;

Application.CreateForm(TForml, Forml);

Application.Run ;

end .

Файл проекта (главный модуль) начинается словом program, за которым следует имя программы, совпадающее с именем проекта. Имя проекта задается программистом в момент сохранения файла проекта, и оно определяет имя создаваемого средой Delphi исполняемого файла (файла с расширением.ехе). Далее за словом uses следуют имена используемых модулей: стандартного модуля Forms и модуля формы Unitl. Похожая на комментарий директива {$R *.res} указывает компилятору, что нужно использовать файл ресурсов, который содержит описание* ресурсов приложения, например, пиктограммы. Звездочка указывает, что имя файла ресурсов такое же, как и у файла проекта, но с расширением.res.

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

Помимо главного модуля каждая программа включает как минимум один модуль формы, который содержит описание стартовой формы приложения и поддерживающих ее работу процедур. В Delphi каждой форме соответствует свой модуль. Для переключения между формой и окном редактора кода, содержащего соответствующий модуль, следует выполнить команду главного меню View | Toggle Form/Unit, либо нажать функциональную клавишу F12.

Модули - это программные единицы, служащие для размещения фрагментов программ. При помощи содержащихся в них текстов программ (программных кодов) и реализуется решаемая пользователем задача. Модули имеют стандартную конструкцию (последовательность и перечень разделов), предусмотренную языком программирования Object Pascal. Приведем структуру модуля в общем виде:

unit < имя модуля >;

interface

…………………………

implementation

…………………………

initialization

…………………………

finalization

…………………………

end .

В качестве примера приведем содержимое модуля в том виде, в котором он находится сразу после загрузки среды Delphi:

unit Unitl;

interface

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;

TForml = class(TForm)

{ Private declarations }

{ Public declarations }

Form1: TForm1;

implementation

{$ R *. dfm }

end .

Начинается модуль словом unit, за которым следует имя модуля. Именно это имя упоминается в списке используемых модулей в операторе uses главного модуля приложения.

Модуль может состоять из четырех разделов: интерфейса, реализации, инициализации и завершающей части.

Раздел интерфейса (начинается словом interface) сообщает компилятору, какие данные, располагающиеся в модуле, являются доступными для других модулей программы. В этом разделе перечислены (после слова uses) стандартные модули, используемые данным модулем, а также находится сформированное Delphi описание типа формы, которое следует за словом type.

Раздел реализации начинается словом implementation и содержит объявления локальных переменных, процедур и функций, поддерживающих работу формы. В начале раздела реализации располагается директива {$R *.dfin}, указывающая компилятору, что в-раздел реализации надо вставить команды установки значений свойств формы, которые находятся в файле с расширением ".dfm, имя которого совпадает с именем модуля. Файл в формате dfm генерируется Delphi на основе внешнего вида формы.

За директивой {$R *.dfm} располагаются описания процедур обработки событий формы. Сюда же программист может поместить описание своих процедур и функций, которые могут вызываться из процедур обработки событий.

Инициирующая и завершающая части являются необязательными. Инициирующая часть начинается словом initialization либо заключается в оператор-1ые скобки begin...end. Операторы из этой части выполняются до передачи управления основной программе и обычно используются для подготовки ее работы.

Завершающая часть начинается словом finalization и содержит операторы, выполняющиеся в момент окончания программы.

В приведенном выше примере модуля инициирующая и завершающая части отсутствуют.

В отличие от файла проекта, создаваемого автоматически Delphi, модуль может изменяться (редактироваться) программистом. При создании пользователем новой формы, автоматически будет создаваться и новый модуль. Программа может содержать до нескольких десятков форм. Текст модуля при этом будет доступен и пользователю, и самой среде Delphi, которая автоматически будет вставлять в текст модуля описание любого добавленного к форме компонента, а также создавать заготовки (строки кода) для обработчиков событий. Программист при этом может добавлять свои методы в ранее объявленные классы, наполнять обработчики событий конкретным содержанием, вставлять собственные переменные, типы, константы и т.д. Но, как уже было сказано ранее, программисту нельзя удалять строки, вставленные в текст модуля интегрированной средой Delphi.

При компиляции программы Delphi создает файлы с расширениями.dcu для каждого модуля.

Таким образом, pas-файл содержит программный код модуля, который был сформирован в окне редактора кода совместными усилиями программиста и среды Delphi, в файле с расширением.dfm хранится описание содержимого окна формы, а в dcu-файле находится результат преобразования текста из обоих файлов в машинные инструкции. Компоновщик, входящий в интегрированную среду Delphi, преобразует dcu-файлы в единый загрузочный (выполнимый) ехе-файл. Выполнимый файл позволяет запускать программу как автономное приложение.

3.2.4 Библиотека визуальных компонентов

Классы созданные разработчиками Delphi, образуют сложную иерархическую структуру, называемую Библиотекой визуальных компонентов (Visual Component Library -VCL). Количество входящих в VCL классов составляет несколько сотен. На рисунке 5 изображены базовые классы, являющиеся родоначальниками всех остальных классов.

Компонентами называются экземпляры классов, которые являются потомками класса TComponent. Экземпляры всех других классов называются объектами. Разница между компонентами и просто объектами заключается в том, что компонентами можно манипулировать на форме, а объектами - нельзя.

Характерным примером класса, определенного в VCL, но не являющегося компонентом, является класс TFont. Мы не можем непосредственно поместить на форму объект класса TFont. С другой стороны, при работе, например, с такими компонентами, как Label или Edit мы будем использовать свойство Font классового типа TFont.

Размещено на http://www.allbest.ru/

Заметим также, что не все компоненты-потомки класса TComponent являются визуальными. Например, компонент Timer, предназначенный для отсчета интервалов реального времени, является невизуальным.

Сказанное выше несколько противоречит названию VCL - Библиотека визуальных компонентов, но, с другой стороны, визуальные компоненты являются главным достижением разработчиков Delphi, теми строительными элементами, при помощи которых создается каркас любого приложения. Остальные классы VCL являются базой для создания визуальных компонентов либо носят вспомогательный характер.

Как уже говорилось ранее, в соответствии с принципом наследования компоненты Delphi наследуют данные и методы для их обработки от своих родителей. Поэтому, прежде чем перейти к знакомству с конкретными компонентами, будет полезно познакомиться с базовыми классами, приведенными на рисунке 5.

Описание среды функционирования. Плюсы и минусы Windows 98

Как и любая программа, Windows 98 имеет свои сильные и слабые стороны; начнем с сильных.

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

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

В-третьих, поддержка самых разнообразных устройств и механизм Plug and Play.Большинство новых устройств Windows 98 находит сама, автоматически устанавливая для них нужные драйверы, причем этот механизм улучшен по сравнению с предыдущей версией.

В-четвертых, практически полная совместимость сверху вниз. Все программы (за редким исключением), написанные для версий Windows и MS-DOS, прекрасно работают и под управлением Windows 98.

В-пятых, усовершенствованные по сравнению с предыдущей версией механизм многозадачности и защита от сбоев (правда, только для программ, специально написанных для Windows 95 и Windows 98). Одновременно возможно выполнение нескольких программ (пока, например, одна программа производит сложные вычисления, вы можете набирать текст в другой), к тому же крах (зависание) одной программы не вызывает потерю данных во всех остальных в данный момент программах.

В-шестых, улучшенный механизм модернизации- обновление операционной системы теперь легко осуществить через Internet.

В-седьмых, встроенные средства работы и интеграции с Internet.

В-восьмых, более эффективная работа на компьютерах с процессорами Pentium и старше.

В-девятых, долгожданные средства цветовой калибровки на уровне операционной системы и поддержка до 7 мониторов одновременно.

Рассматривать сильные стороны Windows 98 по сравнению с другими операционными системами можно до бесконечности, но, пожалуй, все главные уже рассмотрены. Теперь о слабых сторонах.

Как известно, за все надо платить, и за все удобства Windows 98 приходится платить очень большой нагрузкой на аппаратную часть компьютера. Windows 98 (как и ее предшественница Windows 95) весьма требовательно к быстродействию процессора, объему оперативной памяти и свободному месту на диске (причем по сравнению с предыдущей версией эти требования несколько возросли). Таким образом, самый главный недостаток- высокие требования к быстродействию всех без исключения частей компьютера. Если использовать Windows 98 на медленных компьютерах, то из-за постоянных простоев и ожидания работа из приятной превращается в настоящее мучение.

Еще одним минусом Windows 98 является ее неполная многозадачность, особенно для старых программ. И если с распределением ресурсов Windows 98 справляется достаточно успешно, то с защитой дело обстоит все еще не очень хорошо, - если некорректная работа одной из программ приведет к разрушению общих системных ресурсов, то Windows 98, скорее всего, перестанет нормально работать.

Самый главный недостаток Windows 98, связанный с критичностью по времени, не позволяет использовать эту оболочку для обработки поступающих извне сигналов в реальном масштабе времени. В данном случае Windows 98 просто "захлебывается".

Хотя Windows 98 и ориентируется на постоянных пользователей сети Internet, степень ее защиты от несанкционированного доступа (взлома) все же недостаточна.

Наконец, как это ни печально, Windows 98 не лишена ошибок, как, впрочем, и другие программы.

Элементы интерфейса Windows 98

Рабочий стол

После запуска Windows 98 вы попадаете на рабочий стол (Desktop). Здесь обычно располагаются некоторые элементы интерфейса Windows 98:

Мой компьютер(My Computer ) - содержит дерево, условно представляющее все папки компьютера;

Корзина (Recycle Bin ) - позволяет удалять файлы и папки. Если вы перетащите какой-либо файл (папку) на пиктограмму Корзины (Recycle Bin ) (пиктограмма при этом окрасится в синий цвет), то вы удалите его с диска;

Сетевое окружение (Network Neighborhood ) - позволяет просмотреть сетевые ресурсы, если вы подключены к сети;

Портфель(My Briefcase ) - позволяет синхронизировать файлы, обрабатывающиеся сразу на нескольких компьютерах. Пользоваться им или нет - дело ваше;

Internet Explorer - позволяет путешествовать по Internet. Если вы не клиент Internet, данную пиктограмму также можно удалить;

Outlook Express - это своего рода почтовый ящик, куда будет поступать информация, приходящая по электронной почте. Если вы таковой не имеете, то смело помещайтеOutlook Express в Корзину (Recycle Bin ) ;

Мой документы (My Document ) - папка для личных документов, в ней вам предлагается сохранять результаты своей работы (если ее расположение на дисках по умолчанию вас не устраивает, можете переместить ее в любое место).

Панель задач

Панель задач (Taskbar) обычно расположена в самом низу экрана. На ней располагаются кнопки всех запущенных в данный момент программ и открытых папок. Чтобы перейти к любой из запущенных задач, достаточно щелкнуть мышью по соответствующей кнопке на панели задач. Если вам неясно, какая задача соответствует кнопке, - задержите на ней на пару секунд мышь.

В правой части панели задач располагается индикатор текущей раскладки клавиатуры (языка), щелчок мыши по нему позволяет сменить раскладку.

Там же расположены часы. Если вы на пару секунд задержите на них указатель мыши, то будет высвечена текущая дата.

Кнопка Пуск и Главное меню

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

Предположим, необходимо запустить программу. Вы должны щелкнуть по кнопке Пуск (Start), выбрать нужный пункт, подождать, когда откроется следующий уровень меню, и повторять аналогичные действия до тех пор, пока не дойдете до пиктограммы нужной вам программы.

Типы окон

Все окна, используемые Windows, можно разделить на пять типов:

окно Windows - программы;

окно DOS - программы, запущенной в окне;

вторичное окно Windows - программы (создается непосредственно самой программой).

Окно с сообщением или запросом (создается одной из работающих в данный момент Windows- программ).

Окно раскрытой папки.

Окно Windows - программы. Как правило, содержит все элементы, описанные выше. Заголовок содержит имя программы.

Окно DOS - программы. Из - под Windows можно запустить и программы, предназначенные для работы под управлением DOS. Такая программа может быть запущена в двух режимах - полноэкранном и в окне. Первый режим практически ничем не отличается от выполнения программы под управлением непосредственно DOS. Режим же выполнения в окне позволяет более гибко управлять работой программы. У окна DOS - программы отсутствует строка меню. Все остальные элементы присутствуют. В заголовке располагается имя DOS - программы.

Вторичное окно Windows - программы. Это окно создает сама программа. Как правило, в нем помещается обрабатываемая информация, будь то текст, графическое изображение и т. п. У этого окна отсутствует строка меню и панель инструментов, все остальные элементы обычно присутствуют. В заголовке такого окна выводится имя обрабатываемого документа. Отличительной чертой вторичного окна Windows - программы является то, что оно может быть объединено с окном самой программы. При этом заголовки этих окон объединяются в один, под этим заголовком располагается строка меню Windows - программы. На строке меню располагается кнопки управления вторичного окна. Такой способ позволяет задействовать для работы максимальную площадь экрана монитора.

Окно сообщений и запросов также генерируется Windows - программами. В них выводится различные предупреждения, сообщения о возникших ситуациях, запросы на различные действия. Как правило, эти окна выводится поверх всех других окон и содержат только заголовок и кнопку Закрыть (Close ) . Отличительной особенностью этих окон является их неизменный размер (т.е. изменить границы окна невозможно).

Активный и неактивные окна

На экране может быть только одно активное окно, все остальные окна, находящиеся в этот момент на экране, неактивны. Активное окно всегда выводится поверх других и все действия, совершаемые в данный момент, относятся именно к нему. Заголовок активного окна выделяется ярким цветом, у неактивных окон заголовки блеклого цвета. Если окно данной программы неактивно, то говорят, что программа выполняется в фоновом режиме (если данный режим для нее имеет смысл).

Управление окнами

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

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

Начнем со случая, когда окно занимает часть экрана. Слева расположена кнопка Свернуть (Minimize ): она позволяет свернуть окно (если это окно программы или папки, то после свертывания от окна останется кнопка на панели задач; если же это вторичное окно, то от него останется строка заголовка и оно будет помещено в левый нижний угол окна программы). В середине находится кнопка Развернуть (Maximize ) , щелчок по ней позволяет развернуть окно на полный экран (если это вторичное окно, то оно сольется с окном программы). Справа расположена кнопка Закрыть (Close ) , она позволяет закрыть окно.

Если окно развернуть на весь экран. то посередине вместо кнопки Развернуть (Maximize ) находится кнопка Восстановить (Restore ) ; она позволяет восстановить размер окна.

Если вторичное окно свернуто, то слева располагается кнопка Восстановить (Restore ) , а в центре кнопка Развернуть (Maximize ) .

Если вторичное окно слито с окном программы, то вверху расположены кнопки изменения размера окна программы, а сразу под ними кнопки изменения размера вторичного окна.

Перемещение окна

Переместить окно достаточно просто. Для этого достаточно ухватить заголовок окна и переместить его в нужное место.

Прокрутка содержимого окна

Если содержимое окна не « влезает» в текущие размеры окна, то слева и внизу появляются линейки прокрутки (или одна из них). Рассмотрим, как ими пользоваться. Самый простой вариант - это перетащить на новое место бегунок. При этом, соответственно, изменится и содержимое окна.

Бывает случаи, когда необходимо прокрутить окно всего на одну строчку (столбец). Тогда нужно воспользоваться кнопками со стрелками, расположенными по концам линейки прокрутки. Щелчок по такой кнопке и осуществляет скроллинг (перемещение) окна на одну строку.

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

Закрытие окна

Чтобы закрыть окно (если это возможно), нужно щелкнуть по кнопке Закрыть (Close ) . Если данная операция допустима (окна программ, папок, вторичные окна, часть окон запроса), то после щелчка окно исчезнет с экрана.

При этом:

Если это было окно программы, то данная программа будет завершена;

Если это было окно папки, то оно исчезнет с экрана, а папка будет закрыта;

Если это было вторичное окно программы, то обработка данного документа будет прекращена;

Если это было сообщение программы, то данное окно исчезнет с экрана;

Если это было окно с запросом программы, то это будет означать отмену запрашиваемого действия.

Если в настоящий момент в окне находится несохраненная информация, то при попытке закрыть данное окно Windows вначале предложит сохранить последние изменения.

При щелчке по кнопке Закрыть (Close ) DOS - программы, запущенной в окне, делается попытка завершить данную программу. Если сделать это корректно не удается, выводится соответствующее предупреждение. В этом случае рекомендуется отменить закрытие окна с потерей данных (щелчок по кнопке Нет (No)), а затем завершить DOS - программу стандартным для нее способом.

Интерфейс программы. Компоненты, используемые в программе

Простейшей и, пожалуй, наиболее часто используемой кнопкой является кнопка Button, расположенная на странице библиотеки Standard. Реже используется кнопка BitBtn отличающаяся, прежде всего, возможностью отобразить на ее поверхности изображение. Большинство свойств, методов и событий у этих видов кнопок одинаковы.

Основное с точки зрения внешнего вида свойство кнопки -- Caption .

В надписях кнопок можно предусматривать использование клавиш ускоренного доступа, выделяя для этого один из символов надписи. Перед символом, который должен соответствовать клавише ускоренного доступа, ставится символ амперсанта «&». Этот символ не появляется в надписи, а следующий за ним символ оказывается подчеркнутым. Тогда пользователь может вместо щелчка на кнопке нажать в любой момент клавишу Alt совместно с клавишей выделенного символа.

Например, если в вашем приложении имеется кнопка выполнения какой-то операции, вы можете задать ее свойство Caption равным «&Выполнить». На кнопке эта надпись будет иметь вид «Выполнить». И если пользователь нажмет клавиши Alt-B, то это будет эквивалентно щелчку на кнопке.

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

Свойство Cancel , если его установить в true , определяет, что нажатие пользователем клавиши Esc будет эквивалентно нажатию на данную кнопку. Это свойство целесообразно задавать равным true для кнопок «Отменить» в различных диалоговых окнах, чтобы можно было выйти из диалога, нажав на эту кнопку или нажав клавишу Esc.

Свойство Default , если его установить в true , определяет, что нажатие пользователем клавиши ввода Enter будет эквивалентно нажатию на данную кнопку, даже если данная кнопка в этот момент не находится в фокусе. Правда, если в момент нажатия Enter в фокусе находится другая кнопка, то все-таки сработает именно кнопка в фокусе. Если у нескольких кнопок на форме свойство Default задано равным true , то при нажатии Enter сработает та из них, которая находится раньше в последовательности табуляции.

Еще одно свойство -- ModalResult используется в модальных формах. В обычных приложениях значение этого свойства должно быть равно mrNone .

Из методов, присущих кнопкам, имеет смысл отметить один -- Click . Выполнение этого метода эквивалентно щелчку на кнопке, т.е. вызывает событие кнопки OnClick . Этим можно воспользоваться, чтобы продублировать какими-то другими действиями пользователя щелчок на кнопке. Пусть, например, вы хотите, чтобы при нажатии пользователем клавиши с символом «С» или «с» в любой момент работы с приложением выполнялись операции, предусмотренные в обработчике события OnClick кнопки Buttonl . Поскольку неизвестно, какой компонент будет находиться в фокусе в момент этого события, надо перехватить его на уровне формы. Такой перехват осуществляется, если установить свойство формы KeyPreview в true . Тогда в обработчике события формы OnKeyPresss можно написать оператор

if (key="Y" or key="Z") then Buttonl.Click;

Если пользователь ввел символ «С» или «с», то в результате будет выполнен обработчик щелчка кнопки Buttonl .

Все сказанное выше в равной степени относится и к Button , и к BitBtn . Рассмотрим теперь особенности кнопки с пиктограммой BitBtn . Изображение на этой кнопке задается свойством Glyph . При нажатии кнопки с многоточием в строке свойства Glyph в Инспекторе Объектов вызывается окно. Нажав в нем кнопку Load вы перейдете в обычное окно открытия файла рисунка и можете выбрать файл битовой матрицы.bm р, содержащий желаемое изображение. В частности, с Delphi поставляется большое количество изображений для кнопок. Они расположены в каталоге \lmages\Buttons, а сам каталог Images в Delphi 5 и 4 расположен в каталоге \program files\common files\borland shared, а в других версиях Delphi -- в каталоге \program files\borland\delphi...

После того, как вы выбрали изображение, нажмите ОК и выбранное изображение появится на вашей кнопке левее надписи.

Файл изображения для кнопки может содержать до четырех изображений пиктограмм размера 16x16. Самое левое соответствует отжатой кнопке. Второе слева соответствует недоступной кнопке, когда ее свойство Enabled равно false . Третье слева изображение используется при нажатии пользователя на кнопку при ее включении. Четвертое слева изображение используется в кнопках с фиксацией SpeedButton , о которых будет сказано позднее, для изображения кнопки в нажатом состоянии. Большинство изображений для кнопок использует две пиктограммы. Число пиктограмм вы можете узнать из свойства кнопки NumGlyphs , которое после загрузки изображения покажет вам число пиктограмм в нем.

Расположение изображения и надписи на кнопке определяется свойствамиMargin , Layout и Spacing . Если свойствоMargin равно -1 (значение по умолчанию), то изображение и надпись размещаются в центре кнопки. При этом положение изображения по отношению к надписи определяется свойством Layout , которое может принимать значения:blGlyphLeft (слева, это значение принято по умолчанию), blGlyphRight (справа), blGlyphTop (вверху), blGlyphBottom (внизу). Если жеMargin > 0, то в зависимости от значения Layout изображение и надпись смещаются к той или иной кромке кнопки, отступая от нее на число пикселей, заданное значениемMargin .

Свойство Spacing задает число пикселей, разделяющих изображение и надпись на поверхности кнопки. По умолчанию Spacing = 4. Если задать Spacing = О, изображение и надпись будут размещены вплотную друг к другу. Если задать Spacing = -1, то текст появится посередине между изображением и краем кнопки.

Еще одно свойство BitBtn -- свойство Kind определяет тип кнопки. По умолчанию значение этого свойства равно bkCustom -- заказная. Но можно установить и множество других предопределенных типов: bkOK , bkCancel , bkHelp , bkYes , bkNo , bkClose , bkAbort , bkRetry , bklgnore , bkAll . В этих типах уже сделаны соответствующие надписи, введены пиктограммы, заданы еще некоторые свойства. Обычно все-таки лучше ими не пользоваться. Во-первых, надписи все равно надо переводить на русский язык. Во-вторых, предопределенные рисунки обычно выбиваются из общего стиля конкретного приложения. И главное -- предопределение некоторых свойств, не учтенных вами, может иногда приводить к странным результатам работы. Уж лучше использовать заказные кнопки и самому устанавливать в них все необходимые свойства.

Компонент Image и некоторые его свойства

Нередко возникает потребность украсить свое приложение каким - то изображениями. Это может быть графическая заставка, являющаяся логотипом вашего приложения. Или это могут быть фотографии сотрудников некоего учреждения при разработке приложения, работающего с базой данных этого учреждения. В первом случае вам потребуется компонент Image , расположенный на странице Additional библиотеки компонентов, во втором - его аналог DBImage , связанный с данными и расположенный на странице Data Controls.

Начнем знакомство с этими компонентами. Откройте новое приложение и перенесите на форму компонент Image . Его свойство, которое может содержать изображение -Picture . Нажмите на кнопку с многоточием около этого свойства или просто сделайте двойной щелчок на Image , и перед вами откроется окно Picture Editor, позволяющее загрузить в свойство Picture какой - нибудь графический файл (кнопка Load), а также сохранить открытый файл под новым именем или новом каталоге. Щелкните на Load, чтобы загрузить графический файл. Перед вами откроется окно Load Picture. По мере перемещения курсора в списке по графическим файлам в правом окне отображаются содержащиеся в них картинки, а над ними - цифры, характеризующие размер картинки. Вы можете найти графические файлы в каталоге Images. В Delphi 5 он обычно расположен в каталоге…\program files\ Common Files\ Borland\ Borland Shared, в Delphi 4 - в …\ program files\ Common Files\ Borland Shared, в Delphi 3 - в …\ program files\ Borland\ Delphi 3, а в Delphi 1 - в каталоге Delphi 1. К сожалению, в Delphi 1 окно загрузки изображения значительно просматривать файлы до их загрузки.

Когда вы в процессе проектирования загрузили изображение из файла в компонент Image , он не просто отображает его, но и сохраняет в приложении. Это дает вам возможность поставлять ваше приложение без отдельного графического файла. Впрочем, как мы увидим позднее, в Image можно загружать и внешние графические файлы в процессе выполнения приложения.

Вернемся к рассмотрению свойств компонента Image .

Если установить свойствоAutoSize вtrue , то размер компонента Image будет автоматически подгоняться под размер помещенной в него картинки. Если же свойство AutoSize установлено в false , то изображение может не поместиться в компонент или, наоборот, площадь компонента может оказаться много больше площади изображения.

Графики функций

Интерполяция функций

На практике часто встречается задача: по заданным на плоскости значениям (хi,yi), i= 0,1,…, n построить функцию, либо точно проходящую через эти точки, либо проходящую как можно ближе к этим точкам (рис 6.). Ниже рассмотрены три способа решения этой задачи: интерполяционный многочлен Лагранжа, метод наименьших квадратов и интерполяция кубическими сплайнами.

x

Рис. 6 Задача интерполяции

Интерполяционный многочлен Лагранжа

График функции, определенной интерполяционным многочленом Лагранжа, проходит через все точки (хi i ,уi.):

L(x)= i x -x j (1.1)

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

Для вычисления значений многочлена Лагранжа по уравнению (1.1) можно воспользоваться функций Lagr.

Листинг 1. Функция Лагранжа

function Lagr (n : Byte ; xt : Real ; x , y : Vect ): real ;

var I , j : Byte ; S , P : Real ;

For i :=0 to n do

P := l ;

or j : =0 to n do

if i<>j then P:=P* (xt-x[ j ] ) / (x[i] -x[ j ] ) ;

S:=S+y[i]*P;

end ;

Lagr : = S ;

end ;

В проекте предусмотрена возможность перетаскивания любой точки мышью. Поэтому наряду с традиционными функциями масштабирования используются функции обратного масштабирования и созданы обработчики трех событий onMouseDown, onMouseMove, onMouseUp, В процедуре Image IMouseDown определяется номер Num точки, ближайшей к (X,Y), и поднимается флаг, разрешающий перемещения, -- Drawing:= True.

...

Подобные документы

    Разработка программы для работы в операционных системах семейства Windows. Использование среды Delphi - современной технологии визуального проектирования. Создание пользовательского интерфейса, оконного приложения, меню; задание исходной матрицы.

    курсовая работа , добавлен 12.01.2011

    Delphi как среда разработки программ, ориентированных на работу в Windows. Назначение и преимущество использования электронных учебников. Описание возможностей среды Delphi 5 для разработки электронного учебника. Варианты применения служб Internet.

    дипломная работа , добавлен 13.07.2011

    Основные понятия об операционных системах. Виды современных операционных систем. История развития операционных систем семейства Windows. Характеристики операционных систем семейства Windows. Новые функциональные возможности операционной системы Windows 7.

    курсовая работа , добавлен 18.02.2012

    Эволюция графических пользовательских интерфейсов. Устройство системы X Window и менеджеры окон. Описание рабочего стола и приложения KDE и GNOME. Обзор основных принципов организации интерфейса в системе Windows, описание пакета ее прикладных программ.

    реферат , добавлен 15.02.2012

    Изучение учебника и справочной подсистемы Windows 95/NT, получение навыков работы с "мышью", манипулирование окнами и значками программ и документов, запуска программ в системе Windows 95/NT. Разработка простого приложения для Windows при помощи Delphi.

    контрольная работа , добавлен 15.01.2009

    Разработка визуального интерфейса пользователя, на основе экранных форм среды Delphi и визуальных компонент. Основные типы данных, используемые в программе MD 5 Calc. Однонаправленные хэш-функции. Процесс хэширования MD5, возможности его применения.

    курсовая работа , добавлен 28.08.2012

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

    курсовая работа , добавлен 08.05.2011

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

    курсовая работа , добавлен 10.01.2012

    История интегрированной среды разработки, версии Delphi. Организация библиотеки компонентов. Страница Additional, ряд часто используемых компонентов общего назначения. Исполняемый файл программы "Архиватор текстовых файлов", интерфейс приложения.

    курсовая работа , добавлен 16.05.2017

    Использование языка программирования Delphi для записи программ, представляющих собой последовательность инструкций. Классы и директивы в объектно-ориентированном программировании. Разработка демонстрационной программы. Процесс настройки Windows XP.

СРЕДА DELPHI 7

Тема 1. Интерфейс интегрированной среды разработки

Прикладные

программы,

приложения,

создаются

интегрированной

разработки(IDE –

Environment).

Пользовательский

интерфейс

организации взаимодействия с программистом и включает в себя ряд,окон

различные

элементы

управления. С

интегрированной

разработчику

проектировать интерфейсную

часть приложения, а также писать программный код и связывать

элементами управления. В интегрированной среде разработки проходят все

этапы создания приложения, включая отладку.

Интегрированная

разработкиDelphi 7

представляет

многооконную

интегрированной

разработки

(пользовательский интерфейс) может различаться в зависимости от настроек. Интерфейс Delphi 7 первоначально включает шесть окон:

Главное окно (Delphi 7 – Project1);

- окно Обозревателя дерева объектов (Object TreeView );

- окно Инспектора объектов (Object Inspector );

- окно Формы, или Конструктора формы (Form1 );

- окно Редактора кода (Unit1.pas )

- окно Проводника кода (Exploring Unit1.pas ).

Последние два окна находятся позади

окна,Формыпричем окно

Проводника кода пристыковано слева к окну Редактора кода, поэтому оба этих

окна имеют общий заголовок Unit1.pas .

На экране кроме указанных окон могут присутствовать и другие окна,

отображаемые при вызове соответствующих средств, например, окно Редактора

изображений (Image Editor ). Окна Delphi можно

перемещать,

изменять их

размеры и убирать с экрана(кроме главного окна), а также

состыковывать

между собой.

Несмотря на наличие многих окон, Delphi является однодокументной средой и позволяет одновременно работать только с одним приложением (проектом приложения). Название проекта приложения выводится в строке заголовка главного окна в верхней части экрана.

При сворачивании главного окна сворачивается весь интерфейсDelphi и, соответственно, все открытые окна; при закрытии главного окна работа с Delphi прекращается. Главное окно Delphi включает:

Главное меню;

- панели инструментов;

- палитру компонентов.

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

Вызвать многие команды главного меню можно также с помощью

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

С помощью контекстного меню можно также управлять видимостью Палитры компонентов (Component Palette ).

Более широкие возможности по настройке панелей инструментов и главного меню предоставляет диалоговое окноCustomize (Индивидуальная настройка), вызываемое одноименной командой контекстного меню панелей инструментов. С его помощью можно скрыть или отобразить требуемую панель

инструментов, изменить состав

кнопок на, нейа также выбрать

отображения всплывающих подсказок для кнопок.

Палитра компонентов находится под главным меню в правой части

главного

содержит

множество

компонентов, размещаемых

создаваемых

Компоненты

являются

своего рода строительными

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

Первоначально Палитра компонентов имеет следующий набор страниц:

Standard – стандартная;

Additional – дополнительная;

Win32 – 32-разрядного интерфейса Windows;

System – доступа к системным функциям;

Data Access – работы с информацией из баз данных;

Data Controls – создания элементов управления данными;

DbExpress – доступа к SQL-серверам;

DataSnap – создания многоуровневых приложений баз данных;

BDE – доступа к данным с помощью BDE;

ADO – связи с базами данных с использованием объектов данных ActiveX;

Interbase – обеспечения непосредственного доступа к одноименной базе данных;

WebServices – создания клиентских приложений, использующих Web-сервис

с помощью технологии SOAP;

InternetExpress – создания приложений InternetExpress, которые являются одновременно Web-сервером и клиентом распределенной базы данных;

Internet – создания приложений Web-сервера для сети Интернет;

WebSnap – создания приложений Web-серверов;

Decision Cube – многомерного анализа;

Dialogs – создания стандартных диалоговых окон;

Win 3.1 – интерфейса Windows 3.x;

ActiveX – компонентов ActiveX;

RAVE – генерации отчетов в приложении;

Indy Clients – платформо-независимые компоненты Интернета для клиента;

Indy Servers – платформо-независимые компоненты Интернета для сервера;

Indy Intercepts – платформо-независимые компоненты Интернета для обработки прерываний при кодировании/ раскодировании и преобразовании передаваемой информации;

Indy I/O Handlers – платформо-независимые компоненты Интернета для управления вводом / выводом;

Интернета (обработки, кодирования и декодирования данных);

СОМ+ – управления одноименными объектами;

InterBase Admin – управления доступом к одноименной базе данных;

IW Standard – стандартная для работы в Интернете;

IW Data – создания элементов управления при работе с базами данных в Интернете;

IW Client Side – для обеспечения работы в Интернете со стороны клиента;

IW Control – управления работой в Интернете;

Servers – оболочки VCL для общих серверовCOM (Microsoft Office 2000 или 97).

Палитру компонентов можно настраивать с помощью диалогового окна Palette Properties (Свойства Палитры). Это окно вызывается командойProperties (Свойства) контекстного меню Палитры компонентов или командойComponent \ Configure Palette (Компонент \ Настройка Палитры) главного меню. Окно позволяет выполнять такие операции, как удаление, добавление отдельных компонентов и перемещение их на другое, а местотакже добавление, удаление или перемещение страниц компонентов.

В списке Pages диалогового окнаPalette Properties содержатся названия страниц, в спискеComponents – названия компонентов выбранной страницы. С

Добавить (Add ), удалить (Delete ) или переименовать (Rename ) страницу;

- переставить страницу или компонент на позицию выше(Move Up ) или ниже

(Move Down);

- скрыть компонент (Hide ).

Окно Формы (илиКонструктора формы ) первоначально находится в

центре экрана и имеет заголовокForm1 . В нем выполняется проектирование

формы, в процессе которого в форму из Палитры компонентов помещаются

необходимые

компоненты. При

проектирование

заключается

визуальном конструировании формы, а действия разработчика

работу в среде простого графического редактора. Сам Конструктор формы во

время ее проектирования остается как бы"за кадром", и разработчик имеет

дело непосредственно с формой, поэтому часто окно Конструктора формы

также называют окном Формы или просто "формой".

Редактора

кода (Unit1.pas)

программирования

находится

перекрывается им. Редактор кода представляет собой обычный текстовый

редактор, с помощью которого можно редактировать текст модуля и другие

текстовые

приложения, например,

редактируемый файл находится в окне Редактора кода на отдельной странице, доступ к которой осуществляется щелчком на соответствующем. значке Первоначально в окне Редактора кода на страницеCode содержится одна вкладкаUnit1 исходного кода модуля формыForm1 разрабатываемого приложения.

В Delphi 7 Редактор кода поддерживает также просмотр и редактирование других элементов приложения. Для этого используются страницы:

Diagram – отображение и настройка взаимосвязей между визуальными и невизуальными компонентами;

HTML Script – просмотр документа HTML и текста JavaScript, сгенерированных с помощью компонента типа TAdapterPageProducer;

HTML Result – просмотр документа HTML, сгенерированного на основе HTML-шаблона;

Preview – просмотр документа HTML в окне обозревателя;

XML Tree – отображение документа XML или модуля Web-страницы в окне обозревателя;

XSL Tree – отображение документа XSL или модуля Web-страницы.

В окне Редактора кода всегда присутствует страница Code , а остальные страницы требуют соответствующей настройки.

Окно Проводника кода (Exploring Unit1.pas ) пристыковано слева к окну Редактора кода. В нем в виде дерева отображаются все объекты модуля формы,

например переменные и процедуры. В окне Проводника

кода удобно

просматривать объекты приложения и быстро переходить к нужным объектам,

что особенно важно для больших модулей. Окно Проводника кода открывается

командой Code Explorer (Проводник кода) менюView (Просмотр).

настройки

Проводника

кода служит Explorer окно

(Параметры

проводника), открываемое

командой Properties (Свойства)

контекстного меню Проводника кода. С помощью этого окна можно, например,

управлять отображением объектов категорий, содержащихся в списке Explorer

categories (Категории просмотра). Чтобы окно Проводника кода по умолчанию

отсутствовало, нужно

сбросить

флажок Automatically show

(Автоматически отображать Проводник).

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

Окно Инспектора объектов находится под окном Обозревателя дерева объектов в левой части экрана и отображает свойства и события объектов для текущей формыForm1 . Его можно открыть командойView \ Object Inspector (Просмотр \ Инспектор объектов).

Окно Инспектора объектов имеет две страницы: Properties (Свойства) иEvents (События).

Страница Properties отображает информацию о текущем(выбранном) компоненте в окне Формы и при проектировании формы позволяет удобно изменять многие свойства компонентов.

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

В конкретный момент времени Инспектор объектов отображает свойства

и события текущего(выбранного) компонента, имя и тип которого отображаются в списке под заголовком окна Инспектора объектов. Компонент, расположенный в форме, можно выбрать щелчком мыши на нем или выбором в списке Инспектора объектов. У каждого компонента есть набор свойств и событий, определяющих его особенности.

Инспектор объектов позволяет группировать свойства и события по категориям или в алфавитном порядке. Свойства (и их значения) отображаются различными цветами. В Инспекторе объектов содержатся и свойства, предназначенные только для чтения. Кроме того, можно настраивать свойства Инспектора объектов.

командой Arrange \ by Category (Расположить \ По категориям) контекстного меню Инспектора объектов. КомандойArrange \ by Name (Расположить \ По имени) восстанавливается расположение по алфавиту.

По умолчанию Инспектор объектов отображает все свойства и события объектов. Можно отключить / включить отображение некоторой категории, убрав / установив отметку в соответствующем пункте подменю командыView контекстного меню.

Для настройки вида Инспектора объектов служит окноObject Inspector Properties (Свойства Инспектора объектов), открываемое командойProperties контекстного меню Инспектора объектов. С его помощью можно выбрать, например, цвет для отображения имен (Name ) и значений (Value ) свойств.

Delphi поддерживает технологию Dock-окон , которые могут стыковаться (соединяться) друг с другом с помощью мыши. Такими окнами являются инструментальные (недиалоговые) окна интегрированной среды разработки, в

том числе окна Инспектора объектов и Проводника кода. Состыкованные окна

удобно, например, перемещать по экрану или изменять их размеры.

Для соединения двух окон следует с помощью мыши поместить одно из

них на другое и после изменения вида рамки перемещаемого окна отпустить

его, после чего это окно автоматически пристыкуется сбоку ко второму окну.

Разделение окон

выполняется

перемещением

пристыкованного

двойную линию, размещенную под общим заголовком. После соединения окна

представляют собой одно общее окно, разделенное на несколько частей. При

стыковке / отстыковке окно изменяет свое название. Так, окно Проводника

кода, состыкованное с окном Редактора кода, имеет общее с ним название,

например, Unit1.pas , в то время как при отстыковке название изменяется на

Unit1.pas.

Окна Инспектора объектов

и Обозревателя

объектов при стыковке объединяют свои назва(н азвания всех окон

указываются через запятую).

Можно запретить стыковку окна, убрав отметку Dockable (Стыкуемое) в

контекстном меню окна. По умолчанию эта отметка включена и окно является

стыкуемым.

Для окон Инспектора объектов и Обозревателя дерева объектов можно

установить режим Stay on Тор (Расположить наверху), расположив их поверх

окон. Это

выполняется

включением

одноименной

контекстном меню. Скрытое окно вызывается на экран командой менюView . Например, окно Проводника кода выводится на экран командойView \ Code Explorer .

Тема 2. Характеристика проекта

– код проекта (dpr );

– описания форм (dfm – для Windows,xfm – кроссплатформенный вариант);

модули и модули форм (pas );

параметры проекта (dof – для Windows,kof – для Linux);

параметры среды (cfg );

описание ресурсов (res ).

Взаимосвязи между отдельными частями (файлами) проекта показаны на рис. 1.1.

Рис. 1.1. Связь между файлами проекта Кроме приведенных файлов, автоматически могут создаваться и другие

файлы, например, резервные копии файлов: ~ dp – для файлов с расширением dpr;~ pa – для файлов с расширением pas.

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

2.2. Файл проекта

Файл проекта является центральным файлом проекта

и представляет

собой собственно программу. Для приложения, имеющего в

составе одну

форму, файл проекта имеет следующий вид:

program Project1;

uses Forms, Unit1 in "Unitl.pas" {Form1};

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

Имя проекта (программы) совпадает с именем файла проекта и указывается при сохранении этого файла на диске, п рвоначально это имя Project1. То же имя имеют файлы ресурсов и параметров,проектапри

переименовании

переименовываю

автоматически.

Сборка всего проекта выполняется при компиляции файла проекта. При этом имя создаваемого приложения(ехе -файл) или динамически загружаемой библиотеки (dll -файл) совпадает с названием файла проекта.

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

Директива $R подключает к проекту файл ресурсов, имя которого по умолчанию совпадает с именем файла проекта. Поэтому вместо имени файла ресурса указан символ* . Кроме этого файла разработчик может подключить к проекту и другие ресурсы, самостоятельно добавив директивы$R и указав в них соответствующие имена файлов ресурсов.

Программа проекта содержит всего три инструкции, выполняющих инициализацию приложения, создание формы Form1 и запуск приложения.

При выполнении разработчиком каких-либо операций с проектомDelphi формирует код файла проекта автоматически. Например, при добавлении новой формы в файл проекта добавляются две строки кода, относящиеся к этой фор-

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

Отображение кода файла проекта в окне Редактора кода задается командой Project \ View Source (Проект \ Просмотр источника).

2.3. Файлы формы

Для каждой формы в составе проекта автоматически создаются файл описания формы (расширение dfm ) и файл модуля формы (расширениеpas ).

описания

формы является

ресурсомDelphi

содержит

характеристики формы и ее компонентов. Разработчик обычно управляет этим

файлом через

Формы и Инспектора объектов. При конструировании

формы в файл описания автоматически вносятся соответствующие изменения.

Содержимое

описания

определяет

ЕеПри вид

необходимости можно отобразить этот файл на экране в текстовом виде, что

выполняется командой View as Text (Просмотреть как

контекстного

меню формы. При этом окно Формы пропадает с экрана, а содержимое файла описания формы открывается в окне Редактора кода и доступно для просмотра и редактирования.

Повторное открытие окна формы выполняется командойView \ Forms (Просмотр \ Формы), после чего открывается диалоговое окноView Form (Просмотр форм), в списке которого и выбирается нужная форма.

Файл модуля формы содержит описание класса формы. Для пустой формы, добавляемой к проекту по умолчанию, файл модуля формы содержит следующий код:

unit Unit1;interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;

type TForml = class (TForm) private

{ Private declarations } public

{ Public declarations } end;

var Form1: TForm1;implementation

{$R *.dfm} end.

Delphi автоматически создает файл модуля формы при добавлении новой формы. По умолчанию к проекту добавляется новая форма типаTForm , не содержащая компонентов.

В разделе interface модуля формы содержится описание класса формы, а в разделеimplementation – подключение к модулю директивой$R визуального описания соответствующей формы. При размещении в форме компонентов, а

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

Тексты файлов модулей форм отображаются и редактируются с помощью Редактора кода. Открыть файл модуля формы можно в стандартном окне открытия файла (команда File \ Open (Файл \ Открыть)) или в диалоговом окнеView Unit , открываемом командойView \ Units (Просмотр \ Модули). В окне открытия файла модуля формы можно выбрать также файл проекта. После

выбора нужного модуля или проекта его текст появляется на отдельной странице редактора кода.

Оба файла каждой формы (описания и модуля) имеют одинаковые имена, отличные от имени файла проекта.

При компиляции модуля автоматически создается файл с расширением dcu (dpu – для Linux), который содержит откомпилированный код модуля. Этот файл можно удалить из каталога, в котором находятся все файлы проекта.



Загрузка...