Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сокращённые консультации к ГОС.doc
Скачиваний:
3
Добавлен:
21.09.2019
Размер:
377.34 Кб
Скачать

30. Функции для преобразования типов данных

STR(<вырN>,[<длина>],[<десятичные знаки>]) - преобразует числовое <вырN> в символьную строку, включающую знак "-" (если есть) и десятичную точку, общей длиной <длина> с за­данным количеством <десятичных знаков>. Если <длина> не указана, берется длина 10. Если не указаны <десятичные знаки>, число округляется до целого значения, и вообще в случае уменьшения длины дробной части оно округляется.

Пример:

? STR(384.248,6,2) && 384.25

DTOC(<вырD>[,1]) – преобразует выражение типа дата <вырD> в символьное выражение. Пример:

?DTOC({^2005.10.01}) && 01.10.05

Необязательный параметр "1" означает, что формируемая строка будет не символьным отображением даты в каком-либо формате даты, а сплошной строчкой, из четырех цифр года, двух цифр месяца и дня - ГГГГММДД. Такое изображение даты удобно при создании составного индекса в котором учитывается дата.

Пример:

?DTOC({^2005.10.01},1) && 20051001

Пример. Выведите на экран сообщение вида: «Сегодня такое-то число, такого-то месяца, такого-то года»

? "Сегодня" + DTOC({^2006.06.22}) && Сегодня 22.06.06

DTOS(<вырD>) - возвращает 8-разрядную символьную строку в формате ГГГГММДД для <вырD>. Аналогична DTOC() с параметром 1.

СТОD(<вырС>) - преобразует дату из символьной формы в формат даты (типD). Применяется в программах для создания переменных типа дата. Функция ис­пользуется для создания в программе переменных типа дата.

Пример:

? CTOD(‘05.10.91’) && 05.10.91 типа дата

DTOR(<вырN>) – конвертирует градусы в радианы.

Пример:

DTOR(180) && 3.14

31. Создание программных файлов

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

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

Структура программы

В тексте программного файла можно выделить следующие блоки:

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

* Наименование программы: search.prg

* Назначение: поиск по введенному параметру

* Вызывается из программы main.prg

* Программа начата 25.04.2004

* Дата последней модификации 03.05.04

2. Установочная часть программы — содержит команды SET, определяющие окру­жение: озвучивание, цветовую гамму, форматы, подавление вывода ненужных сооб­щений. После компиляции выполненные в программе настройки изменить нельзя. Например, если файл, который вы хотите создать, уже существует, на экране появ­ляется вопрос, перезаписать ли этот файл? При положительном ответе файл будет обновлен. Для того чтобы при выполнении программы такое сообщение не выводи­лось, в ней должна быть команда SET SAFETY OFF. Кроме того, в установочной части записываются команды очистки экрана, макросов, окон и других результатов, полученных ранее. Ниже показан пример установочной части программы.

*******************************************************

CLEAR && очищает главное окно

CLEAR MEMORY

CLEAR ALL &&удаляет из памяти все временные переменные и закрывает все таблицы

CLOSE ALL && закрывает все файлы

CLEAR MACROS

*******************************************************

SET TALK OFF && для вывода на экран результата выполнения команд

SET BELL OFF && отключает звуковой сигнал

SET DATE GERMAN

SET ESCAPE ON && разрешает прерывание выполнения программы

SET HOURS TO 24

SET CLOCK ON

SET SAFETY OFF && отключает предупреждения при перезаписи файла SET AUTOSAVE ON

*******************************************************

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

4. Заключительная часть программы - приводит рабочее пространство в исходное состояние, удаляет временные переменные и закрывает открытые файлы. Например:

CLEAR ALL

CLEAR

CLOSE ALL

RELEASE WINDOWS ALL && закрывает все окна

Создание программного файла

Для создания программы используется текстовый редактор, встроенный в FoxPro. Для его запуска следует выполнить команду меню File→New. В открывшемся окне New необ­ходимо выбрать опцию Program и щелкнуть на кнопке New File. В открывшееся окно редактора следует ввести текст программы.

В программу желательно вводить комментарии, которые могут быть записаны как до, так и после строки команды.

Перед строкой команды комментарий должен начинаться символом *.

После строки команды перед комментарием записываются символы &&.

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

* Программа просмотра выбранных полей таблицы employee

USE 'd:\Program Files\Microsoft Visual FoxPro 9\Samples\Data\employee.dbf ' && путь к таблице

BROWSE FIELDS first_name, title && выбор полей

NO EDIT && запрещаем редактирование таблицы

MESSAGEBOX('That is all - Просмотр закончен') && вывод окна сообщения

После набора текста программы запустим её на исполнение и посмотрим на результат.

Средствами SQL окно редактора команд вызывается командой

MODIFY COMMAND <имя программы>[NOEDIT] [NOWAIT]

WINDOW <имя окна1>] [AS nCodePage]

Основные опции команды имеют следующее назначение.

• <имя программы> — имя создаваемого программного файла. Список программных файлов текущего каталога выдается автоматически в виде подсказки, если MODIFY COMMAND вводится из командного окна.

  • NOEDIT - блокирует редактирование программы.

  • NOWAIT - разрешает одновременную активацию других объектов текущего экрана.

  • WINDOW <имя окна> - позволяет использовать не системное окно для редактиро­вания программы, а заранее определенное пользователем с заданным заголовком и месторасположением.

Команда MODIFY COMMAND * выводит на экран все программные файлы в теку­щем каталоге. Каждый программный файл располагается в отдельном окне. Ненужные окна можно закрыть, нажав клавишу Esc.

Сохранение файла программы

После создания программа должна быть сохранена нажатием комбинации клавиш Сtrl+W или выполнением команды File → Save As. В окне сохранения файла присутствует кнопка Code Page (Кодовая страница), где следует выбрать стандартную для Windows страницу 1251.

Файл программы получает расширение .prg Скомпилированный программный файл имеет расширение .fхр.

При попытке выйти из редактора нажатием клавиши Esc программа не сохраняется, если на вопрос «Discard changes» (Игнорировать изменения?) ответить утвердительно (Yes).

Запуск программы на выполнение

Для запуска программы из окна редактора, достаточно щёлкнуть по кнопке c символом восклицательного знака (Run) на панели инструментов. Вместо этого можно использовать команду DO program<имя программного файла > из контекстного меню редактора.

Можно запустить на выполнение отдельный выделенный фрагмент программы, выделив его в окне редактора, и выбрав в контекстном меню команду Execute Selection (выполнить выделенное).

Сохраненную в программном файле программу, можно запустить из командного окна при помощи команды

DO <имя программного файла>.

Можно выбрать в меню Program команду DO! При этом откроется окно DO, содержащее файлы, хранящиеся в папке, где по умолчанию сохранены все файлы, созданные в FoxPro. В этом окне следует выбрать файл с расширением .prg или .fxp

В любой момент выполнение программы может быть прервано нажатием клавиши Esc, если по умолчанию используется установка SET ESCAPE ON.

Редактирование программы

При необходимости внесения изменений в созданную программу, её можно вновь загрузить в текстовый редактор. Для этого используйте меню File → Open. В открывшемся окне в поле «Тип файла» выберите Program, затем нужный файл.