ThinBasic - ThinBasic
![]() | Téma tohoto článku nemusí splňovat požadavky Wikipedie obecný pokyn k notabilitě.Červenec 2012) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Vývojář | Eros Olmi |
---|---|
Stabilní uvolnění | v1.10.5.0 / 15. října 2018 |
Náhled verze | v1.10.6.0 / 19. ledna 2019 |
OS | Okna |
Licence | Freeware / Proprietární |
webová stránka | www |
Dialekty | |
ZÁKLADNÍ | |
Ovlivněno | |
Powerbasic |
thinBasic je ZÁKLADNÍ -jako programování Jazyk tlumočník[1] s architekturou jádra jádra obklopenou mnoha specializovanými moduly. Ačkoli byl původně navržen hlavně pro automatizaci počítačů, díky své modulární struktuře jej lze použít pro širokou škálu úkolů.
Hlavní rysy
Syntax
Jak název napovídá, největší vliv na syntaxi tohoto jazyka měl jazyk BASIC. Ale na rozdíl od tradičních BASIC, jak je známo z 8bitové éry, thinBASIC se liší v několika důležitých bodech.
Například vyžaduje, aby programátor deklaroval proměnné, a neobsahuje nechvalně známé příkazy GOTO a GOSUB. Některé aspekty syntaxe jsou dokonce inspirovány v jazycích, které nejsou ZÁKLADNÍ, například C /C ++.[2] Díky tomu thinBASIC volitelně umožňuje použití implicitního pokračování řádku, zjednodušeného sčítání, odčítání, operátorů násobení a dělení, zkrácené deklarace proměnných a inicializace:
„Tradiční syntaxe povolená v thinBASICZTLUMITATAK JAKOCELÉ ČÍSLO'a je inicializováno na 0A=1'nyní obsahuje 1A=A+1'nyní obsahuje 2„Syntaxe inspirovaná C / C ++ je povolena v thinBASICCELÉ ČÍSLOA=1'a je inicializováno na 1A+=1'nyní obsahuje 2„Nová syntaxe zavedená v 1.9.10.0 umožňuje definovat typ z řetězcového výrazuTĚTIVAsType="CELÉ ČÍSLO"ZTLUMITAJAKOsType
Dalším zdrojem inspirace jsou moderní verze BASIC, jako např Visual Basic nebo PowerBASIC.
ThinBASIC nabízí hlavní příkazy pro řízení toku, jako je SELECT CASE, IF ... THEN / ELSEIF / ELSE / END IF, smyčky (nekonečný, podmiňovací způsob, PRO, WHILE / WEND, DO / LOOP WHILE ..., DO / LOOP UNILIL ...) a také vynakládá velmi silné úsilí na poskytování široké škály vestavěných funkcí pro křupání čísel a zejména zpracování řetězců.
Proměnné a datové typy
ThinBASIC podporuje širokou škálu čísel[3] a řetězec[4] typy dat.
Celé číslo | Plovoucí bod | Tětiva | jiný |
---|---|---|---|
BYTE | SINGL | TĚTIVA | VARIANTA |
SLOVO | DVOJNÁSOBEK | STRING * n | GUID |
DWORD | MĚNA | ASCIIZ * n | BOOLEAN |
CELÉ ČÍSLO | ROZŠÍŘENÝ, EXT | UDT (uživatelem definovaný typ) | |
DLOUHO | UNIE | ||
ČTYŘ | iDispatch |
Kromě těch, které jsou uvedeny v tabulce výše, může programátor definovat ukazatele, uživatelem definované typy a odbory.
Speciální funkce související s uživatelem definovanými typy v thinBASIC jsou:[5]
- možnost zdědit členy z jednoho nebo více dalších uživatelem definovaných typů
- statické členy (členové, jejichž hodnota je sdílena mezi všechny proměnné daného UDT)
- dynamické řetězce
Proměnné lze definovat v globálním, lokálním nebo statickém rozsahu. TenBASIC podporuje pole až tří dimenzí.
Moduly
Elementární funkcionalitu jazyka poskytuje tzv Jádro modul, který je ve výchozím nastavení načten, a stará se také o analýzu.
Kromě modulu Core nabízí thinBASIC další moduly, z nichž každý pokrývá specifickou oblast funkcí, například:
- Vytvoření grafického uživatelského rozhraní
- ovládání konzoly
- zpracování souborů
- 3D grafika
- síťování
- ...
Každý modul je reprezentován jedinou knihovnou DLL se specifickou strukturou. To umožňuje modulu obsahovat nejen typické funkce a procedury, ale také například definice konstant a uživatelem definovaných typů, které jsou okamžitě k dispozici pro skript bez nutnosti použití hlavičkového souboru. Jediné, co je potřeba, je výslovně zmínit použití modulu v kódu - pro zpracování souborů by to vypadalo takto:
„Tím se načte modul k použitíPoužití"Soubor"„Funkce File_Load pochází z modulu, vrací obsah předaného souboru ve formě řetězceTětivasBuffer=File_Load("C: text.txt")
Funkce a postupy
Pro lepší strukturování kódu poskytuje thinBASIC funkce a funkce. Existuje jedna funkce se speciální úpravou, zvaná TBMAIN, u které je zaručeno, že bude provedena jako první. Představuje stejnou funkci jako funkce main () v C programovací jazyk, ale jeho použití je volitelné.
Programátor může definovat vlastní funkce a postupy (nazývané Subs); mohou mít až 32 parametrů. Před použitím není nutné deklarovat funkce ani postupy. Parametry lze označit jako volitelné a lze je také inicializovat na výchozí hodnoty. Každý parametr lze zadat tak, aby byl předán hodnotou (výchozí) nebo odkazem.
Použití "Řídicí panel"„Tělo programu začíná ve funkci TBMainFunkce TBHlavní() MyFunction(10) „Toto vytiskne 10 20 30, protože nevyužité volitelné parametry # 2 a # 3 jsou inicializovány na 20 a 30 MyFunction(10, 3) „Toto vytiskne 10 3 30, protože nevyužitý volitelný parametr č. 3 je inicializován na 30 MyFunction(10, 3, 5) „Toto vytiskne 10 3 5, protože zadáme všechny parametry, takže výchozí hodnoty budou zahozeny Console_WaitKeyKonec Funkce„Uživatelem definovaná funkce s volitelnými parametry s výchozími hodnotamiFunkce MyFunction( A Tak jako Číslo, Volitelný b Tak jako Číslo = 20, C Tak jako Číslo = 30) Console_PrintL(A, b, C)Konec Funkce
Funkce lze volat přímo, jako ve výše uvedeném seznamu, nebo vytvořením jejich názvu za běhu.
Vazba na API třetích stran
ThinBASIC podporuje volání funkcí z DLL třetích stran; programátor je musí nejprve deklarovat, aby měl přístup k funkcím.
Díky tomuto mechanismu umožňuje thinBASIC používat technologie jako např OpenGL, OpenCL,[6] XML, ÓDA a mnoho dalších.
Organizace kódu
ThinBASIC momentálně nepodporuje žádnou formu projektových souborů, ale podporuje rozdělení kódu na jednotky tím, že poskytuje více přípon souborů pro různé použití:
- .tBasic - hlavní kód
- .tBasicI - zahrnout soubor obsahující deklaraci funkcí například z knihoven DLL třetích stran
- .tBasicU - kódová jednotka obsahující pomocné rutiny
Hlavní kód může odkazovat na tyto soubory pomocí direktivy #include, která může používat zástupné znaky:
#zahrnout„MyDLLWrapper.tBasicI“#zahrnout„MyRoutines.tBasicU“#zahrnout„dialog _ *. tBasicU“"To by zahrnovalo všechny soubory, které odpovídají zástupnému dialogu _ *. TBasicU, pokud existuje."FunkceTBHlavní()'- Hlavní kód jde sem a může používat funkce ze # zahrnutých souborůKonecFunkce
Přizpůsobení
Jazyk lze vylepšit vývojem modulu pomocí SDK pro mnoho jazyků (PowerBASIC, FreeBASIC, C, MASM ).
Dokumentace
Vývojový tým se silně zaměřuje na dokumentaci jazyka a na výukové zdroje. Samotný jazyk je dokumentován v rozsáhlé nápovědě[7] a výchozí instalace obsahuje také výukový program a mnoho ukázkových kódů.
Různé články o používání thinBASIC byly publikovány ve formě ThinBasic Journal a také na domovské stránce programovacího jazyka (viz externí odkazy).
Integrované vývojové prostředí (IDE)

