Из Википедии, бесплатной энциклопедии
  (Перенаправлено из Turbo Basic )
Перейти к навигации Перейти к поиску

PowerBASIC , ранее называвшийся Turbo Basic , является торговой маркой нескольких коммерческих компиляторов PowerBASIC Inc., которые компилируют диалект языка программирования BASIC . Существуют версии для MS-DOS и Windows, а также два вида последних: консольные и Windows. Версия MS-DOS имеет синтаксис, аналогичный синтаксису QBasic и QuickBASIC . Версии для Windows используют синтаксис BASIC, расширенный для включения многих функций Windows, и операторы могут быть объединены с вызовами Windows API .

История [ править ]

Первая версия компилятора DOS была опубликована как BASIC / Z, самый первый интерактивный компилятор для CP / M и MDOS. Позже он был расширен до MS-DOS / PC DOS, а в 1987 году Borland распространил его как Turbo Basic .

Turbo Basic был первоначально создан Робертом «Бобом» Зейлом (1945–2012) и куплен у него Borland . Когда Borland решила прекратить его публикацию (1989 г.), Zale выкупила его у них, переименовала в PowerBASIC и основала PowerBASIC Inc., чтобы продолжить его поддержку и развитие; позже он был назван PBDOS. [2] [3] [4]

PowerBASIC продолжил разработку компиляторов BASIC для Windows, сначала PBWIN - их флагманский продукт - а затем PBCC, описанный ниже.

6 ноября 2012 года скончался Роберт Зейл, создатель PowerBASIC. Какое-то время предполагалось, что компания может прекратить свою деятельность. Его жена, г-жа Вивиан Зейл, 8 марта 2014 года разместила на форумах PowerBASIC заявление о том, что компания продолжит работу. [5] 10 мая 2015 года г-жа Зейл объявила, что работа над новыми версиями компиляторов PowerBASIC продолжается. [6]

2 ноября 2016 года Вивиан Зейл объявила о своем намерении начать поиск покупателя для компании.

Активное развитие продуктов PowerBASIC остановлено. Они больше не ожидают выпустить PBWin11 и PBCC7, которые находились в стадии бета-тестирования, когда умер Боб Зейл, ни 64-битные компиляторы или PB / Pro (PBWin и CC в одном компиляторе), которые все еще находились на стадии альфа-тестирования.

31 января 2017 года Адам Дрейк объявил, что Drake Software приобрела исходный код PowerBASIC у PowerBasic, Inc. с намерением обновить и улучшить функциональность продукта. [7] Позже Вивиан Зейл подтвердила это в своем сообщении на форуме, в котором поблагодарила участников за их поддержку. [8]К сожалению, новой версии так и не было выпущено (последний выпуск v10.03 был 8 лет назад по состоянию на декабрь 2020 года), не было выпущено даже небольших настроек, таких как добавление правильных настроек DPI для IDE, и поэтому совершенно ясно, что такое будущее PowerBASIC есть. Также не было показано никаких действий по разработке в виде отчетов о ходе работы или бета-версий. Судя по всему, один человек работает над чем-то в течение этих 8 лет, что, даже если это правда, вновь вводит единую точку отказа. Тем не менее, все еще можно купить новые лицензии.

Компиляторы [ править ]

Программы PowerBASIC самодостаточны и не используют исполняемый файл для выполнения. Во всех версиях компилятора приложения компилируются без внешних библиотек, хотя при желании вы можете использовать такие библиотеки. PBDOS создает 16-разрядные исполняемые файлы MZ DOS , а PBWIN и PBCC создают 32-разрядные файлы Portable Executable (PE).

Turbo Basic [ править ]

Borland Turbo Basic содержит расширения классического BASIC (при этом не нарушая совместимости). Одним из них был API для рисования и доступ с помощью мыши.

В отличие от большинства реализаций BASIC того времени, Turbo Basic был полным компилятором, который генерировал собственный код для MS-DOS. Другие реализации были либо интерпретаторами , либо сильно полагались на библиотеку времени выполнения. Интегрированная среда разработки может запускать внутреннюю программу BASIC для традиционной отладки BASIC (см. Пример ниже) или генерировать автономный исполняемый файл MS-DOS, который можно запускать в других системах без продукта Turbo Basic или библиотек времени выполнения.

Пример кода [ править ]

Следующая программа является примером АЛГОЛ- подобного диалекта BASIC, поддерживаемого Turbo Basic. В отличие от традиционного BASIC [ необходима ссылка ] , который использовал номера строк и имел ограниченные структуры управления и не поддерживал подпрограммы, подобные ALGOL, современные диалекты BASIC, начиная с этого периода, были расширены, чтобы сделать язык совместимым с современной теорией структурированного программирования , отбрасывая номера строк. и добавление управляющих структур и определений подпрограмм, необходимых для структурного программирования.

