програмата Celsius.exe
Пиша това въведение в Rebol заради липсата на информация за този език в BG-Интернет пространството.
След като сме си изтеглили най-простия интерпретатор View.exe от сайта на Rebol е време да видим как функционира този език. За да ми е по-лесно ще напиша скрипта и после ще го коментирам.
Като начало отворете някой прост текстови редактор. В случая аз ще използвам Notepad. В него запишете следния код:
REBOL []
convert: does [
temp: to-integer fahr/text
celsius: (temp - 32) / 1.8
celsius-f/text: round/to celsius .005
show lay ]
lay: layout [
across
fahr: field 50
button "Покажи Целзий" 150 [convert]
celsius-f: field 50 ]
focus fahr
view lay |
REBOL [] - С това указваме на интерпретатора, че наистина стартираме програма на Rebol. Между квадратните скоби можете да сложите допълнителна информация, като например: автор, лиценз, дата на създаване и др. За повече информация - документацията на Rebol.
Ще започна от реда:
lay: layout
lay - случайно избрано име на променлива. В Rebol променливите не се обявяват предварително, но има механизъм да разберете коя стойност от какъв тип е - текст, целочислена, с плаваща запетая, символна и т.н. В случая с lay обявяваме променлива на графичен прозорец layout. Този графичен прозорец може да съдържа текстови полета, картинки, бутони и какво ли не. Нека видим какво е съдържанието му в нашата програма. Параметрите на всеки обект в Rebol (независимо дали е променлива, функция или друг тип обект) се задават в квадратни кавички [].
Следващия ред е accross. Този ред указва на интерпретатора да сложи всичко на един ред в графичния прозорец докато не срещне думата return.
fahr: field 50 - Този ред съдържа променлива fahr, чието съдържание е текстово поле field с дължина 50 символа(или пиксела - не съм много сигурен).
button "Покажи Целзий" 150 [convert] - Този ред е по интересен. Имаме функция бутон, която викаме естествено с button, после имаме "Покажи Целзий" - надписа върху бутона, после дължината на бутона 150 и най накрая имаме [convert]. Хм, какво ли значи този конверт. Това е повикване на външна функция, която предварително сме дефинирали.
След малко ще разгледаме и нея.
celsius-f: field 50 ] - този ред мисля че вече е ясен. Скобата накрая ] казва на интерпретатора, че затваряме реда на променливата lay.
Нека разгледаме външната функция convert. С does ще кажем какво да се извърши в тази функция. Отново виждаме характерните квадратни скоби [].
temp: - това представлява проста променлива, чието име е temp, стойност - текста на текстовото поле с име fahr, като в случая използваме преобразуването на текста в полето до стойност integer (чрез вградената в езика функция to-integer);
celsius: (temp - 32) / 1.8 - формулата на която е базирана нашата програма. celsius е променлива.
celsius-f/text: round/to celsius .005 - Този ред казва на интерпретатора да закръгли резултата получен от celsius и да го постави в текстово поле celsius-f.
Последните два реда:
focus fahr - При стартиране на програмата постави курсора в текстовото поле с име fahr;
view lay - При стартиране на програмата покажи прозореца lay;
Как да стартираме най лесно нашата програма и как да я превърнем в exe. Това ще направим с познатия на всички WinRar архиватор. Той е много удобен за подобни малки програми защото може да се използва като ембедер (не се сещам как е превода на български).
Маркирайте файловете celsius.r и view.exe. След това следвайте стъпките описани в картинките по-долу.
WinRAR настройки
Програмката, която създадохме можете да намерите тук:
http://instr.hit.bg/rebol/Celsius.exe
Само сорса можете да изтеглите от тук:
http://instr.hit.bg/rebol/celsius.r
Когато изтеглите програмата интегрирания в архива Rebol интерпретатор ще ви пита дали искате да се инсталира. Спокойно можете да кликнете на: Go ahead without installing и да продължите нататък. След това е необходимо да кликнете отново на Celsius.exe