Visual FoxPro - Visual FoxPro

Visual FoxPro
Visual FoxPro v9 под управлением Windows XP
Visual FoxPro v9 работает на Windows XP
Разработчики)Microsoft
Окончательный релиз
v9.0 с пакетом обновления 2[1] / 16 октября 2007 г.; 13 лет назад (2007-10-16)[2]
Операционная системаWindows 2000, Windows XP, и Windows Server 2003[3]
ПлатформаIA-32[4]
Доступно вIDE: Английский, немецкий, испанский
Время выполнения: Выше плюс французский, китайский, русский, чешский, корейский
ТипИнтегрированная среда развития, язык программирования
ЛицензияКоммерческий проприетарное программное обеспечение
Интернет сайтmsdn.microsoft.com/ vfoxpro

Visual FoxPro это Microsoft ориентированный на данные процедурный язык программирования что впоследствии стало объектно-ориентированный.

Он был получен из FoxPro (первоначально известная как FoxBASE), которая была разработана Fox Software с 1984 года. Fox Technologies объединилась с Microsoft в 1992 году, после чего программное обеспечение приобрело дополнительные функции и префикс «Visual».[6] FoxPro 2.6 работал над Mac OS, ДОС, Windows, и Unix.

Visual FoxPro 3.0, первая «визуальная» версия, уменьшила поддержку платформы до Mac.[7] и Windows, а более поздние версии 5, 6, 7, 8 и 9 были только для Windows. Текущая версия Visual FoxPro COM -based, и Microsoft заявила, что не намерена создавать Microsoft .NET версия.

Версия 9.0, выпущенная в декабре 2004 г. и обновленная в октябре 2007 г. патчем SP2, была последней версией продукта.

История

Visual FoxPro возник как член класса языков, обычно называемых "xBase "языки, синтаксис которых основан на dBase язык программирования. Другие члены языковой семьи xBase включают: Машинка для стрижки и Сольный концерт (база данных).

Visual FoxPro, обычно сокращенно VFP, тесно интегрирован с собственным механизмом реляционной базы данных, который расширяет возможности FoxPro xBase для поддержки SQL запросы и манипулирование данными. В отличие от большинства системы управления базами данных, Visual FoxPro - это полнофункциональный, язык динамического программирования это не требует использования дополнительной среды программирования общего назначения. Его можно использовать для написания не только традиционных "толстый клиент "приложения, но также промежуточное ПО и веб-приложения.

В конце 2002 года было продемонстрировано, что Visual FoxPro может работать на Linux под Вино Пакет совместимости с Windows. В 2003 г. это привело к жалобам со стороны Microsoft: было заявлено, что развертывание исполняемого кода FoxPro на машинах, отличных от Windows, нарушает Лицензионное соглашение конечного пользователя.[8]

Популярность Visual FoxPro стремительно росла и падала, если судить по Индекс сообщества программистов TIOBE.[9] В декабре 2005 года VFP впервые попала в топ-20. В июне 2006 года он достиг 12-й позиции, что сделало его (в то время) языком "B". По состоянию на октябрь 2019 года Visual FoxPro занимает 51 позицию в индексе TIOBE.[10]

В марте 2007 года Microsoft объявила, что не будет VFP 10,[11] Таким образом, VFP9 (выпущенный в производство 17 декабря 2004 г.) стал последним коммерческим выпуском VFP от Microsoft. Пакет обновления 2 для Microsoft Visual FoxPro 9.0 был выпущен 16 октября 2007 г.[12] Поддержка версии 9 закончилась 13 января 2015 года.[13]

На момент объявления о конце жизни работа над следующим выпуском под кодовым названием Sedna (назван в честь недавно открытая карликовая планета ), который был построен поверх кодовой базы VFP9, уже начался. «Sedna» - это набор надстроек к VFP 9.0 компонентов xBase для поддержки ряда сценариев взаимодействия с различными технологиями Microsoft, включая SQL Server 2005, .NET Framework, Windows Vista, Office 2007, Windows Search и Сервер Team Foundation (TFS). Microsoft выпустила Sedna под Общий источник лицензия на CodePlex сайт. Microsoft пояснила, что ядро ​​VFP по-прежнему останется закрытым исходным кодом. Седна была выпущена 25 января 2008 года.[14] По состоянию на март 2008 г. все компоненты xBase VFP 9 SP2 (включая Sedna) были доступны для разработки сообществом на CodePlex.

