• 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
r4wp26
r3wp327
total:353

results window for this page: [start: 201 end: 300]

world-name: r3wp

Group: All ... except covered in other channels [web-public]
Gabriele:
7-Jan-2005
exactly. it is very good for implementing DHTs (Distributed Hash 
Tables)
btiffin:
7-Jan-2009
Well if you do, it'll be at Ottawa's coolest punk bar.  A real dive 
with an awesome vibe.  And pool tables.  ;)
Group: Ann-Reply ... Reply to Announce group [web-public]
Janko:
18-May-2009
I don't think it looks awfull , it fits the general wiki style ... 
only if heading would be bold or something ... but I don't have any 
exp. with wiki syntax for tables  ... you have few CSS examples of 
fancy tables here
Graham:
29-Aug-2009
tabs ( accordions ), tables, grids
Group: !AltME ... Discussion about AltME [web-public]
Reichart:
20-Nov-2009
We are also moving some lines, Carl needs to flush some IP tables, 
he might have done this today.
Group: Core ... Discuss core issues [web-public]
BrianH:
30-Oct-2005
OneTom, actions are how type-specific operations are implemented 
in REBOL. Every datatype has a table of function pointers, one pointer 
for every action. Every one of those tables are layed out the same, 
with the function corresponding to the same index being the version 
of the same function for that specific type. Each action! has an 
index associated with it - you can see the index like this:

>> second :add
== 1


When the action! is called, REBOL checks the datatype of the first 
argument to it and then calls the function at that index into the 
datatype's table. This is the way that REBOL implements polymorphic 
native functions, single dispatch on the datatype.


But really, you don't need to know any of this. All you need to know 
is that an action! is like a native!, but with a differently named 
datatype.
Maxim:
25-Apr-2006
with bedrock, each cell, is its own individual atom. there are no 
tables.
Anton:
10-Aug-2006
By table, do you mean a block of blocks (a 2-dimensional array) ?
Given
	table-A: [[1 2 3 4][5 6 7 8]]
	table-B: [[a b c][d e f][g h i]]
then
	MERGE-TABLES table-A table-B
== [
        [1 2 3 4 a b c]
        [5 6 7 8 d e f]
        [none none none none g h i]
    ]
Is that the desired output ?
Anton:
10-Aug-2006
An approach I might use: pre-scan tables for row lengths, use ARRAY 
with the total row-length to create result-table , then poke the 
values of each table into the result-table.
Graham:
10-Aug-2006
I was trying to print a table from two different sources, and trying 
to wrap the data inside the cells at the same time.  But I got it 
worked out now.  But was thinking that some type of sql join on tables 
would be good.
Sunanda:
19-Apr-2007
Not sure there is one best way.....I have a structure that has 158,000 
keys indexing 120,000 documents. All in  memory. 
The index (when loaded) is nearly 6meg.

The code uses nested tables, hashes, surrogate keys and a couple 
of other tricks devised for the purpose.

It's worth playing with approaches. You can normally expect a  ten 
fold improvement between initial ideas and later improvements.
Brock:
10-May-2007
I was actually thinking of building a dialect to extract the data 
that I want, but not certain how to proceed with this as each row 
of the table I need to grab although similar is always missing the 
odd element so using element /x will not always give me the same 
data.  I have found approx 10 variations in the data for the tables 
I'm trying to pull the data out of, so not sure if that is the best 
way or not.  Any advice would be great.
Terry:
12-May-2007
Im thinking parse is not the way to go.. I'm referring to very large 
hash tables)
Tomc:
12-May-2007
I am wondering if you have a smallish number of relationship types 
 if splitting  into EA tables  getes you anything
Rod:
5-Dec-2007
Any binary parse wizards ever tried to tackle the on disk file format 
that postgresql uses to store row data?


I'm looking through the docs trying to get a handle on how tough 
it is.

http://www.postgresql.org/docs/8.1/static/storage.html
and

http://www.postgresql.org/docs/8.1/static/storage-page-layout.html


give a fairly detailed starting place, plus the source of course 
but my C is so rusty I think reviewing the raw data is going to be 
easier.


We are trying to recover some data that was deleted (marked for) 
by accident.  We basically need to find the serial key value and 
associate it with a text value for each row so we can rebuild the 
table and not lose the relationships that key off that serial numeric 
value in other tables.


There are some good examples of binary parsing in the rebol.org script 
library so I know rebol can help write out a text version of the 
two values if we can get a handle on the structures involved.


I'm open to suggestions or advice, this is not critical but would 
be a nice win to recover the key data.
BrianH:
18-Feb-2008
Strangely enough, my main uses for list! have been the same as yours: 
for database tables. If you use list! then aliased references to 
the list will still be valid when you delete nodes, as long as the 
node you are deleting is not the one you are referencing. This has 
advantages when making indexes, which can be a hash! of such references.
Gregg:
22-Mar-2009
http://www.rebol.net/wiki/Datatype_math_compatibility_tables


Those tables were generated programmatically, so I don't recommend 
editing the wiki manually. The idea is that running the generator 
will produce results based on acutal behavior. 


