Открытый Университет "интуит"


Скачать 240.27 Kb.
НазваниеОткрытый Университет "интуит"
страница3/4
ТипДокументы
1   2   3   4

Рис. 6.24. Компиляция проекта

Для получения программы, работающей в операционной системе Windows, нужно сделать следующее:

  1. в окне проекта выбираем раздел Code - Programs (программные файлы), нажимаем New:, в чистом окне программы пишем 2 строки: do form spisok; read events сохраняем файл в своей папке с названием program1 или с другим названием и указываем в проекте, что это головная программа (правый клик на файле и выбрать команду Set Main );

  2. открываем форму Spisok и окно свойств, в окно события формы Destroy Event вписываем фразу: clear events (чтобы после закрытия формы завершался процесс обработки событий и завершалась работа программы) - рис. 6.25.




Рис. 6.25. Процедура Destroy Event для формы Spisok

Далее снова компилируем программу и проверяем ее работу, запуская ее из папки Windows. Мы увидим, что окно экранной формы при запуске программы появляется внутри другого окна, имеющего некоторое стандартное меню. Если вы хотите, чтобы на экране было только окно вашей формы Spisok, можно изменить свойство формы ShowWindow на 2-As Top-Level Form и добавить первой строкой в головной файл проекта команду: _SCREEN.Visible=.F. (Вместо 2-го пункта можно создать в папке программы файл config.fpw и в нем написать строку SCREEN = OFF ). В результате мы получим небольшую по размеру (около 250 Кб) программу, имеющую все основные возможности для работы с базой данных. Для запуска такой программы на другом компьютере потребуется сама база данных, файл этой программы (с расширением *.exe) и в доступном каталоге (например, Windows - System32) библиотечные файлы VFPVersionNumberR.dll and VFPVersionNumberRRUS.dll (для 9-й версии Vfp9r.dll - размер 4,49 Мб и Vfp9rrus.dll - 1,18 Мб). Может потребоваться также файл Msvcr70.dll.

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

Другой путь разработки проекта - использовать Мастер разработки приложения ( Application Wizard ). После выбора New - Project - Wizard появляется окно, в котором нужно задать название проекта ( student ) и путь его сохранения (оставим галочку у фразы "Создать структуру каталогов"). После генерации основы проекта и появления окна проекта ">проекта на экране, появляется также многостраничная форма построителя проекта ( Application Builder ), в которой на первой странице (рис. 6.26.) следует указать, будут ли использоваться окна информации о программе и авторе ( Splash и About ), окно Start для выбора формы или отчета в начале работы с программой и окно User login для задания имени пользователя и его пароля.




Рис. 6.26. Первая страница Построителя приложений

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




Рис. 6.27. Третья страница Построителя

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

На странице 4 Forms следует указать некоторые особенности использования каждой из форм в программе:

Name - название, которое будет показано для формы в окне Start ;

Single instance - открытие единственного экземпляра этого окна;

Use navigation toolbar - показывать навигационную панель (перемещения по таблице);

Use navigation menu - показывать навигационное меню;

Appear in File New dialog - форма появляется в пункте New меню и панели инструментов;

Appear in File Open dialog - форма появляется в пункте Open

На странице 5 Reports следует указать Name - название, которое будет показано для отчета в окне Start, и Appears in Print Report dialog - показывать или нет отчет в диалоге печати отчетов.

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

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

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

Некоторые команды и функции для работы с базой данных

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

Полный список команд и функций с разъяснением их параметров и примерами использования можно найти в справочной системе VFP в разделе Language Reference.

Команды для работы с базами данных, таблицами, индексами, связями

  • Создать базу

