download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

Rebol програмиране и WinRAR - Невероятно добра комбинация

Автор
Съобщение
phrozencrew
Чет, 31.05.07, 19:48
програмата Celsius.exe
програмата 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 настройки
WinRAR настройки

Програмката, която създадохме можете да намерите тук:
http://instr.hit.bg/rebol/Celsius.exe
Само сорса можете да изтеглите от тук:
http://instr.hit.bg/rebol/celsius.r
Когато изтеглите програмата интегрирания в архива Rebol интерпретатор ще ви пита дали искате да се инсталира. Спокойно можете да кликнете на: Go ahead without installing и да продължите нататък. След това е необходимо да кликнете отново на Celsius.exe

редактиран от phrozencrew на 31.05.07 19:59
boy4o
Пет, 01.06.07, 11:25
Леле-мале, Фрозен, дано това не го види angelicstar, веднага ще зареже и Жаби и Питони и ще му се нахвърли като скакалец на зелка.
Сериозно: харесва ми и материала, който си пуснал и хъса, с който популяризираш слабо известни но извънредно ценни неща.
Малка провокацийка, ако позволиш - Gentee ?
редактиран от boy4o на 01.06.07 11:26
anonymous
Пет, 01.06.07, 13:13
Браво phrozencrew! Моят опит с програмирането се ограничава до HTML, CSS и малко Java Script. Но както каза boy4o, поздравявам те за хъса и желанието да изготвяш такива материали. А иначе Win RAR e една от програмите, към които съм пристрастен завинаги. Има изключително много дълбоки настройки и могат да се правят много интересни неща с нея. Аз пък ще взема да напиша една статия за "скритите" и възможности.
Айде със здраве!!!
anonymous
Пет, 01.06.07, 14:09
материaла и дискусията са заинтригуващи.
angelicstar
Пет, 01.06.07, 14:44
е да де ама вече го видьх.
ми несъм чак толко пуйка безглава та де се хълрям на сичко наред. а пъксега точно се бодалкам с PostScript. ама ме е инересно. тия дне ше се пробам и стова.
редактиран от angelicstar на 01.06.07 15:23
phrozencrew
Сря, 02.01.08, 22:13
Тук ще поместя още един код, тъй като има хора, които ме питат по пощата. Rebol разполага с всичко стандартни средства и функции, които са налични и в другите езици за програмиране. Ето пълен списък с термините - цикли, функции и т.н. в Rebol:
REBOL Function Dictionary
Ето и кодът за който говорих, в него съм включил един цикъл For:
REBOL []
convert: does [
    temp: to-integer fahr/text
	r: 0
	i: 0
	for i 1 temp 1 [r: r + (i ** 2)]
    celsius: r
    celsius-f/text: celsius
    show lay ]
lay: layout [
    across
    fahr: field 50
    button "1+2**2+3**2+...+n**2" 200 [convert]
    celsius-f: field 50 ]

focus fahr
view lay

Както се вижда - много леко съм преработил кодът от урока и в момента програмата смята следния код:
1. Въвеждане на стойност -примерно N
2. степенуване на 2 степен докато не стигнем N: 1+2^2+3^2+4^2...N^2

rebol power - степенуване
rebol power - степенуване

oldcastle
Чет, 03.01.08, 22:34
Ей човек, винаги ме хвърляш на върбата с нещо такова.

Ценен материал, бих казал, ама в тази област съм зле. Хубавото е обаче, че ме заинтригува...

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.