If we care about which version, that will need to be added, and we'll 
need a way to deal with the information. e.g., run under multiple 
versions and aggregate the results.
Janko:
13-Dec-2009
(let's say I want to use key-value (string-int) pairs for 5M words 
.. hash tables are probably more memory consuming for such a big 
set of data?)
Group: View ... discuss view related issues [web-public]
Henrik:
11-Dec-2009
amacleod, it's VID to PS and it works fairly OK. I've used it for 
printing some statistics tables.
Thorsten:
1-May-2010
Need a little assitance with a choice button in layout. How might 
it be possible to assign a list of tables from db query to a choice 
button. The query is no problem.  But at the moment i see no way 
to use the result block in the layout definition of the choice button
Thorsten:
1-May-2010
Yes, it works. Do you know how this same block can be used to switch 
to according panels?? The current code is like this: 	choice 150x30 
silver edge [size: 1x1 color: orange] data tables [
    		switch value [
    			    "Panel 1" [panels/pane: panel1  show panels]
    				"Panel 2" [panels/pane: panel2  show panels]
    				"Panel 3" [panels/pane: panel3  show panels]	
						]
    		]
Group: I'm new ... Ask any question, and a helpful person will try to answer. [web-public]
SteveT:
13-Jan-2008
Your list-view for example - in hind-site you say it's big and bulk 
and could be done better - but the Grids and Tables that Microsoft 
and Java dish out can't come near to matching what yours provides 
out-of the-box
Henrik:
13-Jan-2008
there has been a tendency to give out some ridiculous time tables. 
Carl originally suggested R3 was to go beta by august 1st 2007. it 
didn't take long to see that it was unrealistic. so... if RT posts 
time tables, ignore them.
SteveT:
19-Jan-2008
Biggest customer i've got has 250,000 x 20 rows x 15 tables
Steeve:
19-Apr-2009
What the need of flags and splitted lines, uh ?
you can't write simple semantic ?
Reading, your example file , you've got these simple rules.

1/ counting the lines
line: [ thru newline (n: n + 1)]


