Кіріспе

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), Зейл оны қайта сатып алды, оны PowerBASIC деп атады және оны қолдау мен дамытуды жалғастыру үшін PowerBASIC Inc. құрды; кейін ол PBDOS деп аталды. PowerBASIC Windows үшін BASIC компиляторларын жасады, бірінші PBWIN – олардың флагмандық өнімі – және содан кейін PBCC, төменде сипатталған. 2012 жылдың 6 қарашасында PowerBASIC-тің авторы Роберт Зейл қайтыс болды. Бір кезде компания жұмысын тоқтатуы мүмкін деп есептелді. Оның әйелі Вивиан Зейл 2014 жылдың 8 наурызында PowerBASIC форумында компания жұмысын жалғастыратыны туралы мәлімдеме жасады. 2015 жылдың 10 мамырында Вивиан Зейл PowerBASIC компиляторларының жаңа нұсқалары бойынша жұмыстың жалғасып жатқанын хабарлады. 2016 жылдың 2 қарашасында Вивиан Зейл компанияны сатуға ниеттенгенін мәлімдеді. 2017 жылдың 31 қаңтарында Адам Дрейк Drake Software компаниясы PowerBASIC, Inc. компаниясынан PowerBASIC бастапқы кодын сатып алғанын хабарлады, өнімнің функционалдығын жаңарту және жақсарту мақсатында. Бұл туралы Вивиан Зейл форумда жазба жариялап, қолдау көрсеткен мүшелеріне алғыс айтты. Боб Зейл қайтыс болған кезде PBWin11 және PBCC7 бета-тестілеуде болды, ал 64 биттік компиляторлар мен PB/Pro (PBWin және CC бір компиляторда) альфа-сатысында болды. Дегенмен, PowerBASIC өнімдерін дамыту тоқтатылды. v10.03 нұсқасынан бері (2022 жылдың мамырына қарай 11 жыл бұрын) жаңа нұсқа шығарылмады. 64 биттік нұсқа немесе бета-релиз туралы хабарлама жоқ. Даму қызметі туралы ешқандай мәлімет жоқ. Түзетулер (мысалы, IDE үшін дұрыс DPI параметрлерін қосу) шығарылмады. PowerBASIC Tools LLC әлі де 32 биттік Windows компиляторларына жаңа лицензияларды сатуда.

Компиляторлар

PowerBASIC бағдарламалары өздігінен толыққанды және орындалуы үшін қосымша файлдарды қажет етпейді. Компилятордың барлық нұсқаларында қолданбалар сыртқы кітапханаларсыз компиляцияланады, бірақ қажет болған жағдайда оларды пайдалануға болады. PBDOS 16 биттік DOS MZ атқару файлдарын, ал PBWIN және PBCC 32 биттік Portable Executable (PE) файлдарын құрайды.

Turbo Basic (Турбо негізгі)

Borland's Turbo Basic классикалық BASIC-ке (үйлесімділікті бұзбай) сурет салу API-ы және тышқанға қол жеткізу сияқты кеңейтімдер қосады. Сол кездегі көптеген BASIC нұсқаларынан өзгеше, Turbo Basic MS DOS үшін машиналық кодты құратын толыққанды компилятор болды. Басқа нұсқалар интерпретатор болып келді немесе орындалу кезіндегі кітапханаға көп тәуелді болды. Біріктірілген әзірлеу ортасы BASIC бағдарламасын дәстүрлі BASIC қатесін жою үшін ішкі түрде іске қоса алады (төмендегі мысалға қараңыз) немесе Turbo Basic өнімі мен орындалу кезіндегі кітапханаларсыз басқа жүйелерде іске қосылатын MS DOS дербес атқарылатын файлын жасады.

DOS үшін PowerBASIC (PBDos)

PBDOS интеграцияланған даму ортасын (IDE) қамтиды және DOS 3.30 және одан кейінгі барлық нұсқаларын қолдайды.

PowerBASIC консоль компиляторы (PBCC)

