ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.12.2023
Просмотров: 44
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Удалённые и гетерогенные представления
Вы можете разработать и протестировать на своем локальном компьютере приложение клиент/сервер, использующее данные из удаленных, локальных или многотабличных гетерогенных представлений. В локальных представлениях используются таблицы, размещенные на локальном компьютере, но не таблицы удаленного сервера, а в многотабличных представлениях ѕ связанные данные из различных таблиц. Можно создавать параметризованные представления, чтобы из сервера извлекалось как можно меньше данных, а затем обновлять удаленные данные из приложения Visual FoxPro.
Транзакции
Вы можете разработать приложение таким образом, чтобы оно обеспечивало совместный доступ к данным. Совместный доступ подразумевает коллективное использование данных несколькими пользователями, а также ограничение доступа в случае необходимости. Применение транзакций и буферизации (жесткой или мягкой, на уровне записей или на уровне таблицы) означает, что вам придется меньше программировать. Процесс обновления данных в многопользовательской среде значительно упрощается благодаря встроенной пакетной обработке и средствам детализированного контроля над конфликтами при обновлении.
Поддержка системы клиент/сервер
Visual FoxPro можно использовать как среду разработки приложений клиент/сервер. В Visual FoxPro сочетается высокоуровневая поддержка обновляемых представлений данных сервера с непосредственным доступом к собственному синтаксису сервера с помощью технологии сквозного запроса SQL pass-through, что обеспечивает солидный фундамент для создания универсальных приложений клиент/сервер. В вашем распоряжении имеется все необходимое для разработки ѕ словарь данных, локальные и удаленные представления, поддержка значений NULL, транзакции, доступ к любому источнику данных ODBC.
2. Обзор базовых классов и элементов управления Microsoft Visual Foxpro
Развитие графического интерфейса пользователя привело к созданию гибкого и мощного инструментария, обеспечивающего в любой момент времени взаимооднозначное соответствие программного кода и разрабатываемых экранных форм. Это позволило уйти от утомительной и постоянной генерации кода.
Элемент управления CheckBox
Создает флажок.
Флажок используется для перехода между двумя состояниями, такими как «истина» (.T.) и «ложь» (.F.), «да» и «нет». Когда требуемое условие истинно, на кнопке флажка появляется значок X. С помощью свойства Caption можно задать текст, который появится возле флажка. Используя свойство Picture, можно задать рисунок флажка.
Объект Column
Создает столбец сетки.
Число столбцов сетки определяется свойством сетки ColumnCount.
Столбец сетки может содержать данные из табличного поля или значение выражения. С помощью свойства DataSource можно задать данные, которые будут фигурировать в столбце. Столбец может содержать элементы управления. Они включаются в столбец сетки с помощью метода AddObject события Init формы, содержащей данную сетку. Чтобы определить активный элемент управления сетки, используйте свойство CurrentControl. Заметьте, что доступ к верхним и нижним колонтитулам Column не может быть получен до возникновения события Init для Grid.
Элемент управления CommandButton
Создает одиночную командную кнопку.
Командная кнопка обычно используется для запуска события, выполняющего некоторое действие, например закрытие формы, переход к другой записи, печать отчета и т.д. Чтобы создать группу командных кнопок, которыми можно манипулировать как индивидуально, так и в целом, используйте элемент управления CommandGroup.
С помощью свойства Caption можно задать текст, появляющийся возле командной кнопки. Используя свойство Picture, можно задать рисунок для командной кнопки.
Вы можете нажать командную кнопку, щелкнув ее мышью или, если значение свойства Default ѕ «истина» (.T.), нажав клавишу ENTER в тот момент, когда командная кнопка выделена. Если значением свойства Cancel командной кнопки является «истина» (.T.), вы можете нажать эту кнопку, нажав клавишу ESC.
Элемент управления CommandGroup
Создает группу командных кнопок.
С помощью элемента управления CommandGroup можно создать группу командных кнопок, которыми можно манипулировать индивидуально и как единым целым. Чтобы создать отдельную командную кнопку, используйте элемент управления CommandButton.
С помощью свойства ButtonCount можно задать количество командных кнопок в группе, а с помощью свойства Caption ѕ название группы командных кнопок.
Элемент управления ComboBox
Создает поле ввода с раскрывающимся списком.
Если выбрать поле ввода с раскрывающимся списком, оно открывается и показывает список элементов, из которых можно выбрать нужный. Элемент управления ComboBox сочетает в себе свойства элементов управления TextBox (текстовое поле) и ListBox (список). Вы можете либо вводить информацию в текстовом поле, либо выбирать элементы из списка.
Тип поля ввода со списком определяется свойством Style. Если значение свойства Style установлено равным 0, создается поле ввода с раскрывающимся списком. Если значение свойства Style равно 2, создается список.
Объект Container
Создает объект, который может вмещать другие объекты.
Объекты-контейнеры могут содержать другие объекты и разрешать доступ к этим объектам. Например, если вы создали объект-контейнер, состоящий их двух списков и двух командных кнопок, а затем включили его в форму, то этими списками и кнопками можно будет манипулировать на этапе разработки и на этапе выполнения.
Объект Custom
Пользовательский класс можно создать с помощью команды DEFINE CLASS или с помощью конструктора классов. Чтобы открыть конструктор классов, выдайте команду CREATE CLASS.
Пользовательские классы - это классы, обладающие свойствами, событиями и методами, но не имеющие визуального представления. Эти классы определяются в соответствии с теми же общими правилами, что и классы других типов.
Элемент управления EditBox
Создает поле редактирования.
Используйте элемент управления EditBox для редактирования переменной памяти, элемента массива, поля или memo-поля, имеющих символьный тип.
В поле редактирования можно пользоваться всеми стандартными возможностями редактирования Visual FoxPro - вырезать, копировать и вставлять фрагменты и т.п. Текст в поле редактирования прокручивается вертикально, а слова переносятся горизонтально.
Объект Form
Создает форму.
Используйте данный объект для создания формы, в которой размещаются элементы управления. Также можете использовать конструктор форм. Формы обладают свойствами, которые определяют их внешний вид (например позицию, размер и цвет) и некоторые аспекты поведения (например возможность изменения размера).
Формы также реагируют на события, инициируемые пользователем или системой. Например, вы можете написать код для процедуры обработки события Click некоторой формы, который будет изменять цвет формы, когда вы щелкнете ее мышью.
Помимо свойств и событий, вы можете использовать методы для манипулирования формами. Например, с помощью метода Move можно изменять местоположение и размер формы.
Конструируя формы, используйте свойство BorderStyle для создания обрамления формы и свойство Caption для определения текста в строке заголовка. Если установить значение свойства BorderStyle равным 0, обрамление будет удалено. В рамках программы можно использовать методы Hide и Show для того, чтобы делать формы прозрачными или видимыми на этапе выполнения.
Элемент управления Grid
Создает сетку.
Сетка - это объект-контейнер, который отображает данные по строкам и столбцам; он напоминает по внешнему виду окно просмотра. Сетка как контейнер содержит объекты-столбцы. Столбец может содержать объект-заголовок и элементы управления. Поскольку сетка, как и ее столбцы, заголовки и элементы управления, имеет собственные наборы свойств, вы получаете полный контроль над каждым элементом сетки. Можно создать сетку интерактивно, используя построитель сетки.
Объект Header
Создает заголовок для столбца элемента управления сетка.
Столбцы, образующие сетку, имеют заголовки. Объект-заголовок отображает название вверху столбца и может реагировать на события.
Элемент управления Image
Создает изображение ѕ элемент управления, отображающий на экране рисунок файла.BMP.
Изображение - это графический элемент управления, отображающий рисунок.BMP, который нельзя изменить непосредственно. Однако поскольку это изображение обладает полным комплектом свойств, событий и методов, как и прочие элементы управления, оно может реагировать на события и может быть изменено динамически на этапе выполнения.
Элемент управления Label
Создает метку, в которой отображается текст.
Метка - это графический элемент управления, отображающий текст, который нельзя изменить непосредственно. Однако поскольку метка обладает полным комплектом свойств, событий и методов, как и прочие элементы управления, она может реагировать на события и может быть изменена на этапе выполнения.
Чтобы назначить метке клавишу доступа, поставьте в ее названии обратную косую черту и знак меньше (\<) непосредственно перед символом, который вы решили использовать в качестве клавиши доступа. Когда метка отображается, этот символ будет выделен подчеркиванием. При нажатии клавиши доступа метки активизируется следующий элмент управления в порядке табуляции. Для назначения метке порядка табуляции используйте свойство TabIndex.
Названия отображаются на экране по-разному, в зависимости от объекта.
Учтите, что максимальное число символов, допустимое для свойства Caption элемента управления Label, равно 256.
Элемент управления ListBox
Создает поле ввода со списком
Список содержит перечень элементов, из которого вы можете выбрать нужные. Список напоминает поле ввода с раскрывающимся списком, только последнее первоначально отображает один элемент.
Связанный элемент управления OLE
Создает связанный элемент управления OLE.
В форме или отчете связанный элемент управления OLE позволяет отображать содержимое объекта OLE (такого как объект Microsoft Word или Microsoft Excel) в табличном поле типа General.
В отличие от элементов управления OLE, вставляемые объекты OLE не обладают собственным набором событий. Кроме того, связанные элементы управления OLE, в отличие от контейнерных элементов управления OLE, привязаны к полю типа General в таблице Visual FoxPro.
Элемент управления OLE – контейнер
Создает элемент управления типа OLE-контейнер.
OLE-контейнер дает возможность включать OLE-объекты в приложения. К числу OLE-объектов относятся объекты OLE Control (файлы.OCX) и вставляемые OLE-объекты, созданные в других приложениях, таких как Microsoft Word и Microsoft Excel. В отличие от объектов OLE Control (файлов.OCX), вставляемые OLE-объекты не располагают собственным набором событий. Элементы управления типа OLE-контейнер, в отличие от элементов управления OLE Bound, не привязаны к полю типа General в таблице Visual FoxPro.
Элемент управления OptionButton
Создает одиночный переключатель.
Одиночный переключатель можно добавить только в группу переключателей.
Элемент управления OptionGroup
Создает группу переключателей.
Группы переключателей представляют собой контейнеры, содержащие переключатели. Группа переключателей предоставляет возможность выбора одного из них. Если установить какой-либо переключатель, он становится текущим и при этом сбрасывается ранее установленный переключатель. Установленный в данный момент переключатель помечается символом бюллетеня. Например, с помощью переключателей можно направить вывод в файл, на принтер или в окно.
Объект Page
Создает страницу в страничном кадре.
С помощью страниц можно создавать табулированные формы или диалоговые окна. Набор страниц содержится в страничном кадре.
Вы можете ссылаться на страницу в страничном кадре по имени, как это сделано в следующем примере:
myFrame.MyPage1
Вы можете также ссылаться на страницу по ее номеру индекса, используя ключевое слово PAGES. Тем самым достигается единообразие с наборами элементов управления в других контейнерах FoxPro.
myFrame.PAGES(2).Visible =.T.
Заметьте, что этот индекс не обязательно совпадает со значением свойства PageOrder. Пусть у вас есть три страницы со значениями PageOrder, равными 2, 3 и 5. Вы можете следующим образом сформировать ссылки на эти страницы:
myFrame.PAGES(1)
myFrame.PAGES(2)
myFrame.PAGES(3)
Обратите внимание, что обновляется только активный объект Page при возникновении метода Refresh для формы, в которой находится объект Page.
Элемент управления PageFrame
Создает страничный кадр, в который будут включаться страницы.
Страничный кадр - это объект-контейнер, содержащий страницы. Страницы в свою очередь могут содержать какие-то элементы управления. Следует заметить, что страничный кадр становится видимым при включении в форму.
Страничный кадр определяет глобальные характеристики страницы в данной форме: размеры и расположение, стиль обрамления, какая страница активна и т.д.