~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 9AF598593CCAE96BDDC118F2EC7D3D09__1711029780 ✰
Заголовок документа оригинал.:
✰ thinBasic - Wikipedia ✰
Заголовок документа перевод.:
✰ тонкийBasic — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/ThinBasic ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/9a/09/9af598593ccae96bddc118f2ec7d3d09.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/9a/09/9af598593ccae96bddc118f2ec7d3d09__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 11:53:06 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 21 March 2024, at 17:03 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

тонкийBasic — Википедия Jump to content

тонкийБазовый

Из Википедии, бесплатной энциклопедии
ThinBasic
Логотип ThinBasic
Разработчик Эрос Олми
Стабильная версия
v1.12 / 28 января 2024 г .; 4 месяца назад ( 28.01.2024 )
ТЫ Окна
Лицензия Бесплатное / проприетарное ПО
Веб-сайт www .thinbasic
Диалекты
БАЗОВЫЙ
Под влиянием
PowerBasic

ThinBasic BASIC . подобный программирования, языка интерпретатор [1] с центральной архитектурой ядра, окруженной множеством специализированных модулей. Хотя изначально он был разработан в основном для компьютерной автоматизации, благодаря своей модульной структуре его можно использовать для решения широкого круга задач.

Основные возможности [ править ]

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

Как следует из названия, наибольшее влияние на синтаксис этого языка оказал язык BASIC. Но в отличие от традиционных BASICов, известных еще с 8-битной эпохи, ThinBASIC отличается по нескольким важным моментам.

Например, он требует от программиста объявления переменных и не содержит печально известных операторов GOTO и GOSUB. Некоторые аспекты синтаксиса даже созданы в языках, отличных от BASIC, таких как C / C++ . [2] Благодаря этому ThinBASIC опционально позволяет использовать неявное продолжение строки, упрощенные операторы сложения, вычитания, умножения и деления, сокращенное объявление и инициализацию переменных:

' Традиционный синтаксис разрешен в ThinBASIC 
 DIM   a   AS   INTEGER    ' a инициализируется значением 0 
 a   =   1               ' a теперь содержит 1 
 a   =   a   +   1           ' a теперь содержит 2 

 ' Синтаксис, вдохновленный C/C++, разрешен в ThinBASIC 
 INTEGER   a   =   1       ' a is инициализировано значением 1 
 a   +=   1              ' a теперь содержит 2 

 ' Новый синтаксис, представленный в версии 1.9.10.0, позволяет определять тип из строкового выражения 
 STRING   sType   =   "INTEGER" 
 DIM   a   LIKE   sType 

Еще одним источником вдохновения являются современные версии BASIC, такие как Visual Basic или PowerBASIC .

ThinBASIC предлагает основные операторы управления потоком, такие как SELECT CASE, IF ... THEN/ELSEIF/ELSE/END IF, циклы ( бесконечные , условные , FOR , WHILE/WEND, DO/LOOP WHILE ..., DO/LOOP UNTIL ...), а также прилагаются очень большие усилия для предоставления широкого спектра встроенных функций для обработки чисел и особенно обработки строк.

Переменные и типы данных [ править ]

ThinBASIC поддерживает широкий спектр числовых [3] и строка [4] типы данных.

Целое число Плавающая запятая Нить Другой
БАЙТ ОДИНОКИЙ НИТЬ ВАРИАНТ
СЛОВО ДВОЙНОЙ СТРОКА * н ГУИД
ДВОРД ВАЛЮТА ASCIIZ * н БУЛЕВОЕ значение
ЦЕЛОЕ ЧИСЛО РАСШИРЕННЫЙ, РАСШИРЕННЫЙ UDT (определяемый пользователем тип)
ДЛИННЫЙ СОЮЗЫ
КВАД iDispatch

Помимо упомянутых в таблице выше, программист может определять указатели, определяемые пользователем типы и объединения .

К особым функциям, связанным с пользовательскими типами в ThinBASIC, относятся: [5]

  • возможность наследовать члены от одного или нескольких других пользовательских типов
  • статические члены (члены, значение которых является общим для всех переменных данного определяемого пользователем типа)
  • динамические строки

Переменные могут быть определены в глобальной, локальной или статической области видимости. ThinBASIC поддерживает массивы размером до трех измерений.

Модули [ править ]

Элементарная функциональность языка обеспечивается так называемым модулем Core , который загружается по умолчанию и также занимается синтаксическим анализом.

Помимо модуля Core, ThinBASIC предлагает другие модули, каждый из которых охватывает определенную область функциональности, например:

  • создание графического интерфейса
  • обработка консоли
  • обработка файлов
  • 3D графика
  • сеть
  • ...