INPUT "Как вас зовут ?:" , n $ PRINT "Здравствуйте" ; n $ DO s $ = "" INPUT "Сколько звездочек вы хотите напечатать" ; s FOR i = 1 TO s s $ = s $ + "*" NEXT i PRINT s $ DO INPUT "Вы хотите напечатать больше звездочек" ; q $ LOOP WHILE LEN ( q $ ) = 0 q $ = LCASE $ ( LEFT $ (                                     q $ , 1 )) ЦИКЛ ПОКА q $ = "y" ПЕЧАТЬ "До свидания" ; n $       

( s$Это строка , и sявляется одинарной точности с плавающей точкой (номер). Они представляют собой отдельные переменные.)

Как и другие продукты Borland того времени, код выполняется в интегрированной среде разработки.

PowerBASIC для DOS (PBDos) [ править ]

PBDOS включает интегрированную среду разработки (IDE) и поддерживает DOS 3.30 и все более поздние версии. [9]

Компилятор консоли PowerBASIC (PBCC) [ править ]

PBCC - это 32-разрядный компилятор для операционных систем серий Windows 9x и Windows NT , включая Windows XP , Windows Server 2008 , Windows Vista и Windows 7 . Приложения PBCC могут использовать библиотеки динамической компоновки (DLL). Компилятор поставляется с IDE, включая редактор и пошаговый отладчик .

Для создания символьного режима или графических приложений с помощью этого компилятора не требуется никаких знаний в области программирования Windows. Исполняемые файлы Common Gateway Interface также могут быть скомпилированы с использованием PBCC.

PBCC создает только исполняемые файлы, а не библиотеки DLL. (PBWin - см. Ниже - может создавать и то, и другое.)

Компилятор PowerBASIC для Windows (PBWin) [ править ]

PBWin - это 32-разрядный компилятор, совместимый с операционными системами серий Windows 9x и Windows NT , включая Windows XP , Windows Server 2008 , Windows Vista , Windows 7 , Windows 8 ( 8.1 ) и Windows 10 . [10] PBWin может создавать библиотеки с динамической компоновкой . Приложения PBWin могут читать библиотеки с динамической компоновкой]. PBWin поставляется с компилятором, IDE с редактором и пошаговым отладчиком .

Инструменты динамического диалога (DDT) [ править ]

Вы можете создать графический пользовательский интерфейс приложения с помощью Windows API или с помощью встроенных языковых расширений DDT. Группа операторов BASIC, которые охватывают функции Windows API , особенно при создании и обработке диалоговых окон и дочерних элементов управления, вместе известна как инструменты динамического диалога. Использование DDT требует меньше кода, чем создание аналогичной программы с использованием Windows API . Использование DDT и Windows API (известного как стиль SDK в Microsoft Windows SDK ) не исключают друг друга.

Пробные версии компиляторов [ править ]

PowerBASIC переименовал PBWin v9.07 и PB / CC v5.07 в "Classic PBWin" и "Classic PB / CC", соответственно, и 1 ноября 2016 г. предложил их в течение короткого времени через свой интернет-магазин как бесплатные, но запрещенные. ворчание, пробные версии вместе с PBForms v1.0 (PowerBASIC Forms). [11]

Инструменты [ править ]

Формы PB [ править ]

PowerBASIC Forms, доступные для приобретения отдельно, - это надстройка графического пользовательского интерфейса для PBWin. Он автоматически создает исходный код с использованием расширения языка DDT, которое создает формы с использованием графического пользовательского интерфейса Windows.

Браузер COM [ править ]

Браузер PowerBASIC COM, поставляемый с PBWin, представляет собой приложение, которое предоставляет интерфейсы, методы и свойства COM-объектов, как описано в файлах библиотеки типов. Браузер PowerBASIC COM экспортирует структуру интерфейса COM-объекта для целей раннего связывания в коде PowerBASIC, а также предоставляет справочную информацию по синтаксису и контекстную справку для элементов интерфейса, предоставляемых COM-объектом. [12]

Язык программирования [ править ]

Характеристики [ править ]

PowerBASIC - это компилятор BASIC с собственным кодом, чьи заявленные достоинства - простота использования и скорость по сравнению с другими языками. [13] [14] Хотя скомпилированный код достаточно быстр для большинства целей, компиляторы также поддерживают встроенный ассемблер для дополнительной оптимизации кода. Компиляторы Windows (PBWin и PBCC) поддерживают почти весь набор инструкций x86 , включая FPU , SIMD и MMX., за исключением нескольких, которые полезны в основном системным программистам. Можно по-прежнему использовать неподдерживаемые инструкции, вставляя их коды операций с операторами «db», «dw» и «dd». Строки кода ассемблера могут свободно перемежаться строками кода BASIC, хотя всегда необходимо учитывать потенциальные взаимодействия между двумя типами кода.