CREATE DATABASE [DatabaseName | ?]

  • Создать таблицу базы данных (SQL-команда)

  • CREATE TABLE | DBF TableName1 [NAME LongTableName] [FREE]

  • [CODEPAGE = nCodePage]

  • ( FieldName1 FieldType [( nFieldWidth [, nPrecision] )] [NULL | NOT NULL]

  • [CHECK lExpression1 [ERROR cMessageText1]]

  • [AUTOINC [NEXTVALUE NextValue [STEP StepValue]]] [DEFAULT eExpression1]

  • [PRIMARY KEY | UNIQUE [COLLATE cCollateSequence]]

  • [REFERENCES TableName2 [TAG TagName1]] [NOCPTRANS]

  • [, FieldName2... ]

  • [, PRIMARY KEY eExpression2 TAG TagName2 |, UNIQUE eExpression3 TAG TagName3

  • [COLLATE cCollateSequence]]

  • [, FOREIGN KEY eExpression4 TAG TagName4 [NODUP]

  • [COLLATE cCollateSequence]

  • REFERENCES TableName3 [TAG TagName5]] [, CHECK lExpression2 [ERROR cMessageText2]] )

| FROM ARRAY ArrayName

  • Открыть базу данных, представление (View) или таблицу базы

  • USE [[DatabaseName!]Table | SQLViewName | ?]

  • [IN nWorkArea | cTableAlias] [ONLINE] [ADMIN] [AGAIN]

  • [NOREQUERY [nDataSessionNumber]] [NODATA] [INDEX IndexFileList | ?

  • [ORDER [nIndexNumber | IDXFileName | [TAG] TagName [OF CDXFileName]

  • [ASCENDING | DESCENDING]]]] [ALIAS cTableAlias] [EXCLUSIVE]

  • [SHARED] [NOUPDATE] [CONNSTRING cConnectionString | (m.nStatementHandle) ]

Функция ALIAS([nWorkArea]) возвращает алиас для текущей или заданной рабочей зоны.

  • Выбрать свободную рабочую зону (0), заданную рабочую зону или выбрать таблицу

  • SELECT([ 0 | 1 | cTableAlias ])

  • SELECT(0) - возвращает номер выбранной рабочей зоны

  • SELECT(1) - возвращает наибольший номер свободной зоны

SELECT 0 - выбор свободной зоны с наименьшим номером

  • Создать индексный файл

  • INDEX ON eExpression TO IDXFileName | TAG TagName

  • [COLLATE cCollateSequence] [OF CDXFileName] [FOR lExpression]

  • [COMPACT] [ASCENDING | DESCENDING] [UNIQUE | CANDIDATE] [ADDITIVE]

[BINARY]

  • Открыть индекс

  • SET INDEX TO [IndexFileList | ? ]

  • ORDER nIndexNumber | IDXIndexFileName |

  • [TAG] TagName [OF CDXFileName] [ASCENDING |

DESCENDING]] [ADDITIVE]

  • Установить порядок по индексу

  • SET ORDER TO [nIndexNumber | IDXIndexFileName |

  • [TAG] TagName [OF CDXFileName] [IN nWorkArea |

cTableAlias][ASCENDING | DESCENDING]]

  • Установить связь между таблицами

  • SET RELATION TO [eExpression1 INTO nWorkArea1 |

  • cTableAlias1 [, eExpression2 INTO nWorkArea2 |

  • cTableAlias2 ] [IN nWorkArea | cTableAlias]

[ADDITIVE]]

  • Установить множественную связь между таблицами (используется при формировании отчетов)

SET SKIP TO [TableAlias1 [, TableAlias2] ...]

Команды перемещения по таблице, поиска и отбора данных

  • Перейти к записи...

  • GO [RECORD] nRecordNumber [IN nWorkArea |

  • IN cTableAlias]

  • GO TOP | BOTTOM [IN nWorkArea | IN cTableAlias]

(вместо GO можно использовать GOTO)

  • Переместиться по таблице (вперед или назад)

SKIP [nRecords] [IN nWorkArea | cTableAlias]

Для nRecords>0 - перемещение далее по таблице, для nRecords<0 - назад к предыдущим записям.

Функция BOF() возвращает .T., если текущая запись - первая и Вы пытаетесь выполнить команду SKIP -1, аналогично для последней записи - EOF()=.T.

  • Поиск для заданного логического условия

  • LOCATE [FOR lExpression1] [Scope] [WHILE]

