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

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp5907
r3wp58701
total:64608

results window for this page: [start: 22901 end: 23000]

world-name: r3wp

Group: I'm new ... Ask any question, and a helpful person will try to answer. [web-public]
Rod:
20-Feb-2008
Hah, I can already appreciate that view, even with just a little 
reading and applying it to some work concepts I found the desire 
for words exploading!
JohanAR:
3-Mar-2008
I have this reduce statement, that's supposed to form a block for 
later processing. Now I want to include in that a switch to add some 
more stuff if a variable is not none. However it seems like the if-statement 
returns a none which gets included in the result block :(

block: reduce [
	'aword "blah blah"
	if var [ 'avariable var ]
]
Henrik:
3-Mar-2008
seems to include the rest as a block
JohanAR:
3-Mar-2008
I still seem to get a none in the block if the varable isn't available
Will:
4-Mar-2008
thank you Oldes, I thought there was a native or mezz for that
sqlab:
9-Mar-2008
a little bit late

form-dec: func [
	number [decimal!] 
] [
	form case  [
		number > 1 [number]
		number > 0 [
			join "0" at form number + 1 2
		]
		number > -1 [
			join "-0" at form number - 1 3
		]
		true [number]
	]
]
JohanAR:
14-Mar-2008
why does join 'a 'b return "ab" instead of 'ab ?
Sunanda:
14-Mar-2008
join always returns a string unless the first value is of type? series.
>> join 1 2
== "12"
Try
   source join
to see the actual code.
[unknown: 5]:
14-Mar-2008
JohanAR, use this instead:

attach: func [a b][to type? a join a b]
Geomol:
14-Mar-2008
My guess is, that it's becuase < and > are part of tag type, like 
<tag>. So it's a restriction to make value evaluation easier internally.
JohanAR:
15-Mar-2008
Is it possible to define a function, which takes another function 
as argument and that the argument func must take exactly two arguments 
in it's turn?
PeterWood:
15-Mar-2008
This is how you can pass a function to a function:

>> a: func [a [function!]] [ print a 1 2]
>> b: func [x [integer!] 
y [integer!]] [add x y]
>> a :b
3
PeterWood:
15-Mar-2008
Sorry about the formatting; let my try again:
>> a: func [a [function!]] [ print a 1 2]

>> b: func [x [integer!] y [integer!]] [add x y]

>> a :b

3
PeterWood:
15-Mar-2008
>> c: func [a [function!]] [if 2 = length? first :a [print a 1 2]]
 
>> c :b
3
JohanAR:
15-Mar-2008
Mm, I ended up writing something similar to that. Found out that 
I also have to check if third first :a is /local, which would also 
be a valid function
JohanAR:
15-Mar-2008
a little messy, but it appears to work :)
BrianH:
15-Mar-2008
You don't have to manually check to see if the function takes two 
arguments; this is good, because doing so is awkward. All you really 
need to do is call the function in parentheses ( ) or at the end 
of a code block, so that it can't take more than two arguments even 
if it tries. If it takes less than two arguments, who cares?
BrianH:
15-Mar-2008
If the datatypes the function value is expecting don't match the 
data that your function is passing to it, no problem: A nice error 
message will be generated at runtime that the developer of the function 
value can use to fix their function value. :)
Gabriele:
16-Mar-2008
Carl had a nargs mezz somewhere (maybe he posted it on the ml?)
BrianH:
23-Mar-2008
type? first ['thang]
'thang is not being evaluated

type? 'thang

'thang is being evaluated. The result of that evaluation is a word!
Will:
27-Mar-2008
looking at source of 'send, am I right, if there is an error executing 
send, than the port is not closed, this will leave a lot of open 
connections when batching?
Will:
27-Mar-2008
also, 'send should probably return a value of type logic!
Will:
27-Mar-2008
Thanks BrianH, I'm trying to find a bug, I get random port none not 
open errors but they appear randomly everywhere, only thing sure 
is they come only after using 'send , but it may be word! conflict, 
variable rewrite, etc.. just maybe someone has a better idea where 
to look for.. 8/
Will:
27-Mar-2008
even had a recycle..
code: 501
description: access error, Port none not open
near:
[recycle 
wait 0.2
]
where: confirm
Will:
27-Mar-2008
here is the net-log, a couple of this (no problem)::

Net-log: ["Opening" "tcp" "for" "esmtp"]
Net-log: [none "220"]
Net-log: "220 domain.com running core"
Net-log: [["EHLO" system/network/host] "250"]
Net-log: {250-domain.com hello mail.local (10.5.32.4)}
Net-log: "250-PIPELINING"
Net-log: "250-8BITMIME"
Net-log: "250-BINARYMIME"
Net-log: "250-CHUNKING"
Net-log: "250-ENHANCEDSTATUSCODES"
Net-log: "250-ETRN"
Net-log: "250-AUTH CRAM-MD5 DIGEST-MD5 NTLM PLAIN LOGIN"
Net-log: "250 SIZE 2147483647"
Net-log: ["Supported auth methods:" [cram plain login]]
Net-log: ["MAIL FROM: <[majordomo-:-domain-:-com]>" "250"]
Net-log: "250 2.1.5 sender OK"
Net-log: ["RCPT TO: <[user-:-domain-:-com]>" "250"]
Net-log: "250 2.1.0 forwarding to [user-:-domain-:-com]"
Net-log: ["DATA" "354"]
Net-log: "354 send your message"
Net-log: [none "250"]
Net-log: "250 2.6.0 message received OK"
Net-log: ["QUIT" "221"]
Net-log: "221 2.0.0 domain.com closing connection"
Gabriele:
28-Mar-2008
about the above error - it may be an out-of-order event indeed. now 
the problem is finding a simple way to reproduce it.
Reichart:
28-Mar-2008
I'm inviting a friend of mine here, he is another brilliant langauge 
designer, I'll invite him as Fork (his real name is Brian, but we 
have enough Brians around here.
RobertS:
29-Mar-2008
so is this in a REBOL Survival Guide somewheres?
RobertS:
29-Mar-2008
{  from guys on CORE }
is as good as
comment { 
so is this in a REBOL Survival Guide somewheres?
}
feelin' foolish as another 'good' idea meets my second cuppa java
JohanAR:
29-Mar-2008
have to be careful with using { ... } to comment things out though.. 
I wanted to teporarily remove a block of code from a function, but 
I didn't think of that it was the last part of the function so the 
string got returned instead of the real value I wanted :)
RobertS:
29-Mar-2008
ODE
so I though mebbe
;{
 which would only end at a
;}
as }; will not do ...
To take a page from Snobol

  both would have to be unindented, i.e., occupy first and second char 
  of the line

