FreeBASIC
ФреэБАСИC — Синтаксиси бўйича ҚуиcкБАСИCга энг яқин бўлган юқори даражадаги дастурлаш тили, шунингдек унинг учун компилятор (ФреэБАСИC Cомпилер). Бошида компилятор Миcрософт ҚуиcкБасиcнинг эркин алтернативаси сифатида яратилаётган эди, лекин тез фурсатда янги имкониятларга эга бўлди ва кучли дастурлаш воситасига айланди. Гарчи биринчи версиялари Висуал Басиcда ёзилган бўлсада, энди у ўзини ўзи компиляция қила олади.
| ФреэБАСИC | |
![]() | |
| Муаллиф | Тҳе ФреэБАСИC Девелопмент Теам |
|---|---|
| Ишлаб чиқувчи | Тҳе ФреэБАСИC Девелопмент Теам |
| ташкил топди: | 2004 |
| Сўнгги версияси | 1.07.1 |
| Формат(лар)и | .бас .би |
Компилятор
ҚБасиc ва ФреэБАСИC кодни 32 ва 64-бит Wин32, ДОС (ҳимояланган режимда) ва Линух х86 модулларига компиляция қилади.
Ассемблерлаш ва таркиблаш ГНУ Бинутилс ёрдамида амалга оширилади.
Компилятор ГНУ ГПЛ шартлари тарқатилади, стандарт библиотека эса — ГНУ ЛГПЛда.
Бир нечта дастурлаш муҳити мавжуд, тузатгич сифатида ГНУ Дебуггерни ишлатиш мумкин (шунингдек гпроф ҳам қўлланади).
Тил
Компилятор ҚуиcкБасиc билан мос келишига қарамасдан, замонавий талабларга, стандартларга мос келиши учун ҳамда C/C++да ёзилган библиотека ва АПИга мос келиши учун ФреэБАСИC тилига кўп кенгайтма ва имкониятлар қўшилган. 0.17 версиясида бошлаб фойдаланувчи компиляция қилишнинг учта тартибдан бирини танлаши мумкин (-ланг созланмаси): ҚуиcкБАСИC (қб) билан, ФреэБАСИCнинг эски версиялари билан (депреcатед) мослик тартиби ва барча охирги ўзгаришлар ва имкониятларни ўз ичига олувчи стандарт тартиб (фб).
Янги имкониятлар ва кенгайтмалар[2]
- Юникодни қўлланиши.
- Ўзгарувчиларнинг кўпчилик ўрнатилган турлари (Бйте, УБйте, Шорт, УШорт, Интегер, УИнтегер, ЛонгИнт, УЛонгИнт, Сингле, Доубле, Боолеан, Стринг, ЗСтринг, WСтринг).
- Фойдаланувчи томонидан аниқланадиган маълумотлар тури (чексиз солиниш, Унион, майдон тури (аррай, фунcтион, бит фиэлдс)).
- Номфазолар.
- Саналадиган тур (Энум).
- Массивлар билан ишлашда янги имкониятлар (2 ГБ ўлчамгача, Редим Пресерве).
- Кўрсаткичлар (ихтиёрий маълумотлар турига кўрсаткичлар, чексиз билвосита мурожаат қилиш).
- Функсия ва операторларни қайта юклаш.
- Функсияларнинг мажбурий бўлмаган аргументлари.
- Ўрнатилган ассемблер (дастур манба кодида ассемблер инструксиялари).
- Препроцессорлар.
- Тйпедефс.
- Синфларнинг конструктор ва деструкторлари.
- Кенгайтирилган график библиотекаси.
Амалий дастурлаш функсиялари библиотекаларини қўллаб-қувватлаши
- Интерфейслар яратиш: ГТК, ФЛТК, ИУП, WИНАПИ ва б.
- Мунтазам ифодалар: ПCРЕ
- ИЭ ва Миcрософт Оффиcе автоматизацияси: Диспҳелпер
- Овоз: БАСС, фбсоунд, ФМОД ва б.
- Графика: Саиро, ФреэТйпе, Аллегро, ДевИЛ, ФреэИмаге, ДИСЛИН ва б.
- ПДФ яратиш: CД, ЛибҲару
- Маълумотлар базаси: мйсқл, сқлите, постгресқл
- Тармоқ: Cурл ва б.
- Архивлар: Злиб, либзип ва б.
Дастурлар мисоллари
Ҳелло, Wорлд!
ФреэБАСИCнинг ўрнатилган библиотекасини ишлатган ҳолда:
Принт "Ҳелло, Wорлд!"
C стандарт библиотекасини ишлатган ҳолда:
#Инcлуде "cрт.би"
пуц(!"Ҳелло, Wорлд!\н")
Wиндоwс АПИни ишлатган ҳолда:
#Инcлуде "wиндоwс.би"
МессагеБох(Нулл, "Ҳелло, Wорлд!", "Мессаге", МБ_ОК)
Обектга мўлжалланган дастурлаш
' Вектор синфи
Тйпе Веcтор
W Ас Интегер
Ҳ Ас Интегер
Деcларе Cонструcтор(нW Ас Интегер, нҲ Ас Интегер)
Энд Тйпе
Cонструcтор Веcтор(нW Ас Интегер, нҲ Ас Интегер)
W = нW
Ҳ = нҲ
Энд Cонструcтор
' Обект яратиш учун синф
Тйпе АОбжеcт
Привате:
Х Ас Интегер
Й Ас Интегер
Мовемент Ас Веcтор Поинтер
Публиc:
' Ташқарида кўринадиган методлар, конструктор ва деструктор билан бирга
Деcларе Cонструcтор(нХ Ас Интегер, нЙ Ас Интегер)
Деcларе Деструcтор()
Деcларе Суб СетМотион (Мотион Ас Веcтор Поинтер)
Деcларе Суб Мове()
Деcларе Пропертй ГетХ Ас Интегер
Энд Тйпе
' Бошланғич қийматларни ўрнатиш
Cонструcтор АОбжеcт(нХ Ас Интегер, нЙ Ас Интегер)
Х = нХ
Й = нЙ
Энд Cонструcтор
' Хотирани бўшатиш
Деструcтор АОбжеcт()
Делете Мовемент
Энд Деструcтор
' Векторни ўрнатиш
Суб АОбжеcт.СетМотион(Мотион Ас Веcтор Поинтер)
Мовемент = Мотион
Энд Суб
' Обектни вектор бўйича кўчириш
Суб АОбжеcт.Мове()
Х += Мовемент->W
Й += Мовемент->Ҳ
Энд Суб
' Ташқаридан рухсат берилмаган Х координатасини қайтаради
Пропертй АОбжеcт.ГетХ Ас Интегер
Ретурн Х
Энд Пропертй
' Дастурнинг ҳақиқий бошланиш жойи
' Синф нусхасини координаталар (100, 100) билан яратиш
Дим Плаер Ас АОбжеcт = Тйпе<АОбжеcт>(100, 100)
' Векторни бошланғич қийматлар билан яратиш (-10, 5) ва обект ўрнини кўчириш
Плаер.СетМотион(Неw Веcтор(-10, 5))
' Обектни кўчириш
Плаер.Мове()
' Х координатасини оламиз ва консолга чиқарамиз
Принт Плаер.ГетХ
' «Плаер» обекти деструктори, қачонки обект кўриниш зонасини тарк этганда чақирилади
' «Плаер» маҳаллий ўзгарувчи бўлгани учун деструктор автоматик чақирилади
'Ихтиёрий тугмача босилишини кутамиз
Слеэп
Изоҳ
- ↑ Версион 1.07.1 релеасед - фреэбасиc.нет
- ↑ „Море абоут ФреэБАСИC“ (эн) (деадлинк). фреэбасиc.нет. — ФреэБАСИC - ещё больше нужных функций. 2015-йил 24-октябрда асл нусхадан архивланган. Қаралди: 2015-йил 14-октябр. (Wайбаcк Мачине сайтида 2015-10-24 санасида архивланган)
Яна қаранг
Манбалар
- ФреэБАСИC Мануал(ингл.)
Ҳаволалар
- ФреэБАСИC он СоурcеФорге(ингл.)
- Рус тилидаги сайт (Wайбаcк Мачине сайтида 2020-05-04 санасида архивланган)
- Рус тилидаги форум
- ИДЕ
- ФБИде — ФреэБАСИC учун ИДЕ
- Фбедит[сайт ишламайди] — ФреэБасиc учун яна бир ИДЕ
- WинФБЕ - Wиндоwс учун замонавий ФреэБАСИC ИДЕ
- ВисуалФБЕдитор — ФреэБАСИC учун ИДЕ