[NOOPTIMIZE]

(Найти следующую запись, соответствующую условию - команда CONTINUE)

  • Поиск по значению индекса

  • SEEK eExpression ORDER nIndexNumber |

  • IDXIndexFileName | [TAG] TagName

  • [OF CDXFileName] [ASCENDING | DESCENDING]]

[IN nWorkArea | cTableAlias]

  • Установить фильтр

  • SET FILTER TO [lExpression]

[IN nWorkArea | cTableAlias]

  • Выполнить запрос (SQL-команда)

  • SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT]] Select_List_Item [, ...]

  • FROM [FORCE] Table_List_Item [, ...]

  • [[JoinType] JOIN DatabaseName!]Table[[AS] Local_Alias]

  • [ON JoinCondition [AND | OR [JoinCondition | FilterCondition] ...]

  • [WITH (BUFFERING = lExpr)]

  • [WHERE JoinCondition | FilterCondition [AND | OR JoinCondition | FilterCondition] ...]

  • [GROUP BY Column_List_Item [, ...]] [HAVING FilterCondition [AND | OR ...]]

  • [UNION [ALL] SELECTCommand]

  • [ORDER BY Order_Item [ASC | DESC] [, ...]]

  • [INTO StorageDestination | TO DisplayDestination]

[PREFERENCE PreferenceName] [NOCONSOLE] [PLAIN] [NOWAIT]

В качестве StorageDestination можно использовать одно из следующих предложений:

    • ARRAY ArrayName - в массив переменных памяти;

    • CURSOR CursorName - в курсор;

    • DBF TableName | TABLE TableName - в таблицу.

В качестве DisplayDestination можно использовать одно из следующих предложений:

    • FILE FileName [ADDITIVE] - ASCII текстовый файл;

    • PRINTER [PROMPT] - вывод на принтер;

    • SCREEN - в главное окно системы VFP.

Команды для добавления, модификации и удаления данных

  • Открыть окно для работы в табличном формате с таблицей базы данных:

  • BROWSE [FIELDS FieldList] [FONT cFontName [, nFontSize]]

  • [STYLE cFontStyle] [FOR lExpression1 [REST]] [FORMAT]

  • [FREEZE FieldName] [KEY eExpression1 [, eExpression2]] [LAST | NOINIT]

  • [LOCK nNumberOfFields] [LPARTITION] [NAME ObjectName] [NOAPPEND]

  • [NOCAPTIONS] [NODELETE] [NOEDIT | NOMODIFY] [NOLGRID] [NORGRID]

  • [NOLINK] [NOMENU] [NOOPTIMIZE] [NOREFRESH] [NORMAL] [NOWAIT]

  • [PARTITION nColumnNumber [LEDIT] [REDIT]]

  • [PREFERENCE PreferenceName] [SAVE] [TIMEOUT nSeconds]

  • [TITLE cTitleText] [VALID [:F] lExpression2 [ERROR cMessageText]]

  • [WHEN lExpression3] [WIDTH nFieldWidth] [WINDOW WindowName1]

[IN [WINDOW] WindowName2 | IN SCREEN] [COLOR SCHEME nSchemeNumber]

При описании полей (в параметре FIELDS) список может содержать следующие параметры:

FieldName (имя поля)

[:R] (только чтение)

[:nColWidth] (ширина поля)

[:V = lExpr1 [:F] [:E = cTxt]] (функция, выполняемая при выходе из поля)

[:P = cFormatCodes] (формат)

[:B = eMin, eMax [:F]] (диапазон данных)

[:H = cHeadingText] (заголовок)

[:W = lExpr2] (функция,выполняемая

перед входом в поле)

Близкий синтаксис имеют команды EDIT и CHANGE для работы с таблицей при построчном расположении полей.

  • Добавление записей

  • APPEND [BLANK] [IN nWorkArea | cTableAlias] [NOMENU]

  • APPEND FROM FileName | ? [FIELDS FieldList]

  • [FOR lExpression][[TYPE] [DELIMITED

  • [WITH Delimiter | WITH BLANK | WITH TAB |

  • WITH CHARACTER Delimiter] | DIF | FW2 | MOD |

  • PDOX | RPD | SDF | SYLK | WK1 |WK3 | WKS | WR1 |

  • WRK | CSV | XLS | XL5 [SHEET cSheetName]| XL8

  • [SHEET cSheetName]]] [AS nCodePage]



  • APPEND FROM ARRAY ArrayName [FOR lExpression] [

  • FIELDS FieldList | FIELDS LIKE Skeleton |

FIELDS EXCEPT Skeleton]

SQL-команда INSERT INTO - добавить запись с заданными значениями полей:

INSERT INTO dbf_name [(FieldName1 [, FieldName2, ...])]

VALUES (eExpression1 [, eExpression2, ...])

INSERT INTO dbf_name FROM ARRAY ArrayName | FROM MEMVAR | FROM NAME ObjectName

INSERT INTO dbf_name [(FieldName1 [, FieldName2, ...])]

SELECT SELECTClauses [UNION UnionClause SELECT SELECTClauses ...]

  • Занести данные в поля таблицы

  • REPLACE FieldName1 WITH eExpression1 [ADDITIVE]

  • [, FieldName2 WITH eExpression2 [ADDITIVE]]

  • ...[Scope][FOR lExpression1][WHILE lExpression2]

[IN nWorkArea | cTableAlias][NOOPTIMIZE]

  • Копировать данные текущей записи в массив переменных

  • SCATTER [FIELDS FieldNameList | FIELDS LIKE

  • Skeleton | FIELDS EXCEPT Skeleton] [MEMO]

  • TO ArrayName | TO ArrayName BLANK | MEMVAR

| MEMVAR BLANK | NAME ObjectName [BLANK]

параметр MEMVAR означает - используются переменные с теми же именами, что и имена полей записи; имя переменной в программе следует писать как m.<имя поля>).
1   2   3   4