I live in curly-brace land in CURL and a missing brace becomes a 
headache even in a editor with a scroll-u-there brace-matcher
RobertS:
29-Mar-2008
It does mean messing with the shift key which is un-rebolish
But I can't see suggesting
;[
block-comment code falls in here
;]
In CURL we have tag-matching using
|tag-this#
there will not be a duplicate tag until we reach
#tagthis|
|| where |# until #| are vulnerable

|| I ask developer sto single line comment with double-bars but someone 
has to use
|# multi-line comment on a single line to show they know how #|
RobertS:
29-Mar-2008
but IF'n 
;[

   fell in the first two chars of a line and ended in first 2 chars 
   at (no shift key to reach { and } )
;]
Dockimbel:
9-Apr-2008
That's a known bug, see  http://www.rebol.net/cgi-bin/rambo.r?id=3902
Pekr:
2-Jun-2008
REBOL 3 as a product, or this world? Well, you can find what is currently 
going on on rebol.com site, rebol 3 section. To summarize - RT is 
revising VID3 design (you might notice extensive blogging about the 
topic). There are also few features being considered for the core 
language, in order to make some constructs more easier/natural.
Will:
2-Jun-2008
temporary fix for bug/3902:
  a: [a                       
[    ]
;   [a
]
  a: new-line/all a off       
;   [a
]

  a: [a                       
[    ]
;   [a
]
  a: new-line/all copy a off
;   [a]
Will:
20-Jun-2008
I'm stuck, teaching rebol to my girlfriend, I come across this and 
really as per definition I would expect to get [1] as result and 
not 1

  ? switch
USAGE:
    SWITCH value cases /default case /all 

DESCRIPTION:
     Selects a choice and evaluates the block that follows it.
     SWITCH is a native value.

ARGUMENTS:
     value -- Value to search for. (Type: any)
     cases -- Block of cases to search. (Type: block)

REFINEMENTS:
     /default
         case -- Default case if no others are found. (Type: any)
     /all -- Evaluates all matches (not just first one).
  switch/default 2 [][1] 
;   1
  switch/default 2 [] 1 
;   1
Chris:
20-Jun-2008
If the default case is a block, it is evaluated -- see: source switch
Anton:
22-Jun-2008
Well, you just pointed out that DO is inconsistent as well. As to 
how harmfully unexpected that is is another question. It obviously 
confused Will. Such things can be a problem, because there can be 
a loss of information. You get the same output from two different 
inputs, which can't be reversed.
Will:
22-Jun-2008
Thanks Anton 8-) my point was just that for a beginner in the cases 
block there is value and block to execute pairs, so it sounded logic 
 that adding /default I would also need to append a block do be "done" 
I was surprised that case for default accept any and not a block 
, not a problem for me but we needed some minutes to understand that.
PeterWood:
23-Jun-2008
From my point of view If anything is inconsistent it seems to be 
when Rebol evalutes blocks.


If you enter a block in the console, it doesn't get evaluated but 
other values do.

>> [1]

== [1]

>> a: 
1
== 1

The block [1] was not evaluted, the word a was.


Though without this possible inconsistency using blocks would be 
a real pain.
Henrik:
23-Jun-2008
not only a pain, it would ruin the foundations of how rebol works 
:-)
DavidR:
16-Nov-2008
here is some code I have been working on (commented) but the start 
button is busted I want it to call the area box with the discalimer 
details & 2No further buttons, one to quit "Disagree" which is a 
quit command & "Agree" I want to CLS the page & start a fresh copy 
of the XP simulated window, the start button would then open a different 
menu here is the code (its not very elegant I'm afraid):

  rebol [Title: "SOS-XP"]
  view layout [

  ;makes a gui window 768x576 with a simulated desktop (xP blue) with 
  ibevelled border.
  image center %DT.jpg 768x576 ibevel pewter 6x6

  ;creates an area text box color red with disclaimer message & 2No 
  buttons "agree" & "disagree"

  ; which hopefully will be situated in the XP destop when the start 
  button is clicked.
  disclaim: [at 200x300

  area wrap font-color white {You use this program & batch files entirely 
  at your own risk,
due to the myriad of hardware/software configurations I cannot
without any certainty claim that you will not damage your system!
Always Always Always make a full system backup of your partition
before attempting to use SOS-XP & that you have tested the back

up so your are positive in your own mind you can make a recovery!} 
red bold 
  at 240x410 button "Agree"
  at 450x410 button "Disagree"]
  ; this is the simulated XP start button
  button gray 50x30 "START" [disclaim]

  ; this is a small vertical button to make the xP start button look 
  more realistic.
  at 75x605 button gray 3x30

  ; this is a digital clock to simulate the destop clock bottom right 
  on screen.

  at 750x610 text "00:00" rate 1 black ;effect [gradient 0x1 0.0.150 
  0.0.50]
  feel [engage: func [face act] [face/text: now/time  show face]]

]755x650  rebol [Title: "SOS-XP"]
  view layout [

  ;makes a gui window 768x576 with a simulated desktop (xP blue) with 
  ibevelled border.
  image center %DT.jpg 768x576 ibevel pewter 6x6

  ;creates an area text box color red with disclaimer message & 2No 
  buttons "agree" & "disagree"

  ; which hopefully will be situated in the XP destop when the start 
  button is clicked.
  disclaim: [at 200x300

  area wrap font-color white {You use this program & batch files entirely 
  at your own risk,
due to the myriad of hardware/software configurations I cannot
without any certainty claim that you will not damage your system!
Always Always Always make a full system backup of your partition
before attempting to use SOS-XP & that you have tested the back

up so your are positive in your own mind you can make a recovery!} 
red bold 
  at 240x410 button "Agree"
  at 450x410 button "Disagree"]
  ; this is the simulated XP start button
  button gray 50x30 "START" [disclaim]

  ; this is a small vertical button to make the xP start button look 
  more realistic.
  at 75x605 button gray 3x30

  ; this is a digital clock to simulate the destop clock bottom right 
  on screen.

  at 750x610 text "00:00" rate 1 black ;effect [gradient 0x1 0.0.150 
  0.0.50]
  feel [engage: func [face act] [face/text: now/time  show face]]

]755x650  rebol [Title: "SOS-XP"]
  view layout [

  ;makes a gui window 768x576 with a simulated desktop (xP blue) with 
  ibevelled border.
  image center %DT.jpg 768x576 ibevel pewter 6x6

  ;creates an area text box color red with disclaimer message & 2No 
  buttons "agree" & "disagree"

  ; which hopefully will be situated in the XP destop when the start 
  button is clicked.
  disclaim: [at 200x300

  area wrap font-color white {You use this program & batch files entirely 
  at your own risk,
due to the myriad of hardware/software configurations I cannot
without any certainty claim that you will not damage your system!
Always Always Always make a full system backup of your partition
before attempting to use SOS-XP & that you have tested the back

up so your are positive in your own mind you can make a recovery!} 
red bold 
  at 240x410 button "Agree"
  at 450x410 button "Disagree"]
  ; this is the simulated XP start button
  button gray 50x30 "START" [disclaim]

  ; this is a small vertical button to make the xP start button look 
  more realistic.
  at 75x605 button gray 3x30

  ; this is a digital clock to simulate the destop clock bottom right 
  on screen.

  at 750x610 text "00:00" rate 1 black ;effect [gradient 0x1 0.0.150 
  0.0.50]
  feel [engage: func [face act] [face/text: now/time  show face]]

]755x650
DavidR:
16-Nov-2008
Bit like the way Windows works but obviously this is a simulated 
approach
Henrik:
16-Nov-2008
ok, showing and hiding faces are done with SHOW and HIDE. Example:


view layout [button "Start" [either a/show? [hide a][show a]] a: 
area]
DavidR:
16-Nov-2008
ahh so panel is a function to kick start the reamining block of text 
+ Buttons?
Sunanda:
16-Nov-2008
Henrik is just ahead of me --- you have disclaim as block.

Also, maybe when getting started, dont worry about the absolute positionings 
(they'd need to be adjusted according to screen resolution anyway). 
This simplification of your code works for me: (note the unview/all 
to remove any previous instances):


  rebol [Title: "SOS-XP"]
  unview/all
  view layout [
  across
  
  disclaim: 

  area wrap font-color white {You use this program & batch files entirely 
  at your own risk,
due to the myriad of hardware/software configurations I cannot
without any certainty claim that you will not damage your system!
Always Always Always make a full system backup of your partition
before attempting to use SOS-XP & that you have tested the back

up so your are positive in your own mind you can make a recovery!} 
red bold 
   return
   button "Agree"
  return button "Disagree"]
  return
  button gray 50x30 "START" [disclaim]

  ; this is a small vertical button to make the xP start button look 
  more realistic.
  return button gray 3x30

  ; this is a digital clock to simulate the destop clock bottom right 
  on screen.

  return text "00:00" rate 1 black ;effect [gradient 0x1 0.0.150 0.0.50]
  feel [engage: func [face act] [face/text: now/time  show face]
]
Sunanda:
16-Nov-2008
Copying is sometimes the best way.

There are some stray ]s in the code I just posted.....Sorry. This 
below really does work:


  rebol [Title: "SOS-XP"]
  unview/all
  view layout [
  across
  
  disclaim: 

  area wrap font-color white {You use this program & batch files entirely 
  at your own risk,
due to the myriad of hardware/software configurations I cannot
without any certainty claim that you will not damage your system!
Always Always Always make a full system backup of your partition
before attempting to use SOS-XP & that you have tested the back

up so your are positive in your own mind you can make a recovery!} 
red bold 
   return
   button "Agree"
  return button "Disagree"
  return
  button gray 50x30 "START" [disclaim]

  ; this is a small vertical button to make the xP start button look 
  more realistic.
  return button gray 3x30

  ; this is a digital clock to simulate the destop clock bottom right 
  on screen.

  return text "00:00" rate 1 black ;effect [gradient 0x1 0.0.150 0.0.50]
  feel [engage: func [face act] [face/text: now/time  show face]]

]
Sunanda:
16-Nov-2008
Sorry about messing you UI up! As Henrick says, you need a pane and 
to work with swapping between different panes.
Tutorial here:
http://www.rebol.com/how-to/subpanels.html
Sunanda:
16-Nov-2008
<I copied your code into rebol/view & ran it to see?>

A possibly simpler way is to copy it into the Windows clipboard, 
then this line in the View console:
     do read clipboard://
DavidR:
16-Nov-2008
tried with the a combination of panel & unview/all then in this line 
of code:

button gray 50x30 "START" [view disclaim] -> inserted view but the 
start button is pushed to the top right of the screen/Window the 
[Start] button now closes the XP lookalike gui, opens the discalim 
area in a black box?
DavidR:
16-Nov-2008
I will just have a read of the subpanel info link you have provided 
Sunanda BRB
Sunanda:
16-Nov-2008
True ....I looked at the code when I last used it, otherwise, it 
would have been a long trek through the system object to remember 
the location :-)
Henrik:
16-Nov-2008
You can explore it with a small application called ROAM in the Desktop
DavidR:
16-Nov-2008
I am going to have to disapear for a while dogs need walking again 
& wife wants shopping from town groan domestic choars LOL! Henrik 
thanks!
Sunanda:
16-Nov-2008
A good learning curve, David, might be to adapt the subpanels example.

