• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r4wp

[Rebol School] REBOL School

Sunanda
27-May-2012
[356]
Here's one way:

    view layout [b: button "Text in Button" [face/text: "Changed!" show 
    face]]

Though it'd usually be better to assign the button to a word, so 
you can change the text at other points in your script too:
    view layout [
               but1: button "Text in Button"

               but2: button "Press me" [but1/text: "Changed!" show but1]
      ]
GrahamC
27-May-2012
[357]
I usually label these as btn1 etc so I don't show my butt
Arnold
7-Jun-2012
[358]
When I use rename function to rename a file, the file date on my 
Mac OS X changes too. When I change a name using finder, carefully 
clicking the file and renaming it, the date does not change. Doe 
sthis happen on other platforms too? How to steer this behaviour?
Kaj
7-Jun-2012
[359]
I'm afraid this is where you run into the limitations due to REBOL 
being as platform neutral as possible
GrahamC
7-Jun-2012
[360]
You can use rebol to get the mod date and change it back after the 
move
Evgeniy Philippov
10-Jun-2012
[361x9]
I got an idea from a friend. So I got ready to start my two scripts 
(maybe someone wrote smth similar???) - one window; left pane has 
file system folders tree with top at the script's dir, right pane 
has some content. I want two scripts, every of them is a standalone 
app for its own like-minded audience: 1) plaintext.r, and 2) activetext.r. 
The plaintext.r will have right pane editor for plain text, saving 
it on the fly while editing (when the window is navigated away or 
closed, the text is saved); and activetext.r which has a plaintext-with-rebol-applets 
or .r content at the right pane.
These will be my first two rebol apps.
Well. The activetext.r script will have plaintext-with-embedded-rebol 
applets. And the rtext.r will have .r content at the right pane.
Activetext and rtext will have editor and viewer on the right, however 
plaintext.r will have only editor.
A question: where can I find View syntax reference?
Unknown word or style: tree
Unknown word or style: textarea
REBOL [Title: "rtext.r"]

view layout [treepane: tree contentpane: textarea] 400x400
found a reference...
hmm. How to display a tree of folders and files in REBOL???
Sunanda
10-Jun-2012
[370]
There are some scripts that do that in the script library:
   www.rebol.org/search.r?find=tree
Evgeniy Philippov
10-Jun-2012
[371]
...bloated platforms include tree components by default...
Sunanda
10-Jun-2012
[372]
For a complete package that has a tree view (rather than a separate 
component), try rebGUI:
   http://www.dobeash.com/RebGUI/widgets.html
Endo
11-Jun-2012
[373]
A question: where can I find View syntax reference?
 : http://www.rebol.com/docs/docs.html
See the "Graphical Programming" section.
Maxim
12-Jun-2012
[374]
probe face  
;-)
GiuseppeC
18-Jun-2012
[375]
I have a problem with Parse
The following string does not work
parse line [any [to mystring copy link to {<br />}]]
mystring is a variable
This works
parse line [any [to "http://mysite.com"copy link to {<br />}]]
Can't variables be used after TO ?
GrahamC
19-Jun-2012
[376]
you'd have to use compose on mystring
sqlab
19-Jun-2012
[377]
it works with global variables.
maybe your variable is not visible to parse