Похожие:

Открытый Университет \"интуит\" iconОткрытый аукцион в электронной форме
Федеральное государственное бюджетное образовательное учреждение высшего образования «Санкт-Петербургский государственный архитектурно-строительный...

Открытый Университет \"интуит\" iconОбразец резюме на должность педагога
Московский Государственный Открытый Педагогический Университет им. Шолохова, факультет «Иностранных языков», специальность «Учитель...

Открытый Университет \"интуит\" iconОбразец резюме на должность педагога
Московский Государственный Открытый Педагогический Университет им. Шолохова, факультет «Иностранных языков», специальность «Учитель...

Открытый Университет \"интуит\" iconО проведении Международного открытого шахматного фестиваля
Международный открытый шахматный фестиваль "Moscow Open 2011" проводится в г. Москве с 28 января (приезд) по 7 февраля (отъезд) 2011г....

Открытый Университет \"интуит\" iconАдрес Оргкомитета
РФ, Московский государственный университет им. М. В. Ломоносова, Московский физико-технический институт (государственный университет),...

Открытый Университет \"интуит\" iconКонкурс проводится по следующим номинациям: использование информационных...
«Новосибирскийнациональный исследовательский государственный университет», Высшим колледжем информатики Университета, Институтом...

Открытый Университет \"интуит\" icon6. Срок, место и порядок предоставления документации об аукционе
Форма торгов: открытый аукцион в электронной форме (далее – открытый аукцион, аукцион)

Открытый Университет \"интуит\" iconКонкурс Открытый конкурс
Открытый конкурс по отбору управляющей организации для управления многоквартирным домом на территории муниципального образования...

Открытый Университет \"интуит\" iconДокументация об аукционе предоставляется по адресу: 101000, г. Москва,...
Форма торгов: открытый аукцион в электронной форме (далее – открытый аукцион, аукцион)

Открытый Университет \"интуит\" iconДокументация об аукционе предоставляется по адресу: 101000, г. Москва,...
Форма торгов: открытый аукцион в электронной форме (далее – открытый аукцион, аукцион)

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск