Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 Процесс программирования.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
79.87 Кб
Скачать

Программирование в Visual FoxPro.

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

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

  1. Составить определенный план, последовательность команд, и записать его в виде программы.

  2. Вручную, в пошаговом режиме, каждый раз задавая команды в окне Command, или используя главное меню Visual FoxPro.

Преимущества первого способа:

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

  • Программы можно изменять и запускать повторно.

  • Программа может запускать другие программы.

  • Из окна Command нельзя запускать некоторые структурные операторы.

Процесс программирования.

Процесс программирования включает следующие шаги:

  • Постановка задачи.

  • Разбиение задачи на дискретные сегменты.

  • Конструирование сегментов.

  • Тестирование и отладка сегментов.

  • Сборка сегментов в единую программу.

  • Тестирование всей программы.

Прежде чем приступать к реализации задачи, необходимо запомнить несколько основных правил:

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

  2. Разбивайте задачу на управляемые части, а не пытайтесь решить ее всю сразу.

  3. Тестируйте и отлаживайте программы по мере их создания.

  4. Оформляйте данные и контейнеры данных так, чтобы ими можно было легко управлять в коде программы.

Постановка задачи.

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

Разбиение задачи на дискретные сегменты.

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

Конструирование сегментов.

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

Тестирование сегментов.

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

Сборка сегментов в единую программу.

Тестирование всей программы.

Устойчивость программы.

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

Программирование в Visual FoxPro.

В Visual FoxPro используют следующие типы данных:

Х

Тип данных

Описание

Размер

Диапазон

Character

Символьный Произвольный текст

1 байт на символ; до 254 байт

Любые символы

Currency

Денежная сумма

8 байт

От –922337203685477.5808

До 922337203685477.5807

Date

Хронологическая дата

8 байт

От 01/01/100

До 12/31/9999

DateTime

Хронологическая дата + время

8 байт

От 01/01/100 До 12/31/9999,

+ от 00:00:00 до 11:59:59

Logical

Numeric

Дополнительно Visual FoxPro поддерживает только для полей баз данных:

Double

Число с плавающей запятой

8 байт

От +/-4.94065645841247E-324 до +/-1.79769313486232E308

Float

Такое же как и Numeric

8 байт в памяти; от 1 до 20 в таблице

От -.9999999999E+19

До 9999999999E+20

General

Ссылка на OLE объект

4 байта в таблице

Ограничен только доступной памятью

Integer

Целочисленные значения

4 байта

От –2147483647

До 2147483646

Memo

Ссылка на блок данных

4 байта в таблице

Ограничен доступной памятью

Character

(Двоичный)

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

1 байт на символ до 254 байтов

Любые символы

Memo

(Двоичный)

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

4 байта в таблице

Ограничен доступной памятью

ранение данных.

В зависимости от объема, типа и предполагаемого использования данных выбирается контейнер для их хранения. Доступность данных определяется тем, каким образом и в каком месте они объявлены. Эта сфера доступности или влияния называется областью видимости. Visual FoxPro позволяет хранить данные в константах, переменных, массивах, записях и объектах.

  • Константы. (Constants). Это именованный элемент данных, который сохраняет неизменное значение при всех операциях. Константы могут содержать значения любых типов.

Для создания и присвоения значения константе используется директива препроцессора #DEFINE.

#DEFINE «Эта таблица не найдена»

Для отмены константы используйте:

#UNDEFINE tablerr1

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

Для создания и изменения значения переменной используют операторы «STORE» или «=».

STORE 7 TO nVAR

nVSR = 7

Переменные существуют ,пока выполняется приложение или выполняется сеанс Visual FoxPro, в котором они созданы. Область видимости задается при помощи ключевых слов:

  1. LOCAL

  2. PRIVATE

  3. PUBLIC

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

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

PUBLIC определяет глобальные переменные или массивы. Этот вид может использоваться и модифицироваться из любой программы, запущенной в текущем сеансе Visual FoxPro. Переменные организованные в окне Command всегда являются глобальными.

Если переменная имеет то же имя что и поле, Visual FoxPro отдает предпочтение полю, поэтому для имен переменных часто используют следующую конструкцию:

m.primer

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

Создать массив можно при помощи команд:

Dimension

Declare

А задать значения как и переменной, используя знак равенства, указав имя и позицию элемента:

Dimension Aname [5,2]

Aname [1,2] = 9495

  • Поля. (Fields). Поле это именованная позиция в записи, содержащая данные определенного типа. Поля могут содержать любой тип данных или тип поля Visual FoxPro. Тип поля задается при создании таблиц. Доступно пока открыта таблица, в которой содержится данное поле.

Записи. Запись - набор полей таблицы. Одна запись может содержать до 255 полей, все записи в таблице содержат одинаковые поля.

  • Объекты. (Object Properties). Объект - это экземпляр класса. Класс - это описание данных и функционирования группы объектов. Объектами в Visual FoxPro могут быть формы, наборы форм и элементов управления. Чтобы сократить объем программного кода и улучшить возможности его повторного использования при реализации согласованных, надежно работающих приложений, следует пользоваться объектами Visual FoxPro. Каждый объект реагирует на определенные события и имеет свойства и методы. Манипулирование объектами производится с помощью событий, методов и свойств.