2/ one interface mays contain several lines (infos) and is terminated 
by a line beginning by "!"  
interface: [
	"interface" copy interface* line 
	any [infos | #"!" line break]
]

3/ infos may be description, ip-adrr, ip-tables
infos: [
	  " description " copy desc* line 
	| " ip route " copy route* line
	| "ip address" copy ip-add* line 
]

That''s all folks, just parse the whole file with:
parse/all [any [interface | line]]


Please don't use read/lines or internal flags for such simple rules.
jack-ort:
15-Feb-2010
Thanks Henrik!  LIST-VIEW was a BIG help in presenting data...I did 
have a few problems w/ displaying large text entries (> 200 characters?), 
which was likely due to me not knowing what I was doing!  Part of 
my concern in what choices to make was trying to prepare for the 
future of REBOL; if LIST-VIEW will not be an option under 3.0, but 
something like tables in RebGUI would be, then I want what I learn 
to carry forward for me.

So maybe I'll stick w/ what I've used, but upgrade to 2.7.7.  This 
will be a back-burner project, but I will certainly provide feedback 
on LIST-VIEW under 2.7.7 as I move forward.
Again, thanks for the great tool and for the ongoing support!
jack-ort:
2-Aug-2010
would make-doc-pro handle tables better?

problem with it is, I did not see clear documentation on it.
Group: Parse ... Discussion of PARSE dialect [web-public]
amacleod:
16-May-2008
THE docs come from pdf's that I have converted to text and tried 
to reformat by hand to hte similest form whilepreserving the structure 
of the doc. In addition to sections, sub-sections and sub-sub-seections 
there are nubered lists, letter lists, photos/diagrams, and tables 
to deal with. I thought I start with sorting out the sections and 
tackle the rest later.
BrianH:
30-Sep-2009
Rather than with CPS or tables.
Group: AGG ... to discus new Rebol/View with AGG [web-public]
Carl:
22-Jun-2005
Graham: that's what REBOL Modules would do.  Modules each keep separate 
symbol tables (not just context tables).
Group: Announce ... Announcements only - use Ann-reply to chat [web-public]
Geomol:
28-Dec-2006
NicomDoc 2.1.0: http://home.tiscali.dk/john.niclasen/nicomdoc/

Added an alternate way to construct tables. Instead of the need for 
=row and =cell commands, a table can just be lines (each line is 
a row) and on each line, cells are separated by one or more tabs. 
Docs with lots of tables will shrink considerable in number of lines 
needed. The Math specification (http://www.fys.ku.dk/~niclasen/nicomdoc/math.txt) 
went from 3000 to just below 700 lines this way.
ChristianE:
29-Sep-2010
The R3 ODBC Extension allows easy access to databases and data sources 
supporting ODBC. 


The extension supports SQL statements SELECT and INSERT, UPDATE and 
DELETE as well as catalog functions for tables, columns and types. 
It supports statement parameters and is Unicode aware. It supports 
direct and prepared execution of statements.


If you're used to the commercial REBOL/Command (or the nowadays freely 
available REBOL/View) ODBC database access methods, you should have 
no problems using the ODBC API presented here. There's next to no 
differences in functionality, it differs mostly in that the extension 
isn't used with ports, but with "ordinary" functions OPEN-DB, OPEN-SQL, 
DO-SQL, CLOSE-SQL and CLOSE-DB. This may change when it's possible 
to provide the extension as an asynchronous R3 device, since the 
ODBC functions may be blocking.  


For now, the API is implemented as an embedded host-kit extension 
(it should easily be possible to provide it as an external dll) and 
is available for the Windows platform. So far it has been tested 
with MySQL, PostgreSQL and Intersystems Caché as well as the Microsoft 
Text Driver. Of course it's supposed to work with any ODBC data source.
Group: !RebGUI ... A lightweight alternative to VID [web-public]
Robert:
5-Dec-2005
Yes, but this makes a bit complicated. I need to show two tables 
if the user clicks two specific tabs. And hide them if the user clicks 
ANY other tab. And I want to avoid adding an action [hide tab1 hide 
tab2] to all other tabs.
Graham:
29-Dec-2005
tables only have one line I think.
Pekr:
7-Feb-2006
'join is really badly missing with rebdb and I am thinking switching 
to sqlite only because of that one feature. Once you have your data 
spread across many tables, it is difficult to work without it. Or 
how you do it?
Gregg:
28-Feb-2006
That sounds like a good approach Ashley, kind of like Windows accelerator 
tables.
[unknown: 9]:
11-Apr-2006
True, but ussually fonts do change (even inside tables).


I have always felt teh whole you UI should be sizable.  I really 
liked the NeXT.
Graham:
11-Apr-2006
I've got another idea for a widget that I've seen around.  Basically 
it's a type of tabbed style.  You have a number of say tables aligned 
vertically, but the data is not visible.  You click on the header 
of the table, and the table expands vertically to show the data, 
while other open tables collapse down to make space.
Maxim:
11-Apr-2006
I have done extremely advanced styles in rebol, including a video 
editing timeline with scalable time and slideable tracks,  and face 
can be extremely fast when its used properly.  The only issue so 
far was Draw speed (fixed with AGG) and slow face blitting (cpu based). 
 Otherwise, if your face is not full screen, you can scroll 300000 
cell tables 10 times a second... (yes with advanced styles and resizing 
and the like).
Robert:
24-Apr-2006
tables: Is it possible to change the column layout of a table after 
it was layouted? I have a space where I display a table that changes 
it's layout depending on the context of the app. Sometimes it has 
2 than 5 columns and different column labels.
Robert:
8-May-2006
Q: How can I change the number of columns of a table at run-time? 
I want to use three tables and change semantics depending on user 
action. Sometimes table 2 has 2 columns, sometimes 4.
Pekr:
18-Jul-2006
well, not sure about tables, but new grid will allow that ...
Graham:
10-Nov-2006
I wonder if it's related to the previous problem...with tables.
Graham:
11-Nov-2006
I would like to see an enhancement to tables so that /selected/block 
returns series of blocks.
Graham:
11-Nov-2006
the reason is that if you are have anonymous tables, the only way 
to work out the length of a row is to take all the selected and divide 
by the length of picked
Robert:
17-Nov-2006
Resizing: I have a question how to best implement the following:
- I have three tables from left to right

- I want to make a horizontal resizing in that the middle and right 
table are moved and narrowed.
- The left most tables only uses #X
- The moving should be right aligned to the left side table


I hope you understand what I mean. Using #WX screws up the layout 
as the gaps between the table get to big
Robert:
18-Nov-2006
But than the tables 2 and 3 don't change their width, right? So what 
I want is that all three tables get narrowed and are still horizontally 
aligned with the distance given by SPACE 2x2 for example.
Ashley:
17-Feb-2007
all done by keyboard navigation.

 as long as the widgets don't require much internal navigation. There's 
 a world of difference between a screen with 12 fields and one with 
 drop-downs, tables, scrollable areas, check boxes and radio buttons 
 (to name a few).
Graham:
19-Apr-2007
I'm having problems with tables.  the new table appears in some instances 
to lock up my entire application.
Ashley:
19-Apr-2007
the new table appears

 ... tables aren't new, there're one of the widgets I have yet to 
 code review (although I have made some face-iterator changes which 
 handle row selection and on-click actions).


clear-text is not used by anything in the base distribution. Looks 
like something is doing a 'clear-text without providing a face argument.
Robert:
12-May-2007
Ashley, for tables I have always a hidden column with a record ID. 
This ID is used through all the program.


For drop-lists I "store" the text of drop-list/picked at the moment. 
Hence if you have several languages, at one time you store the DE 
version at an other one the EN version. So, one solution is, I have 
to translate to the "master" language that's used in the database.


But what if syntex changes? Than I have to update all old entries. 
Using IDs frees me from this but adds an other level of indirection. 
The common way would be to normalize my database model and use other 
tables to get IDs, and than store those etc. IMO that's the way to 
make apps complex and slow.
Pekr:
12-May-2007
but above would mean, that every translation for all tables would 
be in one 'trans table - not sure it is practical. Another model 
- simply have langs table, as in above example:

langs: [cz "Cesky" us "English" de "German"]
fruits: [
1 uk "apples"
1 cz "apples"
2 uk "bananas"
2 cz "banany"
3 uk "cherries"
3 cz "tresne"
]

select * from fruits where language = 'cz'


That is more practical - simply use one more key - that of your default 
or selected (preferred) language ...


In some sense, you don't need IDs, but I prefer to have one- it depends 
what kind of databases you use. But - it is surely nearly INSANE 
to use text, which can eventually change, as a key value (e.g. because 
of typo and later need to change that text)
Pekr:
13-May-2007
If I need to translate UI, drop-list elemetns plus whole data, I 
refuse to use external system for it - it belongs into tables with 
other data, at least if it concerns data itself. UI elements can 
be in catalogues, no problem here. But - whatever works for particular 
usage case is ok ...
Graham:
1-Jun-2007
in lists and tables, scroll bars appear dynamicallly
Ashley:
23-Sep-2007
How hard would it be to write a LAYOUT function that will transform 
the RebGUI layout into a HTML page?

 Dynamic or static conversion? I think it's possible to map most VID/RebGUI 
 styles/widgets to CSS and HTML with Javascript required for a few 
 of the more complex widgets; so reproducing simple layout forms online 
 is trivial, more complex apps with tab-panels, etc a whole lot harder.


This reminds me of some of the R&D work I was doing with IBM back 
in the early 90's. Layouts were IODEFs (Input/Output definitions) 
where you hooked a data source (e.g. DB, Terminal, Webpage) to an 
output target (e.g. Screen, printer, Webpage) with zero application/logic 
changes. The entire app was stored in a code repository across a 
couple of simpe DB2 tables. Anyway, I digress.
Louis:
22-Oct-2007
In the following script I would like to be able to click on a row 
of the table to populate the data entry fields, so that I can edit 
the data for the record displayed in that row. How do I do that? 
 

rebol []
do %sqlite.r
do %rebgui.r
unless value? 'ctx-rebgui [

    either exists? %rebgui-ctx.r [do %rebgui-ctx.r] [do %rebgui.r]
]
set-colors
tab-size: 120x55