Каждый модуль представлен одной DLL со специальной структурой. Это позволяет модулю содержать не только типичные функции и процедуры, но также, например, константы и определения пользовательских типов, которые сразу доступны для сценария без необходимости использования заголовочного файла. Единственное, что нужно — это явно указать в коде использование модуля — для работы с файлами это будет выглядеть так:

' Это загружает модуль для использования. 
 Использует   "File" 

 ' Функция File_Load поступает из модуля и возвращает содержимое переданного файла в виде строки 
 String   sBuffer   =   File_Load  (  "C:\text.txt"  ) 

Функции и процедуры [ править ]

Чтобы лучше структурировать код, ThinBASIC предоставляет функциональные возможности функций и процедур. Есть одна функция со специальной обработкой, называемая TBMAIN, которая гарантированно выполняется первой. Она представляет ту же функцию, что и функция main() в языке программирования C , но ее использование не является обязательным.

Программист может определять собственные функции и процедуры (называемые Subs); они могут иметь до 32 параметров. И функции, и процедуры не нужно объявлять перед использованием. Параметры можно пометить как необязательные, а также их можно инициализировать значениями по умолчанию. Каждый параметр можно указать для передачи по значению (по умолчанию) или по ссылке.

Использует   «Консоль» 

 ' Тело программы начинается с функции TBMain. 
 Функция   TBMain  () 

   MyFunction  (  10  )          ' Будет напечатано 10 20 30, поскольку неиспользуемые дополнительные параметры #2 и #3 инициализируются значениями 20 и 30 

   MyFunction  (  10  ,   3  )       ' Это напечатает 10 3 30, поскольку неиспользуемый дополнительный параметр #3 инициализируется значением 30 

   MyFunction  (  10  ,   3  ,   5  )     ' Будет напечатано 10 3 5, поскольку мы указываем все параметры, поэтому значения по умолчанию отбрасываются 

   Console_WaitKey 

 End   Function 

 ' Определяется пользователем функция с дополнительными параметрами со значениями по умолчанию 
 Функция   MyFunction  (   a   As   Number  ,   Необязательно   b   As   Number   =   20  ,   c   As   Number   =   30  ) 

     Console_PrintL  (  a  ,   b  ,   c  ) 

 Конечная   функция 

Функции можно вызывать напрямую, как в листинге выше, или путем составления их имени во время выполнения.

Привязка к сторонним API [ править ]

ThinBASIC поддерживает вызов функций из сторонних DLL; программисту необходимо сначала объявить их, чтобы получить доступ к функциям.

Благодаря этому механизму ThinBASIC позволяет использовать такие технологии, как OpenGL , OpenCL , [6] XML , ODE и многие другие.

Организация кода [ править ]

ThinBASIC на данный момент не поддерживает какие-либо формы файлов проекта, но поощряет разделение кода на модули, предоставляя несколько расширений файлов для различного использования:

  • .tBasic — основной код
  • .tBasicI — включаемый файл, содержащий объявление функций, например, из сторонних DLL.
  • .tBasicU — кодовый модуль, содержащий вспомогательные подпрограммы

Основной код может ссылаться на эти файлы с помощью директивы #include, которая может использовать подстановочные знаки:

#  include   "MyDLLWrapper.tBasicI" 
 #  include   "MyRoutines.tBasicU" 

 #  include   "dialog_*.tBasicU"      ' Сюда будут включены все файлы, соответствующие подстановочному знаку Dialog_*.tBasicU, если он присутствует. 

 Function   TBMain  () 
  
   ' -- Здесь находится основной код, и может использовать функциональность из #included файлов. 

 End   Function 

Кастомизация [ править ]

Язык можно улучшить путем разработки модулей с использованием SDK для многих языков ( PowerBASIC , FreeBASIC , C , MASM ).

Документация [ править ]

Команда разработчиков уделяет большое внимание документации языка и учебным ресурсам. Сам язык описан в обширном файле справки. [7] а установка по умолчанию содержит руководство и множество примеров кода.

Различные статьи по использованию ThinBASIC были опубликованы в журнале ThinBasic Journal , а также на домашней странице языка программирования (см. внешние ссылки).

Интегрированная среда разработки (IDE) [ править ]

ThinAir, ThinBasic IDE

ThinBASIC поставляется с собственной IDE, называемой ThinAir, в установке по умолчанию. [8] Это предлагает:

  • Настраиваемая подсветка синтаксиса
  • Шаблоны кода
  • Несколько исходных файлов, открытых одновременно во вкладках
  • Возможность просмотра одного источника с использованием нескольких представлений
  • Необязательная обфускация скрипта
  • Создание независимого исполняемого файла из скрипта [9]
  • Доступ к файлу справки


