[REBOL] Re: Default button appearance
<< The text of a button has two colors . orange(?) when selected . white when not selected I would like to change this default behavior for all the layouts. >> I'm not a VID guru but you can change some of the colors in system/view/vid/vid-colors. --Gregg -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Interrupt long time run
<< I've a program under VID that executes a lot of calculations. ...I would like to stop these loops at any time. ...Second solution (prefered) : a stop button that, when pressed, will stop the loops. But the click event will not be immediatly recognized, while the loops are running. What is the solution? >> Do you have any WAIT statements inside your loops to give other things a chance to process? That should do it. --Gregg -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Simple VID window style
Some folks may find the following of use . . . (or at least as a basis for something more elegant / complex). REBOL [] stylize/master [ bar-title: text with [ size: 24x24 font: [size: 14 valign: 'middle] feel: make feel [ engage: func [face action event] [ if action = 'down [ face/data: event/offset face/help: face/parent-face/size face/parent-face/size: face/size show face/parent-face ] if event/type = 'move [ face/parent-face/offset: face/parent-face/offset + event/offset - face/data show face/parent-face ] if action = 'up [ face/parent-face/size: face/help show face/parent-face ] ] ] ] bar-close: button 24x24 "X" bold #"^(ESC)" ] display: make object! [ window-title: none window: func [title block /local pos] [ insert block [pad 24 across] insert tail block compose/deep [ pos: at origin 0x20 space 0 at 0x0 window-title: bar-title white navy (title) bold pos/x - 12 bar-close [unview] ] view/options center-face layout block [no-title] ] title: func [text] [window-title/text: text show window-title] ] display/window "Simple VID window style" [ title "Click & drag title bar" return button "Change title" [display/title form now/time/precise] return label "Restrictions:" return text "1. Direction must end as 'across'" return text "2. 'origin' will confuse it" return text "3. Largest (or equal largest) face must be last" ] Regards, Ashley *Privacy, Confidentiality & Liability Notice This email is intended for the named recipient only. The information contained in this message may be confidential, or commercially sensitive. If you are not the intended recipient you must not reproduce or distribute any part of this email, disclose its contents to any other party, or take any action in reliance on it. If you have received this email in error, please contact the sender immediately. Please delete this message from your computer. You must scan this email and any attached files for viruses. The company accepts no liability for any loss, damage or consequence, whether caused by our own negligence or not, resulting directly or indirectly from the use of any attached files. Any views expressed in this Communication are those of the individual sender, except where the sender specifically states them to be the views of the Company. ** -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Default button appearance
Sounds like you want stylize/master REBOL [] stylize/master [ button: button font [colors: reduce [white green]] with [ effects: [[gradient 0x1 192.192.192 128.128.128] [gradient 0x1 128.128.128 192.192.192]] ] ] view layout [button "New"] Regards, Ashley -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] FPS test utility
Too much spare time over the weekend ;) The following FPS test utility may be of interest to some . . . (In my case I used it to "Prove" that a faster clocked Celeron was slower than a higher bus bandwidth Pentium - confirming my gut feel about relative speeds under differing workflow conditions). REBOL [] count: 100 do-test: func [label info /local img-size start end] [ img-size: to-pair label/text img: to-image layout [ origin 0 size img-size title green reform ["Testing" img-size ". . ."] ] view/new/options center-face layout [ origin 0 i: image img img/size effect [none] ] [no-title no-border] start: now/time/precise loop count [i/image: img show i] end: now/time/precise info/text: form to-integer count / (to-decimal end - start) show info unview ] view center-face layout [ across title "FPS Test" return la: label 100 "320x240" ia: info 100 return lb: label 100 "640x480" ib: info 100 return lc: label 100 "800x600" ic: info 100 return ld: label 100 "1024x768" id: info 100 return button "Run" [ do-test la ia do-test lb ib do-test lc ic do-test ld id ] button "Close" [quit] ] Regards, Ashley *Privacy, Confidentiality & Liability Notice This email is intended for the named recipient only. The information contained in this message may be confidential, or commercially sensitive. If you are not the intended recipient you must not reproduce or distribute any part of this email, disclose its contents to any other party, or take any action in reliance on it. If you have received this email in error, please contact the sender immediately. Please delete this message from your computer. You must scan this email and any attached files for viruses. The company accepts no liability for any loss, damage or consequence, whether caused by our own negligence or not, resulting directly or indirectly from the use of any attached files. Any views expressed in this Communication are those of the individual sender, except where the sender specifically states them to be the views of the Company. ** -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: to-offset
Hi Romano, Ahh, yes. If my brain was working properly I would have thought instantly of ORIGIN for layouts. Well...this is annoying. :( Thanks for catching this. I'll have to think about it some more to decide what I want to do. --Gregg -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: makespec.r
Hi Richard, << I try to use the script makespec.r but I have a problem. To define the different sections, we should use strings like "===", "---", ... The problem is that in the generated HTML file these strings still be there. Why ? >> I haven't used makespec except to test it once or twice. make-doc is the more current tool, and Robert Muench has a nicely updated version on his reb site. --Gregg -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Using a printer in Windows
Why don't you just use: printer: func [ text [file! string!] ][ if file? text [text: read text] write %printing.html rejoin [{ } text { browse %printing.html ] Or something like that. I'm not sure if the onLoad function is window.print, or if I need something else to make it work - something similar is what I used to use. Daniel S. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Using a printer in Windows
Why don't you just use: printer: func [ text [file! string!] ][ if file? text [text: read text] write %printing.html rejoin [{ } text { ] Or something like that. I'm not sure if the onLoad function is window.print, or if I need something else to make it work - something similar is what I used to use. Daniel S. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Using a printer in Windows
Hi rebols, There doesn't seem to be much in the archives about printing to a real printer (in my case a HP LaserJet III). I found the following code from Andrew, but I can't seem to get it to work. Perhaps my problem is that my printer is on port lpr2: I thought that I had this figured out once, but I can't seem to find the script that used it. I'm using Windows 2000, but also would like to do it running under Linux. For my particular need right now I want to print plain text directly to the printer. I would rather not have to make html or pdf files first. Louis At 09:19 AM 1/9/2002 +1300, you wrote: >Philippe wrote: > > I want to know if it's possible to user a printer from a rebol program ? > >Try something like this: > >REBOL [ > Name: 'Printer > Title: "Printer" > File: %"Printer.r" > Author: "Andrew Martin" > eMail: [EMAIL PROTECTED] > Date: 27/Sep/2001 > Example: [ > Printer "This goes to the printer!" > Printer/Page "This prints this line and feeds a page!" > ] > ] > >Printer: func [ > "Sends text to printer on //prn." > [catch] > Text [string!]"The text to be printed." > /Page"Append Carriage Return (CR) and Page Feed." > ][ > throw-on-error [ > secure [ > %//prn [allow write] > ] > write %//prn Text > if Page [write/binary %//prn "^(0D)^(page)"] > Text > ] > ] > >] > >It works OK on Windows PCs. For other computers, you might have to change >the %//PRN to something else. > >Andrew Martin >ICQ: 26227169 http://valley.150m.com/ >-><- > > > >-- >To unsubscribe from this list, please send an email to >[EMAIL PROTECTED] with "unsubscribe" in the >subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: recycle
Anton, Thanks. I guess I was hoping for some way to unset all the variables with one word. :>) Louis At 12:29 AM 4/17/2002 +1000, you wrote: >Recycle will not free memory which is still referenced >by some word. >So, if you close your window, but you have set a word >to one of your buttons (or fields etc.) in that window, then >the window will not be freed because the button's 'parent >facet will be referring to the window. > >eg. > > lay: layout [ > b: button > ] > >(Layout sets b/parent to lay.) >If you do this: > > unset 'lay > recycle > >lay is still referred to via b/parent. >Therefore, you need to also: > > unset 'b > recycle > >I haven't checked this. 'lay and 'b may be >referenced elsewhere in the view/VID system >(and so would not be freed). > >For another example, if you use 'load-image >to load some images, they will not be recycled >because there is a reference to them in the >image cache that load-image maintains. >(See the source.) > >I almost never use recycle. >The recycler is automatically on by default, so you >shouldn't have to think about it unless you have >special circumstances. > >To free all the memory you must try to unset >all the words which you have set running the >program. > >A few people here know how to check the words >before and after running a program and can >get the difference (ie. the words that were set). > >Check out this cool memory information program by DocKimbel. > >http://rebol.dhs.org/mem-watch.r > >I've never more than tinkered with it but I am glad it's >there in case I need it some day. > >Good questions, by the way. > >Anton. > > > What exactly does recycle do, and how is it supposed to be used? > > > > Let's say that you end a program in a rebol window, and want to > > reclaim all > > the memory. Can you just type recycle at the command line? If > > the recycle > > command is executed immediately before exiting a program will it reclaim > > all the memory? > > > > Louis > >-- >To unsubscribe from this list, please send an email to >[EMAIL PROTECTED] with "unsubscribe" in the >subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Destroy no more useful functions
Sunanda, Interesting. This is what I was thinking that recycle might do. I am beginning to see more all the time that using objects can be very useful. Thanks, Louis At 05:38 PM 4/16/2002 -0400, you wrote: >Didier: > > In a program, i then write > > do %funcsrc.r > > calling funcs > > When my program ends, i want to destroy all the funcs included by >funcsrc.r. > > But writing unset 'func1, unset 'func2 ... is a bit boring and much > unsure. > > Has anybody an idea ? > >I put all the functions in a source module into an object: > >funcsrc.r contains: > funcsrc: make object! [ > func1: func [] [] > func2: func [] [] > ] ; object > >This has three main advantages: > >3. You are less likely to create a name clash with a Rebol function, or >another module you have included, because your names have two parts. So you >could have the functions: > > funcsrc/print > funcscr/return > > etc without clashing with the "global" 'print or 'return functions > >2. Similarly, you can have "module-local" variables: accessible to any >function in the object, but not clashing in name with any variable declared >elsewhere: > > funcsrc: make object! [ > var1: 666 > func1: func [] [print var1] ;; prints funcsrc/var1 > func2: func [] [print var1] ;; ditto > ] ; object > > >1. Finally, you can trash the object, and all its functions and variables in >one go: > >unset 'funcsrc > >You decide if that's funky or boring, >Sunanda. > >-- >To unsubscribe from this list, please send an email to >[EMAIL PROTECTED] with "unsubscribe" in the >subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Destroy no more useful functions
Hi, Didier, Here's my preferred approach... Didier Jacquemart wrote: > > Hello. > > I wrote a source file, containing several general purpose functions, > called funcsrc.r > > In a program, i then write > do %funcsrc.r > calling funcs > > When my program ends, i want to destroy all the funcs included by > funcsrc.r. But writing unset 'func1, unset 'func2 ... is a bit > boring and much unsure. > Has anybody an idea ? > Assuming that funcsrc.r contains a related collection of functions, modify funcsrc.r so that it defines a single object having all of those functions as members/methods. REBOL [ ... ] make object! [ func1: func [...] [...] func2: func [...] [...] ... ] You can use this in the following manner: fns: do %funcsrc.r fns/func1 ... fns/func2 ... ... then, at the end of the useful life for the function library unset 'foo or foo: none or whatever. -jn- -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Rebol : The Official Guide
Hello Gawain, > Other good documentation is unfortunately rare. > There only are 4 books ... Olivier Auverlot: Programmation REBOL. A french book from Edition Eyrolles. From the Eyrolles site you can download some sample chapters and the source code of the examples. I've just bought it in Bruxelles and I think it is worth every euro :-) (40 or so). -- Best regards, Gezamailto:[EMAIL PROTECTED] -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Choice faces
Didier: > The maximum size of a choice face seems to be 8 lines. > Where to change this (less or more) ? I have a choice field with 26 choices (A...Z). Your problem (I'm guessing) is that the choice dropdown is clipped by the bottom of the panel in which it occurs. Make the panel deeper, or move your Choice closer to the top of the panel, and you'll see more choices displayed. Someone really ought to rewrite Choice so it is a wee bit more intelligent in this area, Sunanda -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: makespec.r
A guess because the === and --- did not immediately follow a \n i.e they have to be in column 1 or they are part of the text. I try to use the script makespec.r but I have a problem. To define the different sections, we should use strings like "===", "---", ... The problem is that in the generated HTML file these strings still be there. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Destroy no more useful functions
Didier: > In a program, i then write > do %funcsrc.r > calling funcs > When my program ends, i want to destroy all the funcs included by funcsrc.r. > But writing unset 'func1, unset 'func2 ... is a bit boring and much unsure. > Has anybody an idea ? I put all the functions in a source module into an object: funcsrc.r contains: funcsrc: make object! [ func1: func [] [] func2: func [] [] ] ; object This has three main advantages: 3. You are less likely to create a name clash with a Rebol function, or another module you have included, because your names have two parts. So you could have the functions: funcsrc/print funcscr/return etc without clashing with the "global" 'print or 'return functions 2. Similarly, you can have "module-local" variables: accessible to any function in the object, but not clashing in name with any variable declared elsewhere: funcsrc: make object! [ var1: 666 func1: func [] [print var1] ;; prints funcsrc/var1 func2: func [] [print var1] ;; ditto ] ; object 1. Finally, you can trash the object, and all its functions and variables in one go: unset 'funcsrc You decide if that's funky or boring, Sunanda. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Default button appearance
Hello. The text of a button has two colors . orange(?) when selected . white when not selected I would like to change this default behavior for all the layouts. I think a way would be to use feel events. Is this possible with a custom style ? Is there an easiest way to proceed (general parameter or other ?) These questions also are valuable for the background color of a button and for all other faces. Thank you for your help. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Choice faces
I suspect your problem is the size of the face that the 'choice is shown in. It is not tall enough (y-value of XxY) to display all of your choices. Try the following ... view layout [size 150x180 choice "1" "2" "3" "4" "5" "6" "7" "8" "9" "0"] view layout [size 150x250 choice "1" "2" "3" "4" "5" "6" "7" "8" "9" "0"] Make the choice parent-face taller. -- ___ Sign-up for your own FREE Personalized E-mail at Mail.com http://www.mail.com/?sr=signup -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Tip for splitting very long string ?
Hi Carl, Am Die, 2002-04-16 um 13.16 schrieb Carl Read: <..> > I tried to cut out the need for the charset in the following function > but it ends up in an infinate loop when it starts comparing an empty > string with an empty string. Can anyone think of a rule that would > override that? Be interesting to know if this would be faster than > the above. (If it worked...) > > split2: func [ > "This don't work..." > str [string!] > num [integer!] > /local blk s > ][ > blk: copy [] > parse/all str [some[ > s: (s: copy/part s num) s (insert tail blk s) > ]] > blk > ] <..> you could do it like this: split2: func [ "This don't work... Now it does ;-)" str [string!] num [integer!] /local blk s ][ blk: copy [] parse/all str [some[ s: (s: copy/part s num insert tail blk s) num skip ]] blk ] just 'skip the right number of characters. The 'insert is in the first paren!, because otherwise the last charecters would be added if the string does not contain a multiple of num characters. Kind regards, Ingo -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Destroy no more useful functions
Hello. I wrote a source file, containing several general purpose functions, called funcsrc.r In a program, i then write do %funcsrc.r calling funcs When my program ends, i want to destroy all the funcs included by funcsrc.r. But writing unset 'func1, unset 'func2 ... is a bit boring and much unsure. Has anybody an idea ? -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Choice faces
Hello. The maximum size of a choice face seems to be 8 lines. Where to change this (less or more) ? When the choice contains more than 8 lines, how to scroll to see the next ones? -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Interrupt long time run
Hello. I've a program under VID that executes a lot of calculations. In order to follow the progression of the work, from time to time, i display the number of loops executed. I would like to stop these loops at any time. First solution : esc key, but the program ends Second solution (prefered) : a stop button that, when pressed, will stop the loops. But the click event will not be immediatly recognized, while the loops are running. What is the solution? -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Info on 'list style
Hi Alan, I had the same problem but I found http://www.rebol.org/userlist/archive/504/765.html I played with it a little and ended up with this ( I took out the 3l33t column sorting bit though ;) REBOL [ row-item: make object! [ val1: copy "" val2: copy "" val3: copy "" ] list-data: copy [] for i 1 50 1 [ append list-data make row-item [ val1: reform ["Item" i] val2: "Column number 2" val3: "Col 3"] ] onSel: func [row-index] [ itm: pick list-data row-index if none? itm [exit] print reform ["picked:" itm/val1] ] ;- For the scroll bar cnt: 0 sel: -1 curr: 0 count: 0 data-list: layout [ origin 0x0 space 0x0 across button "Col1" 50 button "Col2" 180 button "Col3" 74 return tbl: list 300x200 [ origin 0 pad 0x0 across space 0 txt 50x20 [sel: curr unfocus show tbl onSel sel] txt 180x20 [sel: curr unfocus show tbl onSel sel] txt 74x20 [sel: curr unfocus show tbl onSel sel] ] supply [ curr: count + cnt face/text: copy "" face/color: ivory if even? count [face/color: ivory - 20.20.20] row-itm: pick list-data curr if none? row-itm [exit] switch index [ 1 [ str: row-itm/val1 ] 2 [ str: row-itm/val2 ] 3 [ str: row-itm/val3 ] ] face/text: str face/font/color: black if sel = curr [face/color: 160.255.160] ] sld: slider 16x200 [ c: max 0 to-integer (length? list-data) * value if c <> cnt [cnt: c show tbl ] ] ] view data-list ] One thing I'm not sure of how to do though, is to make this into a reusable widget. Could anyone give me an idea of where to start on that? HTH, Felix - Original Message - From: "alan parman" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, April 16, 2002 11:05 AM Subject: [REBOL] Re: Info on 'list style > Thanks for the pointers, Anton and Geza! > > I now have nearly complete success with what I wanted to do with 'list and supply. > > One more thing though, if you all would be so kind... > > Anton's scroller demo is still a bit complex for me (especially given that I am still learning the 'list style). Anton, the demo mentions that your special scroller style is not necessary for scrolling a 'list. > > What are the essentials for scrolling a 'list? > (I know about 'scroll-para and have and have used 'crop on images, and investigated the origin method, but none of these work on 'list). Is it similar to a 'text-list, with face/sld/data and face/sn, etc? > -- > > ___ > Sign-up for your own FREE Personalized E-mail at Mail.com > http://www.mail.com/?sr=signup > > -- > To unsubscribe from this list, please send an email to > [EMAIL PROTECTED] with "unsubscribe" in the > subject, without the quotes. > > -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Rebol : The Official Guide
Bonjour Gawain, Tuesday, April 16, 2002, 4:32:44 PM, vous avez écrit: GM> Hello Richard. GM> The Official Guide is the best of the books, IMO. GM> Other good documentation is unfortunately rare. GM> There only are 4 books ... GM> Offical Guide GM> View User Guide GM> Command User Guide (View Guide + 2 or 3 chapters at the end) GM> Rebol for Dummies (beginners only) GM> They are also all in need of an update. GM> arra best, GM> Gawain GM> - Original Message - GM> From: "COFFRE Richard FTO" <[EMAIL PROTECTED]> GM> To: <[EMAIL PROTECTED]> GM> Sent: Tuesday, April 16, 2002 3:19 PM GM> Subject: [REBOL] Rebol : The Official Guide GM> Hi fellows, GM> What do you think about this book ? GM> BTW is there any other book useful to go deeper in Rebol ? GM> TIA GM> Richard Coffre GM> France Telecom Orbiscom GM> Tél. : 01 47 61 46 28 GM> "Share what you know, learn what you don't" GM> -- GM> To unsubscribe from this list, please send an email to GM> [EMAIL PROTECTED] with "unsubscribe" in the GM> subject, without the quotes. Hello rebolers, There's another one, but in french : go to Auverlot reb site on view/desktop... -- Cheers, Ronald -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Info on 'list style
Thanks for the pointers, Anton and Geza! I now have nearly complete success with what I wanted to do with 'list and supply. One more thing though, if you all would be so kind... Anton's scroller demo is still a bit complex for me (especially given that I am still learning the 'list style). Anton, the demo mentions that your special scroller style is not necessary for scrolling a 'list. What are the essentials for scrolling a 'list? (I know about 'scroll-para and have and have used 'crop on images, and investigated the origin method, but none of these work on 'list). Is it similar to a 'text-list, with face/sld/data and face/sn, etc? -- ___ Sign-up for your own FREE Personalized E-mail at Mail.com http://www.mail.com/?sr=signup -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Free Movie/Rebol flash
Just ran across these on slashdot: http://slashdot.org/article.pl?sid=02/04/15/1932251 http://freemovie.sourceforge.net/ -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Evaluation and writing in a file
rejoin does work >> lines: {line1 line2 line3 line4 line5} == "line1 line2 line3 line4 line5" >> count: 0 == 0 >> output: %out.dat == %out.dat >> write output "" >> foreach line parse lines none [ [write/append/lines output rejoin[ count: count + 1 " - " line ] [] >> print read %out.dat 1 - line1 2 - line2 3 - line3 4 - line4 5 - line5 On Tue, 16 Apr 2002, COFFRE Richard FTO wrote: > Hi Tom, > > I have tried it but it failed > > -Message d'origine- > De : Tom Conlin [mailto:[EMAIL PROTECTED]] > Envoyé : lundi 15 avril 2002 19:02 > À : [EMAIL PROTECTED] > Objet : [REBOL] Re: Evaluation and writing in a file > > > > > not tried but I would try and reduce the problem... > > write/append/lines output reduce [ count " - " ligne ] > > tom > > On Mon, 15 Apr 2002, COFFRE Richard FTO wrote: > > > Hi Rebol fellows, > > > > I use to code below to write something in a file : > > > > write/append/lines output reduce [ count " - " ligne ] > > > > where count is a number and ligne a character string. It doesn't work > > because I don't have any block, but when I write > > > > write/append/lines output [ count " - " ligne ] > > > > count isn't evaluated so how can I do ? > > > > So far, I split it in 3 instructions. > > > > Any ideas ? > > > > TIA > > > > Richard Coffre > > France Telecom Orbiscom > > Tél. : 01 47 61 46 28 > > > > > > -- > > To unsubscribe from this list, please send an email to > > [EMAIL PROTECTED] with "unsubscribe" in the > > subject, without the quotes. > > > > > > -- > To unsubscribe from this list, please send an email to > [EMAIL PROTECTED] with "unsubscribe" in the > subject, without the quotes. > -- > To unsubscribe from this list, please send an email to > [EMAIL PROTECTED] with "unsubscribe" in the > subject, without the quotes. > > -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Rebol : The Official Guide
It's kind of boring because the subject is a simple database... But having said that I am glad I got it. I read about half of it and learned quite a few things that I didn't know before. It has a very good introduction to rebol, and discusses series, which is at the heart of rebol. (Mmm.. it's those simple database examples that fail to excite the reader. I think it's a fact of life I have to face.) Anton. > Hi fellows, > > What do you think about this book ? > BTW is there any other book useful to go deeper in Rebol ? > > TIA > > Richard Coffre -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] copy conventions
Hi, don't know if this was discussed in deep already. Did someone already wrote a memo about the copy conventions used in Rebol? When do values get referenced and when are these values copied? Are there are implicit copies done? I mostly get things correct but IMO it's more of the right feeling (and experience) but not of pure knowledge ;-)) Robert -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Circular forwarding?
To get more information for feedback you should try it again after doing: trace/net on Anton. > Hi, Charles, > > From: "Charles" > >Yo all. I get a funny thing here. First, backstory: > >I've registered both chalz.net and chalz.com, but both point to the > same > > site. I use chalz.net primarily, and my host provider has set it up as > such. > > When I execute the whois script from the IE address bar, it > works OK. But > when > > trying it from REBOL, it bonks out. > > >> print read http://www.chalz.com/cgi-bin/whois?chalz.net > > connecting to: www.chalz.com > > connecting to: www.chalz.net > > ** User Error: Error. Target url: > http://www.chalz.net/cgi-bin/whois?chalz.net > > could not be retrieved. Circular forwarding detected > > ** Near: print read http://www.chalz.com/cgi-bin/whois?chalz.net > > > >What does "circular forwarding detected" mean? And how come > I can get > a > > proper result using a web browser, but not REBOL? Thanks all. > > I don't know precisely what "circular forwarding detected" means either. > REBOL can be thrown by certain redirects, but gets better with > each release. > Interestingly, the command works fine in REBOL/View 1.2.1, but > only balks on > REBOL/Core 2.5 on my Win 98SE. My guess is that /Core 2.6 will fix the > problem. To be sure, I would **quickly** place a bug report. > Meanwhile, a > peak at the source of the HTTP schemes of each version will likely reveal > the problem. I would do it, but I'm out of time this morning. Best of > luck. > --Scott Jones -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: My function seems to have no effect
Hi, { ^-^/} Ceci une chaine contenant trois caractères: This is a string containing three characters: 1) a space 2) a tab 3) a newline The /all refinement of parse directs parse to consider all characters, including whitespaces. See the help for parse. Anton. > Can you give more explanation about the boilerplate. > I believe that gap is not a refinement of parse but I don't really > understand the link between the boilerplate and the parse command > : how can > Rebol use the whitespace definition into parse ... ??? > :-O > > -Message d'origine- > De : Joel Neely [mailto:[EMAIL PROTECTED]] > Envoyé : mardi 16 avril 2002 14:21 > À : [EMAIL PROTECTED] > Objet : [REBOL] Re: My function seems to have no effect > > > Hi, Richard, > > In that case... > > COFFRE Richard FTO wrote: > > > > Hi Joel, > > > > Indeed, the lines I need to "clean" look like > >Call ("GetOCode:initData") > > where I need to delete "Call ("" and the final "). > > > > Some sample data: > > bletch: { > Call ("Get0Code:initData") > call("TestFunc:blahblah") > call("Quux:flarp") call("Quux:spoo") > call ( "Layout:spaceObsessively" ) CALL ( "The:end" ) > } > > Some generic boilerplate: > > whitespace: charset { ^-^/} gap: [any whitespace] > > The real work happens here: > > parse/all bletch [ > any [ > {call} gap {(} gap {"} copy fn to {"} {"} gap {)} ( > print fn > ) > | > skip > ] > ] > > This produces the following output: > > Get0Code:initData > TestFunc:blahblah > Quux:flarp > Quux:spoo > Layout:spaceObsessively > The:end > > You can, of course, do something inside the parens more interesting > than just print out to the console... > > HTH! > > -jn- > > -- > ; Joel Neely joeldotneelyatfedexdotcom -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: My function seems to have no effect
Hi, Richard, I'll try to explain and fix... COFFRE Richard FTO wrote: > > ... the double quotes are optional ... > > Can you give more explanation about the boilerplate. > I believe that gap is not a refinement of parse but I don't > really understand the link between the boilerplate and the > parse command : how can Rebol use the whitespace definition > into parse ... ??? > Briefly, the parse rules specify a "grammar" which must be satisfied by the series being parsed. (In the comments below, I'll stick to parsing a string.) A BITSET! value can be used by PARSE in the sense of "one of these characters", so the definition whitespace: charset { ^-^/} means that the value of WHITESPACE will match anywhere that a space, tab, or newline occurs. Within the parsing dialect, the keyword ANY means zero or more occurrences of what follows, so the definition gap: [any whitespace] means that GAP will match anywhere that an optional run made up of spaces, tabs, and newlines (in any order/combination) occurs. If the quotation marks are optional, then the grammar gets a bit more complicated, especially if we're going to worry about whether the quotation marks must balance. Of course, we can cheat and assume that whatever is creating the input data will deal with that issue. In other words, I'll assume that presence/absence of properly-balanced quotation marks isn't a significant issue for the present purpose. > > Some sample data: > > bletch: { > Call ("Get0Code:initData") > call("TestFunc:blahblah") > call("Quux:flarp") call("Quux:spoo") > call ( "Layout:spaceObsessively" ) CALL ( "The:end" ) > } > bletch: { Call ("Get0Code:initData") call("TestFunc:blahblah") call("Quux:flarp") call("Quux:spoo") CALL (MoreStuff:unQuoted) call ( MoreStuff:quotesMustMatch ) call("Cheat:caseOne) call(Cheat:caseTwo") call ( "Layout:spaceObsessively" ) CALL ( "The:end" ) } whitespace: charset { ^-^/} gap: [any whitespace] parse/all bletch [ any [ {call} gap {(} copy fn to {)} {)} ( print trim/with fn {" } ) | skip ] ] This provides the following output: Get0Code:initData TestFunc:blahblah Quux:flarp Quux:spoo MoreStuff:unQuoted MoreStuff:quotesMustMatch Cheat:caseOne Cheat:caseTwo Layout:spaceObsessively The:end and returns TRUE because it consumed the entire string. The way that parse rule works is as follows: - a string is assumed to be made up of zero or more parts (that's the role of ANY ) - each part is either a function call or a single character whose value we don't care about (that's the role of | ) - a function call must contain the following parts: - the literal word "call" - an optional run of whitespace - an open parenthesis - any characters (no constraints on what may appear here) up to but not including a close parenthesis -- all of which will be saved in the word FN - a close parenthesis - if we do match a function call with the above syntax, remove all spaces and quotation marks from the string in FN and print what's left (that's the role of the parentheses enclosing the PRINT... phrase) Note that this version will allow unbalanced quotation marks around the name of the function being called. Hope this helps! -jn- -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Evaluation and writing in a file
write/append/lines output rejoin ["Etude du fichier '" file "'"] makes the job !! -- Cheers, Ronald -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Rebol : The Official Guide
Hello Richard. The Official Guide is the best of the books, IMO. Other good documentation is unfortunately rare. There only are 4 books ... Offical Guide View User Guide Command User Guide (View Guide + 2 or 3 chapters at the end) Rebol for Dummies (beginners only) They are also all in need of an update. arra best, Gawain - Original Message - From: "COFFRE Richard FTO" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, April 16, 2002 3:19 PM Subject: [REBOL] Rebol : The Official Guide Hi fellows, What do you think about this book ? BTW is there any other book useful to go deeper in Rebol ? TIA Richard Coffre France Telecom Orbiscom Tél. : 01 47 61 46 28 "Share what you know, learn what you don't" -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] makespec.r
Hi, I try to use the script makespec.r but I have a problem. To define the different sections, we should use strings like "===", "---", ... The problem is that in the generated HTML file these strings still be there. Why ? TIA Richard Coffre France Telecom Orbiscom Tél. : 01 47 61 46 28 "Share what you know, learn what you don't" -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: recycle
Recycle will not free memory which is still referenced by some word. So, if you close your window, but you have set a word to one of your buttons (or fields etc.) in that window, then the window will not be freed because the button's 'parent facet will be referring to the window. eg. lay: layout [ b: button ] (Layout sets b/parent to lay.) If you do this: unset 'lay recycle lay is still referred to via b/parent. Therefore, you need to also: unset 'b recycle I haven't checked this. 'lay and 'b may be referenced elsewhere in the view/VID system (and so would not be freed). For another example, if you use 'load-image to load some images, they will not be recycled because there is a reference to them in the image cache that load-image maintains. (See the source.) I almost never use recycle. The recycler is automatically on by default, so you shouldn't have to think about it unless you have special circumstances. To free all the memory you must try to unset all the words which you have set running the program. A few people here know how to check the words before and after running a program and can get the difference (ie. the words that were set). Check out this cool memory information program by DocKimbel. http://rebol.dhs.org/mem-watch.r I've never more than tinkered with it but I am glad it's there in case I need it some day. Good questions, by the way. Anton. > What exactly does recycle do, and how is it supposed to be used? > > Let's say that you end a program in a rebol window, and want to > reclaim all > the memory. Can you just type recycle at the command line? If > the recycle > command is executed immediately before exiting a program will it reclaim > all the memory? > > Louis -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: to-offset
Hi Gregg, > 1) face/offset start from 0x0 > 2) draw position start from 0x0 I forgot the most important: 3) event offset start from 0x0 --- Ciao Romano -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Evaluation and writing in a file
Hi, Richard, << From: "COFFRE Richard FTO" I use to code below to write something in a file : write/append/lines output reduce [ count " - " ligne ] where count is a number and ligne a character string. It doesn't work because I don't have any block, but when I write write/append/lines output [ count " - " ligne ] count isn't evaluated so how can I do ? >> I apologize in advance if I missed some critical piece of this thread. I also am not entirely sure that I understand the final format of which you seek. Assuming, for example, : ;if count: 3 ligne: "I don't know French" ;then write/append/lines output rejoin [ count " - " ligne ] ;should produce ;3 - I don't know French ;in the file referred to by 'output If you are looking for a different final format, please give an example of what you wish to see.. Hope this helps, and good luck. --Scott Jones -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Circular forwarding?
Hi, Charles, From: "Charles" >Yo all. I get a funny thing here. First, backstory: >I've registered both chalz.net and chalz.com, but both point to the same > site. I use chalz.net primarily, and my host provider has set it up as such. > When I execute the whois script from the IE address bar, it works OK. But when > trying it from REBOL, it bonks out. > >> print read http://www.chalz.com/cgi-bin/whois?chalz.net > connecting to: www.chalz.com > connecting to: www.chalz.net > ** User Error: Error. Target url: http://www.chalz.net/cgi-bin/whois?chalz.net > could not be retrieved. Circular forwarding detected > ** Near: print read http://www.chalz.com/cgi-bin/whois?chalz.net > >What does "circular forwarding detected" mean? And how come I can get a > proper result using a web browser, but not REBOL? Thanks all. I don't know precisely what "circular forwarding detected" means either. REBOL can be thrown by certain redirects, but gets better with each release. Interestingly, the command works fine in REBOL/View 1.2.1, but only balks on REBOL/Core 2.5 on my Win 98SE. My guess is that /Core 2.6 will fix the problem. To be sure, I would **quickly** place a bug report. Meanwhile, a peak at the source of the HTTP schemes of each version will likely reveal the problem. I would do it, but I'm out of time this morning. Best of luck. --Scott Jones -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Rebol : The Official Guide
Hi fellows, What do you think about this book ? BTW is there any other book useful to go deeper in Rebol ? TIA Richard Coffre France Telecom Orbiscom Tél. : 01 47 61 46 28 "Share what you know, learn what you don't" -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: My function seems to have no effect
Hi, Can you give more explanation about the boilerplate. I believe that gap is not a refinement of parse but I don't really understand the link between the boilerplate and the parse command : how can Rebol use the whitespace definition into parse ... ??? :-O -Message d'origine- De : Joel Neely [mailto:[EMAIL PROTECTED]] Envoyé : mardi 16 avril 2002 14:21 À : [EMAIL PROTECTED] Objet : [REBOL] Re: My function seems to have no effect Hi, Richard, In that case... COFFRE Richard FTO wrote: > > Hi Joel, > > Indeed, the lines I need to "clean" look like >Call ("GetOCode:initData") > where I need to delete "Call ("" and the final "). > Some sample data: bletch: { Call ("Get0Code:initData") call("TestFunc:blahblah") call("Quux:flarp") call("Quux:spoo") call ( "Layout:spaceObsessively" ) CALL ( "The:end" ) } Some generic boilerplate: whitespace: charset { ^-^/} gap: [any whitespace] The real work happens here: parse/all bletch [ any [ {call} gap {(} gap {"} copy fn to {"} {"} gap {)} ( print fn ) | skip ] ] This produces the following output: Get0Code:initData TestFunc:blahblah Quux:flarp Quux:spoo Layout:spaceObsessively The:end You can, of course, do something inside the parens more interesting than just print out to the console... HTH! -jn- -- ; Joel Neely joeldotneelyatfedexdotcom REBOL [] do [ do func [s] [ foreach [a b] s [prin b] ] sort/skip do function [s] [t] [ t: "" foreach [a b] s [repend t [b a]] t ] { | e s m!zauafBpcvekexEohthjJakwLrngohOqrlryRnsctdtiub} 2 ] -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: My function seems to have no effect
It's really great but the double quotes are optional so what should be update in your code ? You're really fast for me and I don't have the time to understand everything but with this easy example I can realize all the power of Rebol. Let's go to the Rebolution ... -Message d'origine- De : Joel Neely [mailto:[EMAIL PROTECTED]] Envoyé : mardi 16 avril 2002 14:21 À : [EMAIL PROTECTED] Objet : [REBOL] Re: My function seems to have no effect Hi, Richard, In that case... COFFRE Richard FTO wrote: > > Hi Joel, > > Indeed, the lines I need to "clean" look like >Call ("GetOCode:initData") > where I need to delete "Call ("" and the final "). > Some sample data: bletch: { Call ("Get0Code:initData") call("TestFunc:blahblah") call("Quux:flarp") call("Quux:spoo") call ( "Layout:spaceObsessively" ) CALL ( "The:end" ) } Some generic boilerplate: whitespace: charset { ^-^/} gap: [any whitespace] The real work happens here: parse/all bletch [ any [ {call} gap {(} gap {"} copy fn to {"} {"} gap {)} ( print fn ) | skip ] ] This produces the following output: Get0Code:initData TestFunc:blahblah Quux:flarp Quux:spoo Layout:spaceObsessively The:end You can, of course, do something inside the parens more interesting than just print out to the console... HTH! -jn- -- ; Joel Neely joeldotneelyatfedexdotcom REBOL [] do [ do func [s] [ foreach [a b] s [prin b] ] sort/skip do function [s] [t] [ t: "" foreach [a b] s [repend t [b a]] t ] { | e s m!zauafBpcvekexEohthjJakwLrngohOqrlryRnsctdtiub} 2 ] -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: My function seems to have no effect
Hi, Richard, In that case... COFFRE Richard FTO wrote: > > Hi Joel, > > Indeed, the lines I need to "clean" look like >Call ("GetOCode:initData") > where I need to delete "Call ("" and the final "). > Some sample data: bletch: { Call ("Get0Code:initData") call("TestFunc:blahblah") call("Quux:flarp") call("Quux:spoo") call ( "Layout:spaceObsessively" ) CALL ( "The:end" ) } Some generic boilerplate: whitespace: charset { ^-^/} gap: [any whitespace] The real work happens here: parse/all bletch [ any [ {call} gap {(} gap {"} copy fn to {"} {"} gap {)} ( print fn ) | skip ] ] This produces the following output: Get0Code:initData TestFunc:blahblah Quux:flarp Quux:spoo Layout:spaceObsessively The:end You can, of course, do something inside the parens more interesting than just print out to the console... HTH! -jn- -- ; Joel Neely joeldotneelyatfedexdotcom REBOL [] do [ do func [s] [ foreach [a b] s [prin b] ] sort/skip do function [s] [t] [ t: "" foreach [a b] s [repend t [b a]] t ] { | e s m!zauafBpcvekexEohthjJakwLrngohOqrlryRnsctdtiub} 2 ] -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Tags, anyone?
Hi Ammon, > Has anyone delt with the Tag! datatype? I am trying to do some XML stuff, > & I figured that REBOL probably has some neat things for dealing with tags > seems on how they have a tag! datatype. I didn't see much in RCUG 2.3 on > tags so I thought I might ask someone who knows. ;-) So what's neat about > tags? I like 'build-tag. Here's a one-liner I have to clean bad markup. It pulls apart a tag, 'tag and makes it into an editable block, 'blk and back into an xml tag. Easily extensible. tag: build-tag blk: to-block replace/all tag "=" " " - Chris -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Evaluation and writing in a file
And the winner is Ronald. Thanks you, it works fine. -Message d'origine- De : Ronald Gruss [mailto:[EMAIL PROTECTED]] Envoyé : mardi 16 avril 2002 10:30 À : COFFRE Richard FTO Objet : [REBOL] Re: Evaluation and writing in a file Bonjour COFFRE, Monday, April 15, 2002, 3:56:09 PM, vous avez écrit: CRF> Hi Rebol fellows, CRF> I use to code below to write something in a file : CRF> write/append/lines output reduce [ count " - " ligne ] CRF> where count is a number and ligne a character string. It doesn't work CRF> because I don't have any block, but when I write CRF> write/append/lines output [ count " - " ligne ] CRF> count isn't evaluated so how can I do ? CRF> So far, I split it in 3 instructions. CRF> Any ideas ? CRF> TIA CRF> Richard Coffre CRF> France Telecom Orbiscom CRF> Tél. : 01 47 61 46 28 CRF> -- CRF> To unsubscribe from this list, please send an email to CRF> [EMAIL PROTECTED] with "unsubscribe" in the CRF> subject, without the quotes. write/append/lines output reform [count " - " ligne] should make it HIH -- Cordialement, Ronald -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Evaluation and writing in a file
Hi Richard, I have got no idea, what you want to achieve. That said, here is a piece of code, that doesn't fail: write/append/lines output rejoin [count " - " ligne] Cheers L - Original Message - Subject: [REBOL] Re: Evaluation and writing in a file Hi Gregg, It failed in my case as you can see below : ** Script Error: Expected block of lines ** Near: write/append/lines output compose [(count) " - " ligne] :-( -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Tip for splitting very long string ?
On 16-Apr-02, Richard Coffre wrote: > That's just I want to avoid but thanks because it's always useful to > have several solutions. Indeed - so here's another one that uses parsing instead of loops... split: func [ "Copy sub-strings of a set length from a string." str [string!] "String to be split." num [integer!] "Length of sub-strings." /local c-set blk s ][ c-set: charset [#"^(00)" - #"^(ff)"] blk: copy [] parse/all str [some [ s: 1 num c-set (insert tail blk copy/part s num) ]] blk ] >> split "abcdefghijklmnopqrstuvwxyz" 5 == ["abcde" "fghij" "klmno" "pqrst" "uvwxy" "z"] I tried to cut out the need for the charset in the following function but it ends up in an infinate loop when it starts comparing an empty string with an empty string. Can anyone think of a rule that would override that? Be interesting to know if this would be faster than the above. (If it worked...) split2: func [ "This don't work..." str [string!] num [integer!] /local blk s ][ blk: copy [] parse/all str [some[ s: (s: copy/part s num) s (insert tail blk s) ]] blk ] > Message d'origine >> Date: Mon, 15 Apr 2002 08:27:36 -0500 >> De: Joel Neely <[EMAIL PROTECTED]> >> Sujet: [REBOL] Re: Tip for splitting very long string ? >> A: [EMAIL PROTECTED] >> >> Hi, Richard, >> >> COFFRE Richard FTO wrote: >>> >>> Hi Rebol fellows, >>> >>> Is there a tip to quickly split a very long string more than >>> 2000 characters into n characters sub strings and to create >>> a list with these subsets ? >>> For instance : >>> >> ... >>> >>> I want to split this string into substrings of 5 characters... >>> >> >> Here's a quick-and-dirty solution: >> >>>> longstring: "abcdefghijklmnopqrstuvwxyz" >>== "abcdefghijklmnopqrstuvwxyz" >>>> i: 1 >>== 1 >>>> stringblock: [] >>== [] >>>> while [i <= length? longstring] [ >>[append stringblock copy/part at longstring i 5 >>[i: i + 5 >>[] >>== 31 >>>> stringblock >>== ["abcde" "fghij" "klmno" "pqrst" "uvwxy" "z"] >>>> >> >> -jn- -- Carl Read -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Evaluation and writing in a file
One more thing, when I use reform or some other functions, it adds some extra spaces before and after, e.g. with write/append/lines output reform ["Etude du fichier '" file "'"] I have Etude du fichier ' generic4.txt ' What can I do to avoid the extra space insertion ? TIA -Message d'origine- De : Ronald Gruss [mailto:[EMAIL PROTECTED]] Envoyé : mardi 16 avril 2002 10:30 À : COFFRE Richard FTO Objet : [REBOL] Re: Evaluation and writing in a file Bonjour COFFRE, Monday, April 15, 2002, 3:56:09 PM, vous avez écrit: CRF> Hi Rebol fellows, CRF> I use to code below to write something in a file : CRF> write/append/lines output reduce [ count " - " ligne ] CRF> where count is a number and ligne a character string. It doesn't work CRF> because I don't have any block, but when I write CRF> write/append/lines output [ count " - " ligne ] CRF> count isn't evaluated so how can I do ? CRF> So far, I split it in 3 instructions. CRF> Any ideas ? CRF> TIA CRF> Richard Coffre CRF> France Telecom Orbiscom CRF> Tél. : 01 47 61 46 28 CRF> -- CRF> To unsubscribe from this list, please send an email to CRF> [EMAIL PROTECTED] with "unsubscribe" in the CRF> subject, without the quotes. write/append/lines output reform [count " - " ligne] should make it HIH -- Cordialement, Ronald -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Evaluation and writing in a file
Bonjour COFFRE, Monday, April 15, 2002, 3:56:09 PM, vous avez écrit: CRF> Hi Rebol fellows, CRF> I use to code below to write something in a file : CRF> write/append/lines output reduce [ count " - " ligne ] CRF> where count is a number and ligne a character string. It doesn't work CRF> because I don't have any block, but when I write CRF> write/append/lines output [ count " - " ligne ] CRF> count isn't evaluated so how can I do ? CRF> So far, I split it in 3 instructions. CRF> Any ideas ? CRF> TIA CRF> Richard Coffre CRF> France Telecom Orbiscom CRF> Tél. : 01 47 61 46 28 CRF> -- CRF> To unsubscribe from this list, please send an email to CRF> [EMAIL PROTECTED] with "unsubscribe" in the CRF> subject, without the quotes. write/append/lines output reform [count " - " ligne] should make it HIH -- Cordialement, Ronald -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] recycle
Hi rebols, What exactly does recycle do, and how is it supposed to be used? Let's say that you end a program in a rebol window, and want to reclaim all the memory. Can you just type recycle at the command line? If the recycle command is executed immediately before exiting a program will it reclaim all the memory? Louis -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] XML to RTF
Hi Rebol fellows, Is there any script to transform XML to RTF doc ? TIA Richard Coffre France Telecom Orbiscom Tél. : 01 47 61 46 28 "Share what you know, learn what you don't" -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Can't Open file for Read in CGI
Hi Tim, On Monday, April 15, 2002, 6:38:27 PM, you wrote: TJ> Error is Cannot open /home/tim/.bashrc. TJ> As per my response to pekr, the problem is TJ> with absolute file paths. Youmean,youcan access it with something like ../../../home/tim/.bashrc (with the proper number of ..)? If not, then it's just a matter of permissions. The OS takes into consideration not only the permissions of the file, but also the permissions of /home and /home/tim. If they don't allow the Apache's user to enter, you won't be able to read any file in them. It's usual for Linux to make personal directories (like /home/tim) only accessible by the owner. Regards, Gabriele. -- Gabriele Santilli <[EMAIL PROTECTED]> -- REBOL Programmer Amigan -- AGI L'Aquila -- REB: http://web.tiscali.it/rebol/index.r -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: My function seems to have no effect
Hi Joel, Your explanation is very very useful for a newbie like me and it helps to understand the philosophy of Rebol. Indeed, the lines I need to "clean" look like Call ("GetOCode:initData") where I need to delete "Call ("" and the final "). I'm sure now I can use parse with the option {"} to get only the tail but I'm learning day after day. I repeat I really appreciate your didactic explanation. Thanks a lot -Message d'origine- De : Joel Neely [mailto:[EMAIL PROTECTED]] Envoyé : lundi 15 avril 2002 15:48 À : [EMAIL PROTECTED] Objet : [REBOL] Re: My function seems to have no effect Hi, Richard, The definition of your GET_FUNC_NAME seens to want a string argument, but you're handing it a block. However, let's look a little deeper... COFFRE Richard FTO wrote: > > Hi Rebol fellows, > > Hereafter my code : > REBOL[] > get_func_name: make function! [ chaine ] [ > use [ guillemet ] [ >guillemet: make string! {"} > >remove/part chaine 6 > >foo: copy/part chaine 1 1 >if foo == guillemet [ remove/part chaine 1 ] > >; Supprimer les 2 derniers caractères >clear skip tail chaine -2 > >return (chaine) >] > ] > 1) You should establish types for function arguments whenever possible. That will help you catch any mismatch errors (whether typos or thinkos ;-). get_func_name: func [chaine [string!]] [ ;... ] 2) If you need a local value within a function, use the right mechanism for that purpose. There are some potentially confusing interactions between USE and FUNC which you can avoid by saying get_func_name: func [chaine [string!] /local guillemet] [ ;... ] to put GUILLEMET in the context of the GET_FUNC_NAME function. 3) That said, in this case you don't need GUILLEMET at all, since you're only using it as a constant value in the test to see whether to snip off the leading quote. You also don't need FOO (which you use but allow to remain global!) get_func_name: func [chaine [string!]] [ remove/part chaine 6 if chaine/1 = #"^"" [ remove/part chaine 1 ] ; Supprimer les 2 derniers caractères clear skip tail chaine -2 chaine ] because a string is just a series of characters, so you can explicitly test (e.g.) the first character of a string vs. a character value. 4) REMOVE defaults to removing one element, so the /PART refinement isn't needed for a single element removal. get_func_name: func [chaine [string!]] [ remove/part chaine 6 if chaine/1 = #"^"" [ remove chaine ] ; Supprimer les 2 derniers caractères clear skip tail chaine -2 chaine ] 5) CLEAR returns the tail of its argument series, and you apparently want the head of that series as your result, so why not... get_func_name: func [chaine [string!]] [ remove/part chaine 6 if chaine/1 = #"^"" [ remove chaine ] head clear skip tail chaine -2 ] 6) REMOVE returns the remainder of the series, so... get_func_name: func [chaine [string!]] [ if #"^"" = first remove/part chaine 6 [ remove chaine ] head clear skip tail chaine -2 ] After the above changes, we have this behavior >> get_func_name "123456fonction rearzer r r12" == "fonction rearzer r r" Is that what you wanted as the result for this test case? Finally, I don't know your application, but I'm a bit puzzled by the issue of checking for (and removing if found) the quotation mark. Do you really have data in your application that looks like 123456"fonction rearzer r r12 with an embedded quotation mark? If there's a quotation mark after the first six characters, is there a matching quotation mark later on in the line? If so, should it be removed as well (either before or after deleting the last two characters)? HTH! -jn- -- ; Joel Neely joeldotneelyatfedexdotcom REBOL [] do [ do func [s] [ foreach [a b] s [prin b] ] sort/skip do function [s] [t] [ t: "" foreach [a b] s [repend t [b a]] t ] { | e s m!zauafBpcvekexEohthjJakwLrngohOqrlryRnsctdtiub} 2 ] -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Evaluation and writing in a file
Hi Gregg, It failed in my case as you can see below : ** Script Error: Expected block of lines ** Near: write/append/lines output compose [(count) " - " ligne] :-( -Message d'origine- De : Gregg Irwin [mailto:[EMAIL PROTECTED]] Envoyé : lundi 15 avril 2002 18:21 À : [EMAIL PROTECTED] Objet : [REBOL] Re: Evaluation and writing in a file Hi Richard, << write/append/lines output reduce [ count " - " ligne ] where count is a number and ligne a character string. It doesn't work because I don't have any block, but when I write write/append/lines output [ count " - " ligne ] count isn't evaluated so how can I do ? >> Have you tried COMPOSE? E.g. write/append/lines output compose [ (count) " - " ligne ] --Gregg -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: My function seems to have no effect
Thanks for your optimization -Message d'origine- De : Gabriele Santilli [mailto:[EMAIL PROTECTED]] Envoyé : lundi 15 avril 2002 18:20 À : COFFRE Richard FTO Objet : [REBOL] Re: My function seems to have no effect Hi COFFRE, On Monday, April 15, 2002, 11:46:04 AM, you wrote: CRF> get_func_name: make function! [ chaine ] [ CRF> use [ guillemet ] [ CRF>guillemet: make string! {"} CRF>remove/part chaine 6 CRF>foo: copy/part chaine 1 1 CRF>if foo == guillemet [ remove/part chaine 1 ] CRF>; Supprimer les 2 derniers caractères CRF>clear skip tail chaine -2 CRF>return (chaine) CRF>] CRF> ] I see others have answered your question, but I'd like to point out another way to write your function; I hope it can be useful. get_func_name: func [chaine /local chars-to-skip start end] [ chars-to-skip: either chaine/7 = #"^"" [7] [6] start: skip chaine chars-to-skip end: skip tail chaine -2 copy/part start end ] which can be reduced to: get_func_name: func [chaine] [ copy/part skip chaine either chaine/7 = #"^"" [7] [6] skip tail chaine -2 ] which will probably be much faster than your version. Regards, Gabriele. -- Gabriele Santilli <[EMAIL PROTECTED]> -- REBOL Programmer Amigan -- AGI L'Aquila -- REB: http://web.tiscali.it/rebol/index.r -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Evaluation and writing in a file
Hi Tom, I have tried it but it failed -Message d'origine- De : Tom Conlin [mailto:[EMAIL PROTECTED]] Envoyé : lundi 15 avril 2002 19:02 À : [EMAIL PROTECTED] Objet : [REBOL] Re: Evaluation and writing in a file not tried but I would try and reduce the problem... write/append/lines output reduce [ count " - " ligne ] tom On Mon, 15 Apr 2002, COFFRE Richard FTO wrote: > Hi Rebol fellows, > > I use to code below to write something in a file : > > write/append/lines output reduce [ count " - " ligne ] > > where count is a number and ligne a character string. It doesn't work > because I don't have any block, but when I write > > write/append/lines output [ count " - " ligne ] > > count isn't evaluated so how can I do ? > > So far, I split it in 3 instructions. > > Any ideas ? > > TIA > > Richard Coffre > France Telecom Orbiscom > Tél. : 01 47 61 46 28 > > > -- > To unsubscribe from this list, please send an email to > [EMAIL PROTECTED] with "unsubscribe" in the > subject, without the quotes. > > -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: issue-to-tuple
Yes, I thought there must be more to it after I posted. It always pays to think what the original problem is. Anton. > Hi Anton, > > <> > > I guess it depends on the format of his issue! values. From his original > post I deduced it was hex format (e.g. #FF), but I could be > wrong. Yours > is better if they're in tuple-normal form. > > --Gregg -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Tags, anyone?
> > There is also form-markup which converts this representation back into a > > string: > > > > >> form-markup [ [p] "paragraph 1" [p] "paragraph2" ] > > == "paragraph 1paragraph2" >Quick question: Why? You could just as easily work with instead, since > it's valid. It is the opposite of my load-markup function. My example was poor. > > > I did this to give a basic markup manipulation facility: > > > > m: load-markup {some text} > > change next find first m 'bgcolor "blue" > > form-markup m >You could also use your import-tag and build-tag for the same purposes, if I > follow correctly. Yep. These are what load-markup and form-markup actually use to produce their results. All I am doing with load-markup is to first do LOAD/MARKUP an to change each tag! into a block! so that manipulating the attributes of the tag is much easier. form-markup just converts the block back to a string so that you can for example write out that html file you just edited. >And how would load-markup display the value of m there? You could have tried that for yourself! :^) >> m: load-markup {some text} == [[body bgcolor "white"] "some " [b] "text" [/b] [/body]] >> change next find first m 'bgcolor "blue" == [] >> m == [[body bgcolor "blue"] "some " [b] "text" [/b] [/body]] >> form-markup m == {some text} >I'm not critiquing so much as asking for verifications and exaplanations. > Thanks for the work, Brett! You're most welcome. Brett. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Aplication crashes - not sure why
On Sun, 14 Apr 2002 09:26:07 -0700 Holger Kruse <[EMAIL PROTECTED]> wrote: > > > have managed to get > > > rebol to crash (in Windows2000) on a regular basis. > I > > > > IOS also crashes under XP. > > Not here. If you get crashes in IOS then please report > them through > the bug report mechanism in IOS. Ooops, missed a comma. I meant to say, James' code also crashes in IOS running in XP. -- Graham Chiu -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: issue-to-tuple
> >How about > > to-tuple form issue > >Anton. If I understand it well Oldes needs that function for converting hexa RGB values to REBOL format so this won't work. I vote for [to-tuple debase/base clr 16] :) rbb > << Does anybody know, if there is better way how to convert issue to > tuple then this one? > > issue-to-tuple: func[clr ][ > to-tuple load head insert tail insert next clr: mold clr "{" > "}" ] > >> > > I don't know if it's better, but here's what I came up with from > tinkering a > bit. > > issue-to-tuple: func[clr ][ > to-tuple debase/base clr 16 > ] > > --Gregg -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. --- Príchozí zpráva neobsahuje viry. Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz). Verze: 6.0.231 / Virová báze: 112 - datum vydání: 12.2.2001 --- Odchozí zpráva neobsahuje viry. Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz). Verze: 6.0.231 / Virová báze: 112 - datum vydání: 12.2.2001 -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.