MobileBASIC

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2017. szeptember 29-én felülvizsgált verziótól ; az ellenőrzések 17 szerkesztést igényelnek .
MobileBASIC
Nyelvóra programozási nyelv
A végrehajtás típusa Értelmezve
Megjelent 2003
Szerző David J Első
Fájlkiterjesztés _ .bas, .lis
Kiadás
  • Telefonos kiadás: 1.9.1, kiriman & dzanis (legutóbbi hivatalos - 1.92);
  • Desktop Edition: 2.3;
  • Android Edition: 3.1
  • LITE iOS-hez: 1.2
Befolyásolva Alapvető
 Médiafájlok a Wikimedia Commons oldalon

A MobileBASIC  egy értelmezett programozási nyelv, amelyet MIDP-2.0 kompatibilis mobiltelefonokhoz használnak . Lehetővé teszi, hogy egyszerűen írjon programokat közvetlenül Android telefonjára vagy táblagépére. 4 megvalósításban létezik: programozási környezetként számítógéphez, normál MIDletként mobileszközökhöz, alkalmazásként Android és iOS rendszerű eszközökhöz .

A nyelv 2002-ben jelent meg David Firth programozónak köszönhetően, mint  egyszerű és kényelmes eszköz a mobiltelefon-szoftverek fejlesztéséhez.

A hivatalos verziók az alábbiak szerint vannak számozva:

MobileBASIC Phone Edition

A mobil verzió szintaxisa nagyon hasonló a régi BASIC verziókhoz . Először is kötelező sorszámozást használnak, másodszor pedig a felhasználó által definiált eljárásokat és függvényeket nem használják (ehelyett a GOSUB parancsot használják). Íme egy példakód a MobileBASIC-ban:

10 INPUT "Adja meg a nevét" , NÉV $ 20 PRINT "Szia " + NÉV $ + "!" 30 HA NEM INKEY ( 0 ) AKKOR MENJEN A 30 40 VÉGRE

A 30. sorból látható, hogy a billentyűzet jól átgondolt ezen a nyelven. De a telefon egyéb fontos funkcióival: űrlapokkal és vászonnal minden sokkal rosszabb. Kezdjük azzal, hogy egy űrlapon nem fér el több vezérlőelem. Másodszor, a vászon és az űrlapok a legtöbb telefonon eltérő kódolást használnak. És ami természetesnek tűnik a vásznon: „Helló, világ!”, Az űrlapon krakozyabry -vé válhat (javítva a legújabb verziókban). Ezenkívül a kettős értelmezés miatt (a programkódot a Java interpreter és maga az interpreter végzi a Java gépen keresztül ) a kód viszonylag lassan fut le. Ez a nyelv azonban meglehetősen könnyen megtanulható, és jó bevezető a programozás alapjaiba. Az 1.8.4-es verziótól kezdve a Mumey elkezdte fejleszteni a projektet, aminek eredményeként a program felhasználóbarát felületet, számos új parancsot kapott, valamint lehetőséget kapott teljes értékű Java alkalmazások létrehozására, amelyek programozói héj nélkül működnek (ez a funkció korábban is ott volt, ehhez magával a programozóval kellett az archívumba csomagolni a kész bas -fájlt (Autorun.bas) és az erőforrásokat). Az utolsó aktuális verzió az ANNiMON 1.8.6.2 volt . Maga David Firth 2010 decemberében kiadott egy új verziót, az 1.9-et, de az összes változtatás csak a POWER függvény hozzáadását jelentette a törtszámokhoz, egyébként minden úgy maradt, mint az 1.8-as verzióban, így a fejlesztők továbbra is alkalmaznak módosításokat [1] . Ha az 1.9-es verziót a forráskóddal együtt adták ki, akkor az 1.91-es verzió ismét bezárul, és 4,99 GBP-ba kerül. Mert A Mumey-módosítás forráskódjai elvesztek, 2013-ban a kiriman becenévvel fejlesztő fejlesztő sikeresen visszaállította őket egy decompiler és a hivatalos rendezések segítségével. Így a BASIC újjászületett az 1.9.1-es verzióba a kiriman & dzanis által  (hozzáférhetetlen hivatkozás) . Számos hibát javítottak benne, mint például MIDlet-be szerelés és lis megnyitása, bas fájlok a Nokia telefonokon, illetve 5 új parancs került be, ezek közül a legfontosabb a REPAINT. Az értelmezés sebességét növeltük a bas formátum megváltoztatásával (a BASIC korábbi verziói nem támogatják), illetve a munka Float típusú változókkal való átírásával. Korábban lebegőpontos számokat emuláltak – túl lassú volt. Ami a kódtárolást illeti, a MobileBASIC két változatban képes tárolni a programok forráskódjait - sima szöveges fájlként vagy bájtkódként. Az első esetben .lis kiterjesztést szokás adni a fájlnak (a BASIC LIST parancsból), a másodikban - .bas.

BAS fájlstruktúra és kód obfuszkáció