В конце марта 2007 г. низовые Кампания была начата испаноязычным сообществом FoxPro на MásFoxPro[15] ("MoreFoxPro" в английский ), чтобы подписать петицию в Microsoft, чтобы продолжить обновление Visual FoxPro или выпустить его для сообщества как Открытый исходный код. 3 апреля 2007 года движение было отмечено технической прессой.[16]

3 апреля 2007 года Microsoft ответила на петицию следующим заявлением Алана Гривера:[16]

«Мы хорошо осведомлены о сообществе FoxPro, и это сыграло большую роль в том, что мы объявили 13 марта. Никогда не бывает легким решением объявить, что мы не собираемся выпускать еще одну версию продукта, и мы рассматриваем ее. очень осторожно.

«Мы не объявляем о завершении FoxPro: очевидно, что приложения FoxPro будут продолжать работать. По некоторым нашим внутренним оценкам, в FoxPro 2.6 работает больше приложений, чем в VFP, а FoxPro 2.6 не поддерживается во многих Visual FoxPro 9 будет поддерживаться Microsoft до 2015 года.

«Чтобы Microsoft продолжала развивать базу FoxPro, нам нужно было бы подумать о создании 64-разрядной среды разработки, что потребовало бы почти полного переписывания основного продукта. Мы также вложили средства в создание масштабируемой базы данных с SQL Server , включая свободно доступный SQL Server Express Edition. Что касается установления партнерских отношений со сторонним поставщиком, мы слышали от ряда крупных клиентов FoxPro, что это лишит их возможности продолжать использовать FoxPro, поскольку он больше не будет от утвержденного поставщика. Мы чувствовали, что перевод среды в открытый исходный код CodePlex, который уравновешивает потребности как сообщества, так и крупных клиентов, был лучшим путем вперед ".

График версии

Все перечисленные версии предназначены для Windows.[17]

ВерсияДата выхода
Visual FoxPro 3.0Июнь 1995 г.
Visual FoxPro 5.0Октябрь 1996
Visual FoxPro 5.0aОктябрь 1997 г.
Visual FoxPro 6.018 мая 1998
Visual FoxPro 7.027 июня 2001 г.
Visual FoxPro 8.01 февраля 2003 г.
Visual FoxPro 8.0 с пакетом обновления 17 октября 2003 г.
Visual FoxPro 920 декабря 2004 г.
Пакет обновления 1 для Visual FoxPro 98 декабря 2005 г.
Пакет обновления 2 для Visual FoxPro 916 октября 2007 г.

Примеры кода

Язык FoxPro содержит команды, очень похожие на другие языки программирования, такие как Basic.

Некоторые основные примеры синтаксиса:

ЗА я = от 1 до 10 Икс = х + 6,5СЛЕДУЮЩИЙ  && Вместо "NEXT" можно также использовать "ENDFOR"ЕСЛИ я = 25 я = я + 1ЕЩЕ    я = я + 3ENDIFИкс = 1ДЕЛАТЬ ПРИ x <50 Икс = х + 1ENDDOИкс = 1ДЕЛАТЬ ПОКА .T.    Икс = х + 1 ЕСЛИ х <50 ПЕТЛЯ    ЕЩЕ        ВЫХОД    ENDIFENDDOnMonth = МЕСЯЦ(ДАТА())ДЕЛАТЬ ДЕЛО ДЕЛО nМесяц <= 3 ОКНО СООБЩЕНИЯ(«Q1»)    ДЕЛО nMonth <= 6 ОКНО СООБЩЕНИЯ(«Q2»)    ДЕЛО nMonth <= 9 ОКНО СООБЩЕНИЯ(«Q3»)    ИНАЧЕ        ОКНО СООБЩЕНИЯ(«Q4»)КОНЕЦЗА КАЖДЫЙ оКонтроль В ЭТА ФОРМА.Controls    ОКНО СООБЩЕНИЯКонтроль.Имя)ENDFORж = Факториал (10)НАЗНАЧЕНИЕ Факториал (n)МЕСТНЫЙ я, г р = 1    ЗА i = n К 1 ШАГУ -1 р = г * я СЛЕДУЮЩИЙ  && Можно также использовать здесь "ENDFOR" вместо "NEXT"    ВОЗВРАЩАТЬСЯ рENDFUNC