Once you have sets of controls appearing in the subpanel to your 
satisfaction, you could then go on to do the set dressing:
-- styles and absolute positioning to mimic Win XP
-- default size depending on user's monitor
Then start adding the real functionality!
DavidR:
16-Nov-2008
The end game is to create a series of routines that will cut a full 
install of XP from Approx 1.5 gig installed to approx 212 mb's specifically 
geared for diagnostics and repair.
DavidR:
16-Nov-2008
Another approach I have been thinking about but will need to be a 
future project when I get some mileage under my belt so to speak 
is to use rebol/view in a similair manner to Limnor (Limnor is basically 
codeless programming) I know was my mouth out with soap & water However 
for newbie's/Lamers like myself if a gui was presented that had most 
of the functionality of rebol/view like field boxes buttons to create 
standard buttons & other routines etc. on the right of the screen 
would be a editor that as the selections was made would build the 
code automatically thus giving the user an illustration as the code 
progressed. in the bottom below the editor could be a help menu that 
would instruct the user as the code was systematically built. something 
like if the mouse cursor hovered over a gui item it would flag up 
instruct info, a help as you go if you like. The program could be 
nearly full gui leaving the task bar available to the user to continue 
having access to windows items. The 1st item could be a field that 
the user inputted a title then work through the items to build a 
gui interface. It would be no good for the experienced rebol user 
 who needs full control of the coding but would give new users a 