A programozókat aggasztja az a lehetőség, hogy szabadon kicsomagolhat egy jar-archívumot és megnyithat bármilyen programmodult a MobileBASIC segítségével. Végül is bárki megnézheti és megváltoztathatja a kódot, méghozzá különösebb erőfeszítés nélkül. 2010 elején megjelent egy BAS fájl obfuszkátor. Az ő feladata az volt, hogy felülírja a programban használt változók nevét. Ez volt a lendület a bájtkód szerkezetének tanulmányozására. Valamivel később az obfuszkátor új szintre lépett - most már úgy "elrontja" a fájlt, hogy azt nem lehet MobileBASIC eszközökkel megnyitni, miközben az összeállított kód teljesen működik. A mai napig a struktúra teljesen nyilvánosságra került, és már használatban van - egy BAS=>LIS decompiler és egy LIS=>BAS fordító készült, más alkalmazás is lehetséges - egy interpreter, amely több funkciót megért.

Verzióelőzmények

Változat Változtatások
1.8.0 Szöveges felület, nincs lehetőség FS -sel dolgozni
1.8.3 Hozzáadtuk az FS -sel való munkavégzés lehetőségét, hozzáadtuk a teljes képernyős módban történő munkavégzés lehetőségét
1.8.4, 1.8.5, 1.8.6 Felhasználóbarát felület hozzáadásával, kézi csomagolás nélküli MIDlet létrehozásának lehetőségével
1.8.6 mérföldekhez Javított munka az 5. generációs Sony Ericsson telefonokon
1.8.6.1 Javított munka űrlapokkal az 5. generációs Sony Ericsson telefonokon
1.8.6.2 Javított munka az 5. generációs Sony Ericsson telefonokon
1.9 A hivatalos verzió dátuma: 2010. december 28. A forráskód elérhetővé vált. Kisebb változtatások 1.8-hoz képest.
1.91 A hivatalos verzió dátuma: 2011. november 6. Zárt forráskód. Kisebb változások.
1.9.1, kiriman & dzanis [2] Hibák javítva.

Hozzáadott parancsok: REPAINT; RAND(MIN%,MAX%); ALPHAGEL GEL$,A%; COLORALPHAGEL GEL$,A%,R%,G%,B%; KÜLDÉS (NUMBER$,SZÖVEG$)

1.9.1, vlavolk&garfield63 [3] vlavolk felhasználói változások:

1) Új funkciók hozzáadva: hang, soundinfo, soundsset, drawpolygon, fillpolygon, shot, gelzoom, gelrot, getcolor, pointpres, pointdrag, pointhold, pointx, pointy, alsó, felső, indexof, vibráció.

2) Javítva a nyomtatási és menüelemes hibák futás közben.

3) Javítva a lemezek readdir$'e-ben való beszerzése és a karakterláncból floatba történő elemzés.

4) Most néhány függvény (readdir$, val, input) BASIC hibákat dob.

5) Mostantól a gélek letölthetők az internetről!

6) Új argumentum került a playtone - hangerő!

7) Javítottunk egy hibát a randban.


Változások garfild63 felhasználó által:

1) Alsó és felső átnevezése alsó$-ra és felső$-ra, mert karakterláncváltozókat adnak vissza.

2) A pointpres átnevezte pointpress-re, mert az angolban nincs sajtó szó!

3) Javítottunk egy hibát a getcolor-ban, és hozzáadtunk egy rövidítést (gc).

4) A felvétel működési elve megváltozott: most nem a teljes képernyőt menti, hanem csak a képernyő egy részét.

1.9.1.1, garfield63 [4] 1) 3 új funkció hozzáadva - inputtext, printtext és btsh$. Olvassa el a velük kapcsolatos információkat a súgóban (a Help.zip archívum Files.txt és Bluetooth.txt fájljaiban).

2) Hozzáadott munka Bluetooth-al (még mindig instabil, vannak hibák).

3) Javításra került egy hiba, melyben egy színnel kitöltött sokszög rajzolásakor egy további vízszintes vonalat húztunk, ami azt kettéosztotta.

1.9.1.2, garfield63 [5] 1) Javítva a btsh$ funkció – most már a BlueTooth hiba nélkül használható.

2) Hozzáadott munka a gyorsulásmérővel.

3) IMEI$(0) és GELMIRROR(GEL$) függvények hozzáadva.

4) Javítva a trigonometrikus függvények hibái a fokszámításoknál (most, ha azt írja be, hogy "10 DEG : PRINT SIN(90) : REPAINT", "1.0" jelenik meg)

5) A FILLPOLYGON funkció működése javítva.

6) Hozzáadott képernyő-billentyűzet. Az engedélyezéséhez le kell cserélnie az "On-Screen-Keypad: no" kifejezést a "On-Screen-Keypad: yes" kifejezésre a jegyzékben.

7.) Javított és frissített súgó. A Help.zip archívum tartalmazza a Program1.pas programot, amely a PascalABC-ben bináris fájlba gyűjti a szöveges fájlokat.