Привет, мир [ править ]

Hello world используется, чтобы дать очень небольшой пример синтаксиса, используемого языком программирования, и часто является самой маленькой программой для любого данного языка программирования.

Вот пример программы PBCC hello world. По умолчанию PBCC создает окно консоли во время выполнения для отображения вывода. Единственная цель Waitkey $ в этом примере - поддерживать консоль в рабочем состоянии, чтобы вы могли читать вывод.

Функция  PBMain Распечатать  "Hello, World!"  Ключ ожидания $Конечная  функция

Вот версия PBWin, которая отображает диалоговое окно с сообщением Windows.

Функция  PBMain MsgBox  "Привет, мир!"Конечная  функция

Объектно-ориентированное программирование [ править ]

PBWin и PBCC поддерживают объектно-ориентированное программирование в форме классов COM , однако компиляторы не заставляют вас использовать ООП, это просто вариант. Внутрипроцессные и внепроцессные COM-серверы также могут быть построены с использованием этих компиляторов.

Графика [ править ]

И консольный компилятор, и компилятор Windows могут создавать графические окна. Операторы GRAPHICs являются более высокоуровневыми, чем библиотечные функции интерфейса графических устройств Windows (GDI). [15] [16]

Элементы ГРАФИЧЕСКИХ заявлений [ править ]

ГРАФИЧЕСКИЕ ОКНА - это выделенные диалоговые окна, каждый из которых содержит один элемент управления, заполняющий клиентскую область диалогового окна. ГРАФИЧЕСКИЕ элементы управления - это дочерние окна, которые поддерживают те же функции ГРАФИЧЕСКОГО рисования, что и ГРАФИЧЕСКИЕ окна. GRAPHIC BITMAPS также определены, снова поддерживая функциональность GRAPHIC рисования, но только как объекты памяти, такие как Windows Bitmaps или DIB Sections . Операторы управления клавиатурой и мышью включены в операторы GRAPHIC. Для вывода символов в целевой объект GRAPHIC используются шрифты, указанные с помощью оператора FONT NEW.

Создание приложения GRAPHIC WINDOW [ править ]

ГРАФИЧЕСКОЕ ОКНО - это эквивалент диалогового окна Windows, содержащего статический элемент управления, с которым можно выполнять операции рисования. Один оператор BASIC создаст ГРАФИЧЕСКОЕ ОКНО и укажет его размер, положение и заголовок. Не обязательно указывать WNDPROC для ГРАФИЧЕСКОГО ОКНА. Ниже приведен короткий пример исходного кода для полного приложения GRAPHIC WINDOW:

# Скомпилировать  Exe  'с использованием компилятора PBCC6 или PBWIN10 # Dim  AllФункция  PBMain  Local  GW  As  Dword  'запускает ГРАФИЧЕСКОЕ ОКНО  Графическое  окно  Новое  «графическое окно» , от  100 ,  100 ,  200 ,  200  до  GW  ' показывает цветной  эллипс графического  диска ( 10 , 10 ) - ( 190 , 190 ), % rgb_Red , % rgb_SeaGreen , 0 'ждать нажатия клавиши Графическая клавиша ожидания $ End Функция          
Сравнение операторов PB GRAPHIC с API GDI [ править ]

Используя операторы PB GRAPHIC, GRAPHIC (WINDOW, BITMAP или элемент управления) сначала выбирается в качестве текущей цели GRAPHIC, затем над ним выполняются операции, не требуя повторной идентификации. Сравните это с подходом GDI API, где дескриптор контекста устройства требуется для каждой операции рисования.

При использовании операторов PB GRAPHIC нет необходимости определять кисть или перо как отдельный объект, а также нет необходимости перерисовывать цель GRAPHIC (когда она отображается) в ответ на сообщения Windows, такие как WM_PAINT и WM_ERASEBKGND. ГРАФИЧЕСКИЕ цели настойчивы.

Когда прикреплены цели GRAPHIC, можно указать параметр REDRAW, который буферизует результаты операций рисования до тех пор, пока они не будут специально запрошены. Использование этой техники уменьшает мерцание аналогично технике рисования на контроллерах домена памяти [17] при использовании GDI API.

Операции с пикселями возможны с использованием операторов GRAPHIC GET | SET PIXEL, аналогично GetPixel / SetPixel в GDI API. GRAPHIC GET BITS позволяет загружать все растровое изображение в динамическую строку. Этим можно манипулировать либо как строку, либо путем сопоставления с ней массива. Его можно вернуть обратно в ГРАФИЧЕСКУЮ мишень с помощью ГРАФИЧЕСКИХ УСТАНОВОК.

Взаимодополняемость операторов GRAPHIC и Windows GDI API [ править ]