fonts: reduce [font-sans-serif font-fixed font-serif "Courier New"]
if not exists? %id.txt [write %id.txt 1]
either not exists? %indodex.db [
    CONNECT/create %indodex.db

    SQL "create table base (ID, Title, Nama, Alamat, Kota, Propinsi, 
    Telefon, Handfon, Fax, Email, URL, Tgl_Nikah, Nota)"

    SQL "create table birthdays (ID, Nama, Jenis, Hubungan, Tgl_Lahir, 
    Agama, Nota)"
][
    CONNECT/flat %indodex.db
]

do show-cc: make function! [] [
set-colors
(i: to-integer read %id.txt)
label-width: 19
f-width: 59
display "IndoDex Ver. 1.0.1" compose/only [
            button-size 16x8
            margin 1x1
            space 1x1
            ;image %roladex.jpg 
            ;return
            label 7 "ID:" id: text (to-string i) 7
            pad 17
            ;label 13 "Nama:" 

            title: drop-list 30 #W "Pak" data ["Pak" "Ibu" "Sdr." "Sdri." "Drs." 
            "Dr." "Tuan" "Nyonya" "Nona" "Pdt."] 17x5
            nama: field f-width
            label label-width "Telefon:" 
            telefon: field f-width
            label label-width "Handfon:" 
            handfon: field f-width
            return
            pad 31
            label label-width "Fax:" 
            fax: fax: field f-width
            label label-width "E-Mail:" 
            email: field f-width
            label label-width "URL:" 
            url: field f-width
            return
            pad 31
            label label-width "Alamat:" 
            alamat: field f-width
            label label-width "Kota:"
            kota: field f-width
            label label-width "Propinsi:"
            propinsi: field f-width
            return
            pad 31
            label label-width "TglNikah:" 
            tgl_nikah: field f-width
            label label-width "Nota:" 
            nota: field 139
            return
            return

            t: table options ["ID" left .03 "Title" left .04 "Nama" left .2 "Telefon" 
            left .16 "Handfon" left .14 "Fax" left .14 "E-mail" left .15 "URL" 
            left .15] data (sql "select id, title, nama, telefon, handfon, fax, 
            email, url from base") 270x150 
            return
            button "Add" [
                either all [nama/text <> "" nama/text <> none][

                    SQL reduce ["insert into base values (?, ?, ?, ?, ?, ?, ?, ?, ?, 
                    ?, ?, ?, ?)" id/text title/text nama/text alamat/text kota/text propinsi/text 
                    telefon/text handfon/text fax/text email/text URL/text tgl_nikah/text 
                    nota/text]

                    insert t/data SQL "select id title nama alamat kota propinsi telefon 
                    handfon fax email URL tgl_nikah nota from base"

                    ;a: sql/flat "select id/text title/text nama/text alamat/text kota/text 
                    propinsi/text telefon/text handfon/text fax/text email/text URL/text 
                    tgl_nikah/text nota/text from base"
                    ;sql reduce [insert table/data a]
                    id/text: form i: i + 1
                    save %id.txt i
                    clear-text nama
                    clear-text alamat
                    clear-text kota
                    clear-text propinsi
                    clear-text telefon
                    clear-text handfon
                    clear-text fax
                    clear-text email
                    clear-text url
                    clear-text tgl_nikah
                    clear-text nota
                    ;show id
                    t/redraw
                    return
                ][
                    alert {Cannot save if "Nama" field is empty.}
                ]
            ]
            button "Update" []
            button "GUI Info" [

                print [id/text " " title/text " " nama/text " " alamat/text newline]
            ]
            button "DB Info" [
                print [TABLES newline]
                SQLite/col-info?: true
                newline
                print [SQL "select * from base" newline]
                print [SQLite/columns newline]
                print [ROWS "base" newline]
            ]
            button "Halt" [
                halt
            ]
            button "Quit" [
                quit
            ]
]
]
do-events
Claude:
6-Oct-2008
REBOL[]


