AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 5907 |
r3wp | 58701 |
total: | 64608 |
results window for this page: [start: 10001 end: 10100]
world-name: r3wp
Group: !RebGUI ... A lightweight alternative to VID [web-public] | ||
Ashley: 29-Mar-2005 | Previous images were 18x18, while I'm using "standard" 22x22 ones. Everything else needs to be resized accordingly, but it's going to be hard-coded so a lot of the dynamic sizing code can go. Less is more. ;) | |
shadwolf: 29-Mar-2005 | with a little modification to para: arround line 132 you can use both witout any over showing of text problem | |
shadwolf: 29-Mar-2005 | know what next task is a true challenge making tables in the style of GUI4CLI ... I'm affraid to turn mad ;) | |
shadwolf: 29-Mar-2005 | G4C TUT_MCListview // =========================================================== // A Multi Column (or Database) Listview.. // =========================================================== WINDOW 126 90 367 373 "Listview" winattr style resize xOnLoad // add some records to the listview & open.. gosub #this AddRecords guiopen #this xOnClose guiquit #this // =========================================================== // The listview // - This is a normal MULTISELECT listview (the default). // For this type to be triggered, you must double-click it. // =========================================================== XLISTVIEW 0 0 0 0 'The Title' "" var attr ID mylv attr resize 0022 attr frame sunk // Give it a grid and allow the user to drag, drop & re-arrange // the lines - You can add more styles here.. attr style grid/arrange/drag/drop/arrange // Add some columns. The first one we state with a '#' // in front to indicate we mean the 1st column. attr LVCOLUMN '#Item/width/120/TITLE/Description' attr LVCOLUMN 'Units/width/60/TITLE/Units/TYPE/number/JUSTIFY/RIGHT' attr LVCOLUMN 'Amount/width/60/TITLE/Amount/TYPE/number/JUSTIFY/RIGHT' attr LVCOLUMN 'Total/width/60/TITLE/Total/TYPE/number/JUSTIFY/RIGHT' // show the line double clicked.. SetWinTitle #this 'SUM: $%Units x $%Amount = $($%Units * $%Amount)' // =========================================================== // This is a routine to add 100 records with various // meaningless values to the above listview. Note how // the fields can be used as normal variables. // =========================================================== xRoutine AddRecords local c use lv #this mylv // before we start, we HIDE the listview. This will // stop Gui4Cli from visually refreshing it every time // we add a record and will GREATLY increase the speed. // This will have no effect if the window is closed. // After we finish, we show it again.. setevent #this mylv HIDE for c 0 100 // add an empty record.. lv add '' // Fill the fields with various values.. %Item = "This is Item $c" %Units = $($c * 3) %Amount = $(($%Units / 2)*1000) %Total = $($%Units * $%Amount) endfor // Show the listview again, refreshing the display.. setevent #this mylv SHOW // =========================================================== // Right mouse button handling - Some menu choices.. // =========================================================== xOnRMB QuickMenu -1 -1 'Select All/Remove selected/Add 100 records/#sepa/cancel' use lv #this mylv docase $$choice case = 0 // Select All lv select all break case = 1 // Remove selected lv delete selected break case = 2 // Add some records.. gosub #this AddRecords endcase | |
Robert: 31-Mar-2005 | tabbing: How about a tabbing for "forms" and a tabbing WRT group-boxes. CTRL+TAB could jump out of the group box to the next field/group box and SHIFT+CTRL+TAB would jump backwards. | |
Robert: 31-Mar-2005 | splitter: adding a richt-click to reset splitter to original position. If users have screwed up their layout ;-)) | |
Robert: 31-Mar-2005 | tab: IIRC someone state it already. A scroll-able tab-heading. | |
Robert: 31-Mar-2005 | tab / group: Is the DATA part realy required as a structural element? What about this? tab-panel [ size 1000x300 "Tab1" [...] "Tab2" [...] The idea is to implicitly add a tab for each STRING! BLOCK! pair. ] | |
Pekr: 31-Mar-2005 | Rebol is so much free-form, that with something like VID, componentised (shared) feels, etc., you can get yourself into trouble and VID starts to look like a bit bloated, although it is really to say such thing about anything rebol related ... | |
Ashley: 31-Mar-2005 | Robert 1) Widget observations: all noted. LED is the read-only functional equivalent of 'check used for things like system status displays, etc 2) Tabbing (basic version) is slated for 0.1.8, more advanced features will have to wait until the base widget set is complete. 3) DATA is a required structural element to ensure widget specific initialization is performed by init *not* the display function. 4) Implicit face usage has two big advantages: a) allows you to cut and paste code between widgets; b) different widgets can share the same code. 5) RebGUI still lacks a few of the more complex list / table / menu / treeview type widgets. 6) Re: new projects. RebGUI is still ALPHA and the basic design may fluctuate as the requirements of more complex widgets becomes clearer. I wouldn't be building any commercial applications based on it quite yet (not until it goes beta at least). Pekr 1) Also remember that VID was created against a much earlier version of View, and that it is only recently that View functionality has stabilized. One example of this is the extensive use of 'draw by RebGUI compared to VID. 2) Tabbing, like key mapping, is less of a technical issue than a convention issue; but my aim is to be able to "drive" all RebGUI widgets both with and without a mouse (although the priority is to get the mouse behavior right first). | |
Geomol: 31-Mar-2005 | I see a funny behaviour with the check widget. Left-clicking, as fast as I can, is no problem. Right-clicking fails sometimes. It seems, a fast double-click isn't noticed. | |
Ashley: 31-Mar-2005 | Pekr: code will be shared where it makes sense, and it will be made obvious (i.e. no hidden or subtle dependencies). Geomol: It's a windows specific problem (probably trying to access a context menu or something first). I noticed this a while back when mapping left / right mouse clicks to zoom in / out ... works fine on Linux though. | |
shadwolf: 31-Mar-2005 | in all cases REBGUI is a good enhancement yet to VID :) | |
shadwolf: 31-Mar-2005 | but it's a 1 month alive project Ashley and Vincent have done most of the work alone so if ppl will give a hand and help ashley concretly by apporting code things could advance faster | |
shadwolf: 31-Mar-2005 | apporting code to any project is hard I understand this but a first step (what I try to do ) is to apport yet existing bunch of code that are fitted to REBGUI Ashley takes then the role of merger and last adapter. I hope this free some time for him to focus on work of the engine. | |
shadwolf: 31-Mar-2005 | Multitasking in rebol yes we have Francois Jouen that done a multitask system in REBOL script | |
Ammon: 31-Mar-2005 | Multi-tasking... Was making a about your comment that you can only do one thing at once. | |
Ammon: 31-Mar-2005 | I, for example, am working on porting my drop-down style and at the same time working on adding a refinement to Display to handle modal auto-closing dialogs... | |
Ammon: 31-Mar-2005 | Well, from my POV... Carl intended to have us build dialects that are better than VID. There have been several attempts so far but none of them have made it far enough to actually be ready for mainstream usage. I think that if we can actually produce a solid dialect that outperforms VID in enough areas then Carl will want to add it to the language or maybe even replace VID with it. | |
shadwolf: 31-Mar-2005 | so we need to improve rebgui to dialectise it but I am affraid this apport a slower renderer and a more consumtion | |
shadwolf: 31-Mar-2005 | I'am very badd in dialects so I can't be of any use all my dialectal creation approche was learn thru makedoc it's good but not enought to imagine and write a vid like application | |
Ashley: 31-Mar-2005 | Global Event System: looks like 'menu has to use it, and I don't know if we have a real alternative. One thing I've added to 0.1.8 is a 'keep function that lets you specify what widgets you wish to use and sets to none everything not used by those widgets ... so if more complex widgets require global events then so be it. Contributed code: I prefer simple code (that may need to be enhanced) over complex code (that may have to be pruned). Multi-tasking: The RebGUI engine is 90% where it needs to be so I'm spending most of my time on widget integration at the moment. View 2.0: We have to work with what we have, although I have made a concession to the future [AGG] with regards to RebGUI's use of draw in preference to image + effects. Dialectise RebGUI: It would be relatively easy to make the specification more VID-like by having each attribute specified with a distinct datatype (and moving duplicate datatypes such as an 'offset pair to a keyword such as 'at) but you pay a big price in code complexity and efficiency; and I'm not convinced that inferred attributes ("this is a 3-part tuple so it must be a color, while this is a 4-part tuple so it must be a span") make code legibility and maintenance any easier. None of this is to say I can't be convinced otherwise, this is why RebGUI is still ALPHA. ;) | |
shadwolf: 31-Mar-2005 | Contributed code: sure but yet existing amazing thing wasn't thinked to be added to RebGUI so If we want a good time average and retake yet existing widget. I think it can be seen as an omage to those ppl that spent lot of time try to implement this widgets. If we find a way to include them it's like we have a parternity and a real look over what exists in the rebol free community that"s a king of concretisation and that allow us to improve faster I don't think pruning ctx-menu is slower that redone the work from scratch ;). And As I say earlier that shows our consern and attention to what exists in rebol free community ;). Like "Thank you man you give us this widget now look what we can do with how it grow and how it became self dependent. If your still want to apport to it or have some ideas on it to share with us your very welcome" :) | |
Carl: 31-Mar-2005 | Personally, I think it would be very cool to have a non-RT GUI dialect that was better than VID, but just as flexible. I wrote VID in very short period of time, and it was disigned for more than what it is typically used for. For example, VID is written in such a way that it makes it easy to write something like the Layout script -- because you can return to the original VID source code from the face itself. | |
Carl: 31-Mar-2005 | Good to be here. Had a few minutes extra, since there is a huge storm going on in this part of Florida, and everything is runing behind schedule. | |
Carl: 31-Mar-2005 | If I had a lot more time, I would be doing a lot more work on VID, because the few missing styles are really annoying. So are the few areas like moded-dialogs that need more work..... as does the default text editing code. | |
shadwolf: 31-Mar-2005 | CArl I'am agree with you VID is a very amazing system no challenge with it in any other langagues ... But The first thing that came to us when we show VID based GUI is " why does this window looks so wired..." The fact that I spent on in less time than in other langage (even IDE compositor based) is not relevent for the non programmer or informatic nerd (sorry for the nerd word ...). What he want is what he knows GUI that are sharp designed but in the convention he knows hehehehe ;) | |
Carl: 31-Mar-2005 | I'm thinking that if I can find someone who wants to work on VID, I will actually find a way to pay for that, you know-- it is that *important* for it to be fixed. | |
shadwolf: 31-Mar-2005 | look WinXP some people consider it as a renoval and tru novety but showing them GNOME/Linux/ Enlightenment based interface and desktop they turn mad ;) | |
Carl: 31-Mar-2005 | Yes.... those KDE/Gnome folks have done a nice job these days -- it would be great to get some people like that working on REBOL GUIs -- that would be used by many REBOL users. | |
Carl: 31-Mar-2005 | I think that each time we tried to improve VID as a group, we got stuck because we tried to add too many things and make it too general. There are many improvements that I like, but in the end, it is more important to get them released than to make them perfect in every way. | |
shadwolf: 31-Mar-2005 | Carl sure but in this point of view you loose attraction for RT ... and View vm grow grow and needs external things to be polished or to insert more evoluated (in the spirit of a user whan you have a menubar and a icon dockable bar it's evolued when you get them transparent it's even more evolved :) ) | |
shadwolf: 31-Mar-2005 | I think feed it other is a good tactics that allow us to rethink some issues and you to get evolve too the existing system claiming that we still are in the Keep it simple ability ;) | |
Carl: 31-Mar-2005 | I am hoping that when REBOL/Coop goes online, we will have a good way to deal with these issues. We will be posting a lot of REBOL code (and C code too) for developers who feel that they can make them better in various ways that are most important to them. In other words, if Pekr wants the REBOL console to scroll better, then he will have access to make that happen. | |
shadwolf: 31-Mar-2005 | I'm certain this will start a newer trade impact and even attrack those borring people that do all the day clic and sell apps ;) | |
shadwolf: 31-Mar-2005 | making art deals with beauty not with capitalism :) But sure in this materialist word if you can sell your art at a good price it's even better but that's not the main purpose ;) | |
shadwolf: 31-Mar-2005 | Carl me too that's why I'm support REbGUI and I was claiming for a such ambisious project since many time ;) | |
shadwolf: 31-Mar-2005 | instead of carring in our hown corner our little tasks it's better to try to merge our knowledge that's not new GNU and other free software projet/foundation are doing it yet (like blender what amazing software ... think of it it is a very hudge project and ambisous (it's using PYTHON API to make script what could be done using rebol in blender 3D renderer software for scripting ??? )) | |
shadwolf: 31-Mar-2005 | REbGUI has a simplicity in it that most of other intens doesn't have that's a good point to hope for futur improvements ;) | |
shadwolf: 31-Mar-2005 | being simple is not only a better CPU usage but it offers too some rest and easy path to our totured brains ;) | |
Robert: 1-Apr-2005 | Maxim, how about using RebGUI as a base? Or are you already looking into this? | |
shadwolf: 1-Apr-2005 | hum depending on the size if it's low sized you can put it on rebol.org with a comment and naming it ARROW4REBGUI.R for axample | |
Gregg: 1-Apr-2005 | I'll need to look at dust it off a bit I think. If you don't see it, via mail or on REBOL.org, in the next few days, please ping me on it. | |
Gregg: 1-Apr-2005 | Chris noticed that under AGG things are a bit blurred since we use draw commands. | |
shadwolf: 1-Apr-2005 | Asley if you want to have a look to it it's here (no adapted to RebGUI yet ;) maybe tomorrow or sunday comming with a dropdown first implementation at the same time if I have enought time ;) ): http://shadwolf.free.fr/arrow-RebGUI.r | |
shadwolf: 2-Apr-2005 | I work a some time on the porting of arrow widgets basing me on gregg submition ;) you can find it there: http://shadwolf.Free.fr/arrow-RebGUI-port.r some work must be done ;) but I think Ashley could understand more than me what is needed ;) | |
PeterWood: 3-Apr-2005 | Ashley, it would be really interesting to learn why you decided to write RebGUI and how you went about doing it. It would make a great article for Rebol.org. | |
PeterWood: 3-Apr-2005 | It would still be great to read a short article from Ashley. | |
Ashley: 3-Apr-2005 | My post of 2-Mar-2005 in the View group which kicked things off: Which leads (sort of) to my next question. Does anyone think it is worth developing a simple, high-performance, low-memory GUI alternative to VID? The aim would be to have it built on View from the ground up such that you could (for example) use enface / rebface (or equivalent) without needing %view.r (and the over 120 KB of mezz it pulls in). If there's sufficient interest I'll document and release the Alpha implementation I have. I'll jot down a few notes for an article before I forget too many of my streams of thought. ;) | |
Gabriele: 3-Apr-2005 | Chris: i think that your example above turned out being a bug in gamma handling in earlier versions of view/agg. i'm not sure if it's the same on the latest version (especially if you adjust gamma properly for your monitor - the default should be ok for crt monitors i think) | |
Scot: 4-Apr-2005 | Ashley. I would suggest talking to Maxim...I think he may have quite a few of those things worked out. | |
Vincent: 4-Apr-2005 | a security issue with new password field: with the use of ctrl-left / ctrl-right, spaces in hidden string are easy to find. | |
shadwolf: 4-Apr-2005 | Have a nice try ;) It was my birthday today 4/4/5 I reatch 28 yo ... Damn !!! | |
shadwolf: 5-Apr-2005 | My actual effort in dev leads me to rebGUI project so MDP-GUI is in pause until rebGUI reatch stability then I would make a brand new version of MDP-GUI including the RebGUI look&feel. Once all this work will be done I could switch back to "One render/input window" problem :) | |
shadwolf: 5-Apr-2005 | But as you say it normand it's not an easy topic so being able to solve it will be in my opinion a community effort because we need a little more than TDM (to render tables for example... ) | |
Maxim: 5-Apr-2005 | is there a one-liner I can type on rebol console I can use to see something built with rebGUI. just curious how it looks and feels... | |
shadwolf: 5-Apr-2005 | so things like view layout [ btn "EXIT" [quit]] would be writed in more than a sigle line in REBGUI ;) | |
shadwolf: 5-Apr-2005 | Ashley : Chris made a minimalistic version of the arrow widget based on my actual version HERE IS THE LINK: http://www.ross-gill.com/r/arrow-RebGUI-port.r about 100 lines ;) | |
Ashley: 9-Apr-2005 | Latest build available at: http://www.dobeash.com/files/RebGUI-019.zip Highlights include: - Integrated language localization (see http://www.dobeash.com/it/rebgui/locale.html) - New arrow widget (run %arrow.r to see it in action) - Use of as-pair - Minor updates to pwd-field - title-group simplified Known issues - radio-group fails under 1.2.1 and rebface 1.2.10 (but not view oddly enough). Comment / uncomment radio-group block under %tour.r to see. - Need a "safe" implementation of 'construct for 1.2.1 | |
Ashley: 9-Apr-2005 | Pekr: It's all explained in http://www.dobeash.com/it/rebgui/locale.html Brock: radio-group does this already (set of mutually exclusive choices) and I was contemplating a check-group widget which uses the data attribute to store a block containing state information for each check-box in the group. shadwolf: menu and tabbing are still WIP. The arrow widget is integrated into %widgets.r, I just ran out of room (> 1024 pixel width) with the current %tour.r. Once the scroller and spinner widgets are complete I'll redo %tour.r breaking it down into sub-widget categories (the real solution is to enhance the tab-panel widget but one thing at a time). | |
Brock: 9-Apr-2005 | Since you are also responsible for RebForms maybe this can be a feature request. In .Net, you can have a form Validation Control, that confirms all of the validation checks on the fields of the form. You are also allowed to indicate for each form element, whether it is to be included in the form-level validation or not (ie, free form text fields typically don't need validation). | |
Ashley: 9-Apr-2005 | Brock: validation is also on my ToDo list (you can see the beginnings of it in the field widget character length limits). A couple of questions though (both how it is done in .Net and how it *should* be done in RebGUI): What's the granularity of the validation? Does it allow the specification of a mask (e.g. for phone numbers)? Is it validated as I type, when I leave the field, or when I save the form? (Or is it flexible enough to let me choose the level of validation?) shadwolf: Haven't really thought about it much, but I figured the tab-panel redraw feel was a logical place to do the work. | |
shadwolf: 9-Apr-2005 | oki thank you I will try to implement it if I have a succefull code I'll share it with you | |
Vincent: 10-Apr-2005 | Proposal: IMHO, it would be better to use the VID convention for auto-size: negative size -> auto-size as 9999 can lead to weird errors and crashs, if someone set dimensions to 999x999, or worst 99999x99999 . ...and 10k screen size isn't that improbable (the size of a virtual screen can be that big!) | |
Ashley: 10-Apr-2005 | The "+" version of as-pair has fixed all the 1.2.1 crashes (and got rid of a few 1.2.1 specific work arounds). | |
Vincent: 10-Apr-2005 | The memory leak is a known behaviour. The memory allocated is free by the GC after a total of 1 - 2 megabytes. http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-display-thread.r?m=rmlYRJQ | |
Ashley: 10-Apr-2005 | I was wondering when someone was going to ask about the whole 9999 thing. ;) It's an optimization to avoid a redundant size assignment prior to 'size-text but has the problems you quoted. I'll probably change it back to -1x-1 in the next build or two. | |
shadwolf: 11-Apr-2005 | in it the arrow/action is not done when we make a click on them ... pretty anoying for the rest ... | |
shadwolf: 11-Apr-2005 | tab-panel: make face [ color: none pane: [] l-arw: none r-arw: none dir-buttons: false feel: make default-feel [ redraw: function [face act pos] [test-size test-wid] [ if act = 'show [face/pane/1/size: face/size - 0x20 ; ; test-wid: face/pane/1 ; test-size: test-wid/size/x ; if greater? test-size face/size/x [ ; either not dir-buttons [ ; dir-buttons: true ; insert tail face/pane face/l-arw: make arrow [ ; size: 20x20 ; offset: as-pair (face/size/x - 40) 0 ; data: 'left ; action: [print "you clicked left" ] ; ] do face/l-arw/init ; insert tail face/pane face/r-arw: make arrow [ ; size: 20x20 ; offset: as-pair (face/size/x - 20) 0 ; action: [print "you clicked right" ] ; data: 'right ; ] do face/r-arw/init ; ][ ; face/r-arw/offset: as-pair (face/size/x - 20) 0 ; face/l-arw/offset: as-pair (face/size/x - 40) 0 ; ] ; ] ; print "la liste des bouttn est plus grande que ce que l'on voit!!!" ] ] ] init: has [tab-offset last-tab] [ ; create main display area insert pane make face [ offset: 0x20 edge: default-edge] ; add tabs tab-offset: 0x0 insert tail pane make face [ offset: 0x0 pane: [] color: none ] container: last pane insert container/pane make face [ offset: 0x0 pane: [] color: none] foreach [title spec] data [ insert tail container/pane/1/pane make face [ offset: tab-offset size: 1x20 pane: [] text: title effect: reduce ['round edge-color 5 'draw copy []] resize: none font: make default-font [align: 'center valign: 'bottom] para: default-para feel: make default-feel [ over: func [face act pos] [ either act [ insert face/effect/draw compose [ ; compose required for AGG betas pen over-color line 3x1 (as-pair face/size/x - 4 1) line 2x2 (as-pair face/size/x - 3 2) line 1x3 (as-pair face/size/x - 2 3) ] show face ][ if face/parent-face/parent-face/parent-face/pane/1/pane <> face/data [ ; clear unless selected clear face/effect/draw show face ] ] ] engage: function [face act event] [pf old-face] [ if event/type = 'down [ pf: face/parent-face pf3: pf/parent-face/parent-face if pf3/pane/1/pane = face/data [return] ; has a new tab been selected? clear face/effect/draw old-face: pick pf/pane pf3/data ; find previous tab old-face/resize: pf3/size ; remember last size old-face/size: old-face/size - 0x1 ; deflag old clear old-face/effect/draw face/size: face/size + 0x1 ; flag new face/feel/over face true 0x0 pf3/data: index? find pf/pane face ; set new pane# pf3/pane/1/pane: face/data ; init tab panel if pf3/size <> face/resize [ ; recursive resize span-resize pf3/pane/1 pf3/size - face/resize face/resize: pf3/size ] show pf3 ] ] ] ] last-tab: last container/pane/1/pane last-tab/size/x: 10 + first size-text last-tab ; set tab title width display/layout "" spec last-tab ; generate tab spec into tab pane last-tab/data: last-tab/pane ; swap pane into data last-tab/pane: none ; clear pane last-tab/resize: size ; original panel size tab-offset/x: tab-offset/x + last-tab/size/x ; set offset for next tab title ] print "size et countainer a la con !!" probe size/x container/size: as-pair size/x 20 probe container/size/x container/pane/1/size: container/size container/pane/1/pane/1/size: container/pane/1/pane/1/size + 0x1 ; flag 1st tab data: 1 ; set pane# pane/1/pane: container/pane/1/pane/1/data ; init tab panel container/pane/1/pane/1/feel/over container/pane/1/pane/1 true 0x0 ; flag first as active ] ] | |
shadwolf: 11-Apr-2005 | now I have a new bug the 2 last header button are inserted into the secon tab-panel (the demo one ;) )) | |
shadwolf: 21-Apr-2005 | ASHLEY LOOK TO PRIVATE FOR A SCROLLER WITH NONE JITTERRING DRAGGER IMPLEMENTATION. | |
Gregg: 21-Apr-2005 | Excellent Shadwolf. Glad to see things are still active and progressing on this. I wish I weren't so busy at the moment, and I hope the community will help to make RebGUI a model for future projects. | |
Ashley: 24-Apr-2005 | Alpha2 build available at: http://www.dobeash.com/files/RebGUI-020.zip Highlights include: - New, unit based sizing model (see http://www.dobeash.com/it/rebgui/display.html) - Improved language localization (see http://www.dobeash.com/it/rebgui/locale.html) - New arrow, chevron, check-group, led-group, scroller, spinner and drop-list widgets - Lots of minor fixes - show redefine removed - Use of -1 instead of 9999 to denote auto-size - Aesthetic improvements (use of gradients) - %tour.r substantially rewritten Known issues - spinner and drop-list widgets need more work - scroller needs more work (resizeable dragger) In progress - Improved tab-panel (shadwolf) - Menu (cyphre / shadwolf) - tabbing - field input validation (field input masks, etc) That leaves less than half a dozen widgets to go! list single column listview multi-column treeview popup-menu context menu status status bar with one or more “segments” | |
Robert: 24-Apr-2005 | Great stuff!! One question WRT fields uses in specification and runtime, for example LED-Group. Is it possible to alter the led-group content? Adding or removing possible entries in it? Or is this a one-time action when the widget initializes? | |
Group: SQLite ... C library embeddable DB [web-public]. | ||
Ingo: 5-Apr-2006 | Uuups, seems I fed the wrong data ... guid1 in the previous post was not the full guid as a thought, but the first character of said guid. | |
Ingo: 5-Apr-2006 | So, the error in one small message: >> sql ["select * from person where guid = ?" #"a"] ** Script Error: length? expected series argument of type: series port tuple bitset struct ** Where: switch ** Near: *bind-text sid i val length? | |
Ashley: 5-Apr-2006 | If you're using CONNECT/direct then char is not an available datatype (and you would have had the same problem trying to insert a char). What does the raw data look like? I suspect it is: {#"a"} | |
Robert: 7-Apr-2006 | Ok, there seem to be some companies that offer special SQLite DLLs. Ashley, maybe you can have a look to see if the DLL interface is compatible? I think there shouldn't be big changes necessary. Take a look at: www.sqlcrypt.com | |
Robert: 7-Apr-2006 | Yes, but for querying I need to encrypt the data as well to be able to select it. Don't know if this is a big performance hit. | |
Ashley: 7-Apr-2006 | If it's only TEXT types you need to encrypt then we could always add a /secure refinement to CONNECT that would force encrypt / decrypt on all TEXT bind variables. Performance wouldn't be too bad as values would only be encrypted [once] on INSERT and SELECT, the actual query (which could potentially hit millions of rows) would be comparing encrypted strings and would only need to decrypt strings that form part of the result set. Very similiar to the overhead that MOLD/LOAD currently incur when not using the /direct refinement. | |
Graham: 7-Apr-2006 | Does sqlite have a "like" command for searching within text fields ? | |
Robert: 8-Apr-2006 | IMO encryption should be on a lower level, on the file level. I don't want to care about using encryption in my application, I just want to set a flag that the database file gets encrypted. | |
Robert: 8-Apr-2006 | Background: I'm building up a massive benchmark database for cost data. And I need to encrypt all information in it. | |
Robert: 22-Apr-2006 | The SQLite docs say: If the optional IF NOT EXISTS clause is present and another table with the same name aleady exists, then this command becomes a no-op. | |
Robert: 23-Apr-2006 | Did anybody tested to open sqlite.r generated databases with a database manger? I can't. In one tool I can see the database but not tables, even I have created one. | |
Ashley: 23-Apr-2006 | anybody tested to open sqlite.r generated databases with a database manger? Not sure what you mean here. The following works fine for me: c:\> sqlite3.exe my-db.db docs state that I get back the number of columns and rows ... no longer the case (docs need to be updated) Most efficient way to get number of rows is sql "select count(*) from my-table" Number of columns can be found by: (length? describe "my-table") / 6 I can't get back the columns name ... use the DESCRIBE command, or CONNECT/info (which then populates sqlite/columns and sqlite/widths for every query; or alternatly, set sqlite/col-info? true / false for a particular query). | |
Ashley: 23-Apr-2006 | A simple rows function: set 'rows make function! [ "Return row count." table [string!] ][ first sql/flat/direct reform ["select count(*) from" table] ] just add it to the body of the sqlite context. | |
Robert: 24-Apr-2006 | WRT encryption. I found one implementation (you need to buy a license) that supports transparent encryption. IIRC I posted the link some time ago. I will have a look at the C code and there at the storage stuff to see how hard it is to add an AES encryption of storage pages. IMO it can't be that hard. | |
BrianH: 30-Apr-2006 | I was just reading the User Guide on that site and I noticed that there were some parts of the docs on the DESCRIBE function that you seemed to have some questions about, particularly the meaning of some of the returned columns. (Sorry if I am in error about that.) - On the table column listing, the notnull column refers to whether you are allowed to insert a NULL in that column. The pk column tells you whether the column is a primary key. Primary keys in SQLite are always integer and are their way of doing autonumber fields. - On the indexes listing, a unique index also makes sure that the combination of values that the index applies to won't be duplicated in the table. | |
Ashley: 30-Apr-2006 | Thanks, I've updated the page (replacing my shorthand for a flag, ?, with the word flag). If anyone has a description of the columns for FKeys just holler and I'll add it in. | |
BrianH: 1-May-2006 | No, this is a diagnostic table generated by a pragma statement. It isn't really a table internally. Still, the key for this "table" is (id,seq) and it is generated by a pragma that takes the table name as a parameter, so it is a seperate "table" for each real table. | |
BrianH: 1-May-2006 | It really is a linked list internally - that's why I called it that :) | |
BrianH: 1-May-2006 | Each "row" of the "table" refers to a column referenced by a foreign key that may refer to more than one column. | |
BrianH: 1-May-2006 | And a table may have more than one foreign key. | |
BrianH: 1-May-2006 | Still, you could make a tool that actually read these foreign keys and checked them externally if you want... | |
BrianH: 1-May-2006 | It's kind of cool really when you read how this is done. I guess things can be a lot more interesting for a single-user embedded database engine. You can see where SQLite gets its high performance. | |
Robert: 1-May-2006 | I have to take a look at the C code. But #pragma stuff is compile time... | |
BrianH: 1-May-2006 | No, not C pragma, a set of PRAGMA statements that SQLite extensions to SQL, for settings and diagnostics. | |
Robert: 8-May-2006 | Q: If I have a table with let's say 1 million records and I do a query that returns 250.000 records as result set. Do I get all of them copied into Rebol? Or can I access this result set "pagewise"? | |
Robert: 8-May-2006 | So, what can be done is SELECT ... LIMIT n OFFSET m. At least this can handle the result set in defined block sizes on the application level. Of course paging requires a new query each time. |
10001 / 64608 | 1 | 2 | 3 | 4 | 5 | ... | 99 | 100 | [101] | 102 | 103 | ... | 643 | 644 | 645 | 646 | 647 |