Операторы GRAPHIC содержат все обычно используемые функции GDI API, но если вам нужна одна, которая не включена, можно получить hDC любой цели GRAPHIC и, таким образом, использовать на ней функции API GDI.

Сообщество пользователей [ править ]

PowerBASIC представляет собой онлайн-форум, где пользователи могут задавать вопросы и делиться знаниями. [18] 8 июля 2012 года в форуме было 5 623 участника (только небольшая часть из них все еще активна) и содержалось 50 093 темы, в которых с 26 августа 1998 года было 408 642 сообщения. Только в разделе «Исходный код» было 3 768 тем. [19]

Сторонняя поддержка [ править ]

  • Компьютерная мастерская (EZGUI)
  • Форум Тео: José Roca Software
  • Форумы PlanetSquires

Ссылки [ править ]

  1. ^ Выпуск компилятора PowerBASIC 10.0 для Windows
  2. ^ «PowerBASIC делает плавный ход; технологическая компания считает привлекательной доступность региона» . Сарасота Геральд Трибьюн (октябрь 2000 г.). 2000-10-10 . Проверено 12 марта 2008 .
  3. ^ Майкл Х. Тули (2005). Приборы и управление на базе ПК . Эльзевир. С.  214 . ISBN 0-7506-4716-7.
  4. ^ «Введение в PowerBASIC» . Архивировано из оригинала на 2011-05-27 . Проверено 7 декабря 2010 .
  5. ^ Зале, Вивиан. «Обновление PowerBASIC» . Форумы PowerBASIC . PowerBASIC . Дата обращения 5 июля 2015 .
  6. ^ Экклс, Джон. «Планы PowerBASIC» . Форумы PowerBASIC . PowerBASIC, Inc. Архивировано из оригинала 24 сентября 2015 года . Дата обращения 5 июля 2015 .
  7. Дрейк, Адам (31 января 2017 г.). «У PowerBasic новый дом» . Форумы поддержки PowerBasic . Архивировано из оригинала на 2017-02-19.
  8. Рианна Зале, Вивиан (12 февраля 2017 г.). «Спасибо» . Форумы поддержки PowerBasic . Архивировано из оригинала на 2017-02-19.
  9. ^ PowerBASIC 3.5 для DOS
  10. ^ Компилятор PowerBASIC для Windows. Архивировано 8 марта 2008 г. на Wayback Machine.
  11. ^ PowerBASIC 9 для Windows и PowerBASIC Console Compiler 5: 99 и 89 долларов 5 октября 2016 г . ; 0 долларов США и 0 долларов США 06.11.2016 ; 0 долларов США и 0 долларов США 18 декабря 2016 года ; не предлагаются на 2017-02-28 .
  12. ^ "Com Browser на веб-сайте PowerBASIC" .
  13. ^ Новые геометрические формы для новых материалов , Эрик А. Лорд, Алан Линдси Маккей, Шриниваса Ранганатан, Cambridge University Press, 2006, ISBN 0-521-86104-7 ("очень простой пользовательский интерфейс ... скорость и мощность базового C ++ ... работает очень быстро ") Google Книги 
  14. ^ Chaos and Time-series Analysis , Julien C. Sprott, Oxford University Press, 2003, ISBN 0-19-850840-9 («простой в освоении, мощный и такой же быстрый, как любой компилятор C, с которым я встречался») Google Книги 
  15. ^ https://www.powerbasic.com/support/help/pbwin/index.htm
  16. ^ https://www.powerbasic.com/support/help/pbcc/index.htm
  17. ^ Петцольд, Чарльз (1998). Programming Windows Fifth Edition, Microsoft Press, ISBN 978-1-57231-995-0. 
  18. ^ https://www.powerbasic.com/support/pbforums/faq.php?faq=vb3_board_faq#faq_faq_forum_rules
  19. ^ Статистика программного обеспечения форума PowerBASIC vBulletin

Внешние ссылки [ править ]

  • Официальный сайт Сайт компании PowerBASIC
  • Сообщество поддержки PowerBasic Peer
  • Файлы Бёрье Хагстена
  • Код PowerBASIC Дона Дикинсона
  • GbSnippets Гэри Бина
  • Страница FreeBase на PowerBASIC (архивировано 2014 г.)
  • Проекты PowerBASIC компании ИхКорп на SourceForge
  • Книги в Интернет-архиве :
    • Используя Turbo Basic. Фредерик Э. Мошер и Дэвид И. Шнайдер. Бесплатная загрузка и потоковая передача. Интернет-архив
    • Borland. Справочник владельца Borland Turbo BASIC, 1987 г. Бесплатная загрузка и потоковая передача. Интернет-архив
  • Borland Turbo Basic 1.x - Статистика, загрузки и скриншоты :: WinWorld - Отказ от ПО и предварительная версия программного обеспечения