A telefonos alkalmazások második fejlesztőeszköze a MobileBASIC fejlesztői környezet. De a benne írt kód nagyon eltér a nyelv mobil verziójától. Most inkább úgy néz ki, mint a Quick Basic. A sorszámok opcionális címkékké váltak, a program könnyen modulokra osztható. A fő eljárás a Main (Sub Main()). De továbbra is értelmezett nyelv marad, bár gyorsabb a végrehajtás. Hozzáadott munka térképekkel és csempékkel , amelyekhez beépített szerkesztők vannak. Általánosságban elmondható, hogy a fejlesztőkörnyezet mindkét változata kifejezetten játékok létrehozására van szabva, ezt bizonyítja a grafikus elemekkel (gelekkel) és sprite -ekkel való munkavégzés képessége .

A fejlesztői környezet a szintaktikai kiemeléssel rendelkező kódszerkesztőn kívül számos speciális szerkesztőt tartalmaz: csempeszerkesztő (Tile Editor), térképszerkesztő (Map Editor), képátméretező eszköz (Image Resize), színválasztó (Color). Chooser) és egy beépített emulátor. A program Java SE nyelven íródott , ami lehetővé teszi, hogy bármilyen operációs rendszeren futhasson, amely Java virtuális géppel rendelkezik.

A legújabb verzió a 2.3, 2011. november 8-án [6] .

MobileBASIC for Android

2011 júniusában jelent meg a fejlesztői környezet következő verziója. Ezúttal az Android platformra. A szintaxis nagyon hasonló a PC-s verzióéhoz, támogatja a többdimenziós tömböket, a felhasználó által meghatározott rutinokat és funkciókat. A program egy praktikus nyelvi súgót és több mint 100 példát tartalmaz a nyelv különféle funkcióinak használatára [7] . A fejlesztői környezetnek két változata létezik: ingyenes (hátrányok - hirdetések megjelenítése [8] ) és teljes, 2,99 fontért kapható. A legújabb verzió a 4.9.11.

MobileBASIC LITE iOS-hez

2012-ben a MobileBASIC egy másik platformra, az iOS-re bővült. Az új verzió neve MobileBASIC LITE. Számos iOS-eszközökre jellemző funkciót tartalmaz, mint például a helymeghatározás, a gyorsulásmérővel és giroszkóppal végzett munka, a beépített térképek támogatása, az adatbázisokkal való munka és még sok más [9] . A fejlesztői környezetbe részletes nyelvi hivatkozás van beépítve példákkal.

JsMobileBasic

JsMobileBasic – JavaScript könyvtár, amely a MobileBasicPRO közösség MobileBASIC mechanikáját valósítja meg. Belsőleg HTML5 Canvast használ , de vannak SDL2 implementációk. A könyvtár későbbi implementációi megjelentek C++ , Node.js és Python számára .

Frissítve: 2018. január 25-én megnyíltak a JsMobileBasic források [10] , és mostantól bárki megtekintheti [11] . A MobileBasicPRO közösség projektjeinek egyéb forrásai a GitHub-tárhelyeikben találhatók [12]

Jegyzetek

  1. MobileBASIC 1.91 kezdőlap (lefelé hivatkozás) . Letöltve: 2011. szeptember 29. Az eredetiből archiválva : 2011. szeptember 27.. 
  2. Mobile Basic 1.9.1, kiriman & dzanis | annimon.com . annimon.com. Letöltve: 2020. április 11. Az eredetiből archiválva : 2022. január 15.
  3. MobileBasic 1.9.1, vlavolk&garfild63 | annimon.com . annimon.com. Hozzáférés időpontja: 2020. április 11.
  4. MobileBASIC 1.9.1.1 by garfild63 | Waper . waper.ru. Letöltve: 2020. április 11.  (nem elérhető link)
  5. MobileBASIC 1.9.1.2 by garfild63 | Waper . waper.ru. Letöltve: 2020. április 11.  (nem elérhető link)
  6. A MobileBASIC Desktop Edition kezdőlapja (lefelé hivatkozás) . Letöltve: 2011. szeptember 29. Az eredetiből archiválva : 2011. szeptember 27.. 
  7. MobileBASIC for Android kezdőlap (lefelé hivatkozás) . Letöltve: 2011. szeptember 29. Az eredetiből archiválva : 2011. szeptember 27.. 
  8. MobileBASIC for Android 3.1 az Android Marketen . Letöltve: 2011. december 11. Az eredetiből archiválva : 2011. augusztus 16..
  9. MobileBASIC LITE az iTunes-on . Letöltve: 2017. szeptember 29. Az eredetiből archiválva : 2017. március 28..
  10. JsMobileBasic (JsMB) nyílt forráskódú! | Vkontakte . m.vk.com. Hozzáférés időpontja: 2020. április 10.
  11. JsMB | A fő JsMobileBasic adattár | Github . — 2018-03-13. Archiválva : 2020. november 27.
  12. MobileBasicPRO | Github  (angol) . GitHub. Hozzáférés időpontja: 2020. április 10.

Lásd még

Linkek