kick start to build confidence. You could call it RoboRebol LOL! 
I'm getting ahead of myself but is a concept idea that I think may 
have merit. You guys would have to advise on the practicalities of 
such a venture. Use Rebol/View gui to semi auto write rebol programming
DavidR:
16-Nov-2008
I think it would be a helpful aid for teaching but would also be 
attractive for the new user He or She would see how the code was 
compiled as they progressed
Gregg:
16-Nov-2008
A number of REBOLs write code generators and tools for specific purposes 
along those lines. There have been a few forays into REBOL IDEs as 
well, but none have gone too far. The topic never goes away though. 
R3 has more features for Programming-in-the-large, so it will surely 
come up again.
Gregg:
16-Nov-2008
EasyVID and EasyDraw are examples of "active documents" that show 
the kind of thing that can be done with REBOL very easily. The Word 
Browser is another. In addition to ROAM, Ammon Johnson and I did 
a prototype system browser based on the way Smalltalk does it. Experiments 
have also been done with popup syntax help and something like Intellisense. 


One of the basic problems is that we don't have a good way to build 
an editor that does syntax highlighting and such. James Marsden(?) 
got the farthest on that I think. Still, we should be able to build 
a really great tool if we feel the need. It seems the need has just 
never been strong enough.
Gregg:
16-Nov-2008
Carl even did a layout editor...must be somewhere.
DavidR:
16-Nov-2008
It's good to look at some of these scripts they can be a source of 
inspiration
Gregg:
18-Nov-2008
Not sure what you mean. You can create a layout without viewing it, 
and use view/new to open more than one window. If you just do VIEW 
LAYOUT [...], that starts the event loop, and you'll want to use 
view/new to show other layouts.
Henrik:
18-Nov-2008
LAYOUT produces a tree of objects. Each object is a face. VIEW displays 
that tree of objects.
Anton:
18-Nov-2008
I split into separate lines because I often want to put stuff in 
between, eg. a window resize handler.
Sunanda:
19-Nov-2008
Hope I am not adding extra confusion by adding this attempted explanation...