Примеры Hello World:

 * Вывод в текущем месте ? "Привет, мир" * Вывод в указанном месте @ 1,1 СКАЗАТЬ "Привет, мир" * Вывод в отдельном окне, очищается при вводе ЖДАТЬ ОКНО "Привет, мир" * Вывод в стандартном диалоговом окне, сбрасывается при ОК ОКНО СООБЩЕНИЯ("Привет, мир")

Объект

Выход Привет, мир программа.
* Вывод в определенном окнеloForm = СОЗДАТЬ ОБЪЕКТ(«HiForm»)loForm.Показать(1)ОПРЕДЕЛЯТЬ КЛАСС ПриветФорма В КАЧЕСТВЕ Форма    Автоцентр   = .T.    Подпись      = "Привет, мир"    ДОБАВИТЬ ОБЪЕКТ lblHi как Этикетка ;        С Заголовок = "Привет, мир!"ENDDEFINE
loMine = СОЗДАТЬ ОБЪЕКТ("Мой класс")? loMine.cProp1 && Это будет работать. (Двойной амперсанд обозначает комментарий в конце строки)? loMine.cProp2 && Ошибка программы: свойство CPROP2 не найдено, так как оно скрыто извне.? loMine.MyMethod1 () && Это будет работать.? loMine.MyMethod2 () && Ошибка программы: свойство MYMETHOD2 не найдено, поскольку оно скрыто извне.ОПРЕДЕЛЯТЬ КЛАСС MyClass AS Обычай    cProp1 = "Моя собственность"    && Это общедоступная собственность    СКРЫТЫЙ cProp2 && Это частная (скрытая) собственность    dProp3 = {}               && Другая публичная собственность    ПРОЦЕДУРА В этом() && Конструктор классов        Этот.cProp2 = «Это скрытая собственность».    ПРОЦЕДУРА dProp3_Access && Получатель недвижимости        ВОЗВРАЩАТЬСЯ ДАТА()    ПРОЦЕДУРА dProp3_Asзнак(vNewVal) && Property Setter использует тег "_assign" в имени свойства.        ЕСЛИ ВАРТИП(vNewVal) = "D"            ЭТО.dProp3 = vNewVal ENDIF    ПРОЦЕДУРА MyMethod1 () * Это общедоступный метод, вызывающий скрытый метод, который возвращает    * значение скрытого свойства.        ВОЗВРАЩАТЬСЯ Этот.MyMethod2 () СКРЫТЫЙ ПРОЦЕДУРА MyMethod2 () && Это частный (скрытый) метод        ВОЗВРАЩАТЬСЯ Этот.cProp2ENDDEFINE
  • VFP имеет обширную библиотеку предопределенных классов и визуальных объектов, доступ к которым осуществляется в IDE с помощью ведомости свойств (включая Методы ),[18] поэтому такой код, как описанные выше классы и объекты, нужен только для специальных целей, а рамки больших систем.

Обработка данных

В языке также имеется обширный набор команд для работы с базой данных и индексирования. В указателе "справки" команд в VFP 9 описано несколько сотен команд и функций. В приведенных ниже примерах показано, как кодировать создание и индексирование таблиц, однако в VFP есть экраны построения таблиц и баз данных, которые создают таблицы и индексы, не заставляя вас писать код.

Выход Обработка данных программа.
 * Создать таблицу СОЗДАЙТЕ ТАБЛИЦА randData (iData I) * Заполнение случайными данными с помощью команд xBase и SQL DML ЗА я = от 1 до 50 ДОБАВИТЬ ПУСТОЙ ЗАМЕНЯТЬ iData С (RAND() * 100)     ВСТАВЛЯТЬ INTO randData (iData) ЗНАЧЕНИЯ (RAND() * 100) ENDFOR * Поместите структурный индекс на данные ИНДЕКС НА iData TAG iData ЗАКРЫТЬ ДАННЫЕ && Не закрывать открытые библиотеки и т. Д. * Отображение упорядоченных данных с помощью команд в стиле xBase ИСПОЛЬЗОВАТЬ randData НАБОР ЗАКАЗАТЬ iData НАЙТИ           && Вместо GO TOP. Принуждает использовать индекс для поиска TOP  СПИСОК СЛЕДУЮЩИЙ 10 && Первые 10 ИДТИ НИЖНИЙ ПРОПУСКАТЬ -10 СПИСОК ОТДЫХ && Последние 10 ЗАКРЫТЬ ДАННЫЕ * Просмотр упорядоченных данных с помощью команд SQL DML ВЫБРАТЬ * ;   ИЗ randData ;   ПОРЯДОК ПО iData ПО убыванию