PBCC – Windows 9x және Windows NT операциялық жүйелерінің, соның ішінде Windows XP, Windows Server 2008, Windows Vista және Windows 7 үшін 32 биттік компилятор. PBCC қолданбалары динамикалық байланыс кітапханаларын (DLL) пайдалана алады. Компилятор редактор және қадамдық орындау жөндеушісі бар IDE жиынтығымен бірге келеді. Бұл компиляторды пайдаланып, таңбалық немесе графикалық қолданбаларды жасау үшін Windows бағдарламалау білімі қажет емес. PBCC құрастырған орындалатын файлдар веб-серверлер үшін Common Gateway Interface орындалатын файлдары ретінде де қолданылуы мүмкін. PBCC тек орындалатын файлдарды ғана жасайды, DLL файлдарын емес. (PBWin – төменде қараңыз – екеуін де құра алады.)

Windows үшін PowerBASIC компиляторы (PBWin)

PBWin – Windows 9x және Windows NT операциялық жүйелерінің серияларымен үйлесімді 32 биттік компилятор, соның ішінде Windows XP, Windows Server 2008, Windows Vista, Windows 7, Windows 8 (8.1) және Windows 10. PBWin динамикалық байланыс кітапханаларын (DLL) құра алады. PBWin қолданбалары динамикалық байланыс кітапханаларын оқи алады. PBWin компилятормен, редактормен жабдықталған IDE және қадамдық оқу құралымен бірге келеді.

Динамикалық диалог құралдары (ДДТ)

Сіз Windows API немесе DDT тілінің кеңейтімдерін пайдаланып, қолданбаның графикалық пайдаланушы интерфейсін құра аласыз. Әсіресе, диалогтық терезелер мен басқару элементтерін жасау және басқару үшін Windows API функцияларын орап тұратын BASIC операторлар жиынтығы «Динамикалық диалог құралдары» деп аталады. DDT-ні пайдалану, Windows API-ді пайдаланып ұқсас бағдарлама жасауға қарағанда аз код жазуды қажет етеді. DDT және Windows API (Microsoft Windows SDK-дегідей SDK стилі деп белгілі) бір-бірінсіз де қолданылуы мүмкін.

Компиляторлардың сынақ нұсқалары

PowerBASIC PBWin v9.07 және PB/CC v5.07 атауларын сәйкесінше "Classic PBWin" және "Classic PB/CC" деп өзгертті. 2016 жылдың 1 қарашасында оларды қысқа мерзімге онлайн-дүкені арқылы PBForms v1.0 (PowerBASIC Forms)пен бірге тегін, жағымсыз ескертулерсіз сынақ нұсқалары ретінде ұсынды.

ББ нысандары

PowerBASIC Forms, жеке сатып алуға қолжетімді, PBWin үшін графикалық пайдаланушы интерфейсін жобалауға арналған қосымша құрал. Ол Windows графикалық пайдаланушы интерфейсін қолдана отырып формаларды құратын DDT тілінің кеңейтімін пайдаланып, автоматты түрде бастапқы кодты жасайды.

COM шолғышы

PBWin-мен бірге келетін PowerBASIC COM браузері – типтік кітапхана файлдарында сипатталғандай, COM объектілерінің интерфейстерін, әдістерін және қасиеттерін ашатын қосымша. PowerBASIC COM браузері PowerBASIC кодында ерте байланыс үшін COM объектісінің интерфейс құрылымын экспорттайды, сондай-ақ COM объектісі ұсынатын интерфейс мүшелері үшін синтаксистік анықтама мен контексттік көмек көрсетеді.

Сипаттамалары

PowerBASIC – басқа тілдермен салыстырғанда пайдаланудың қарапайымдығы және жылдамдығы артықшылығы бар екені айтылған BASIC компиляторы. Компиляцияланған код көптеген жағдайларда жеткілікті жылдам болғанымен, компиляторлар сонымен қатар маңызды процедураларды қолмен оңтайландыруға мүмкіндік беретін тікелей құрастырушыны (inline assembler) қолдайды. Windows компиляторлары (PBWin & PBCC) x86 нұсқаулар жиынтығының көбін, соның ішінде FPU, SIMD және MMX қолдайды, ерекше жағдайлар жүйелік бағдарламашыларға ғана пайдалы бірнеше нұсқауларды қамтиды. Қолдау көрсетілмейтін кез келген нұсқауларды "db", "dw" және "dd" операторларын қолданып, олардың операциялық кодтарын енгізу арқылы қосуға болады. Құрастырушы кодтың жолдары BASIC кодтың жолдарымен еркін араластырылуы мүмкін, бірақ екі код түрі арасындағы ықтимал өзара әрекеттесулерді ескеру қажет.