** Many applications will have a single VIEW LAYOUT [...] to display 
everything.

** They can then use SHOW and HIDE to selectively make displayed 
faces visible or not.


** If you have several sets of controls that need to replace each 
other (like when you click a tab) then subpanels within the one VIEW 
is the way to go:

** You have a separate LAYOUT for each subpanel. (You probably got 
the idea that the main view is called MAIN from Carl's subpanel examples. 
It can be called anything).

** To SHOW a subpanel, you set the panel contents to the appropriate 
LAYOUT.


** Finally, as Gregg says, you can have multiple, independent windows 
using VIEW/NEW. Best to work up to that slowly :-)
Reichart:
19-Nov-2008
Sunanda,  that was pretty usefull, is this written up this clearly 
in a wiki somewhere on the web?
DavidR:
19-Nov-2008
Thanks everyone for your explanations have tried a couple of scenarios 
using the subpanels method have not been successful yet but will 
need to persevere!
DavidR:
25-Nov-2008
I'm afraid I do not understand how sub-panels work can someone give 
me a  commented simple illustration (the simpler the better please) 
of how they work, sorry to be so thick but its not working in my 
example?
DavidR:
25-Nov-2008
rebol [Title: "SOS-XP"]
  view layout [
  image center %DT.jpg 768x576 ibevel pewter 6x6
  button gray 50x30 "START" [show panel1]
  at 75x605 button gray 3x30

  at 750x610 text "00:00" rate 1 black ;effect [gradient 0x1 0.0.150 
  0.0.50]
  feel [engage: func [face act] [face/text: now/time  show face]]

]
  