rebgui-build: %./rebgui-116/
rebdb-build:  %./RebDB-203/


#include %/home/ramcla/Documents/rebol/rebol-linux-sdk-276/source/gfx-colors.r

#include %/home/ramcla/Documents/rebol/rebol-linux-sdk-276/source/gfx-funcs.r
#include join rebgui-build %rebgui.r
#include join rebdb-build %db.r

do  join rebgui-build %rebgui.r
do  join rebdb-build %db.r

to-amount-text: func[
	data
	/local
	d
][
	d: to-string to-money (to-decimal data)

 return either d/1 = #"-" [join "-" (skip d index? find d #"$")][(skip 
 d index? find d #"$")]
]

table-exist?: func [
	table [string!]	
	/local
	w
][
	w: to-word table
	either error? err: try [db-describe :w][
		disarm err
		return false
	][
		return true
	]
]

create-table: func [
	table [string!]	
	/local
	w
	tables
][
	tables: [

  t_joueurs [id nom prenom date_naissance adresse code-postal commune 
  pays]
		t_periodes [id nom date-debut date-fin status]
		t_jeux [id period_id date lieu]
		t_resultats [jeux_id personne_id manche_1 manche_2 manche_3]

  t_resultat_historique [jeux_id personne_id manche_1 manche_2 manche_3]
	]
	
	w: to-word table
	db-create :w (select tables w)
]


create-db: func [
	/local
	table
][
	if not table-exist? table: "t_joueurs" [create-table table]
	if not table-exist? table: "t_periodes"  [create-table table]
	if not table-exist? table: "t_jeux"     [create-table table]

 if not table-exist? table: "t_resultats"     [create-table table]

 if not table-exist? table: "t_resultat_historique"     [create-table 
 table]
]

create-db

;print screen avec F3
ctx-rebgui/on-fkey/f3: make function! [face event] [
    save/png %screen.png to image! face
    browse %screen.png ; or call %screen.png
]


words: copy []

;	clear words in global context

query/clear system/words

;	show splash screen

splash join rebgui-build "images/logo.png"

;	compose pie-chart data

pie-data: compose [
	"Red" red 1
	"Red-Green" (red + green) 1
	"Green" green 1
	"Green-Blue" (green + blue) 1
	"Blue" blue 1
	"Blue-Red" (blue + red) 1
]



;	wrap display in a func so it can be called by request-ui


