- •Глава 1. Базы данных
- •Глава 2. Работа с visual foxpro
- •Глава 3. Работа в среде ms sql server 2000
- •Глава 1. Базы данных
- •1.1.2 Отношения между атрибутами
- •1.1.4 Операции над таблицами
- •1.1.5 Триггеры, ограничения и правила
- •6 Хранимые процедуры
- •1.4.1 Необходимость нормализации
- •1.4.2 Первая и вторая нормальные формы
- •1.4.3 Третья нормальная форма
- •Глава 2. Работа с visual foxpro
- •2.1.3 Создание отношений между таблицами
- •2.1.4 Операции над таблицами
- •2.1.5 Программные prg-файлы и процедуры
- •2.1.6 Совместное использование программных файлов, формы и меню
- •2.2.1 Описание визуальных компонентов
- •2.3.1 Классы объектов
- •2.3.2 Создание панели инструментов
- •Использование классов для связи с word,excel и другими приложениями foxpro
- •2.4 Соединения, курсоры, представления
- •2.4.2 Работа с курсорами и представлениями
- •Сквозные sql-запросы
- •2.5 Клиент-серверные приложения foxpro
- •2.5.1 Создание, регистрация и использование серверов автоматизации
- •2.5.2 Конфигурирование клиентов
- •2.5.1 Создание , регистрация и использование серверов автоматизации
- •Замечание. При регистрации в реестр записывается полный путь к файлу сервера автоматизации. Поэтому при переносе сервера на другое место регистрацию нужно провести повторно.
- •Здесь myservfpro представляет имя сервера (exe-файла или dll-файла). Myserv – представляет имя класса, где описан сервер автоматизации. GetName() представляет метод, описанный в классе myserv .
- •2.5.2 Конфигурирование клиентов
- •2.6 Создание отчетов
- •3.1.2 Добавление пользователей
- •3.1.3 Создание и связывание таблиц
- •3.1.3 Создание представлений
- •3.2 Язык transact-sql
- •3.2.1 Основы программирования
- •3.2.2 Функции
- •3.2.3 Хранимые процедуры
- •3.2.4 Использование курсоров
- •3.2.5 Системные хранимые процедуры
- •3.2.6 Связь foxpro и sql server
- •3.3 Утилита query analyser
- •В окне редактора кода можно формировать и выполнять sql-команды, создавать и запускать хранимые процедуры, триггеры, представления и пр. Например, рассмотрим результат выполнения запроса:
- •3.4 Установка и администрирование sql server
2.3.2 Создание панели инструментов
Вооружившись знаниями о классах и способах их создания, рассмотрим, как создается панель инструментальных кнопок, при нажатии на которые мышью запускается, например, какая-нибудь программа. Прежде всего, нужно создать класс добавляемой панели. Сделаем это с помощью дизайнера классов. Выберем закладку Classesи щелкнем на кнопкеNew. Определим имя создаваемого класса панели, например,MyToolи имя базового класса –ToolBar. Определим имя библиотеки, где сохраним созданное описание класса панели. Как мы знаем, после этого появится окно конструктора классов. Далее необходимо добавить в панель кнопки, для чего следует перетащить их мышью из окна визуальных компонентовForm Controlsнепосредственно на панель. Перенесем две-три кнопки и зададим нужные нам свойства кнопок в окнеProperties (например, зададим подходящие имена и цвета кнопок). Сохраним созданное описание класса посредством опцийFile->Saveосновного меню окна дизайнера классов.
Для использования созданного библиотечного класса откроем новый проект: File->New->Project. Добавим в проект новую форму и перейдем к ее редактированию. В дизайнере форм (Form Designer) выберем в окне визуальных элементов (Form Controls) иконку с надписьюView Classesи добавим библиотеку с классом MyTool . В результате этих манипуляций в окнеForm Controlsдолжна появиться пиктограмма класса MyTool. Выберем эту пиктограмму мышью и расположим ее на форме. Система потребует добавить новую форму в набор форм (FormSet). Дадим подтверждение ”Yes”. Итак, мы разместили панель с кнопками на форме. Можно приступить к программированию кнопок. Для этого воспользуемся вкладкойMethodsв окнеPropertiesпанели. Запрограммируем событие Click для первой кнопки:
=MessageBox(“HelloFromOne”)
Аналогичным образом для второй кнопки:
=MessageBox(“HelloFromTwo”)
Теперь запустим на выполнение созданную форму с панелью кнопок через пункт меню Run (можно также использовать пиктограмму со знаком восклицания). Если все получилось удачно, то сохраним проект через File->Save.
Рассмотрим теперь, как программно подключить панель инструментов из программы (процедуры). Сначала опишем класс панели.
DefineCLASS MyPanel AS ToolBar
ADD OBJECT Btn1 AS CommandButton With Caption=”0ne”
ADD OBJECT Btn2 AS CommandButton With Caption=”Two”
ProcedureBtn1.Click
= MessageBox(“Hello from One”)
EndProc
Procedure Btn2.Click
ThisFormSet.Release
EndProc
EndDefine
Define CLASS myFrmSet AS FormSet
ADD OBJECT Mt AS MyPanel;
WITH Caption=”PANEL”, Visible=.T.
EndDefine
PROCEDURE Prog1
F=CreateObject(“myFrmSet”)
F.Show
Read Events
Return
ENDPROC
Остается указать, что ранее созданную библиотеку класса MyTool.vcxможно подключить к проекту командой
SET CLASSLIB TO имя_библиотеки. Обычно эту команду используют в методе Initдля главной формы приложения. В случае подключения класса через SET CLASSLIB не надо строить описание класса через DEFINE CLASS. Теперь можно записать в одной из процедур
ThisFormSet.AddObject(“Mt”,”MyTool”)
ThisFormSet.Mt.Show
Ключевое слово ThisFormSet определяет текущий активный набор форм.