vdi - list | |
awsoft | 9-Nov-2008/22:24:05+1:00 |
bonjour, juste une petite question. Je voudrais crer une liste avec plusieurs colones. comme dans l'exemple suivant: view layout [ vh2 "Films:" list 144x60 [ origin 0 across text 60 text 80 ] data [ ["Back to the Future" "1:45"] ["Independence Day" "1:55"] ["Contact" "2:15"] ] ] Mais comment faire pour pouvoir selectionner une ligne? merci PS: que pensez vous de RebGui? | |
Bertrand | 10-Nov-2008/11:13:40+1:00 |
J'ai essayé comme ça, et il semble que ça fonctionne :REBOL [] view layout [ vh2 "Films:" text-list with [ size: 144x60 origin: 0x0 text: 60 text: 80 data: [ ["Back to the Future" "1:45"] ["Independence Day" "1:55"] ["Contact" "2:15"] ] ] ] ... mais je ne maîtrise pas très bien encore ce type de face | |
Bertrand | 10-Nov-2008/11:17+1:00 |
... P.S. : sauf pour across, je ne sais pas où/comment l'insérer ! | |
Bertrand | 10-Nov-2008/12:10:13+1:00 |
awsoft : PS: que pensez vous de RebGui? Personnellement, je m'habitue peu à peu au VID, tout cru Je n'aime pas trop ajouter des couches supplémentaires à mes modestes programmes. On peut déjà faire pas mal de chose avec le VID et aussi directement avec View sans passer par VID. C'est un peu plus fastidieux, pas aussi compliqué qu'on croit, même si c'est plus "complexe". En tout cas on maitrise mieux ce que l'on fait puisqu'on utilise directement les objets graphiques sans passer par un dialecte ... L'utilisation de with permet déjà une approche hybride mi-VID, mi-VIEW ... ou mi-figue, mi-raisin mais ça porte ses fruits ! | |
Bertrand | 10-Nov-2008/16:54:07+1:00 |
Encore moi Sinon j'ai vu quelques trucs qui pourraient répondre à ta première question dans http://www.rebol.org/library/scripts/vid-usage.r au chapître List. Bon, voilà , j'arrête de monopoliser la parole ... | |
JJV | 11-Nov-2008/14:28:46+1:00 |
Bonjour, Voici du code avec une approche colonne avec RebGui. Perso je trouve cela plutôt réussi. REBOL [] do %rebgui.r window: make block! [ panel -1x-1 data [ tb: table 100x40 options [ "col-1" 'right 0.33 "col-2" 'right 0.33 "col-3" 'right 0.33 ] data [1 2 3 4 5 6] return button -1 "Set-columns" [ tb/remove-row [1 2] tb/set-columns ["col-1" 'right 0.5 "col-2" 'right 0.5] tb/add-row [7 8 9 10] ] button "Exit" [quit] ] ] display "Test RebGUI table" window do-events -------------------- le code vient de la source, il n'est pas de moi. http://www.rebol.org/ml-display-thread.r?m=rmlRHXC --------------------- pour rebgui http://www.dobeash.com/download.html do rebgui.r ;à chargé dans ton application ----------------------- Bon dev perso je trouve Rebgui excellent dommage qu'il n'y a pas plus d'exemple de code, comme mysql-protocol.r. JJV | |
Bertrand | 11-Nov-2008/18:59:17+1:00 |
JJV : "perso je trouve Rebgui excellent dommage qu'il n'y a pas plus d'exemple de code, comme mysql-protocol.r." C'est sans doute pour ça qu'on n'ose pas s'en servir (enfin, je parle pour moi). Déjà qu'il faut parfois chercher àà doite et à gauche pour comprendre/apprendre le VID, on (je) hésite à utiliser un nouveau dialecte même si, au premier abord, il semble plus pratique que le sus-nommé Et puis il y a toujours l'ombre prometteusede Rebol 3 qui plane et qui fait aussi hésiter à s'investir plus avant... | |
awsoft | 11-Nov-2008/19:54:50+1:00 |
merci à tous, très sympa | |
Bertrand | 12-Nov-2008/9:30:08+1:00 |
N.B.: Comparaison entre VIEW, VID et RebGUI pour un même script par rapport à l'utilisation de la mémoire : VIEW view make face [ size: 100x50 offset: 20x20 edge: make edge [size: none] pane: make face [ size: 100x50 text: "Hello world" font: make font [ color: 255.255.255 shadow: 1x1 align: 'center ] edge: make edge [size:none] ] ]utilisation mémoire : 8608 ko VID view layout [ text "Hello world" font [ color: 255.255.255 shadow: 1x1] edge [1x1] ]Utilisation mémoire : 8632 ko RebGUI do %rebgui.r display "Example" [text "Hello World!"] do-eventsUtisation mémoire > 10000 ko (en croissance constante) Ça peut faire la différence aussi ! Par ailleurs je ne comprends pas pourquoi l'utilisation de la mémoire ne cesse d'augmenter avec RebGUI quand on affiche une fenêtre, alors qu'elle reste stable (aux alentours de 8600 ko) avec View ou Vid. Serait-ce dû à la gestion des événements ? | |
Bertrand | 12-Nov-2008/19:24:40+1:00 |
Un p'tit exemple vite fait avec RebGUI, que je commence à apprendre :REBOL [] do %rebgui.r radiodemo: [ ; champ d'entrée contenant un petit texte texte: field 120 "Programmer avec Rebol, c'est génial !" font [ size: 16 style: none valign: 'middle ] return rg: radio-group 120x5 data [1 "Normal" "Gras" "Italique" "Gras/Italique"] [ texte/font/style: switch rg/selected [ "Normal" [none ] "Gras" ['bold ] "Italique" ['italic ] "Gras/Italique" [[bold italic] ] ] show texte ] ] display "Les boutons radio" radiodemo do-events N.B.: il faut mettre rebgui.r dans le même répertoire que ce script... | |
Bertrand | 13-Nov-2008/11:13:24+1:00 |
Sans RebGUI, ça donne ça (je n'ai pas su faire mieux !)REBOL [] radiodemo: layout [ ;; champ d'entrée contenant un petit texte texte: field 320 "Programmer avec Rebol, c'est génial !" font [ size: 16 style: none valign: 'middle ] ;; création d'un groupe (fstyle) de quatre 'boutons radio' ;; le premier 'radio' est 'on' (= choix par défaut) across at 20x60 radio of 'fstyle [texte/font/style: none show texte] on pad -5x-3 label "Normal" at 95x60 radio of 'fstyle [texte/font/style: 'bold show texte] pad -5x-3 label "Gras" at 170x60 radio of 'fstyle [texte/font/style: 'italic show texte] pad -5x-3 label "Italique" at 245x60 radio of 'fstyle [texte/font/style: [bold italic] show texte] pad -5x-3 label "Gras/Italique" ] view/title radiodemo "Les boutons radio" ... et ça fonctionne moins bien. Il faut cliquer exactement sur les boutons pour que le choix soit validé, alors qu'avec RebGUI, on peut aussi cliquer sur le texte du bonton. D'autre part, sans RebGUI, la programmation est un peu plus complexe (positionnement des boutons/des étiquettes), moins concise (répétition des affectations pour texte/font/style). Donc vive RebGUI ! Le seul (petit) hic, c'est l'utilisation de la mémoire, qui monte, qui monte avec RebGUI au-dessus de 10000 ko, alors que sans on a d'abord un peu plus de 8000 ko, et, si on réduit la fenêtre puis qu'on la restaure ça diminue et ça reste à moins de 3000 ko. Quelqu'un aurait-il une explication et peut-être un remède à cela ? | |
Didec | 13-Nov-2008/12:03:53+1:00 |
Pour View, il y a plus simple : le style radio-line. En l'utilisant, on simplifie drôlement. Le code ci-dessous utilise 'set-font qui permet de modifier la police d'un objet en s'abstenant de s'occuper de la dupliquer si elle est partagée (la fonction s'en charge). Elle n'est pas nécessaire puisque tu spécifie toi-même une police pour "texte", mais je voulais en profiter pour la rappeler au bon souvenir des Reboliens/Reboleurs. {code]REBOL [] radiodemo: layout [ ;; champ d'entrée contenant un petit texte texte: field 320 "Programmer avec Rebol, c'est génial !" font [ size: 16 style: none valign: 'middle ] ;; création d'un groupe (fstyle) de quatre 'boutons radio' ;; le premier 'radio' est 'on' (= choix par défaut) ;; on crée un style pour définir le nom du groupe et ne pas avoir à le répéter à chaque fois style rl radio-line of 'fstyle rl "Normal" [changer-font-texte none] on rl "Gras" [changer-font-texte 'bold] rl "Italique" [changer-font-texte 'italic] rl "Gras/Italique" [changer-font-texte [bold italic]] ] changer-font-texte: func [val] [ if block? :val [foreach v :val [set-font texte style v]] if any [word? :val none? :val] [set-font texte style none set-font texte style :val] show texte ] view/title radiodemo "Les boutons radio"[/code] | |
Didec | 13-Nov-2008/12:05:33+1:00 |
Arg ! Faute de frappe et pas de fonction "Edite" ! Mince. On recommence pour le code REBOL [] radiodemo: layout [ ;; champ d'entrée contenant un petit texte texte: field 320 "Programmer avec Rebol, c'est génial !" font [ size: 16 style: none valign: 'middle ] ;; création d'un groupe (fstyle) de quatre 'boutons radio' ;; le premier 'radio' est 'on' (= choix par défaut) ;; on crée un style pour définir le nom du groupe et ne pas avoir à le répéter à chaque fois style rl radio-line of 'fstyle rl "Normal" [changer-font-texte none] on rl "Gras" [changer-font-texte 'bold] rl "Italique" [changer-font-texte 'italic] rl "Gras/Italique" [changer-font-texte [bold italic]] ] changer-font-texte: func [val] [ if block? :val [foreach v :val [set-font texte style v]] if any [word? :val none? :val] [set-font texte style none set-font texte style :val] show texte ] view/title radiodemo "Les boutons radio" | |
Bertrand | 13-Nov-2008/12:45:25+1:00 |
Super ! Plein de choses que je ne connaissais pas ... faute de documentation(s) précise(s) sur VID Autant RebGUI manque d'exemples, autant VID manque de docs. J'aime bien la concision du script et la fonction qui se charge de la modification de style. Est-il possible d'avoir les boutons en ligne, avec un across ou quelque chose comme ça ? En fait, bien que je commence à apprécier RebGUI, j'aimerais ne pas en être trop dépendant ('suis un peu maniaque) Autres questions : - Où trouver, ou comment découvrir par soi-même, les fonctions "cachées" ou "mystérieuses" du VID ? - Y a-t-il une explication, que je sois capable de comprendre , à la différence d'utilisation de la mémoire entre VID et RebGUI (j'ai posté à propos de ça sur un autre 'topic') ? | |
Bertrand | 13-Nov-2008/12:50:26+1:00 |
Est-il possible d'avoir les boutons en ligne, avec un across ou quelque chose comme ça ? Je me réponds à moi-même : oui, il suffisait d'essayer | |
Didec | 13-Nov-2008/16:27:44+1:00 |
Perso, j'ai exploré VID et je l'explore encore grâce à Anamonitor. Mais il permet d'explorer Rebol en général et n'est pas limité à VID ! Il est là , avec pleins d'autres choses intéressantes ! http://www.rebol.it/romano/ Pour les fonctions cachées, tu peux utiliser Anamonitor, ou 'help et 'source tout simplement : help set- help functions! Je n'ai jamais utilisé Rebgui, car comme toi, j'aime ne pas être trop dépendant. Donc j'ai toujours rajouté à VID ce qui me manquait, cela me forcait à l'explorer (ce que j'aime bien faire), à le comprendre et à comprendre Rebol, sa syntaxe, des astuces de code par la même occasion. Pour ce qui est de la différence de RAM entre VID et Rebgui : - déjà , charger rebgui c'est avoir VID ET rebgui en mémoire, puisque rebol/view a déjà VID de chargé au lancement. Donc forcément, ça prend plus de RAM. - si la mémoire augmente constamment, c'est la gestion d'évènements qui le provoque. A un moment ça se stabilise car le GC recycle. Je l'ai constaté avec VID il y a déjà longtemps. Peut être cela a-t-il évolué dans les dernières versions, je ne sais pas. | |
Didec | 13-Nov-2008/16:32:09+1:00 |
Argh, "Edit Post" please !! C'est help function! | |
Bertrand | 13-Nov-2008/17:53:14+1:00 |
Merci pour ta réponse et tes conseils. Je suis assez d'accord pour ce qui est de rajouter au fur et à mesure ce qui manque. Rebol est assez génial pour ça. Et de fait, on est obligé (et on se fait un plaisir) d'explorer à la fois la langage lui-même mais aussi diverses façons de programmer la même chose. A propos de la RAM, avec le VID ça se stabilise très vite et ça recycle rapidement. Depuis un certain temps je n'arrive plus à utiliser Anamonitor, j'ai toujours ce message d'erreur qui bloque tout : ** Script Error: length? expected series argument of type: series port tuple bitse t struct ** Where: rejoin ** Near: length? first :x "] " mold C'est bien dommage parce qu'il y a un moment je trouvais ça bien utile, même si je ne pigeais pas tout. Maintenant je comprends mieux certains aspects de View mais il me manque la doc ... Je crois avoir trouvé l'endroit où ça bogue mais je ne comprends pas pourquoi et ne peut donc pas corriger. A moins que ce soit la version de Rebol (Rebol/View 2.7.6) qui soit fautive ? Ou alors Anamonitor a changé de version et je n'ai pas la bonne ? En attendant je retourne à mes boutons | |
Didec | 13-Nov-2008/18:03:03+1:00 |
Anamonitor 3.0.0 semble bien fonctionner avec View 2.7.6. Comment obtiens-tu l'erreur en question (quelles manips précises ?) ?? | |
Bertrand | 13-Nov-2008/18:06:15+1:00 |
Pour Anamonitor c'est réglé, je viens de trouver sur ce site: http://www.rebol.it/romano/anamonitor.r , une version qui fonctionne. Celle que l'on lance à partir VID Style Ancestry ne semble plus à jour, y compris celle que l'on peut charger à partir du Viewtop. | |
Bertrand | 15-Nov-2008/18:58:33+1:00 |
Didec 13-Nov-2008/18:03:03+1:00 "Anamonitor 3.0.0 semble bien fonctionner avec View 2.7.6. Comment obtiens-tu l'erreur en question (quelles manips précises ?) ??" Pour info : en fait, je lançais juste anamonitor.r par un classique double-clic et j'obtenais immédiatement ce message d'erreur. Entre temps j'ai trouvé Anamonitor 2 qui plante un peu sur les menus, puis tout de suite après Anamonitor 3.0 qui fonctionne comme un charme Mais si on utilise Anamonitor à partir de VID-Ancestry, ça continue à planter, idem pour celui qu'on récupère à partir du View top -> REBOL.org:scripts/alpha/index/a/anamonitor.r qui est la version 1.1.7 | |
awsoft | 19-Nov-2008/18:56:34+1:00 |
bonsoir tout le monde. Pour revenir à mon petit problème de list, j'ai trouvé mon bonheur avec list-view.r www.hmkdesign.dk/rebol/list-view merci encore à tous pour l'aide apportée. | |
Login required to Post. |