Một lựa chọn nhanh chóng và mạnh mẽ là sử dụng REBOL 3. Bạn có thể sử dụng tính năng SL4A, nhưng bạn không cần phải:
http://business-programming.com/business_programming.html#section-18
Dưới đây là 10 chương trình demo đầy đủ chức năng, với giao diện đồ họa . Các quảng cáo này chạy trên hệ điều hành Android VÀ HĐH trên máy tính để bàn, sử dụng mã số chính xác, mà không cần bất kỳ thay đổi nào. Kịch bản nhỏ xíu, và chết đơn giản để tạo ra. Có gì khác như nó:
REBOL []
load-gui
view [text "Hello World!"]
REBOL [title: "Tiny Note Editor"]
do %r3-gui.r3 ; download this file manually or just use load-gui as above
view [
a1: area
button "Save" on-action [write %notes.txt get-face a1]
button "Load" on-action [set-face a1 to-string read %notes.txt]
]
REBOL [title: "Data Entry to CSV File"]
do %r3-gui.r3
view [
text "First Name:"
f1: field
text "Last Name:"
f2: field
button "Submit" on-action [
write/append %cntcts.txt rejoin [
mold get-face f1 " " mold get-face f2 newline
]
request "" "Saved"
]
a1: area
button "Load" on-action [set-face a1 to-string read %cntcts.txt]
]
REBOL [title: "Text File Reader (How to use a text list file selector)"]
do %r3-gui.r3
view [
a1: area
button "Load" on-action [
files: read %./
view/modal [
text "File Name:"
t2: text-list files on-action [
set-face a1 to-string read(to-file pick files get-face t2)
unview
]
]
]
]
REBOL [title: "List-View (Grid) Example"]
do %r3-gui.r3
view [
text-table ["1" 200 "2" 100 "3"][
["asdf" "a" "4"]
["sdfg" "b" "3"]
["dfgh" "c" "2"]
["fghj" "d" "1"]
]
]
REBOL [title: "Calculator"]
do %r3-gui.r3
stylize [
btn: button [
facets: [init-size: 50x50]
actors: [on-action:[set-face f join get-face f get-face face]]
]
]
view [
hgroup [
f: field return
btn "1" btn "2" btn "3" btn " + " return
btn "4" btn "5" btn "6" btn " - " return
btn "7" btn "8" btn "9" btn " * " return
btn "0" btn "." btn "/" btn "=" on-action [
attempt [set-face f form do get-face f]
]
]
]
REBOL [title: "Sliding Tile Puzzle"]
do %r3-gui.r3
stylize [
p: button [
facets: [init-size: 60x60 max-size: 60x60]
actors: [
on-action: [
t: face/gob/offset
face/gob/offset: x/gob/offset
x/gob/offset: t
]
]
]
]
view/options [
hgroup [
p "8" p "7" p "6" return
p "5" p "4" p "3" return
p "2" p "1" x: box 60x60 white
]
] [bg-color: white]
REBOL [title: "Math Test"]
do %r3-gui.r3
random/seed now
x: does [rejoin [random 10 " + " random 20]]
view [
f1: field (x)
text "Answer:"
f2: field on-action [
either (get-face f2) = (form do get-face f1) [
request "Yes!" "Yes!"][request "No!" "No!"
]
set-face f1 x
set-face f2 ""
focus f2
]
]
REBOL [title: "Minimal Cash Register"]
do %r3-gui.r3
stylize [fld: field [init-size: 80]]
view [
hgroup [
text "Cashier:" cashier: fld
text "Item:" item: fld
text "Price:" price: fld on-action [
if error? try [to-money get-face price] [
request "Error" "Price error"
return none
]
set-face a rejoin [
get-face a mold get-face item tab get-face price newline
]
set-face item copy "" set-face price copy ""
sum: 0
foreach [item price] load get-face a [
sum: sum + to-money price
]
set-face subtotal form sum
set-face tax form sum * .06
set-face total form sum * 1.06
focus item
]
return
a: area 600x300
return
text "Subtotal:" subtotal: fld
text "Tax:" tax: fld
text "Total:" total: fld
button "Save" on-action [
items: replace/all (mold load get-face a) newline " "
write/append %sales.txt rejoin [
items newline get-face cashier newline now/date newline
]
set-face item copy "" set-face price copy ""
set-face a copy "" set-face subtotal copy ""
set-face tax copy "" set-face total copy ""
]
]
]
REBOL [title: "Requestors"]
do %r3-gui.r3
x: request/ask "Question" "Do you like this?."
either x = false [print "No!"] [print "Yes!"]
x: request/custom "" "Do you like this?" ["Yay" "Boo"]
either x = false [print "Boo!"] [print "Yay!"]
view [button "Click me" on-action[request "Ok" "You clicked the button."]]
Nếu bạn muốn sử dụng hoặc thêm tính năng từ SL4A để REBOL, chỉ cần làm mã tại https://raw.github.com/gchiu/Rebol3/master/protocols/prot-sl4a.r3
Dựa trên trình duyệt văn bản, trông tuyệt vời! – foosion
Thật tuyệt, nhưng nó không nằm trong nhiều bản repos cho Linux. – RobotHumans