>> mys: "ac"
== "ac"
>> parse " abacbac  ba" [any [to mys copy s to "b" (probe s)]]
ac
ac  
== false
GiuseppeC
19-Jun-2012
[378]
How do I parse the same data with different ending ?
I could have
http://myfile.txt</BR>
http://myfile.txt</DIV>
I need something like 
PARSE mystring [copy link to [</ BR>|</ DIV>]
Endo
19-Jun-2012
[379]
to
 doesn't accept block, so put "to" inside the block:

s1: {http://myfile.txt</br>}
s2: {http://myfile.txt</div>}
parse s1 [copy link [to </br> | to </div>] (print link)] ;works

parse s2 [copy link [to </br> | to </div>] (print link)] ;works too
GiuseppeC
19-Jun-2012
[380]
I need something like the following
parse s1 [any [to "http://"copy link [to </br>|to </div>]]
Is it possible ?
Ladislav
19-Jun-2012
[381x3]
Of course it is possible, if I understand if well what you want, 
is:

s1: "a http://xxx</div>b http://yyy</br>"

parse/all s1 [any [to "http://"copy link any [</br> break | </div> 
break | skip] (print link)]]
If you do want to leave out the </br> and </div> substrings, the 
simplest way probably is:

s1: "a http://xxx</div>b http://yyy</br>"

parse/all s1 [any [to "http://"start: any [end: </br> break | </div> 
break | skip] (print copy/part start end)]]
Also note that it is easy to replace the </br> or </div> subrule 
by a more complicated subrule
GiuseppeC
19-Jun-2012
[384]
Thanks God ! ;-)
Endo
20-Jun-2012
[385x2]
There is no documentaion about BREAK in PARSE (for R2), so it is 
always difficult to remember for me. Thanks Ladislav.
Guiseppe: if you didn't read this before, here is a very good article:
http://www.codeconscious.com/rebol/parse-tutorial.html
other articles are also great, take a look at them all.
GiuseppeC
20-Jun-2012
[387x2]
In Ladislav's examples I am not ablie to understand the use of Break. 
Why it is useful ?

Also in the second example why there isn't a "end:" before "</div> 
break" ?
Also:

parse/all s1 [any [to "http://"copy link any [</br> break | </div> 
break | skip] (print link)]]
Could it be written as:

parse/all s1 [any [to "http://"copy link TO any [</br> break | </div> 
break | skip] (print link)]]
Or

parse/all s1 [any [to "http://"copy link any [TO </br> break |TO 
 </div> break | skip] (print link)]]

Finally, which is the purpose of the SKIP keywork in this context 
?
Pekr
20-Jun-2012
[389x3]
I use Artisteer to prototype web pages, and it saves content in UTF-8. 
Later on, I need to do few adaptations to such generated pages, so 
I opened it in R2, reparsed, inserted some stuff, deleted other, 
but it did not work out ....
What are my options, apart from doing it in R3?
Use some external tool to convert it to ANSI, do adaptations, and 
covert it back to UTF-8?
Kaj
20-Jun-2012
[392]
Why don't you want to do it in R3? That's the obvious solution
Pekr
20-Jun-2012
[393]
I am trying now. I somehow lost interest in R3, as it is non-finished, 
and dead product. But probably still easier than to use iconv together 
with R2, although I did it in the past that way, using CALL
Kaj
20-Jun-2012
[394]
One of the few advantages of R3 is processing Unicode. It fixed the 
Russian Syllable website
Pekr
20-Jun-2012
[395x3]
I am somehow not able to load one czech text properly ....
I mean - text I need to input into the resulting file (UTF-8) is 
ANSI. I do print to-string read %text-slider.html, and in R3 console, 
Czech text is not correct ....
I'll try with some other version than rather old view.exe
Kaj
20-Jun-2012
[398]
The console may be broken. How about the actual text, in an editor?
Pekr
20-Jun-2012
[399]
in editor, it's correct. Simply put - I read czech text from an ansi 
file, and it is distorted in console, ditto when writing it back 
to file of course ....
Kaj
20-Jun-2012
[400x2]
When you cut and paste it from the console, or when you write it 
with REBOL?
So you're saying the input file is not UTF-8?
Pekr
20-Jun-2012
[402x2]
Yes, ANSI. I solved it by re-saving the same source file as UTF-8 
istead of ANSI. Still a bad complication, as by default, Windows 
sets Notepad to ANSI, so it is a bit inconvenient ...
I am surprised R3 is not able to properly read/decode ANSI file with 
Czech alphabet ...
Endo
20-Jun-2012
[404x2]
Guiseppe: "I am not ablie to understand the use of Break. Why it 
is useful ?"
I'll try to explain:

>> parse/all "http://a.txthttp://b.dat"[any [to "http://"copy 
x any [".txt" | ".dat" | skip] (print x)]]

http://a.txthttp://b.dat;it prints just one line, from the first 
http:// to the last .dat


>> parse/all "http://a.txthttp://b.dat"[any [to "http://"copy 
x any [".txt" break | ".dat" break | skip] (print x)]]

http://a.txt;now it works as expected, from http:// to .txt 
and breaks
http://b.dat;and from the next http:// to .dat
Guiseppe: "Could it be written as: ..."
TO ANY doesn't work.
but ANY [TO "..." BREAK | TO "..." BREAK] works.

just be careful using ANY and TO together, because they both don't 
advance the series pointer. So you can easily put the console in 
an infinit loop (escape key also doesn't work)