display/close rejoin ["Carte (build#" ctx-rebgui/build ")"] [
	

 ;	button "Configure Look & Feel" 50 [if request-ui [unview/all show-tour]]
	
	tight
	after 1
	menu #LW data [
		"Maintenance" [
			"Bienvenue"	[panel-master/select-tab 1]
			"Joueurs" 	[table_joueur 'rsh panel-master/select-tab 2]
			"Periodes" 	[panel-master/select-tab 3]
			"Jeux"		[panel-master/select-tab 4]
		]
		"Option" [
			"Quit"		[quit]
			"Print Screen"  [alert "coucou"]
		]
	]
	
	panel-master: tab-panel options [no-tabs] #LVHW data  [			
		"Bienvenue" [
			
			title-group %./images/setup.png data  "bienvenue" "toto"	
		]
		"Joueurs" [
			label "nom : "
			ask_nom: field 50 
			label "prénom :"
			ask_prenom: field 50
			button "Trouver"
			return
			maintenance_table_joueurs: table 200x50 #LW options [

				"id"                  left     .1
				"nom"                 left     .3
				"prenom"              left     .3
				"date de naissance"   center   .3				
			] data [] [table_joueur 'rtv]

			return
			label "ID :"  35 
			m_joueur_id: field  50 options[info] 
			return
			label "Nom :"  35
			m_joueur_nom: field  50
			label "Prénom :"  35
			m_joueur_prenom: field 
			return 
			label "Date de Naissance :"  35
			m_joueur_date_naissance: field  43 tip "coucou" on-unfocus [
				use[d][
					d: copy face/text
					either empty? d[
						set-text m_joueur_age ""
					][
					 	either error? err: try [to-date d][
							disarm err
							set-color face red
						][
							set-color face CTX-REBGUI/COLORS/page
							d: to-date d
							set-text m_joueur_age (now/year - d/year )
							set-text face to-date d
						]
					]
				]
				true
			]
			arrow [
				use[d][
					if not none? d: request-date[
						set-text m_joueur_date_naissance d
						set-text m_joueur_age (now/year - d/year)
					]
				]
			]
			label "Age :"  35 
			m_joueur_age: field  50 options [info]
			return
			label "Adresse :"  35 
			m_joueur_adresse: area  100x20 [print coucou]
			return
			label "Code Postal :"  35 
			m_joueur_code-postal: field  50
			label "Commune :"  35 
			m_joueur_commune: field 50 
			return
			label "Pays :"  35 
			m_joueur_pays: field 50
			return
			button "Ajouter" [table_joueur 'add]
			button "Refresh" [table_joueur 'rsh]
			button "Update" [table_joueur 'upd]
			button "Supprimer" [table_joueur 'rmv]
		]

		"periodes"[text "lolo"
		]
	
	"jeux"[
text "lolo"]
	] 
	
	message-area: area #LW "" 10x-1	

][question "Vraiement ?"]



table_joueur: func [
	act [word!]
][
	switch act[
		clr[
			clear maintenance_table_joueurs/data
			maintenance_table_joueurs/redraw
		]
		rsh[
			table_joueur 'clr

   insert tail maintenance_table_joueurs/data copy (db-select [id nom 
   prenom date_naissance ] t_joueurs)
			maintenance_table_joueurs/redraw
			probe 	maintenance_table_joueurs/rows
		]
		cmt[
			db-commit t_joueurs
			table_joueur 'rsh
		]
		rmv [
			probe compose[id = (to-integer m_joueur_id/text)]

   db-delete/where t_joueurs compose[id = (to-integer m_joueur_id/text)]
			table_joueur 'cmt
		]		
		add [
			db-insert t_joueurs 
			compose[
				next 
				(m_joueur_nom/text)
				(m_joueur_prenom/text)
				(to-date m_joueur_date_naissance/text)
				(m_joueur_adresse/text)
				(m_joueur_code-postal/text)
				(m_joueur_commune/text)
				(m_joueur_pays/text)
			]
			table_joueur 'cmt
		]
		upd [
			db-update/where t_joueurs 
			[nom prenom date_naissance adresse code-postal commune pays]
			compose [
				(m_joueur_nom/text)
				(m_joueur_prenom/text)
				(to-date m_joueur_date_naissance/text)
				(m_joueur_adresse/text)
				(m_joueur_code-postal/text)
				(m_joueur_commune/text) 
				(m_joueur_pays/text)
			]
			compose[id = (to-integer m_joueur_id/text)]
			table_joueur 'cmt
		]
		rtv[

   foreach [id nom prenom date_naissance adresse code-postal commune 
   pays] db-select/where * t_joueurs compose[id = (first maintenance_table_joueurs/selected)] 
   [
				probe maintenance_table_joueurs/selected
				set-text m_joueur_id id 
				set-text m_joueur_nom nom
				set-text m_joueur_prenom prenom
				set-text m_joueur_date_naissance date_naissance
				set-text m_joueur_age (now/year - date_naissance/year)
				set-text m_joueur_adresse adresse
				set-text m_joueur_code-postal code-postal
				set-text m_joueur_commune commune
				set-text m_joueur_pays pays								
			]
		]
	]
]



do-events
Graham:
12-Feb-2009
We have arrow key navigation of tables.  How can we get the enter 
key to do the action?
Ashley:
29-Mar-2009
Pekr/Graham (re group-box resize overlap convo from 13-Jan) ... it's 
a limitation not a bug. The #H and #W directives assume they are 
by themselves in a given row/column.


Instead of ... unview/only face/parent-face/parent-face ... why not 
unview/ony find-window face
 ... performance over coding efficiency.  


Ashley hasn't been on line here since xmas eve ... is he on a rather 
extended holiday

 ... the GFC has forced me to allocate considerable resources elsewhere, 
 but I'm back for the time being.


button is blue. But with over effect, going to green (default?), 
and with press, going pink

 ... the over (theme light) and press (state light) colors are global. 
 118 fixes the problem whereby these states lost your original color 
 override.


We have arrow key navigation of tables.  How can we get the enter 
key to do the action?
 ... add 'table to behaviors/action-on-enter
Ashley:
22-Jun-2009
Uploaded build 121 with a completely rewritten tabbing system. Tabbing 
into/out of tables and text-lists is now supported (you need to copy 
new behavior/tabbed and behavior/cyclic values across into %ui.dat). 
Will add remaining widgets next build plus ability to exit a cyclic 
widget (e.g. press a key to exit a group-box). What keystroke/combo 
do folks want to map the later functionality to?
Ashley:
29-Jul-2009
Yes and yes ... but the tree widget really needs to be totally rewritten 
to support that.


If I have tree data like this [ A [  B B B ] ] ...how can I tell 
which of the B's that I am clicking on?

 Isn't this the same issue with drop-lists, edit-lists, text-lists, 
 tables, radio-groups and check-groups? In what case does it make 
 sense to have user options (text strings) that appear identical but 
 have different "real" ID's behind the scenes?
marek:
2-Aug-2009
It must be my poor accent. Not all panels or widgets inside of them 
can be disabled in layout. Later, when program is run seems to be 
no problem.

There is another little problem with tables. When last column is 
right justified with no scroller there is small gap between text 
and edge of table. when scoller kicks in
there is no gap at all.

Finally let me have little wish. Would it be possible for table to 
have 'no-sort option? Would it be usefull to anybody else?
marek:
2-Aug-2009
I was just testing tables by

>> display "" [table options ["A" left 1.0] data [1 2] table options 
["B" left 1.0] data [3 4]]

1. Only one table can be selected from as I already discovered before

2. When any table is selected from pressing <TAB> causes this ERROR
** Internal Error: Stack overflow
** Where: group?
** Near: all [
    in face 'group 
    get in face 'group
]
marek:
3-Aug-2009
More about stack overflow and tables.

When taking 'table from ctx/behaviors/tabbed it still works any extra 
tabbable widget like so

>> [table options ["A" left 1.0] data [1] table options ["B" left 
1.0] data [1] button]

but selecting from one table deselects the other. All tables selection 
was possible with previous incarnation of RebGUI. I hope somebody 
else was using this feature so it's not only me using before and 
wanting it.
marek:
8-Aug-2009
Tabbing thru tables when inside panel ends in crash (205/206). Right 
gap inside changes when scroller appears (small worry).

>> [table options ["A" right 1.0] data [1] panel data [table options 
["B" right 1.0] data [1 2 3 4 5 6]]]
Graham:
25-Aug-2009
Having pagination would really help a lot ... sometimes i have tables 
full of hundreds of items.
Awi:
15-Jan-2011
But the table in 2.x has the habit to prevent drawing text :-), that's 
why I moved my code to text-list, avoiding tables.
Group: Rebol School ... Rebol School [web-public]
Geomol:
8-Feb-2009
You can read a short intro to hash tables here: http://www.rebol.com/docs/core23/rebolcore-16.html#section-2.5
Geomol:
8-Feb-2009
It states in the documentation, that using hash can increase the 
speed hundreds of times, if you have large tables.
DideC:
9-Feb-2009
I also give it a try. Not really a browser, just an HTML renderer 
with view/draw.

But rendering HTML is a very complex thing to do, especially the 
layout, tables...
So it is only able to render texte styles.
Vladimir:
16-Feb-2009
aha..... I put show on 'ekran and speed is the same.... 

If Henrik's observation about replacing Show with prin... and that 
speed is the same... there is no need to mess with layout :)


Is there some way of time profiling code ? how to find out wich part 
is slowest?

By the way this script I want to use to make lookup tables for maping 
tunnel 3d coordinates onto screen so when I make those tables I can 
see if math is causing the slowdown....


And question for Anton, what did you use in your "Tunnel" demo.? 
show, direct image manipulation? or just effects for image datatype 
?
Vladimir:
16-Feb-2009
I just tried to separate math functions like square root and arctan 
with simpler constant values and speed seams to go up a bit, but 
not to much....

Ill try to make lookup tables for all visible coordinates and see 
what will happen....
Vladimir:
16-Feb-2009
I tried that..... doesn't matter to much.... making lookup tables....
Henrik:
27-Mar-2009
yes, like state tables. I use that too. :-)
Group: !REBOL3-OLD1 ... [web-public]
Henrik:
25-May-2006
pekr, I may have a closer look at horizonal scrolling soon, because 
I need list-view now for tables with 30-40 columns
Mario:
25-May-2007
Being a REBOLer from a lot of years being not a guru, especially 
in the GUI area and having suggested REBOL to other programmers I 
wish to share with you my pov that, maybe, can explain the situation. 
The lack of documentation and the initial easyness of VID is a deterrent 
for programmers to adopt REBOL. In the last week I asked Anton for 
help with some VID and styles and he wanted feedback from me. He 
did a few things (an analog clock style and some adjustments to his 
scroll-tables) but make up his and my mind about some design details 
is still not over as need, POVs and uses of the same style can be 
very differents with two people involved (with one being the programmer 
and the other a little user like me). Imagine an as small as you 
wish group and try to figure out the time it needs to decide design. 
Put this together with the pressure of not taking too much time to 
release R3 before July and I think it should be clear why Carl has 
to stop asking opinions (after 2 years) and put more time on coding
Gabriele:
25-May-2007
rebolek: i would prefer a simpler, more powerful approach than the 
one used in mui. however, probably mui is easier to understad to 
people (html tables even easier), so we'll need to stick to that.
amacleod:
27-Sep-2007
Just curious if anyone has any info on tables in vid3. They were 
pretty poor in R2 but I think they are a key element for many apps. 
I took a quick look at "turbogrid" mentioned in the Tech News forum 
and its crap. it's Ajax based.  A list-view based app in a plug in 
would blow it away.
btiffin:
27-Sep-2007
My take on graphical tables;  R2 had a beautiful base for this with 
list and supply.  Downside was that the documentation was so limited 
and late comming that no one could comes to grips and we all mostly 
ignored it.  We lost out on the ability to build on the shoulders 
of giants as using list and supply pretty much meant learning by 
expermentation, coding from first principles and not from tool kits 
and cookbooks.  Hopefully the power gems of R3 and VID3 will not 
suffer the same fate.
Pekr:
11-Oct-2007
We need data composition dialect upon the basic grid engine :-) You 
would create virtual table for grid, which in fact could be composed 
from multiple tables :-) All operations, as moving columns, rows, 
etc., has to take care of indices at those particular target places.
Henrik:
13-Dec-2007
Kaj, the annoying thing is that unrealistic time tables were published. 
We could see that immediately that it was too little time to do this 
work. I don't feel there is anything being postponed. Everything 
is going according to plan... just ignore the time tables.
Henrik:
26-Jan-2008
BTW: This should be a standard script that we can run again and again, 
so we can refresh the tables when a new release comes out.
james_nak:
5-Nov-2008
Henrik, I just checked out your latest movie (#3).  Very nice. I 
was wondering (as I always am) about the lists - There's a note that 
mentions that there will be tables. Will that in essence be like 
list-view?
Henrik:
5-Nov-2008
james, for now lists are one-column tables. the code seems to support 
multiple tables, but I've not seen them used that way. I think the 
list-box style needs more code to handle multiple columns properly.
Henrik:
5-Nov-2008
multiple tables
 => "multiple columns"
Henrik:
1-Dec-2008
One rule to learn is never to trust time tables from Carl.
Graham:
15-Feb-2009
Eg.  I like to create tables first as instant feedback, and then 
fill them with data from an async function.
Gabriele:
27-Feb-2009
I remember Carl being againist adding language-specific tables into 
R3.
Oldes:
8-Apr-2009
Shadwolf. No parse, I use hash tables in R2 for dictionaries.
shadwolf:
9-Apr-2009
3. You cannot add new values using the key value assignment form. 
->>  too bad ... so i can't do cycling tables using hash inidice 
wich is lesson 3  for  C  programming any  decent university
Group: Postscript ... Emitting Postscript from REBOL [web-public]
Maxim:
2-Jun-2009
I was using it specifically to build HUGE tables (300000cells) and 
its deadly fast.
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public]
btiffin:
7-Feb-2008
Firewall?  non-persistent changes to ip tables can get ya.
CharlesW:
4-Dec-2008
A colleague of mine showed me an Object Relational Mapping product 
that generates a series of DLL for .net. (Abstracts the database 
tables as objects with methods for inserts, updates, deletes, joins, 
etc..) I don't know if I am a fan of such a tool but I was wondering 
if anyone is doing something similar with rebol or if this type of 
functionality is built in Cheyenne. Is it possible to provide abstraction 
of the databases in Cheyenne using a series of RSP's, web services, 
ORM technology? What's the best approach for enterprise portal development 
with Rebol?
CharlesW:
5-Dec-2008
I WIll look into it.  Now the question I am trying to come to grips 
with the whole abstraction of tables vs hiting services to query 
the database directly and return the data. Anyone care to weigh in?
Maxim:
13-May-2009
this way, the uniserve can ask the service if all is set for handling 
requests... there are hundreds of uses for this... time tables, required 
header fields, etc etc.
Robert:
16-May-2009
you reference the CONTEXT the test should be executed in. Then you 
can use all GUI word. Using set-word! sets the GUI widget to the 
value, state etc. (the dialect makes the most useful setting). You 
can press widgets, check values in widgets (fields, tables, check, 
...) You can even use different paths depending on results.
Group: !CureCode ... web-based bugtracking tool [web-public]
Maxim:
24-May-2009
if you use external uid tables, you can have a dual id... the ticket 
global uid, and the projects-related id.
Maxim:
24-May-2009
the use of the external tables can probably be replaced by some SQL, 
but for some reason I find it simpler to let mysql handle autoincrementing 
and retreiving last insert id, it seems easier to support when many 
threads are inserting at the same time on the same table.
Anton:
6-Aug-2009
In the "tickets" table, there are several foreign key fields of INT(8) 
which link to tables with ids of INT(16), eg. severities.
Is that just an oversight?
Henrik:
30-Aug-2009
using install.r, I get the following error:

CureCode Installation...
...loading MySQL protocol
Script: "MySQL Protocol" (12-Jul-2008)
MySQL protocol loaded
...creating database
...database root Password: *******
connecting to: localhost
...access ok to database
...creating tables

** User Error: ERROR 1136 : Column count doesn't match value count 
at row 1
** Near: make error! info
201 / 35312[3] 4