ThinBASIC je ve výchozí instalaci vybaven vlastním IDE zvaným thinAir.[8]To nabízí:
- Přizpůsobitelné zvýraznění syntaxe
- Šablony kódu
- Na kartách se otevírá více zdrojových souborů najednou
- Možnost zobrazit jeden zdroj pomocí více zobrazení
- Volitelná zmatenost skriptu
- Vytvoření nezávislého spustitelného souboru ze skriptu[9]
- Přístup k souboru nápovědy
thinAir umožňuje také použití debuggeru.
Tato součást se nazývá thinDebug[10] a lze je sledovat na níže uvedeném obrázku.
Ukázky kódu
Konzolový program, který se uživatele zeptá na jméno a poté ho pozdraví:
„Určuje, že program bude používat funkce z konzolového modulupoužívá "Řídicí panel"„TBMain představuje hlavní část programufunkce TBHlavní() 'Vytvoří proměnnou pro uložení uživatelského jména místní Uživatelské jméno tak jako tětiva „Požádá uživatele o jméno Console_Print("Jak se jmenuješ?: ") „Uloží to do proměnné Uživatelské jméno = Console_ReadLine „Pokud je délka uživatelského jména 0, pak není zadáno žádné jméno, jinak program pozdraví -li len(Uživatelské jméno) = 0 pak Console_PrintLine(„Nebylo zadáno žádné uživatelské jméno ...“) jiný Console_PrintLine("Ahoj " + Uživatelské jméno + "!") konec -li „Čeká na jakýkoli klíč od uživatele, než program skončí Console_WaitKeykonec funkce
Výhody a nevýhody
ThinBASIC byl navržen pro Okna platforma, a proto dobře využívá zdroje poskytované tímto systémem, například registr, uživatelské rozhraní, práce s procesy, KOM, DLL. Ačkoli je interpretován, považuje se thinBASIC za obvykle rychlé provedení.[11] Když interpretační povaha jazyka narazí na limity, je možné provést optimalizaci pomocí částečné kompilace JIT. Další silnou stránkou jazyka je široká škála příkazů pokrývajících různé oblasti zájmu a pro BASIC tradičně silné zaměření na zacházení s řetězci. Jazyk je neustále vyvíjen a udržován.[12]
Skutečnost, že thinBASIC je určen pouze pro Windows, lze také považovat za nevýhodu pro ty, kteří hledají nástroje pro různé platformy. Rychlost provedení bez použití optimalizací je nižší ve srovnání s výstupem z překladače, díky jazyku tlumočník Příroda.
Kompatibilita
thinBASIC byl vyvinut pod Microsoft Windows XP Professional použitím PowerBASIC,[13] a vyžaduje internet Explorer verze 5.50 nebo vyšší.
- Rozsáhle testováno: Windows 2000 a Server, XP, Průhled, Windows 7, Server 2003, Windows 8, Windows 10
- Částečně podporováno: Windows 98 SE, Mě
- Nepodporováno: Windows 95
Reference
- ^ Olmi, E. ThinBASIC Help Manual. Představujeme thinBASIC. Citováno 2011-09-21
- ^ basic.mindteq.com. THINBASIC. Citováno 2013-02-15
- ^ Olmi, E. ThinBASIC Help Manual. Numerické proměnné. Citováno 2011-09-21
- ^ Olmi, E. ThinBASIC Help Manual. Řetězcové proměnné. Citováno 2011-09-21
- ^ Olmi, E. ThinBASIC Help Manual. Typ. Citováno 2011-09-21
- ^ SCHREIBER, P .; ONDROUŠEK, V .; VĚCHET, S .; KREJSA, J .. Parallelizing the Precomputed Scan Matching Method for Graphics Card processing. Sborník z 1. mezinárodní konference Robotika ve vzdělávání, RiE2010. 2010. str. 202
- ^ Olmi, E. ThinBASIC Help Manual. Jak používat. Citováno 2011-09-21
- ^ Olmi, E. ThinBASIC Help Manual. Jak používat. Citováno 2011-09-21
- ^ basic.mindteq.com. THINBASIC. Citováno 2013-02-15
- ^ Olmi, E. ThinBASIC Help Manual. thinTools / thinDebug. Citováno 2011-09-21
- ^ basic.mindteq.com. THINBASIC. Citováno 2013-02-15
- ^ Olmi, E. ThinBASIC Help Manual. Co je nového. Citováno 2017-07-29
- ^ http://www.powerbasic.com. Vytvořeno pomocí PowerBASIC!. Citováno 2011-09-21
externí odkazy
- Oficiální webové stránky
- Komunitní fórum
- Online podpora
- Stránka ke stažení
- thinAir, thinBasic oficiální IDE
- thinDebug, thinBasic Debugger
- Výukové programy pro grafiku
- thinBASIC Adventure Builder
- PCOPY! Vydání č. 40, 16. listopadu 2007, O společnosti ThinBasic, Eros Olmi.
- PCOPY! Vydání # 50, 15. března 2007, 3D grafika v ThinBASIC, Petr Schreiber.
- ThinBasic Journal # 1, 5. července 2008, PDF
- ThinBasic Journal # 2, 26. listopadu 2008, PDF
- MovieFX: Kombinace fotografie s 3D objektem, 1. září 2010
- MovieFX: Bokeh založený na prolínání, 1. ledna 2011
- Recenze ThinBasic na basics.mindteq.com