panel1: view layout [
  image center %DT.jpg 768x576 ibevel pewter 6x6
  at 75x605 button gray 3x30

  at 750x610 text "00:00" rate 1 black ;effect [gradient 0x1 0.0.150 
  0.0.50]
  feel [engage: func [face act] [face/text: now/time  show face]]
  at 200x300

  area wrap font-color white {You use this program & batch files entirely 
  at your own risk,
  due to the myriad of hardware/software configurations I cannot

  without any certainty claim that you will not damage your system!

  Always Always Always make a full system backup of your partition
  before attempting to use SOS-XP & that you have tested the back

  up so your are positive in your own mind you can make a recovery!} 
  red bold 
  at 240x410 button "Agree" [show panel2]
  at 450x410 button "Disagree" [QUIT]]
  do-events

panel2: view layout [
image center %DT.jpg 768x576 ibevel pewter 6x6
  button gray 50x30 "START" [show panel3]
  at 75x605 button gray 3x30

  at 750x610 text "00:00" rate 1 black ;effect [gradient 0x1 0.0.150 
  0.0.50]
  feel [engage: func [face act] [face/text: now/time  show face]]

]755x650
btiffin:
25-Nov-2008
Yeah DavidR;  the order doesn't really matter as long as the definitions 
come before REBOL has to reduce the value.  REBOL will let you make 
and load values (simply word! at that stage), but these words have 
to have a value when evaluation (reduce, do, ... or show in this 
case) is required.

