Изменения в диалекте SQL.Вложенные подзапросы. Использование предложения TOP N в подзапросах Использование имён в UNION. Комбинирование DISTINCT и ORDER BY. Расширения других SQL команд
Конечной целью разработки приложения является создание одного (или нескольких) EXE-файла. Но это то, что должно получиться в результате. А на этапе его создания мы имеем большую кучу самых разных файлов (формы, запросы, программные модули, классы и т.п.).
Возникает закономерный вопрос, какой файл из этой кучи в готовом файле EXE должен запускаться первым? А как этот файл выделить (пометить, обозначить)?
Вот этот самый файл, который в готовом файле EXE должен запускаться первым и называется главным (стартовым) файлом. О нем и пойдет речь в данном разделе. Для простоты, далее я буду называть этот файл просто главным файлом.
Запуск формы
2. Именование форм
3. Последовательность событий в форме
4. Сессии данных
5. Модальность и немодальность
6. Передача параметров между формами и методами
7. Делегирование методов
8. Закрытие формы
9. Горячие клавиши на формах
Формирование параметра команды в случае, если синтаксис FoxPro не предполагает его наличия
Использование условных операторов. Ветвление кода
Выражение имени. Скобки
Формирование имени объекта
Функция GetPem()
Коллекции объектов
Метод SetAll()
Формирование значения или выражения для его вычисления
Формирование символьных строк
Сложение и вычитание символьных строк
Функция TextMerge()
Текстовые скобки Text…EndText
Функция Evaluate()
Формирование команды
Использование макроподстановки
Особенности использования макроподстановки
Восстановление исходных настроек среды
Настройка SET FILTER
Формирование команды Select-SQL
Другие команды и функции, связанные с макроподстановкой
Макроподстановка нескольких строк кода. Функция ExecScript()
Методы системного объекта _VFP
Метод _VFP.Eval()
Метод _VFP.DoCmd()
Метод _VFP.SetVar()
Советы и рекомендации
Расположение файлов проекта
Расположение файлов внутри проекта
Содержимое главной директории проекта
Файл конфигурации CONFIG.FPW
Как открыть проект
Пути доступа к файлам проекта
База данных
Название файла базы данных
Расположение файла базы данных
Обслуживание файла базы данных
А надо ли вообще использовать файл базы данных?
Таблица
Курсор как временная таблица
Формирование имени курсора в команде Select-SQL
Поля таблицы
Название полей таблицы
Собственно работа с полями таблицы
Ключевое поле
Естесственные или Суррогатные ключи
Какой тип данных использовать: Character или Integer
Надо ли использовать ключевое поле во всех без исключения таблицах
Название ключевого поля
Собственно работа с ключевыми полями таблицы
В этой статье :
Индекс
Типы (виды) индексов
Режим сортировки индексов (Collate)
Метод половинного деления
Использование индексов для отображения данных
Контроль уникальности данных при помощи индекса
Название индексных тегов
Сколько и каких индексов надо создавать
Собственно работа с индексами
В этой статье :
Типы данных
Точность расчета
Numeric
Currency
Memo
General
Binary
AutoIncrement
Удаление записей в таблице
При создании новых записей использовать записи ранее помеченные как удаленные
Вынести выполнение команды PACK в специальные служебные процедуры по обслуживанию базы данных
Следует ли создавать индекс по выражению Deleted()
Команда ZAP
Хранимые процедуры
Для чего нужны хранимые процедуры
Особенности работы с хранимыми процедурами
Связи и отношения между таблицами
Постоянная связь (persistent relationship)
Связь (обычная)
Когда следует использовать связь
В этой статье :
Триггер
Особенности использования функций - триггеров
Referential Integrity
Когда и для чего использовать триггер
Правила (Rule)
Особенности использования правил (Rule)
Когда и для чего использовать правило
Значение по умолчанию (Default)
Особенности использования значения по умолчанию
Когда и для чего использовать значение по умолчанию
Дизайн полей таблицы
Директивы компилятора
Открытие листа Excel в FoxPro
Подключение механизма IntelliSens в FoxPro
Указание диапазона ячеек для функции
Указание произвольного диапазона ячеек
Когда использовать "запятую", а когда "точку с запятой"
Указание формата ячеек
Константы Excel
Именованные параметры функций Excel
Рисование рамки вокруг всех данных
Перенос слов, выравнивание, ширина столбца и высота строки
Что такое IDENTITY
Недостаток использования полей со свойством IDENTITY как первичного ключа
Как определить значение поля со свойством IDENTITY в новой записи
Как работать с полями со свойством IDENTITY в FoxPro
Прямое использование Pass-Through технологии через функцию SQLEXEC()
Использование Remote View
Использование Cursor Adapter
Многим из нас приходилось слышать различные утверждения о Фоксе, мягко говоря, не соответствующие действительности. Здесь собрана коллекция наиболее часто встречающихся мифов, и приведены простые соображения по поводу каждого из них
Rushmore - это технология быстрого доступа к данным, разработанная специалистами FoxSoftware и позже купленная Microsoft. Не нужно пытаться найти скрытый смысл в названии (Rushmore можно перевести как "еще один натиск" или "еще один бросок") как признаются сами разработчики этой технологии название ничего не значит, а просто родилось после того, когда команда разработчиков провела шумную вечеринку с просмотрами фильмов Хичкока
Перспективы развития FoxPro уже давно стали одной из самых актуальных проблем для мирового сообщества пользователей этой СУБД. Она стала активно обсуждаться еще в середине 90-х годов, когда выяснилось, что потенциал развития баз данных класса xBase уже в значительной степени исчерпан. "Снизу" -- небольшие БД и клиентские приложения -- их активно теснили системы быстрой разработки (Visual Basic, Delphi). А путь "наверх" -- создание серверных корпоративных решений -- был уже перекрыт SQL-системами
В последнее время все чаще можно услышать разговоры о том, что FoxPro - это устаревшая технология 80-х, что программисты, которые остались верны данной среде разработки "отстали от жизни", что у них "нет будущего" и, вообще, "они ничего не понимают в развитии IT индустрии"... Прочитав эту статью, Вы научитесь применять FoxPro в глобальных масштабах всего мира
Наши пользователи хотят, чтобы программы выполнялись максимально быстро. Но часто бывает, что быстродействие может быть достигнуто в ущерб другим требованиям, например универсальности, модифицируемости или надежности кода.
Скорость загрузки программы
Rushmore
Навигационный и реляционный подходы
Оптимизация запросов
Нормализация БД
Алгоритм
Скорость выполнения отдельных команд
Пример
Как успокоить пользователя
Тестирование
Приступим к созданию более сложного примера, сделав который Вы получите необходимые навыки для применения технологии в повседневной жизни и не только. Мы постараемся рассказать Вам, как рекомендует Microsoft создавать приложения с нуля, условно разбив это путь на три основных части:
1) Идентифицировать проблему (или постановить задачи и найти ответы на вопросы: “ Что мы хотим сделать и что должно в итоге получиться?”, “Какие ограничения или другие условия влияют на проект?”)
2) Сделать основной дизайн (решить какие функции и возможности мы должны будем разработать в системе, чтобы решить стоящую перед нами задачу). Понять в общем как система будет работать, не вдаваясь в излишние детали.
3) Создать наше рабочее приложение (написать код и выполнить другие виды работ, которые позволят сделать наш проект рабочим).
Я знаю людей, которые в FoxPro для DOS использовали проект только для генерации исполняемого файла. В Visual FoxPro проект - основа всего.
Нажимайте: File - New, по умолчанию вам сразу будет предложено сделать проект - в появившемся меню уже выбран пункт Project. Если вы выбираете кнопку New File придется задать имя проекта, под которым он будет сохранен и вы получите окно проекта.
Прежде чем приступить к созданию приложения, мы должны четко уяснить себе организацию самого приложения и входящих в него компонентов. Все компоненты (файлы), участвующие в создании построении приложения объединены в проект. Проект это книга, в которой записано все то, из чего приложение строится.
Итак, Ваше приложение работает, и Вы, вроде бы, не находите в нем ошибок. Что дальше? А дальше вот что. Любое приложение пишется и создается для конечного пользователя. Это аксиома, и теперь Ваша задача донести приложение до него. Как, наверно, Вы уже попробовали, простое копирование каталога (папки) Вашего проекта на пользовательскую машину ничего не дает. Чаще всего приложение просто отказывается работать, ссылаясь на отсутствие библиотек поддержки Visual FoxPro.
Цель статьи: продемонстрировать основные приёмы работы при создании геоинформационной системы на VFP, с применением MapInfo Professional. Материал ориентирован на IT-специалистов, работающих в земельных комитетах, геодезических или землеустроительных организациях
Цель статьи – познакомить программистов и инженеров АСУ ТП с возможностью создания на VFP приложений решающих типовые задачи автоматизации с использованием OPC интерфейсов различного типа промышленных контроллеров, регистраторов, счётчиков и проч. оборудования автоматизации.
В прежние времена, новой функциональности, представленной в этом "наборе обновлений" хватило бы на новую версию или уж как минимум на промежуточную, которая кладется в самостоятельную коробку, снабжается документаций и пр. Так что можно считать что с выходом Visual Studio Service Pack 3 (SP3) на рынке появился Visual FoxPro 6.5
Visual Foxpro всех версий делает дистрибутив программы самое малое на 3 дискеты (более 4Мб). Хотя большинство других языков стандартными средствами делают дистрибутивы точно такого же размера (конечно, если требуется работать с базами данных), это не есть хорошо. Почему ? Потому что качать 4Мб из Интернета достаточно накладно, потому что переносить программу на двух дискетах куда легче, чем на трех (третья дискета всегда получается с бэд-секторами), да и вообще маленькая программа всегда лучше большой.
Использование dataenvironment в формах очень удобная штука.Но, как и все приятное имеет неудобства.В частности там прописаны пути на базы. Обычно , при разработке работают как минимум с двумя экземплярами одной и той же базы. Грязной, отладочной и рабочей.
Наши друзья за кордоном- большие мастера придумывать новенькие словечки и понятия. Каждый раз после такого новенького словечка возникает какой то шум,но потом, чаще всего куда то рассасывается. Вот и FrameWork
Как бы мы не любили наш ФОКС, он время от времени подкинет какую то подлянку. ( по совести сказать,не делай он этого, за что бы мы зарплаты получали) То содержание индексов попортит,то таг потеряет, то его выражение поломает, то название индексов в контейнере баз данных перестанут соответсвовать им же в таблицах, то мемо поле порушится,
то несколько записей в нем слепятся в одну, то вместо данных залетят прямоугольные нули, порушившие даже первичные ключи , объявленные не нулевыми. А то еще появится незадокументированная нигде ошибочная ситуация- бегущее через экран сообщение-"Record is not available"
Безусловно этот материал для начинающих делать клиент-сервер. Ну не сразу же в конце концов человек становиться ассом. Когда то нужно с чего то начинать.Возможно я не совсем знаком с нашим уровнем знаний, но лично для меня тайна вопросительного знака стала своего рода откровением около двух с половиной лет назад. А когда я ее осознал, то стал ее применять и налево и направо и сэкономил
кучу времени и кода...
Много чего может ФОКС, но встечаются досадные случаи , когда другой продукт что-то может, а у ФОКСА небольшие проблемы. Большая часть таких досадных случаев может быть залатана за счет использования WINAPI функций.
Велик Оракл при любом раскладе, редкий программист доберется до середины его- Гоголь
Не так страшен дьявол , как его малюют ( Русскому Фокспристу Оракл не страшен) Русская пословица.
Контролы является далеко не самыми часто используемыми компонентами Фокса.
Вот что могу посоветовать по их использованию
Пусть у нас есть поле типа Date . Вводим неправильную дату. Идет сообщение на Английском, по поводу которого большинство Русскоязычных пользователей возражают.
Инсталлятор GKSetup можно русифицировать следующим образом. (Тут нужно сразу сказать, что русифицируется НЕ САМ инсталлятор, а программа установки, которую запускает пользователеь)
1. Рекомендуется использовать на каждой рабочей станции копию Лисы.
2. Для ускорения необходимо разделить общедоступные базы и библиотеки.
3. Разделить функции для каждой раб. станции.
Компания Microsoft, выполняя обещание обеспечить доступ к своим приложениям из Internet, начнет с того, что вскоре предоставит возможность привязки прикладных систем сервера FoxPro ко многим типам Web-броузеров.
Программисты, использующие технологию Xbase, вскоре смогут легко и быстро перейти к объектно-ориентированному созданию масштабируемых многоуровневых приложений. Такие возможности им предоставит очередная версия пакета Visual FoxPro 6.0, которую корпорация Microsoft намерена выпустить нынешним летом. Новый продукт окажется полезным и тем, кто не имеет опыта работы с Xbase, но стремится повысить эффективность обработки данных в средах COM (Component Object Model - модель составных объектов).
Система Microsoft Visual FoxPro 6.0 содержит все необходимые средства для создания и управления высокопроизводительными 32-х разрядными приложениями и компонентами баз данных. Надежные инструментальные средства и объектно-ориентированный язык, специализированный для работы с данными, идеально подходят для создания современных масштабируемых многоуровневых приложений, интегрируемых в архитектуру клиент/сервер и Интернет.
Страшная аббревиатура в заголовке переводится довольно просто: "Быстрое создание приложения". Здесь мы постараемся рассмотреть, почему именно "быстрое". Темп развития современного мира пугает своим ритмом и скоростью. То, что еще вчера было передовыми технологиями, сегодня уже успешно забыто. Это наглядно видно в темпах развития компьютеров и программного обеспечения
Как уже отмечалось выше, язык VFP это сильно дополненный и расширенный язык xBase. В Visual FoxPro язык программирования объектно-ориентированный, то есть базовой конструкцией языка является понятие класса. Исходный же вариант xBase это чистейший структурный язык, с базовым понятием процедур и функций. Таким образом, современный язык программирования Visual FoxPro допускает совмещать как и программирование "по старинке" описанием массы процедур, так и в стиле ООП, создавая сложную иерархию классов.
По данным, приведенным в Microsoft White Pages, средства разработки СУБД распределены среди профессиональных разработчиков США следующим образом:
Microsoft (MS SQL, VFP) - 47%
Borland (Interbase SQL, Delphi) - 13%
Oracle - 4%
В 70-80 годах математик и программист Эдгар Кодд окончательно сформулировал и разработал концепцию реляционных баз данных. Подобный подход к организации и хранению информации как нельзя кстати подходил для реализации на ЭВМ, тогда еще очень больших. По мере развития компьютеров, машины становились все меньше, а их ресурсы все больше, и в конце концов, реляционные подходы к организации структуры информации были перенесены на персональные компьютеры.
Что же такое Microsoft Visual FoxPro? Язык программирования, база данных или нечто иное? Немного истории. Изначально FoxBASE создавался как система управления базами данных и был хорошей альтернативой популярного пакета dBase. То есть, была система, призванная управлять большими таблицами dbf формата. В качестве языка программирования использовался язык xBase. Но и уже тогда, в отличие от dBase FoxBASE был компилятором.
Разработчики и руководители отделов информатизации всегда испытывали смешанные чувства к FoxPro , теперь Visual FoxPro. Для некоторых FoxPro – вся жизнь. Для других – эти взаимоотношения напоминают борьбу с Терминатором, никак не помрет. Для того, чтобы еще больше затуманить ситуацию Microsoft включила в состав последней версии целый набор всякого рода усовершенствований, что позволит пожару дискуссий полыхать в обоих лагерях.
В этот момент слушатель обычно задает два вопроса. Первый, очевидно, "когда выйдет?" На этот вопрос ответ столь же очевиден - "не знаю". Если серьезно, то следует вспомнить, что Visual FoxPro - составная часть Visual Studio и даже если он будет готов завтра, придется ждать остальных членов команды. А это завтра точно не случиться.
В России Microsoft Foxpro долгое время был самым популярным инструментом для создания баз данных. В настоящее время его несколько потеснили такие средства разработки как Delphi, MS Access и MS Visual Basic. Но и сейчас Foxpro остается самым популярным инструментом для разработки баз. На нем написано БОЛЬШЕ ВСЕГО бухгалтерских, экономических и других приложений, связанных с расчетами и хранением информации. И вот почти вышла очередная, седьмая версия Visual Foxpro (сейчас идет тестирование beta-версии). Чем Visual FoxPro 7 отличается от предыдущих версий ?