Нысанға бағдарланған бағдарламалау

PBWin және PBCC объектіге бағытталған бағдарламалауды COM кластары арқылы қолдайды, бірақ компиляторлар сізді міндетті түрде ООП қолдануға мәжбүр етпейді, ол тек мүмкіндік. Осы компиляторларды қолдана отырып, процесс ішіндегі және процесс сыртындағы COM серверлерін құруға болады.

Графика

Консольдік және Windows компиляторлары графикалық терезелерді жасауға мүмкіндік береді. GRAPHICS операторлары Windows-тың графикалық құрылғы интерфейсі (GDI) кітапханасы функцияларынан жоғары деңгейде болады.

ГРАФИК мәлімдемелер элементтері

ГРАФИКАЛЫҚ ТЕРЕЗЕЛЕР – әрқайсысы диалогтың клиенттік аймағын толыққанды толтыратын жалғыз басқару элементін қамтитын арнайы диалогтар. ГРАФИКАЛЫҚ басқару элементтері – ГРАФИКАЛЫҚ терезелер сияқты, бірдей ГРАФИКАЛЫҚ сызу мүмкіндігін қолдайтын дочерлік терезелер. ГРАФИКАЛЫҚ БИТМӘПТЕР де анықталған, олар да ГРАФИКАЛЫҚ сызу мүмкіндігін қолдайды, бірақ Windows битмаптары немесе DIB бөлімдері сияқты жадыда сақталатын объектілер ретінде. Пернетақта мен тышқанды басқару операторлары ГРАФИКАЛЫҚ операторларының ішінде болады. ГРАФИКАЛЫҚ нысанаға таңбаларды шығару үшін FONT NEW операторы арқылы көрсетілген қаріптер қолданылады.

PB GRAPHIC мәлімдемелерін GDI API-мен салыстыру

PB GRAPHIC командаларын пайдаланып, GRAPHIC (терезе, бит картасы немесе басқару) алдымен ағымдағы GRAPHIC нысанасы ретінде таңдалады, содан кейін оны қайтадан анықтау қажеттілігі болмай, операциялар орындалады. Бұл GDI API тәсілімен салыстырылса, онда әрбір сурет салу операциясы үшін құрылғы контекстінің дескрипторы қажет болады. PB GRAPHIC командаларын қолданғанда щетка немесе қаламды жекеленген нысан ретінде анықтаудың қажеті жоқ, сондай-ақ WM PAINT және WM ERASEBKGND сияқты Windows хабарламаларына жауап ретінде GRAPHIC нысанасын (көріністе болса) қайта салудың қажеті де жоқ. GRAPHIC нысаналары тұрақты. GRAPHIC нысаналары қосылғанда REDRAW опциясын қоюға болады, ол сурет салу операцияларының нәтижелерін олар сұралғанша буферлейді. Бұл техниканы қолдану GDI API қолданғанда жад DC-ге сурет салу тәсіліне ұқсас, экранның жыпылықтауын азайтады. Пиксел операцияларын GRAPHIC GET|SET PIXEL командаларын пайдаланып, GDI API-нің GetPixel/SetPixel функцияларына ұқсас әдіспен жүзеге асыруға болады. GRAPHIC GET BITS командасы бүкіл бит картасын динамикалық жолға жүктеуге мүмкіндік береді. Оны жол ретінде немесе массивті оған бейімдеу арқылы өңдеуге болады. GRAPHIC SET BITS командасы арқылы оны GRAPHIC нысанасына қайта орналастыруға болады.

GRAPHIC нұсқаулары мен Windows GDI API-нің өзара толықтылығы

GRAPHIC операторларында GDI API-нің көп қолданылатын барлық функциялары қамтылған, бірақ егер сізге кірмеген функция қажет болса, кез келген GRAPHIC мақсатының hDC-ін алып, оған GDI API функцияларын қолдануға болады.

Пайдаланушылар қауымдастығы

PowerBASIC пайдаланушыларға сұрақтар қою және біліммен бөлісуге арналған онлайн форумды ұсынады. 2012 жылдың 8 шілдесінде форумда 5623 мүше тіркелген (олардың тек бір бөлігі белсенді), және 1998 жылдың 26 тамызынан бері 408 642 жазбадан тұратын 50 093 тақырып ашылған. Бастапқы код бөлімінде ғана 3768 тақырып болды.