Next...

Then change the show panel1 to view panel1  after   panel1: layout 
[ ... ] is used to create the face object.
btiffin:
25-Nov-2008
You may need view/new  etc...   there are a few options for sub-windows.
btiffin:
25-Nov-2008
see hide-popup  for a way of closing sub windows
DavidR:
25-Nov-2008
Tell ya what without all the code clonk inbetween & as a structure 
can you provide a simple layout. Yes tried view /new for opening 
another window with the previous set behind I think it will go up 
to 8 windows deep?
btiffin:
25-Nov-2008
source inform  and source request  for a sample of how this can all 
fit together
btiffin:
25-Nov-2008
Or ... for an easier professional look to an app, I suggest RebGUI. 
 http://www.dobeash.com/rebgui.htmlAshley has done a wonderful 
job of taking the REBOL view engine one step up (imho).  Some may 
disagree; but RebGUI is my main REBOL graphical app tool.
DavidR:
25-Nov-2008
source inform  and source request - Is this a different forum
DavidR:
25-Nov-2008
Yes would like to get around to using it (RebGui) but would like 
to understand the background mechanics a bit more sorry about the 
laymans terminolgy but know very little about programming
DavidR:
25-Nov-2008
I think I will need to approach this from a different angle will 
try out some other scenario's
Anton:
25-Nov-2008
Graham, 

	panel1: view layout [ ]  

*is* defining the layout.


It's also opening it as a window and waiting for events, of course.
Remember VIEW just returns the face that it was given.
Anton:
25-Nov-2008
Looking at the code, I think you would have been confused by the 
fact that the first VIEW waits for events. You have a button in there 
that does SHOW PANEL1, but PANEL1 could not have been set yet in 
this invocation of the program. That means, if you start this program 
in a fresh console it will fail, complaining about panel1 not having 
a value, or, if you had earlier managed to do the panel1 definition 
code in an earlier version of the code (but still in the same console 
session), then you would be shown that earlier panel1 version, of 
course!
DavidR:
26-Nov-2008
Anton/Sunanda many thanks for your extensive attempts to help me 
out  it is greately appreciated!  Yes Sunanda you are right I was 
not having much success in respect  of panels & was looking for an 
alternative method as there is usually more ways than one of skinning 
a cat. However your last example Sunanda, I have found it quite enlightening. 
I have a confession I have basically built the code  from snippets 
of code I have found on various rebol sites, where possible I have 
tweaked the code to adapt it to what I am trying to achieve glued 
or bolted them together in the hope it would work. This is ok up 
to a point  but I am falling down in the structure of the overall 
code/programming
Anton:
26-Nov-2008
Cutting and pasting code gives you exponential problems - but of 
course you've got to start somewhere. Just getting the commonly used 
words into your head is a valuable step.
Sunanda:
27-Nov-2008
If you can get it to work as separate windows,  you have all your 
logic flow in place. It's then comparatively trivial to:
** add a panel to the main layout