ThinAir также позволяет использовать отладчик.
Этот компонент называется ThinDebug. [10] и можно посмотреть на изображении по ссылке ниже.

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

Консольная программа, которая спрашивает пользователя об имени, а затем приветствует его:

' Указывает, что программа будет использовать функции из консольного модуля, 
 использует   "Console" 

 программы 
 ' TBMain представляет основную часть функции   TBMain  () 
   ' Создает переменную для хранения имени пользователя 
   local   UserName   в виде   строки 

   ' Запрашивает у пользователя имя 
   Console_Print  (  "Как вас зовут? : "  ) 

   ' Сохраняет его в переменной 
   UserName   =   Console_ReadLine 

   ' Если длина имени пользователя равна 0, то имя не указано, иначе программа скажет привет, 
   если   len  (  UserName  )   =   0   , то 
     Console_PrintLine  (  «Имя пользователя не указано...»  )  
   else 
     Console_PrintLine  (  «Hello»   +   UserName   +   «!»  )   
   end   if 

   'Ожидает любого ключа от пользователя до завершения программы. 
   Console_WaitKey 
 завершения   Функция 

Плюсы и минусы [ править ]

ThinBASIC был разработан для платформы Windows , и именно поэтому он эффективно использует ресурсы, предоставляемые этой системой, такие как реестр , пользовательский интерфейс, работа с процессами, COM , библиотеки DLL . Несмотря на интерпретацию,thinBASIC обычно имеет быстрое выполнение. [11] Когда природа интерпретатора языка достигает предела, можно выполнить оптимизацию с использованием частичной JIT-компиляции. Еще одной сильной стороной языка является широкий набор команд, охватывающий различные области интересов, а для BASIC традиционно — сильная ориентация на обработку строк. Язык постоянно развивается и поддерживается. [12]

Тот факт, что ThinBASIC разработан только для Windows, также может рассматриваться как недостаток для тех, кто ищет кроссплатформенные инструменты. Скорость выполнения без использования оптимизаций ниже по сравнению с выводом компиляторов языка из-за природы интерпретатора .

Совместимость [ править ]

ThinBASIC был разработан под управлением Microsoft Windows XP Professional с использованием PowerBASIC . [13] и требуется Internet Explorer версии 5.50 или выше.

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

  1. ^ Олми, Э. Справочное руководство ThinBASIC. Представляем тонкий БЕЙСИК . Проверено 21 сентября 2011 г.
  2. ^ Basic.mindteq.com. ТИНБЕЙСИК . Проверено 15 февраля 2013 г.
  3. ^ Олми, Э. Справочное руководство ThinBASIC. Числовые переменные . Проверено 21 сентября 2011 г.
  4. ^ Олми, Э. Справочное руководство ThinBASIC. Строковые переменные . Проверено 21 сентября 2011 г.
  5. ^ Олми, Э. Справочное руководство ThinBASIC. Тип . Проверено 21 сентября 2011 г.
  6. ^ ШРАЙБЕР, П.; ОНДРОУШЕК, В.; ВЕЧЕТ, С.; КРЕЙСА, Дж.. Распараллеливание метода предварительно вычисленного сканирования для обработки видеокарты . Материалы 1-й международной конференции «Робототехника в образовании», RiE2010. 2010. с. 202
  7. ^ Олми, Э. Справочное руководство ThinBASIC. Как использовать . Проверено 21 сентября 2011 г.
  8. ^ Олми, Э. Справочное руководство ThinBASIC. Как использовать . Проверено 21 сентября 2011 г.
  9. ^ Basic.mindteq.com. ТИНБЕЙСИК . Проверено 15 февраля 2013 г.
  10. ^ Олми, Э. Справочное руководство ThinBASIC. ThinTools/thinDebug . Проверено 21 сентября 2011 г.
  11. ^ Basic.mindteq.com. ТИНБЕЙСИК . Проверено 15 февраля 2013 г.
  12. ^ Олми, Э. Справочное руководство ThinBASIC. Что нового . Проверено 29 июля 2017 г.
  13. ^ http://www.powerbasic.com . Создано с помощью PowerBASIC! . Проверено 21 сентября 2011 г.

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

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 9AF598593CCAE96BDDC118F2EC7D3D09__1711029780
URL1:https://en.wikipedia.org/wiki/ThinBasic
Заголовок, (Title) документа по адресу, URL1:
thinBasic - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)