Доступ ODBC с использованием сквозной передачи SQL

 ЧАСТНЫЙ cAuthorID, cAuthorName && Частные переменные заменяют любую предыдущую глобальную или частную переменную с тем же именем МЕСТНЫЙ nHnd, nResult && Локальные переменные видны только здесь * Подключение к источнику данных ODBC nHnd = SQLCONNECT ("ODBCDSN", "Пользователь", "pwd") * Введите цикл, чтобы мы могли перейти к коду закрытия соединения в случае ошибки ДЕЛАТЬ ПОКА .T.     * Выполнить команду SQL     nResult = SQLEXEC (nHnd, «Мастер ЕГЭ»)     ЕСЛИ nResult <0 ОКНО СООБЩЕНИЯ ("База данных МАСТЕР не существует!")         ВЫХОД  && Чтобы закрыть соединение     ENDIF     * Получение данных с удаленного сервера и сохранение их в локальном курсоре данных     nResult = SQLEXEC (nHnd, «ВЫБРАТЬ * ОТ авторов», "КАУТОРЫ")     ЕСЛИ nResult <0 ОКНО СООБЩЕНИЯ («Невозможно выполнить удаленную команду SQL SELECT!»)         ВЫХОД  && Чтобы закрыть соединение     ENDIF     * Обновить запись в удаленной таблице с помощью параметров     cAuthorID     = "1001"     cAuthorName   = "Новое имя"     nResult       = SQLEXEC (nHnd, "ОБНОВЛЕНИЕ авторов SET auth_name =? CAuthorName WHERE auth_id =? CAuthorID")     ЕСЛИ nResult <0 ОКНО СООБЩЕНИЯ («Невозможно выполнить удаленную команду SQL UPDATE!»)         ВЫХОД  && Чтобы закрыть соединение     ENDIF     * Если мы попали сюда, значит, мы все получили успешно     ВЫХОД  && Выйти безоговорочно ENDDO * Закройте соединение SQLDISCONNECT(nHnd)

Приложения

Некоторые известные приложения, написанные на Visual FoxPro, включают:

  • PWCT: бесплатный визуальный язык программирования с открытым исходным кодом для разработки программного обеспечения

Смотрите также

Рекомендации

  1. ^ «Обновления Visual FoxPro 9.0». Центр разработчиков Visual FoxPro. Microsoft. Получено 7 июн 2013.
  2. ^ "Загрузить Microsoft Visual FoxPro 9.0 Service Pack 2.0". Центр загрузок. Microsoft. 16 октября 2007 г.. Получено 7 июн 2013.
  3. ^ "Системные Требования". Центр разработчиков Visual FoxPro. Microsoft. Получено 7 июн 2013.
  4. ^ "Часто задаваемые вопросы". Центр разработчиков Visual FoxPro. Microsoft. Получено 7 июн 2013.
  5. ^ «Послание к сообществу». Центр разработчиков Visual FoxPro. Microsoft. Получено 7 июн 2013.
  6. ^ Нью-Йорк Таймс
  7. ^ Microsoft Visual FoxPro 3.0 для Power Macintosh теперь доступен, 25 июля 1996 г., news.microsoft.com
  8. ^ Visual FoxPro для Linux: нарушение лицензионного соглашения?, 13 мая 2003 г., Эд Лиф, Linux Journal
  9. ^ История индекса Tiobe для FoxPro
  10. ^ https://www.tiobe.com/tiobe-index/
  11. ^ Обращение к сообществу
  12. ^ Пакет обновления 2.0 для Microsoft Visual FoxPro 9.0
  13. ^ «Жизненный цикл Microsoft Visual FoxPro 9.0». support.microsoft.com. Получено 2018-08-31.
  14. ^ Microsoft SEDNA скачать
  15. ^ Mas FoxPro - Visual FoxPro Wiki
  16. ^ а б Разработчики ходатайствуют о пересмотре отказа от FoxPro в Microsoft Автор: Мэри Джо Фоли (3 апреля 2007 г.) - Все о Microsoft - ZDNet.com
  17. ^ История FoxPro
  18. ^ «Инструменты для повышения производительности разработки Visual FoxPro». Microsoft. Получено 20 декабря 2014.

внешняя ссылка

Страницы Microsoft

Другие страницы