** change the "unview ... view" lines into show/hides for the panels.

In fact, with very few lines of code, you could have it working either 
way according to a user preference.....I have one application that 
does that: the main panels are eiher in one window, or float free 
as separate ones.

But focus on getting it working first!
Henrik:
27-Nov-2008
Since you are new to programming:


Beginning with an existing program like this may not be optimal for 
understanding how things work, because there are tens of things going 
on in that example. It's the understanding of the underlying principles 
that allow you to build your own programs, and beginning with a big 
example like this throws all principles in your face at once. That 
can be very confusing, like being asked to fly a jumbo jet without 
training. This is why it's so difficult for you to get this example 
to work.


What I would do: Put the program away for now and start using the 
console intensively. Write single commands or a single line of code. 
The immediate feedback from the console lets you learn quickly. The 
console is not simply a service to let you run programs: It's a powerful 
tool that allows you to LEARN. I use it every time I'm in doubt over 
what a specific command will do. The console is your friend. Don't 
be afraid of it. :-)


When you've written enough VID programs in the console, you can start 
looking at the example again, or even better: Write it from scratch 
yourself. That's the best approach.
Sunanda:
8-Jan-2009
Difference is between 
  true --  a logic value
  'true --  a word.

Try this:

sample-tests2: copy compose/deep[
	 [ 	n "hello true"
		f [ 1 == 1	 ]
		r (true)
	]
	[ 	n "hello not false"
		f [ not (false) ]
		r (true)
	]
]
Sunanda:
8-Jan-2009
That forces the string t.r.u.e. into being a logic value, not the 
word 'true
Janko:
8-Jan-2009
so the problem is that if I write [ true ] inro block and that doesn't 
get reduced/evaluated it's a word not a logic value?
xavier:
8-Jan-2009
what kind of tool are you using ? a unit test framework ? Can you 
give me the reference ?
Sunanda:
8-Jan-2009
Then  use compose/deep as a way of effecting a reduce/deep which 
is what you need.
Sunanda:
8-Jan-2009
That's it!
It's a subtle REBOL gotcha.
xavier:
8-Jan-2009
there is a tool called runit ... designed by a guy i know, if you 
can get it maybe it can help
Janko:
8-Jan-2009
xavier, Sunanda: thanks I will look at it... I need just simple unit 
testing for now , but I will look at it to see what a bigger solution 
might be
xavier:
8-Jan-2009
in the first case true is a value and in the second case true is 
a litteral
Oldes:
8-Jan-2009
>> ? newline
NEWLINE is a char of value: #"^/"
>> ? lf
LF is a char of value: #"^/"
Brock:
8-Jan-2009
Example; say you are trying to debug an app and you have to print 
the contents of a word to the screen.
say you set the word 'value to 10
displaying value to the console can be done by using; print value
returns the result; 10


where as using  "?? value " instead, would return the word name with 
the value of the word beside it
value: 10


This prevents you from needed to add debugging code like'
print ["Value: " :value]
Reichart:
8-Jan-2009
Welcome Ben Bran...


This world is a crazy wonderful place of amazing people that can 
probably help you with any REBOL question you might have.
BenBran:
8-Jan-2009
Read a Dummies book on it about three years ago.  Been watching it 
ever sense.  With R3 coming out, I'm going to give it a serious look.
Maarten:
8-Jan-2009
And you may like thge new English translation of a French book; translated 
by Peter Wood, who is here as well. It's on lulu.com
22901 / 6460812345...228229[230] 231232...643644645646647