Visual FoxPro

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

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

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

Visual FoxPro 3.0, первый " Визуальная »версия, красный Была реализована поддержка платформы только для Mac и Windows, а более поздние версии 5, 6, 7, 8 и 9 были только для Windows. Текущая версия Visual FoxPro основана на COM, и Microsoft заявила, что не намерена создавать версию Microsoft.NET.

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

Содержание

  • 1 История
    • 1.1 Временная шкала версии
  • 2 Примеры кода
    • 2.1 Объект
    • 2.2 Обработка данных
    • 2.3 Доступ ODBC с использованием сквозной передачи SQL
  • 3 Приложения
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
    • 6.1 Страницы Microsoft
    • 6.2 Другие страницы

История

Visual FoxPro возник как член класса языков, обычно называемых Языки «xBase », синтаксис которых основан на языке программирования dBase. Другие члены языковой семьи xBase включают Clipper и Recital (база данных).

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

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

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

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

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

В конце марта 2007 г. кампания широких масс была начата испаноязычным сообществом FoxPro на MásFoxPro («MoreFoxPro» на английском ), чтобы подписать петицию в Microsoft, чтобы продолжить обновление Visual FoxPro или выпустить его для сообщества как с открытым исходным кодом. 3 апреля 2007 г. это движение было отмечено технической прессой.

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

«Нам хорошо известно о 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.

ВерсияДата выпуска
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 г.

Примеры кода

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

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

FOR i = от 1 до 10 x = x + 6.5 NEXT Вместо "NEXT" также можно использовать "ENDFOR" IF i = 25 i = i + 1 ELSE i = i + 3 ENDIF x = 1 DO WHILE x < 50 x = x + 1 ENDDO x = 1 DO WHILE.T. x = x + 1 IF x < 50 LOOP ELSE EXIT ENDIF ENDDO nMonth = MONTH(DATE()) DO CASE CASE nMonth <= 3 MESSAGEBOX("Q1") CASE nMonth <= 6 MESSAGEBOX("Q2") CASE nMonth <= 9 MESSAGEBOX("Q3") OTHERWISE MESSAGEBOX("Q4") ENDCASE FOR EACH oControl IN THISFORM.Controls MESSAGEBOX(oControl.Name) ENDFOR f = Factorial(10) FUNCTION Factorial(n) LOCAL i, r r = 1 FOR i = n TO 1 STEP -1 r = r * i NEXT Can also use "ENDFOR" here instead of "NEXT" RETURN r ENDFUNC

Примеры Hello World:

* Вывод в текущем местоположении? "Hello World" * Вывод в указанном месте @ 1,1 SAY "Hello World" * Вывод в отдельном окне, очищается на входе WAIT WINDOW "Hello World" * Вывод в стандартном диалоговом окне, очищается при ОК MESSAGEBOX ("Hello World ")

Object

Вывод программы Hello World.
* Вывод в заданном окне loForm = CREATEOBJECT (" HiForm ") loForm.Show (1) ОПРЕДЕЛЕНИЕ КЛАССА HiForm AS Form AutoCenter =.T. Caption = "Hello, World" ДОБАВИТЬ ОБЪЕКТ lblHi как метку; С Caption = "Привет, мир!" ENDDEFINE
loMine = CREATEOBJECT ("MyClass")? loMine.cProp1 Это будет работать. (Двойной амперсанд обозначает комментарий в конце строки)? loMine.cProp2 Ошибка программы: свойство CPROP2 не найдено, поскольку оно скрыто извне. ? loMine.MyMethod1 () Это сработает. ? loMine.MyMethod2 () Ошибка программы: свойство MYMETHOD2 не найдено, поскольку оно скрыто извне. ОПРЕДЕЛЕНИЕ КЛАССА MyClass AS Custom cProp1 = "My Property" Это общедоступное свойство HIDDEN cProp2 Это частное (скрытое) свойство dProp3 = {} Другое общедоступное свойство PROCEDURE Init () Конструктор класса This.cProp2 = "Это скрытая собственность ". PROCEDURE dProp3_Access Property Getter RETURN DATE () PROCEDURE dProp3_Assign (vNewVal) Property Setter использует тег «_assign» в имени свойства IF VARTYPE (vNewVal) = «D» THIS.dProp3 = vNewVal ENDIF PROCEDURE (MyM) общедоступный метод, вызывающий скрытый метод, который возвращает * значение скрытого свойства. RETURN This.MyMethod2 () СКРЫТАЯ ПРОЦЕДУРА MyMethod2 () Это частный (скрытый) метод RETURN This.cProp2 ENDDEFINE
  • VFP имеет обширную библиотеку предопределенных классов и визуальных объектов, доступ к которым осуществляется в IDE листом свойств (включая методы ), поэтому код, такой как описанные выше классы и объекты, необходим только для специальных целей и структуры больших систем.

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

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

Вывод программы обработки данных.
* Создать таблицу CREATE TABLE randData (iData I) * Заполнить случайными данными с помощью команд xBase и SQL DML ДЛЯ i = 1 ДО 50 ДОБАВИТЬ ПУСТОЙ ЗАМЕНИТЬ iData WITH (RAND () * 100) INSERT INTO randData (iData) VALUES (RAND () * 100) ENDFOR * Поместить структурный индекс в данные INDEX ON iData TAG iData ЗАКРЫТЬ ДАННЫЕ Не закрывать открытые библиотеки и т. Д. * Отображать упорядоченные данные с помощью команд в стиле xBase ИСПОЛЬЗОВАТЬ randData SET ORDER TO iData LOCATE Вместо GO TOP. Обеспечивает использование индекса для поиска TOP LIST NEXT 10 Первые 10 GO BOTTOM SKIP -10 LIST REST Последние 10 CLOSE DATA * Просмотр упорядоченных данных с помощью команд SQL DML SELECT *; ОТ randData; ORDER BY iData DESCENDING

Доступ ODBC с использованием SQL passthrough

PRIVATE cAuthorID, cAuthorName Частные переменные заменяют любую предыдущую глобальную или частную переменную с тем же именем LOCAL nHnd, nResult Локальные переменные видны только здесь source nHnd = SQLCONNECT ("ODBCDSN", "user", "pwd") * Введите цикл, чтобы мы могли выйти к коду закрытия соединения в случае ошибки DO WHILE.T. * Выполнение команды SQL nResult = SQLEXEC (nHnd, "USE master") IF nResult < 0 MESSAGEBOX ("MASTER database does not exist!") EXIT To close the connection ENDIF * Retrieve data from the remote server and stores it in a local data cursor nResult = SQLEXEC (nHnd, "SELECT * FROM authors", "QAUTHORS") IF nResult < 0 MESSAGEBOX ("Unable to execute remote SQL SELECT command!") EXIT To close the connection ENDIF * Update a record in a remote table using parameters cAuthorID = "1001" cAuthorName = "New name" nResult = SQLEXEC (nHnd, "UPDATE authors SET auth_name = ?cAuthorName WHERE auth_id = ?cAuthorID") IF nResult < 0 MESSAGEBOX ("Unable to execute remote SQL UPDATE command!") EXIT To close the connection ENDIF * If we get here, we have retrieved everything successfully EXIT Exit unconditionally ENDDO * Close the connection SQLDISCONNECT(nHnd)

Applications

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

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

См. также

Ссылки

Внешние ссылки

Страницы Microsoft

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

Последняя правка сделана 2021-06-18 04:00:41
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте