ФреэБАСИ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нинг ўрнатилган библиотекасини ишлатган ҳолда:

Принт "Ҳелло, 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. ↑ Версион 1.07.1 релеасед - фреэбасиc.нет
  2. ↑ „Море абоут ФреэБАСИC“ (эн) (деадлинк). фреэбасиc.нет. — ФреэБАСИC - ещё больше нужных функций. 2015-йил 24-октябрда асл нусхадан архивланган. Қаралди: 2015-йил 14-октябр. (Wайбаcк Мачине сайтида 2015-10-24 санасида архивланган)

Яна қаранг

Манбалар

Ҳаволалар

ИДЕ