revlet newbie questions
So I'm just now playing with revlets, and was hoping to be able to convert an existing desktop app to a revlet, just as kind of a proof of concept thing. So far I'm striking out. Running on a Mac, OS X 10.6.2, it's totally locking up Firefox and, while Safari doesn't lock up, the revlet doesn't load properly. I just get a blank screen. This is a fairly complex desktop app, basically a front end to a mysql database, so I'm sure there is simply code in there that will not run in a revlet. So I'm wondering, is there a good, single source out there somewhere that lists what works and what doesn't work in a revlet? Things to avoid in revlets? One thing I discovered is that the go stack command is supported in a revlet, but I can't seem to make it work unless I use the go stack in window form. Is that the only way to do it? This app consists of several stack files, not substacks of one main stack, but rather several main stack files that are opened and closed depending on what the user is doing. Is that a problem in a revlet? Is it necessary to build each stack file into a revlet, or can they remain in their regular stack file and still be loaded using go stack from the first stack, which would be built as a revlet? I've noticed in the Rev documentation that the Class column lists whether or not handlers work in a revlet, but is there some way to filter the list? I don't seem to be able to. The search field seems to only search on the handler/property names. What would be really nice, and I suppose I could do this myself if I had the time right now, would be a little plugin for Rev that could scan through an open stack and spit out a list of the incompatilities with revlets that appear in that stack. Any takers? If not, can someone point me to a step-by-step revlet guide? Hopefully I'm not asking too much. :-) Thanks, Chris -- Chris Sheffield Read Naturally, Inc. www.readnaturally.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: revlet newbie questions
On Sat, Feb 20, 2010 at 3:27 AM, Chris Sheffield cmsheffi...@gmail.com wrote: So I'm just now playing with revlets, and was hoping to be able to convert an existing desktop app to a revlet, just as kind of a proof of concept thing. So far I'm striking out. Running on a Mac, OS X 10.6.2, it's totally locking up Firefox and, while Safari doesn't lock up, the revlet doesn't load properly. I just get a blank screen. This is a fairly complex desktop app, basically a front end to a mysql database, so I'm sure there is simply code in there that will not run in a revlet. So I'm wondering, is there a good, single source out there somewhere that lists what works and what doesn't work in a revlet? Things to avoid in revlets? One thing I discovered is that the go stack command is supported in a revlet, but I can't seem to make it work unless I use the go stack in window form. Is that the only way to do it? This app consists of several stack files, not substacks of one main stack, but rather several main stack files that are opened and closed depending on what the user is doing. Is that a problem in a revlet? Is it necessary to build each stack file into a revlet, or can they remain in their regular stack file and still be loaded using go stack from the first stack, which would be built as a revlet? This would concern me. Can you check that the extra stack files are actually compiled into the revlet. Could the lock up be happening when an external stack file should be loading? At the moment, you can only open a new stack in the same window, unless you make multiple revlets in which case they can open in the same browser window so long as you set the instance IDs to the same number. There is an example on the revWeb site on how to do this. Cheers, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: revlet newbie questions
Chris Sheffield wrote: So I'm wondering, is there a good, single source out there somewhere that lists what works and what doesn't work in a revlet? Things to avoid in revlets? I don't think there is a comprehensive reference yet, since the revlet engine is still being revised and some limitations may be lifted provided work-arounds can be implemented. A big part of the problem is how various browsers handle different things, and some capabilities just aren't possible with current browser implementations. What I know about so far are: 1. Only one active window at a time, as both you and Sarah noted. You can alternately display more than one window in the same browser page. But opening an external (secondary) window is not currently possible. RR was looking into the new Firefox release to see if that would allow such a thing, but even if it does, IE and/or Safari may not. So to be safe, don't use more than one revlet window. Ask and Answer dialogs were hacked to allow display, since so many stacks use those, but it's a hack that still isn't perfect. In particular, the user must manually focus on the window by clicking in it before any objects inside will activate. 2. Custom cursors: not supported. This includes cursors the Rev engine uses (busy, watch, etc.) For now, we only have the default browser cursor. 3. Quicktime and CoreImage visual effects are not supported. QuickTime players are only supported in alwaysBuffer mode - this means the controller will not work. On the up side, there have been a few threads here about reading QT movies or other files from the local hard drive. No one was able to do it, and the work-around for regular files was to use URL syntax to put the file into the revlet. I've since found out that if you use a fully qualified file reference, you can retrieve QT movies from the local drive, and I think other files as well. Don't use normal Rev file references (i.e.: user/folder/file.mov). Instead, use a fully qualified file reference similar to an http reference: file:///user/folder/file.mov -- note the 3 slashes, indicating localhost If you refer to QT files that way they can be used as the filename for players in revlets. This discrepancy is due to the automatic relative referencing that Rev uses when looking for files on disk. They are going to fix that so that in the future we can use file references we're used to for local file access in revlets. For now, the above works. You still can't play movies with an active controller though, but you can use start and stop player commands normally to manage playback. -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Dumb Newbie Questions -- 4 of N
As we are now getting postings about 'shell access' (err, something about turtles?), and 'termite eradicators' (err, debuggers?), as well as discussions about how the programming language/IDE we all know and love (err, xTalk, RevTalk, Transcript, Revolution) came to be the way it is; how long is it until we see people taking sides in terms of Creationism (all done in one fell swoop by Bill Atkinson) and Evolution? There were even a few postings (Judy ???) a while back about 'the dark lord', a.k.a. the lord of light. I would favour a much neglected 19th century theory, where after a benign deity sets the ball rolling, s/he returns in the form of various incarnations/avatars to gently give things a corrective nudge in the desired direction. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 4 of N
Say what?!? (I've not had my caffeine yet!) Judy On Mon, 4 May 2009, Richmond Mathewson wrote: There were even a few postings (Judy ???) a while back about 'the dark lord', a.k.a. the lord of light. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 4 of N
Recently, Judy Perry wrote: Say what?!? Judy, consider this just another stop on the magical mystery tour, as Colin H so amusingly posted recently. Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 4 of N
Umm: http://mail.runrev.com/pipermail/use-revolution/2009-March/121144.html Because Scott Raney had absolutely no use for it and lied that sound channels and/or HC-like musical scripting couldn't be supported under Windows IIRC. And I'm still plenty steamed about that. sounds like a touch of 'the dark lord' there. :) Judy Perry wrote: Say what?!? (I've not had my caffeine yet!) Judy On Mon, 4 May 2009, Richmond Mathewson wrote: There were even a few postings (Judy ???) a while back about 'the dark lord', a.k.a. the lord of light. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 4 of N
Magical Mystery Tour indeed... On Tue, 5 May 2009, Richmond Mathewson wrote: Umm: http://mail.runrev.com/pipermail/use-revolution/2009-March/121144.html Because Scott Raney had absolutely no use for it and lied that sound channels and/or HC-like musical scripting couldn't be supported under Windows IIRC. And I'm still plenty steamed about that. sounds like a touch of 'the dark lord' there. :) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 3 of N
Coming from Scotland, on going to the USA (1993) I learnt about Hypercard and what a 'pancake stack' was simultaneously. I Scotland we tend to eat our drop scones individually. I have always thought of a Hypercard/Supercard/Metacard/RR stack as a stack of playing cards (can't think why); having started with making holes in Hollerith cards that was a fairly easy conceptual move. And, by-the-by, in Scotland, we tend to refer to 'top shelves' when talking about your third example. :) As a middle-aged man, I am working extremely hard on developing either a 'central shelf', or a 'middle stack' ! What my pupils in my school refer to as my 'twins'. Jim Bufalini wrote: Jacques Hausser wrote: ...Every name in our pet programming language is an analogy: you don't plow your fields, you don't fasten your buttons, and you cannot tear your cards in little bits (sometimes I wish to do just that ! ). And, to mention a linked question, in my view parent script, whith it's heritability dye, was not less logical than behavior, just emphasising (good english?) another characteristic of the same feature. I don't see one nickname as more logical than the other one. And, let's not forget Stack. I mean what does that have to do with pancakes, chimneys, or well-developed women? ;-) Aloha from Hawaii, Jim Bufalini ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 3 of N
Mind you . . . The only real reason I can see for using a custom property as opposed to an 'on the fly' variable is that a custom property is non-volatile. The only real reason I can see for using a custom property as opposed to a field is that everything moves just that much faster. So, until I feel the need to write a stack/standalone that churns its way through buckets of indigestable data at high speed I shall probably go on in my own reactionary fashion with off-screen fields. If one wishes to view a property as a container containing a value, as well as viewing objects as containers then the container metaphor is still valid, although, like anything else, is probably not endlessly extensible. Once pushed to its reductio ad absurdam (which may be nearer than we all realise) its weaknesses will show up. Russian dolls, Russian dolls, Russian dolls . . . [ matrioshki ] -- Ugh, back the paracetamol and the ginger tea. However, a dose of influenza does have the saving grace that it gives one bags of time for the sort of introspective thinking these sort of discussions require. :) Judy Perry wrote: Aha! Now THAT's something I could find useful! (celebrating little aha moment). Thank you! :-D Judy On Sat, 2 May 2009, J. Landman Gay wrote: Let's try something simple. Suppose you have a card with lots of buttons that the user can move around; maybe your script uses the grab command to let them drag the butons. Now you want a way to reset the card to its native state that puts all the buttons back to their original positions. Buttons have a loc property, but that only stores the current position of the button at this moment, and the engine will update that value every time the button moves. There isn't any native property that tells you where the button started from, but we can make a custom property that does that. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 3 of N
Richmond Mathewson wrote: Mind you . . . The only real reason I can see for using a custom property as opposed to an 'on the fly' variable is that a custom property is non-volatile. The only real reason I can see for using a custom property as opposed to a field is that everything moves just that much faster. I'm curious now. If you wanted to create a moveable button scenario like my example does, what method would you use to store their start locations and move them back later? -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 3 of N
This is all about the name, eh, not the elegant and compact functionality? I suppose one would make a field that contained the id's of the objects, a space, perhaps, the startLoc, another space and the endLoc. One line per object. You can then put and get all the data as needed. It is what I would do in HC. There, i said it. But a customProp is SO much more elegant that I know this debate will be over soon. In fact, as soon as some need or other arises in the development process, which should be any minute now... Craig Newman In a message dated 5/3/09 1:22:46 PM, jac...@hyperactivesw.com writes: I'm curious now. If you wanted to create a moveable button scenario like my example does, what method would you use to store their start locations and move them back later? ** Access 350+ FREE radio stations anytime from anywhere on the web. Get the Radio Toolbar! (http://toolbar.aol.com/aolradio/download.html?ncid=emlcntusdown0003) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 3 of N
Just before I left Scotland for Bulgaria (2003ish) Klaus Major took me to task for my distinctly in-elegant coding; and, frankly, it still is fairly inelegant. But I'm the chap that wears second-hand clothes, uses second-hand computers, and isn't that fussed about what people think about him (although, oddly enough, I do care about my wife's opinion) as long as I can achieve my aims. If I were designing programs for an employer (rather than myself) I would take great care about the nature of my code (a thing I have done in the past, when I was not my own boss), in-code documentation (so, when the number 10 bus squashed me flat my successor could have half a chance at continuing my work) and would also wear a pressed shirt, trousers and tie (instead of a tatty old kilt). I might, just possibly, polish my shoes. :) This is fast becoming a 'world view' discussion, rather than one about whether one can get away without custom properties forever (or, at least as things stand just now). Elegance is jolly nice, but elegance often involves more thought, more time, and more money. Now, this Merry May Holiday (1 to 6 of May here in Bulgaria - paid for by working several Saturdays later in the month), while I have had a Merry May Influenza with a Merry May Temperature of 102 degs F I have 'belted out' a fair old number of quick 'n' dirty standalones for LInux that will guide my log-suffering pupils through the niceties of converting Direct into Reported Speech, Adverbs of Frequency and Careers. Had I stopped to worry about 'elegance' I would have got bogged down before I started. Feverish, I worked feverishly I also spent considerable time working with GIMP to make sure that the imagery in my teaching programs, as well as the general GUIs was up the the standard I expect of myself: THIS IS WHAT THE END-USERS SEE, not my tatty code! I am a lucky man; no boss, my own children do the beta testing, and as I use 'tatty, old PCs' speed of code execution is not of the essence. - I do not dispute the elegance of custom properties, speedy code, keeping things in one place (rather than a string of: do fld blob do fld blab do fld blub and so on, ad nauseam), but as I get paid for the time that I teach, rather than the time I program, and I would much rather spend my time in forny of the computer writing long, tendentious messages like this . . . :) . . . and learning more about Runtime Revolution's seemingly endless capabilities, I can't be bothered with elegant code. sincerely, Richmond Matheswon. dunb...@aol.com wrote: This is all about the name, eh, not the elegant and compact functionality? I suppose one would make a field that contained the id's of the objects, a space, perhaps, the startLoc, another space and the endLoc. One line per object. You can then put and get all the data as needed. It is what I would do in HC. There, i said it. But a customProp is SO much more elegant that I know this debate will be over soon. In fact, as soon as some need or other arises in the development process, which should be any minute now... Craig Newman In a message dated 5/3/09 1:22:46 PM, jac...@hyperactivesw.com writes: I'm curious now. If you wanted to create a moveable button scenario like my example does, what method would you use to store their start locations and move them back later? ** Access 350+ FREE radio stations anytime from anywhere on the web. Get the Radio Toolbar! (http://toolbar.aol.com/aolradio/download.html?ncid=emlcntusdown0003) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
It may be, of course, that the containers, cards and flip-book metaphor have had their day. It is obvious in this discussion that those of us who have hung on to it too literally have found ourselves confused. However, unless we (the loyal, installed user base) and Runtime Revolution (the people who do the 'real' work in Edinburgh) can work our way towards another metaphor to replace the one that we are slowly finding no longer serves our purposes we are going to find ourselves in some sort of conceptual quagmire; and, frankly, people who take up Runtime Revolution are going to find it less accessible. The problem about the word 'property' is that it now seems to be being used in 2 rather different senses, and I don't see how 'custom' can be classed as a sufficiently strong adjectival modifier to justify that difference. There is no reason that I can see to abandon the containers, cards and flip-book metaphor (even if, increasingly, programmers are only using a single card) if we realise that: An Object (Stack, Card, Button, Field . . . and so on) can 'contain' a number of things: script sub-ordinate objects etc. and, 'custom properties'. :( An Object can have properties (textColor, backgroundColor, visible . . . and so on). The ONLY problem is that something named 'property' is something that can be contained rather than be a property: so, either, somebody has to cook up a new name for 'custom properties' (err . . . 'custom thingy' . . . err . . . come on, somebody can do better than that), or, somebody has to write a fairly long bit about how users have to do mental backflips. Of course, if you did not 'cut your teeth', or, at least 'cut your adult teeth' (having ruined your milk teeth on the likes of Fortran) on HyperCard and the containers, cards and flip-book metaphor, and you are not distracted by the stuff about that metaphor in RR's documentation, the whole problem is redundant. --- The other problem is that I just had a look at a website marketing a programming environment that stated: The unique English-like language . . . [my dots] Now, if we start using words (such as 'property') for things or ideas that are way off from their standard or prototypical meanings there is a danger that we shall fall into Humpty-Dumptyism (c.f. Lewis Carroll's 'Alice in Wonderland'); and the 'unique' part of that quote above will only serve to obfuscate rather than clarify. --- Scott Morrow wrote: On May 1, 2009, at 1:50 AM, Scott Rossi wrote: You can think of custom properties as global variables that are tied to objects, instead of variables that float around in space. That's exactly how I think of them. Just containers. Except variables float around in space (local space or global space rather than outer space), where custom properties you have to say where the container lives (button 3 of card 1 or stack MainWindow rather than in the shed) Scott Morrow Elementary Software ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Dumb Newbie Questions -- 3 of N
I set up a stack with a button Holder which contains 3 custom properties: dataDish custardPie sexyMessage containing, respectively, tab-delimited data, a number, and a string. All very straightforward . . . However, when I tried this: on mouseUp put the customProperties of btn Holder into fld fPROPS end mouseUp nothing happened, and, confusingly, I had to do this instead: on mouseUp put the customKeys of btn Holder into fld fPROPS end mouseUp at which point I got a list of the names of the customProperties of button Holder. Dumb Q: why do we have to use 'customKeys', while 'customProperties' refers to something else? 'userProperties' doesn't seem particularly clearer. 'customPropertySet' made me run away into the kitchen for a strong cup of coffee: Great fleas have little fleas upon their backs to bite 'em, And little fleas have lesser fleas, and so ad infinitum. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 3 of N
Le 2 mai 09 à 10:51, Richmond Mathewson a écrit : However, when I tried this: on mouseUp put the customProperties of btn Holder into fld fPROPS end mouseUp nothing happened, and, confusingly, I had to do this instead: customProperties gives you an array ! on mouseUp put the customKeys of btn Holder into fld fPROPS end mouseUp at which point I got a list of the names of the customProperties of button Holder. the *names* are in fact the keys of the customproperties. In Revolution User Guide, chapter 7.9 all this is explain quite well. HTH, Thierry ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Richmond Mathewson wrote: The ONLY problem is that something named 'property' is something that can be contained rather than be a property: so, either, somebody has to cook up a new name for 'custom properties' (err . . . 'custom thingy' . . . err . . . come on, somebody can do better than that), or, somebody has to write a fairly long bit about how users have to do mental backflips. I don't think the shoe has dropped for you yet. *All* properties contain something, and all are assigned to a specific object (the assignment is what you are calling contained by, which probably isn't exactly the right concept.) Every native property has both a name and a value, and is attached to an object. Custom properties are no different. The native property called name contains a string like myName and is assigned to the object that has that name. The property textColor contains an RGB value and is assigned to a button or field you are asking about. The property location contains a set of 2 numbers and is assigned to the object at that location. The property myCustomProp contains whatever value you want to give it and is assigned to any object you choose. There is no practical difference, and all are properties. The only thing that is effectively different is that you can invent your own property names, assign them to an object of your choice, and fill them with any value you want to store. It really is simpler than you're trying to make it. :) -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 3 of N
Richmond, I think you may be making it too complicated. You are right about the terminology of course, it doesn't help. I've never found any need to create a custom property of a button and find it a bit hard to guess why one would. But in any case, if you want to experiment with CPs, why not just start out creating custom properties of the stack, then you can always refer to them as 'the xxx of this stack'. Then putting and reading and so on works just fine in the usual way. There is probably a lot more to it than this, but just to start out with, it really is this simple. Also, if all your CPs are properties of the stack they are all in one place and will not wander off and get lost which makes life simpler. Peter -- View this message in context: http://www.nabble.com/Dumb-Newbie-Questions3-of-N-tp23344258p23348175.html Sent from the Revolution - User mailing list archive at Nabble.com. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 3 of N
Richmond Mathewson wrote: I set up a stack with a button Holder which contains 3 custom properties: dataDish custardPie sexyMessage containing, respectively, tab-delimited data, a number, and a string. All very straightforward . . . However, when I tried this: on mouseUp put the customProperties of btn Holder into fld fPROPS end mouseUp nothing happened, and, confusingly, I had to do this instead: As was mentioned, sets of properties are stored as arrays. If you inspect the array itself, you'll see your data. Let's try something simple. Suppose you have a card with lots of buttons that the user can move around; maybe your script uses the grab command to let them drag the butons. Now you want a way to reset the card to its native state that puts all the buttons back to their original positions. Buttons have a loc property, but that only stores the current position of the button at this moment, and the engine will update that value every time the button moves. There isn't any native property that tells you where the button started from, but we can make a custom property that does that. We'll call it the startLoc and each moveable button will need to have that property assigned to it. Before the user has a chance to drag anything (maybe during development, or during preopencard) you run a little handler that sets that property for each button: on setBtnLocs repeat with x = 1 to the number of btns set the startLoc of btn x to the loc of btn x end repeat end setBtnLocs Now each button has a custom property called startLoc, and the value of the property for each button is it's current position. Now you're ready to grab the buttons and move them all around till nothing is in the right place any more. Then you can click a Reset button which puts them all back with this simple script: on mouseUp repeat with x = 1 to the number of btns set the loc of btn x to the startLoc of btn x end repeat end mouseUp Your custom property startLoc acts just like any other property. The only difference is that the engine doesn't create or update it, you do. I can think of several other ways to store each button's start position, but none of them are this simple, and none of them tie the correct value to each button individually the way having a custom property does. The startLoc of each button becomes an integral attribute of the button just like its color or its name, and is the only way to accomplish this example with any degree of efficiency. -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Nice explanation, Jacque! Judy On Sat, 2 May 2009, J. Landman Gay wrote: I don't think the shoe has dropped for you yet. *All* properties contain something, and all are assigned to a specific object (the assignment is what you are calling contained by, which probably isn't exactly the right concept.) Every native property has both a name and a value, and is attached to an object. Custom properties are no different. The native property called name contains a string like myName and is assigned to the object that has that name. The property textColor contains an RGB value and is assigned to a button or field you are asking about. The property location contains a set of 2 numbers and is assigned to the object at that location. The property myCustomProp contains whatever value you want to give it and is assigned to any object you choose. There is no practical difference, and all are properties. The only thing that is effectively different is that you can invent your own property names, assign them to an object of your choice, and fill them with any value you want to store. It really is simpler than you're trying to make it. :) -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 3 of N
Aha! Now THAT's something I could find useful! (celebrating little aha moment). Thank you! :-D Judy On Sat, 2 May 2009, J. Landman Gay wrote: Let's try something simple. Suppose you have a card with lots of buttons that the user can move around; maybe your script uses the grab command to let them drag the butons. Now you want a way to reset the card to its native state that puts all the buttons back to their original positions. Buttons have a loc property, but that only stores the current position of the button at this moment, and the engine will update that value every time the button moves. There isn't any native property that tells you where the button started from, but we can make a custom property that does that. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Dang, you're good, Jacqueline. Mark On May 2, 2009, at 9:47 AM, J. Landman Gay wrote: Richmond Mathewson wrote: The ONLY problem is that something named 'property' is something that can be contained rather than be a property: so, either, somebody has to cook up a new name for 'custom properties' (err . . . 'custom thingy' . . . err . . . come on, somebody can do better than that), or, somebody has to write a fairly long bit about how users have to do mental backflips. I don't think the shoe has dropped for you yet. *All* properties contain something, and all are assigned to a specific object (the assignment is what you are calling contained by, which probably isn't exactly the right concept.) Every native property has both a name and a value, and is attached to an object. Custom properties are no different. The native property called name contains a string like myName and is assigned to the object that has that name. The property textColor contains an RGB value and is assigned to a button or field you are asking about. The property location contains a set of 2 numbers and is assigned to the object at that location. The property myCustomProp contains whatever value you want to give it and is assigned to any object you choose. There is no practical difference, and all are properties. The only thing that is effectively different is that you can invent your own property names, assign them to an object of your choice, and fill them with any value you want to store. It really is simpler than you're trying to make it. :) -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
RE: Dumb Newbie Questions -- 3 of N
You're just TOO good at explaining things, Jacque! :-) Jacque wrote: Let's try something simple. Suppose you have a card with lots of buttons that the user can move around; maybe your script uses the grab command to let them drag the butons. Now you want a way to reset the card to its native state that puts all the buttons back to their original positions. Buttons have a loc property, but that only stores the current position of the button at this moment, and the engine will update that value every time the button moves. There isn't any native property that tells you where the button started from, but we can make a custom property that does that. We'll call it the startLoc and each moveable button will need to have that property assigned to it. Before the user has a chance to drag anything (maybe during development, or during preopencard) you run a little handler that sets that property for each button: on setBtnLocs repeat with x = 1 to the number of btns set the startLoc of btn x to the loc of btn x end repeat end setBtnLocs Now each button has a custom property called startLoc, and the value of the property for each button is it's current position. Now you're ready to grab the buttons and move them all around till nothing is in the right place any more. Then you can click a Reset button which puts them all back with this simple script: on mouseUp repeat with x = 1 to the number of btns set the loc of btn x to the startLoc of btn x end repeat end mouseUp Your custom property startLoc acts just like any other property. The only difference is that the engine doesn't create or update it, you do. I can think of several other ways to store each button's start position, but none of them are this simple, and none of them tie the correct value to each button individually the way having a custom property does. The startLoc of each button becomes an integral attribute of the button just like its color or its name, and is the only way to accomplish this example with any degree of efficiency. -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 3 of N
Seems a lot clearer now! Thank you, Jacque. Jim Bufalini wrote: You're just TOO good at explaining things, Jacque! :-) Jacque wrote: Let's try something simple. Suppose you have a card with lots of buttons that the user can move around; maybe your script uses the grab command to let them drag the butons. Now you want a way to reset the card to its native state that puts all the buttons back to their original positions. Buttons have a loc property, but that only stores the current position of the button at this moment, and the engine will update that value every time the button moves. There isn't any native property that tells you where the button started from, but we can make a custom property that does that. We'll call it the startLoc and each moveable button will need to have that property assigned to it. Before the user has a chance to drag anything (maybe during development, or during preopencard) you run a little handler that sets that property for each button: on setBtnLocs repeat with x = 1 to the number of btns set the startLoc of btn x to the loc of btn x end repeat end setBtnLocs Now each button has a custom property called startLoc, and the value of the property for each button is it's current position. Now you're ready to grab the buttons and move them all around till nothing is in the right place any more. Then you can click a Reset button which puts them all back with this simple script: on mouseUp repeat with x = 1 to the number of btns set the loc of btn x to the startLoc of btn x end repeat end mouseUp Your custom property startLoc acts just like any other property. The only difference is that the engine doesn't create or update it, you do. I can think of several other ways to store each button's start position, but none of them are this simple, and none of them tie the correct value to each button individually the way having a custom property does. The startLoc of each button becomes an integral attribute of the button just like its color or its name, and is the only way to accomplish this example with any degree of efficiency. -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 3 of N
Hello everybody, Just to put my grano salis in this discussion: runrev (and its ancestors) evolved rather biologically and a bit erratically, like any organism or any natural language. Several users from time to time claim to put more logic in its structures. I feel it is not only hopeless, but totally unrealistic. A fully logic system becomes either immediately fossilized or evolves out from the splendidly logical structure of its beginning. Curstom properties CAN be properties, as Jacque showed so well (in an application, I have flying hummingbirds with CP like PerchLoc, NestLoc and so on. They are quite similar to the original properties). But the people who imagined CP asked themselves: it's any reason to limit CP to THAT, since they can be far more powerful ? And of course it was no good reason to limit the scope of this new feature. As for the names; Darwin himself has made a rather bad choice in naming the natural selection Natural selection, because selection implies somebody acting to select organisms. Natural filter or Ecological sieve would have been better. Perhaps. But natural selection it is, and custom properties they are. It's just so, and we have to learn their meaning. Every name in our pet programming language is an analogy: you don't plow your fields, you don't fasten your buttons, and you cannot tear your cards in little bits (sometimes I wish to do just that ! ). And, to mention a linked question, in my view parent script, whith it's heritability dye, was not less logical than behavior, just emphasising (good english?) another characteristic of the same feature. I don't see one nickname as more logical than the other one. Jacques (with s), in a philosophical mood... Le 2 mai 2009 à 22:36, Richmond Mathewson a écrit : Seems a lot clearer now! Thank you, Jacque. ** Prof. Jacques Hausser Department of Ecology and Evolution Biophore / Sorge University of Lausanne CH 1015 Lausanne please use my private address: 6 route de Burtigny CH-1269 Bassins tel/fax:++ 41 22 366 19 40 mobile: ++ 41 79 757 05 24 E-Mail: jacques.haus...@unil.ch *** ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
RE: Dumb Newbie Questions -- 3 of N
Jacques Hausser wrote: ...Every name in our pet programming language is an analogy: you don't plow your fields, you don't fasten your buttons, and you cannot tear your cards in little bits (sometimes I wish to do just that ! ). And, to mention a linked question, in my view parent script, whith it's heritability dye, was not less logical than behavior, just emphasising (good english?) another characteristic of the same feature. I don't see one nickname as more logical than the other one. And, let's not forget Stack. I mean what does that have to do with pancakes, chimneys, or well-developed women? ;-) Aloha from Hawaii, Jim Bufalini ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 3 of N
Le 2 mai 09 à 23:10, Jim Bufalini a écrit : Jacques Hausser wrote: ...Every name in our pet programming language is an analogy: you don't plow your fields, you don't fasten your buttons, and you cannot tear your cards in little bits (sometimes I wish to do just that ! ). And, to mention a linked question, in my view parent script, whith it's heritability dye, was not less logical than behavior, just emphasising (good english?) another characteristic of the same feature. I don't see one nickname as more logical than the other one. And, let's not forget Stack. I mean what does that have to do with pancakes, chimneys, or well-developed women? ;-) and what about revolution? :-))) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 3 of N
Le 2 mai 2009 à 23:57, François Chaplais a écrit : Le 2 mai 09 à 23:10, Jim Bufalini a écrit : Jacques Hausser wrote: ...Every name in our pet programming language is an analogy: you don't plow your fields, you don't fasten your buttons, and you cannot tear your cards in little bits (sometimes I wish to do just that ! ). And, to mention a linked question, in my view parent script, whith it's heritability dye, was not less logical than behavior, just emphasising (good english?) another characteristic of the same feature. I don't see one nickname as more logical than the other one. And, let's not forget Stack. I mean what does that have to do with pancakes, chimneys, or well-developed women? ;-) or hay ? It's the place to seek for the famous needle... and what about revolution? :-))) Trois petits tours, et puis s'en vont,,, A revolution is a circular move coming back to it's starting point, no ? Metaphor is as dangerous as appealing. But you cannot do without. Jacques Prof. Jacques Hausser Department of Ecology and Evolution Biophore / Sorge University of Lausanne CH 1015 Lausanne please use my private address: 6 route de Burtigny CH-1269 Bassins tel/fax:++ 41 22 366 19 40 mobile: ++ 41 79 757 05 24 E-Mail: jacques.haus...@unil.ch *** ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Judy, maybe the issue with custom properties is that they are so simple? There is almost nothing there to get your head around. The thing I found completely blocking at first was, I kept asking myself, if they are properties, they must be properties of something, so what is it they are properties of, and how are they properties? I kept thinking of properties as being some sort of quality of an object, like color or size. It seems incomprehensible in retrospect that it can have seemed so confusing. But probably it was that the name hides something very very simple! The way to think of them is just fields. Except they can be these funny fields so to speak on a stack as well as on a card. And the syntax for getting stuff into them or reading from them is a little different. And they are invisible to the user. But that is all they are. If you can use fields, you can use custom properties in about 30 seconds. Though it took me a lot longer than I'm going to admit to, to discover this! One dimension of whether to store data in them is to what extent you want your users to have independent access to their data. If you want them to be able to find it and move it to a different program if they feel like it, probably out-of-program storage is going to be best. I recently found it reassuring to know that if I were to meet my maker, my suffering earth bound users had all their data in tab separated text files which they could get out in a flash and transfer to the database or spreadsheet of their choice. Storing in custom properties means they need Rev or your program to get at it, no? -- View this message in context: http://www.nabble.com/rev-dictionary-blocked-tp23316218p23329501.html Sent from the Revolution - User mailing list archive at Nabble.com. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Recently, Judy Perry wrote: I'm trying to figure out what new (to me) things are worth spending time on this summer (worth = useful for me) and which are not. I honestly do not see myself doing 32,000 card stacks anytime soon as my little things are just educational aids for my kids, so I thought I'd pick custom properties since everyone seems to be of the opinion that they are the bee's knees. Howevder, I need to see an example along the lines of the sorts of things I'd be likely to use them for as well as an extremely detailed set of instructions with explanations of why as well as how. Judy, maybe this analogy can help: You can think of custom properties as global variables that are tied to objects, instead of variables that float around in space. You know how to use globals, yes? If you script: global specialValues put a,b,c into specialValues ...you've created a global variable named specialValues that is accessible everywhere in your stack. And to use the contents of specialValues, you simply declare the variable and do something with it: global specialValues answer specialValues The above is similar for custom properties, except that you assign the global to an object: set the specialValues of btn 1 to a,b,c In scripting this, you have created a custom property of button 1 called specialValues, and you can retrieve the contents of the property anywhere in your stack by referencing the object to which the property is attached: answer the specialValues of btn 1 Notice that you need to use the word the when accessing a custom property, the same way you would script the backColor of btn 1 or the width of btn 1. Now, in addition to backColor and width properties, button 1 also has a specialValues property -- a property you created. So while a custom property is not a global variable from a semantic standpoint, it does behave a bit like a global variable, but one that is assigned to an object, and the object can be a control, a card, or a stack. I think this has been stated before, but one reason I use custom properties so often in my stacks is the values stored in them are persistent across sessions, whereas globals need to be populated each time. I also like the fact that custom properties are no longer present after a stack is closed, unlike globals which hang around in memory until they are deleted or Rev is shut down. Finally, the association that can be made between and object and a custom property makes sense to me. I can set the bouncing property of a ball image to true or false; if I have many ball images in a stack, they can all have the same bouncing property which I can check on an object-by-object basis. Hope you find this somewhat useful. Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
On Fri, May 1, 2009 at 3:45 PM, Peter Alcibiades palcibiades-fi...@yahoo.co.uk wrote: Judy, maybe the issue with custom properties is that they are so simple? There is almost nothing there to get your head around. Right! The way to think of them is just fields. Except. Except? Scott Rossi wrote: You can think of custom properties as global variables that are tied to objects, instead of variables that float around in space. With all due respect gentlemen, why is that for something so simple and already understood, an analogy is used that is only tangentially related. Judy, you know what properties are, you know how to set the text of a field, set the textColour, get or set the height of a button/field/card/stack. You know exactly what a property is, you've been dealing with them since your very first HC days. So lets say in your next Rev project you really really wished that a field/button/card/stack had an extra property, that for you, and as far as you can tell a whole heap of other people in education could really be helped out if the Rev Team added this extra property to the current vast list of properties button/fields/cards/stacks have; and so you put in an enhancement request. Well the fact is Rev has already granted your wish! Whatever you can possible think of - questionText, answerText, theFirstColour, theSecondColour, defaultLanguage, userLanguage, theWrongImage, theRightImage, goodSound, badSound, theFemaleFormStack, theMaleFormStack, windowsMediaPlayerDowloadURL, quickTimeDownloadURL, judyData, jacqueData, whatever you want you can have. You name it whatever suits you and you use it just like all the other properties you have ever dealt with. Properties are likeproperties, they are different to fields and they are different to globals. Just as you can create variables/button/fields/cards/stacks and give them their own names you can create properties and give them their own names, at which point they are referred to as custom properties, but at the end of the day it is still just a property and you get it and set it just like every other property you've dealt with. As some have stated, if you do what you do with the knowledge that you have then customProperties aren't going to be a big deal for you, but the thing to remember is that ANYTIME you suddenly wish Cards could remember when they were first opened, or last visited, the answer is, they can, you can create such a property plus any other property your heart desires. So for someone who hasn't used custom properties the only thing to get your head around is WHEN they could come in handy. If you are fond of using hidden fields to store data I'd suggest considering, can you create a custom property called theHiddedFieldText and see if you can achieve the same results. You can, and once you do you'll have that Ah Ha moment and you wont turn back. HTH ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Recently, Kay C Lan wrote: Scott Rossi wrote: You can think of custom properties as global variables that are tied to objects, instead of variables that float around in space. With all due respect gentlemen, why is that for something so simple and already understood, an analogy is used that is only tangentially related. In my example, I used a global analogy because 1) setting/modifying custom properties do not inherently make any visible changes in an object, unlike textColor or other built-in object properties; and 2) many, many years ago, I was in a similar situation as Judy, not able to grasp the what/why of custom properties, and this analogy is one that would have helped me out at that time. The same was true for me with the concept of groups/backgrounds. Coming to MetaCard from SuperCard, I could not for the life of me understand why something called a background could appear *in front* of another object. It made no sense to me. Only after getting more entrenched in the environment did I start to understand the how and why of groups, and it was many months later that Richard Gaskin provided a description that made sense to me: a background is just a group that may (or may not) be shared across multiple cards. (Why something called a group can contain only a single object is another conundrum that I won't get into now.) It's not a question of what should be so simple, it's a question of what helps someone grasp a concept. Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
It would be nice to hear from Judy again. Did any of these explanations help? And did you try using a custom property, and did it work? Peter -- View this message in context: http://www.nabble.com/rev-dictionary-blocked-tp23316218p23337886.html Sent from the Revolution - User mailing list archive at Nabble.com. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Maybe I'm having conceptual problems, but a custom property looks awfully like another container (such as a variable or a field) rather than a property as such. I realise that a custom property can be used as a data-source more rapidly than a field because it doesn't come with all the 'trappings' of an object. However, what is not clear to me is whether I can access data stored in the custom property of an object from a script in another, rather like the way I can access data stored in a field on a different card to the one I am 'calling' from. Peter Alcibiades wrote: It would be nice to hear from Judy again. Did any of these explanations help? And did you try using a custom property, and did it work? Peter ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Richmond, I may be all wet, but it seems to me that this custom Property thing is just Rev's way of saying you are able to provide a pointer/handle to some address in memory where all of the stuff you've put into it may be accessed, and do so rather easily. I said I didn't like the name, but that's not going to change, so??? I agree that the word property provides a totally different mindset. Joe Wilkins On May 1, 2009, at 12:16 PM, Richmond Mathewson wrote: Maybe I'm having conceptual problems, but a custom property looks awfully like another container (such as a variable or a field) rather than a property as such. I realise that a custom property can be used as a data-source more rapidly than a field because it doesn't come with all the 'trappings' of an object. However, what is not clear to me is whether I can access data stored in the custom property of an object from a script in another, rather like the way I can access data stored in a field on a different card to the one I am 'calling' from. Peter Alcibiades wrote: It would be nice to hear from Judy again. Did any of these explanations help? And did you try using a custom property, and did it work? Peter ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Yes. You just refer to your custom property as 'the xxx of yyy' where xxx is the name you gave it, and yyy is either the stack or the card it is a property of. The script in which you do this can be associated with any object or event in the stack. For instance, say you had a POS system and you did employee discounts. You might have a button with 'DISCOUNT' on it, perhaps on the order entry card. Your script would just do something like, on mouseup multiply the price of the item by - and here comes the custom property - the discount of this stack. The button could be on any card. Or the event could be any event associated with the stack. Like it could be on openCard - whichever card would be appropriate. When the card is opened, for instance, do something which will show the user the warning_message of this stack. Then you could do all the usual things, if you want them to be able to change the discount level, you just get what they want to use, and put it into the discount of this stack. Or if you are keeping track of events, you can, every time the event happens, put some record of it after the eventlog of this stack. This is the funny thing that drove me nuts until I suddenly saw it - there is nothing to this, its the simplest thing in the world. You just create yourself a custom property using the property inspector of the stack or the card - or I guess other objects too, though I have never done this. And then you put things in them, get things from them, filter them. Whatever. In the above example, you'd open the stack property inspector, pick the custom properties item from the pulldown menu, and just create it, and then put the discount percentage in it. Bingo! Password, for instance. Ask for the password and then if what is supplied is the adminpassword of this stack let them into the admin page, otherwise answer sorry, we got to have the correct password for this. Its not a property in any normal sense of the word. Its just a sort of special field. Yes, its a special sort of global variable as well. But I do have the feeling that when people try to explain this to new users, they need to do it in terms that the user already understands. If you have done anything, you have used a field, read a field, written to it and so on. So tell someone to think of the custom property as a sort of field, and they will probably get it. Global variables, properties, all that stuff just made it more opaque in the beginning. For me, If this is wrong, one of the gurus please correct. This is an amateur blundering through it! Peter Richmond Mathewson-2 wrote: However, what is not clear to me is whether I can access data stored in the custom property of an object from a script in another, rather like the way I can access data stored in a field on a different card to the one I am 'calling' from. -- View this message in context: http://www.nabble.com/rev-dictionary-blocked-tp23316218p23338734.html Sent from the Revolution - User mailing list archive at Nabble.com. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
While property might not be the best name, I can't think of a name better suited, since custom properties are persistent across sessions, proprietary to an object, and the syntax is consistent with other object properties... the height, the width, the visible, the cpWhatEver of button x. It seems pretty simple and straightforward. What isn't intuitive is that a custom property can contain a stack, for example. Cool, but not intuitive. I mostly use them to keep variable contents or states alive across sessions. Mark On May 1, 2009, at 12:29 PM, Joe Lewis Wilkins wrote: Richmond, I may be all wet, but it seems to me that this custom Property thing is just Rev's way of saying you are able to provide a pointer/handle to some address in memory where all of the stuff you've put into it may be accessed, and do so rather easily. I said I didn't like the name, but that's not going to change, so??? I agree that the word property provides a totally different mindset. Joe Wilkins On May 1, 2009, at 12:16 PM, Richmond Mathewson wrote: Maybe I'm having conceptual problems, but a custom property looks awfully like another container (such as a variable or a field) rather than a property as such. I realise that a custom property can be used as a data-source more rapidly than a field because it doesn't come with all the 'trappings' of an object. However, what is not clear to me is whether I can access data stored in the custom property of an object from a script in another, rather like the way I can access data stored in a field on a different card to the one I am 'calling' from. Peter Alcibiades wrote: It would be nice to hear from Judy again. Did any of these explanations help? And did you try using a custom property, and did it work? Peter ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Thank you, Scott. Your explanation looks helpful :-) Judy On Fri, 1 May 2009, Scott Rossi wrote: Recently, Judy Perry wrote: I'm trying to figure out what new (to me) things are worth spending time on this summer (worth = useful for me) and which are not. I honestly do not see myself doing 32,000 card stacks anytime soon as my little things are just educational aids for my kids, so I thought I'd pick custom properties since everyone seems to be of the opinion that they are the bee's knees. Howevder, I need to see an example along the lines of the sorts of things I'd be likely to use them for as well as an extremely detailed set of instructions with explanations of why as well as how. Judy, maybe this analogy can help: You can think of custom properties as global variables that are tied to objects, instead of variables that float around in space. You know how to use globals, yes? If you script: global specialValues put a,b,c into specialValues ...you've created a global variable named specialValues that is accessible everywhere in your stack. And to use the contents of specialValues, you simply declare the variable and do something with it: global specialValues answer specialValues The above is similar for custom properties, except that you assign the global to an object: set the specialValues of btn 1 to a,b,c In scripting this, you have created a custom property of button 1 called specialValues, and you can retrieve the contents of the property anywhere in your stack by referencing the object to which the property is attached: answer the specialValues of btn 1 Notice that you need to use the word the when accessing a custom property, the same way you would script the backColor of btn 1 or the width of btn 1. Now, in addition to backColor and width properties, button 1 also has a specialValues property -- a property you created. So while a custom property is not a global variable from a semantic standpoint, it does behave a bit like a global variable, but one that is assigned to an object, and the object can be a control, a card, or a stack. I think this has been stated before, but one reason I use custom properties so often in my stacks is the values stored in them are persistent across sessions, whereas globals need to be populated each time. I also like the fact that custom properties are no longer present after a stack is closed, unlike globals which hang around in memory until they are deleted or Rev is shut down. Finally, the association that can be made between and object and a custom property makes sense to me. I can set the bouncing property of a ball image to true or false; if I have many ball images in a stack, they can all have the same bouncing property which I can check on an object-by-object basis. Hope you find this somewhat useful. Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Peter, I had to run some errands and am now attending upon the termite eradicator ;-) Which is to say I'm still reading these mails. Many kind thanks to all who have responded! Judy On Fri, 1 May 2009, Peter Alcibiades wrote: It would be nice to hear from Judy again. Did any of these explanations help? And did you try using a custom property, and did it work? Peter -- View this message in context: http://www.nabble.com/rev-dictionary-blocked-tp23316218p23337886.html Sent from the Revolution - User mailing list archive at Nabble.com. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Maybe my problem comes from taking the computer programming metaphor a bit too literally. I think of properties as things that inhere in objects, some being necessary and some being contingent; rather like people with functioning lungs (necessary) and ideas (contingent). Now it seems that with 'custom property' I am expected to imagine objects that inhere in other objects (e.g. stacks in custom properties). Of course, once one abandons the standard metaphor and views custom properties as pointers to drawers in a filing cabinet (or, even, maybe, the drawers themselves) everything becomes clearer. The term 'custom property' is misleading; it is like asking Where is Axminster? and then wondering why they don't show you the bathroom. Mark Swindell wrote: While property might not be the best name, I can't think of a name better suited, since custom properties are persistent across sessions, proprietary to an object, and the syntax is consistent with other object properties... the height, the width, the visible, the cpWhatEver of button x. It seems pretty simple and straightforward. What isn't intuitive is that a custom property can contain a stack, for example. Cool, but not intuitive. I mostly use them to keep variable contents or states alive across sessions. Mark On May 1, 2009, at 12:29 PM, Joe Lewis Wilkins wrote: Richmond, I may be all wet, but it seems to me that this custom Property thing is just Rev's way of saying you are able to provide a pointer/handle to some address in memory where all of the stuff you've put into it may be accessed, and do so rather easily. I said I didn't like the name, but that's not going to change, so??? I agree that the word property provides a totally different mindset. Joe Wilkins On May 1, 2009, at 12:16 PM, Richmond Mathewson wrote: Maybe I'm having conceptual problems, but a custom property looks awfully like another container (such as a variable or a field) rather than a property as such. I realise that a custom property can be used as a data-source more rapidly than a field because it doesn't come with all the 'trappings' of an object. However, what is not clear to me is whether I can access data stored in the custom property of an object from a script in another, rather like the way I can access data stored in a field on a different card to the one I am 'calling' from. Peter Alcibiades wrote: It would be nice to hear from Judy again. Did any of these explanations help? And did you try using a custom property, and did it work? Peter ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Presumably the 'termite eradicator' is the secret code name for the alpha version of the new debugger being built into Runtime Revolution 4. :) Judy Perry wrote: Peter, I had to run some errands and am now attending upon the termite eradicator ;-) Which is to say I'm still reading these mails. Many kind thanks to all who have responded! Judy On Fri, 1 May 2009, Peter Alcibiades wrote: It would be nice to hear from Judy again. Did any of these explanations help? And did you try using a custom property, and did it work? Peter -- View this message in context: http://www.nabble.com/rev-dictionary-blocked-tp23316218p23337886.html Sent from the Revolution - User mailing list archive at Nabble.com. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Thank you. I needed that. ;-) Judy On Fri, 1 May 2009, Richmond Mathewson wrote: Presumably the 'termite eradicator' is the secret code name for the alpha version of the new debugger being built into Runtime Revolution 4. :) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 2 of N
I remember when a button in HC was first (v.2.2) embellished into a container. This seemed silly, though the possibilities were intriguing. You might say that a new custom property, theContainerNess, was now built into this familiar object, and it could hold text. So you then could get btn myBtn, and the text would appear. This is not what buttons were made for, but it was just a simple disconnect from an old habit to embrace it. I, early on (1987), thought commands and functions ruled, and properties were cute and useful but inherently of a lower class. I was wrong, and ever so much more so given custom properties. Craig Newman ** Access 350+ FREE radio stations anytime from anywhere on the web. Get the Radio Toolbar! (http://toolbar.aol.com/aolradio/download.html?ncid=emlcntusdown0003) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 2 of N
I remember when a button in HC was first (v.2.2) embellished into a container. This seemed silly, though the possibilities were intriguing. You might say that a new custom property, theContainerNess, was now built into this familiar object, and it could hold text. So you then could get btn myBtn, and the text would appear. This is not what buttons were made for, but it was just a simple disconnect from an old habit to embrace it. I, early on (1987), thought commands and functions ruled, and properties were cute and useful but inherently of a lower class. I was wrong, and ever so much more so given custom properties. Craig Newman ** Access 350+ FREE radio stations anytime from anywhere on the web. Get the Radio Toolbar! (http://toolbar.aol.com/aolradio/download.html?ncid=emlcntusdown0003) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
On Fri, 1 May 2009, Richmond Mathewson wrote: snip Of course, once one abandons the standard metaphor and views custom properties as pointers to drawers in a filing cabinet (or, even, maybe, the drawers themselves) everything becomes clearer. The term 'custom property' is misleading; it is like asking Where is Axminster? and then wondering why they don't show you the bathroom. --Well, yes, especially that last part, wherein I felt rather like I was being asked to interact with invisible magic things, only, when they're invisible how will I know them when I see them? I mean, I literally didn't know what step 1 was supposed to be. I had a vague, fuzzy notion of what they were supposed to do but not how they did it. So, anyway, I did one. Yay me! I dunno... I still like cards. I like things that I can see, have mass and/or take up space. ;-) Many thanks again to all who replied, and special thanks to the ChatRev twins who displayed admirable restraint in NOT reaching through the tubes of the internet to strangle the life out of me ;-) Judy ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
On Sat, May 2, 2009 at 3:55 AM, Mark Swindell mdswind...@cruzio.com wrote: While property might not be the best name, I can't think of a name better suited, since custom properties are persistent across sessions, proprietary to an object, and the syntax is consistent with other object properties... the height, the width, the visible, the cpWhatEver of button x. It seems pretty simple and straightforward. What isn't intuitive is that a custom property can contain a stack, for example. Cool, but not intuitive. I mostly use them to keep variable contents or states alive across sessions. Basically with you Mark except I do think that Custom Property is a very good name :-) IMO what isn't intuitive is when you can use them, especially use them to your advantage. When I read the explanations by others above what I see is people saying 'I can use them like a field (hidden)' or 'I can use them like a global' they are not really explaining what they are, but how they have come to use them. Scott wrote: In my example, I used a global analogy because 1) setting/modifying custom properties do not inherently make any visible changes in an object, unlike textColor or other built-in object properties; Whilst this is generally true, there are object properties that don't have an immediate visible effect, such as the dontSearch, travesalOn or autoTab of a field or the acceleratorKey of a button. Stacks come with alwaysBuffer, destroyStack and cantDelete. Then there are the really invisible properties such as itemDelimiter and defaultFolder. If you can understand and work with these you can work with Custom Properties. Richmond wrote: The term 'custom property' is misleading; it is like asking Where is Axminster? and then wondering why they don't show you the bathroom. What? This is like saying I put the itemDelimiter into oldDelim and am now wondering why oldDelim doesn't contain the path to the defaultFolder. There is nothing misleading about what a property of an object is, when you ask for an object's property you get that property back, be it an inbuilt property or one you've created. Judy lamented: --Well, yes, especially that last part, wherein I felt rather like I was being asked to interact with invisible magic things, only, when they're invisible how will I know them when I see them? I mean, I literally didn't know what step 1 was supposed to be. I had a vague, fuzzy notion of what they were supposed to do but not how they did it. So, anyway, I did one. Yay me! I dunno... I still like cards. I like things that I can see, have mass and/or take up space. ;-) But you can see them, they do have mass and take up space, there is an entire Property Inspector tab devoted to the space taken up with custom properties you create. You can't see the raw htmlText of a field, but if you can get your head around how that magic works you should find custom properties a lot easier to work with because you can look at them and see exactly what they are. You can get and set the text of field 1 (inbuilt and visible in the PI) You can get and set the htmlText of field 1 (inbuilt but not visible as raw html in the PI) You could create the xmlText of field 1 You could create the csvText of field 1 You could create the englishText of field 1 You could create the latinText of field 1 The last four cases would be visible in the PI and could be edited from within the PI (unlike the htmlText), they are very real, and if you fill them with the complete works of William Shakespear, they'll take up a lot of space. With enlishText/latinText, you could, depending on user interaction, display the text as is: set the text of field 1 to the latinText of field 1 Or, in the case of xmlText/csvText, parse the text before displaying it, much like the Engine currently does for htmlText put the csvText of field 1 into tempStore replace comma with tab in tempStore set the text of field 1 to tempStore Again, when your Ah Ha moment comes you'll know exactly what custom properties are, how to work with them, how to see their contents, everything, because you have already been working with the magic of properties and the PI for a very long time. The only magic you don't understand right now is what you are doing right now that could be done with custom properties. My analogy for custom properties is they are like properties that you don't know exist. Take the defaultMenubar for instance. You could spend years makeing the exact same menubar for all your MainStacks and subStacks. It works for you, they are real, you know how to amend them - it's a lot of work in you need to add a menu item to the menuBar of 7 substacks. When someone tells you that there's a property 'the defaultMenubar' which allows you to build one menuBar and have it appear for any substack you know you can use that to your advantage, you know how to use it because you've used other properties. You'll also wish someone told you about
Re: Dumb Newbie Questions -- 1 of N
Kay, You assume I know more than I do ;-) And you know what happens when you assume... :-P Still, points well taken. Judy On Sat, 2 May 2009, Kay C Lan wrote: You can't see the raw htmlText of a field, but if you can get your head around how that magic works you should find custom properties a lot easier to work with because you can look at them and see exactly what they are. You can get and set the text of field 1 (inbuilt and visible in the PI) You can get and set the htmlText of field 1 (inbuilt but not visible as raw html in the PI) You could create the xmlText of field 1 You could create the csvText of field 1 You could create the englishText of field 1 You could create the latinText of field 1 The last four cases would be visible in the PI and could be edited from within the PI (unlike the htmlText), they are very real, and if you fill them with the complete works of William Shakespear, they'll take up a lot of space. With enlishText/latinText, you could, depending on user interaction, display the text as is: set the text of field 1 to the latinText of field 1 Or, in the case of xmlText/csvText, parse the text before displaying it, much like the Engine currently does for htmlText put the csvText of field 1 into tempStore replace comma with tab in tempStore set the text of field 1 to tempStore Again, when your Ah Ha moment comes you'll know exactly what custom properties are, how to work with them, how to see their contents, everything, because you have already been working with the magic of properties and the PI for a very long time. The only magic you don't understand right now is what you are doing right now that could be done with custom properties. My analogy for custom properties is they are like properties that you don't know exist. Take the defaultMenubar for instance. You could spend years makeing the exact same menubar for all your MainStacks and subStacks. It works for you, they are real, you know how to amend them - it's a lot of work in you need to add a menu item to the menuBar of 7 substacks. When someone tells you that there's a property 'the defaultMenubar' which allows you to build one menuBar and have it appear for any substack you know you can use that to your advantage, you know how to use it because you've used other properties. You'll also wish someone told you about it years ago ;-) HTH ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Kay- Friday, May 1, 2009, 6:25:38 PM, you wrote: My analogy for custom properties is they are like properties that you don't know exist. Exactly. -- -Mark Wieder mwie...@ahsoftware.net ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
On May 1, 2009, at 1:50 AM, Scott Rossi wrote: You can think of custom properties as global variables that are tied to objects, instead of variables that float around in space. That's exactly how I think of them. Just containers. Except variables float around in space (local space or global space rather than outer space), where custom properties you have to say where the container lives (button 3 of card 1 or stack MainWindow rather than in the shed) Scott Morrow Elementary Software ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Dumb Newbie Questions -- 1 of N
DunbarX recently lamented the lack of stupid new user questions. As I privately communicated to hi Jacque, while not a new user, I certainly have stupid questions in abundance. So here's mine on custom properties arrays: I d/l Mark's stack on the subject. Here are my comments (no criticism of Mark intended): 1. That's rather alot of work to go through for a stack that would have, at best, 3 or 4 cards worth of data. 2. I'm willing to concede that, for such an employee database on the order of where I work, with probably ~7,000 employees, Mark's solution likely makes better sense from both a programming standpoint as well as a speed of execution standpoint. 3. I am, however, willing to also point out that, for some normal human newcomer, if they're told they should NEVER EVER save data in a stack having multiple cards and multiple fields, they're gonna tell you that's why they stick with PowerPoint. 4. I think #4 above defeats the purpose. We were all stupid normal humans at one point. Some of us (moi) still are. There has to be some threshold at which Mark's approach makes sense and underneath that it simply doesn't matter. What is that threshold and why does it matter at that point? Kindest thanks, Judy ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Good to know I am not alone. I made a stack with 11,000 cards. Navigating via script or msg is fast (go cd 7500). Navigating with Cmd-3 (or its menu equal) is horrible. I wonder why. Finding is not bad, not nearly as fast as HC, but not bad. Saving takes a few seconds. Sorting takes a little time. I have not experimented with other common commands to see what else slows down, or whether it is possible to design around them. I think the one thing, for me, that is disappointing in Rev is this practical limit on the number of cards. A la HC, it is comforting to me to be able to hold the data within the app. That means lots of cards. Craig Newman In a message dated 4/30/09 2:25:36 PM, jper...@ecs.fullerton.edu writes: 4. I think #4 above defeats the purpose. We were all stupid normal humans at one point. Some of us (moi) still are. There has to be some threshold at which Mark's approach makes sense and underneath that it simply doesn't matter. What is that threshold and why does it matter at that point? ** Access 350+ FREE radio stations anytime from anywhere on the web. Get the Radio Toolbar! (http://toolbar.aol.com/aolradio/download.html?ncid=emlcntusdown0003) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
I am comparing simple operations on identical 11,000 card stacks in both HC and rev. I am using a 450 Mhz G4 for HC, OS 9.1, and a 2GHz G5 for rev, OS 10,4. Not so different, really, and I am giving HC a 6X handicap for the hardware. Just a guess. HC runs about 2.5 times faster with simple operations, like putting a random number in a field on each card. HC sorts about 8X faster. HC finds MUCH faster, no surprise, especially when noticing if there is nothing to find. So maybe not so bad, at least with 11,000 cards. Craig Newman ** Access 350+ FREE radio stations anytime from anywhere on the web. Get the Radio Toolbar! (http://toolbar.aol.com/aolradio/download.html?ncid=emlcntusdown0003) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Hello Judy, snipThere has to be some threshold at which Mark's approach makes sense and underneath that it simply doesn't matter. What is that threshold and why does it matter at that point? /snip I agree. However, trying to define that threshold isn't probably ever going to be satisfying. I think this is one of those instructional difficulties that is hard to nail down outside of generalities and theory. Using custom props to store data is usually not one of the concepts I would expect most folks new to Revolution to pick up early on. Learning to store data in fields on cards is probably a simpler, more concrete and logical-next-step method that allows seemingly good results with the least effort. (When I teach my 8 and 9 year old students to use the random function to pick a line of text, I have them count the lines and hard code a digit rather than having them use the number of lines of field blah I've tried both and the digit is more understandable and works best for their needs.) In my case... even though I understood all the mechanics necessary to store data in custom props rather than card-based storage in fields, and I'd heard Richard Gaskin talk about it at two RevCons, it wasn't until the card- based solution began failing my needs that I began to REALLY understand and start to change my way of looking at that part of design. (Oh... that's what he meant...light bulb flickers ) I believe Judy is right about some people needing to use card-based storage. (especially those from a HyperCard background) The point at which many of us are ready to learn another way is dependent on prior knowledge. Why do I need another way? Until my prior knowledge included experience with and understanding of particular difficulties (the NEED to separate data from layout) I wasn't REALLY ready to learn about it other than in an abstraction or as an exercise. (No, I'm not referring to Mr. Gaskin as an abstraction.) Scott Morrow Elementary Software On Apr 30, 2009, at 11:25 AM, Judy Perry wrote: DunbarX recently lamented the lack of stupid new user questions. As I privately communicated to hi Jacque, while not a new user, I certainly have stupid questions in abundance. So here's mine on custom properties arrays: I d/l Mark's stack on the subject. Here are my comments (no criticism of Mark intended): 1. That's rather alot of work to go through for a stack that would have, at best, 3 or 4 cards worth of data. 2. I'm willing to concede that, for such an employee database on the order of where I work, with probably ~7,000 employees, Mark's solution likely makes better sense from both a programming standpoint as well as a speed of execution standpoint. 3. I am, however, willing to also point out that, for some normal human newcomer, if they're told they should NEVER EVER save data in a stack having multiple cards and multiple fields, they're gonna tell you that's why they stick with PowerPoint. 4. I think #4 above defeats the purpose. We were all stupid normal humans at one point. Some of us (moi) still are. There has to be some threshold at which Mark's approach makes sense and underneath that it simply doesn't matter. What is that threshold and why does it matter at that point? Kindest thanks, Judy ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
I suppose I am tromping on old ground, but here goes. I remember being in Hypercard and running into the slowness that started creeping in with anything over 2000 cards. Back then the moniker was a card equaled a record in a database. People who then tried to use Hypercard as a Database were severely disappointed to learn of this limitation (not to mention miffed at the stack corruption that eventually ensued). At the time there were a couple or three attempts to connect Hypercard to some other kind of database like dBase. They had mixed reviews. They never really worked out a stable and easy to use interface. The upshot was that Hypercard was not a good development environment for Database Applications of any great size. Fast forward to the present: Some genius figures out how to connect a Hypercard like datafile to a SQL database! Genius! A little clunky at first, but it's been getting better all the time. They call it Runtime Revolution. Catchy name. But now the moniker is A card equals a form into which you can populate the fields with data from your SQL (or whatever) database. Clearly the strengths of Hypercard are now weaknesses in Revolution, and the weaknesses of Hypercard are now passed over in Revolution. All that to say this: Any attempt to take an old Hypercard stack which was a database and convert it to Revolution is going to be fraught with difficulty. It's the wrong decade. It's the wrong century for crying out loud! It's the wrong way to think about the problem. If I were you I would export the data from Hypercard (assuming you have an old clunker that can run Hypercard), export all your scripting, copy one card from each unique backround into an empty stack, import that into Revolution and begin the process of converting your data into some usable form with SQL as a back end. Better yet, if the scripting is not all that extensive, just start from scratch. Revolution may be like Hypercard sort of, but really it's not. It's like a different animal species that vaguely shares some of the same external features of another species, but they are not even in the same family. Like Hyenas and Dogs. They are actually a kind of cat. Who knew? I know there is a lot more history between then and now, but this is not a history, it's my explanation on why we cannot expect to convert hypercard stacks to revolution stacks and have them just work all the time, and why maybe that isn't really what we wanted anyway if we thought about it for a bit. Bob Sneidar IT Manager Logos Management Calvary Chapel CM On Apr 30, 2009, at 3:38 PM, dunb...@aol.com wrote: Good to know I am not alone. I made a stack with 11,000 cards. Navigating via script or msg is fast (go cd 7500). Navigating with Cmd-3 (or its menu equal) is horrible. I wonder why. Finding is not bad, not nearly as fast as HC, but not bad. Saving takes a few seconds. Sorting takes a little time. I have not experimented with other common commands to see what else slows down, or whether it is possible to design around them. I think the one thing, for me, that is disappointing in Rev is this practical limit on the number of cards. A la HC, it is comforting to me to be able to hold the data within the app. That means lots of cards. Craig Newman In a message dated 4/30/09 2:25:36 PM, jper...@ecs.fullerton.edu writes: 4. I think #4 above defeats the purpose. We were all stupid normal humans at one point. Some of us (moi) still are. There has to be some threshold at which Mark's approach makes sense and underneath that it simply doesn't matter. What is that threshold and why does it matter at that point? ** Access 350+ FREE radio stations anytime from anywhere on the web. Get the Radio Toolbar! (http://toolbar.aol.com/aolradio/download.html?ncid=emlcntusdown0003 ) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Hi Scott, Thanks for the reply! snip I think this is one of those instructional difficulties that is hard to nail down outside of generalities and theory. Using custom props to store data is usually not one of the concepts I would expect most folks new to Revolution to pick up early on. Learning to store data in fields on cards is probably a simpler, more concrete and logical-next-step method that allows seemingly good results with the least effort. Right, and I'm probably right in there at the 9 year old level ;-) I'm trying to figure out what new (to me) things are worth spending time on this summer (worth = useful for me) and which are not. I honestly do not see myself doing 32,000 card stacks anytime soon as my little things are just educational aids for my kids, so I thought I'd pick custom properties since everyone seems to be of the opinion that they are the bee's knees. Howevder, I need to see an example along the lines of the sorts of things I'd be likely to use them for as well as an extremely detailed set of instructions with explanations of why as well as how. Thank you again for your reply, Judy ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Judy Perry wrote: I'm trying to figure out what new (to me) things are worth spending time on this summer (worth = useful for me) and which are not. I honestly do not see myself doing 32,000 card stacks anytime soon as my little things are just educational aids for my kids, so I thought I'd pick custom properties since everyone seems to be of the opinion that they are the bee's knees. Howevder, I need to see an example along the lines of the sorts of things I'd be likely to use them for as well as an extremely detailed set of instructions with explanations of why as well as how. They're the bee's knees when they're the best way to do something. ;) So, suppose you wanted to make a little quiz stack for your kids. Maybe something to help with their homework. You have multiple choice buttons on each card. Each card has a question or a puzzle or something on it, and they choose the right answer by clicking the correct button. There's a different correct answer per card. Where do you store the answer? There are lots of ways to do it. A hidden field could store the answer, but then you've got an extra object to work around. Sometimes that doesn't matter, sometimes it does. Or you could label each button with a special name when it's the right answer -- but that would mean you couldn't share the buttons in a background, you'd need a complete new set on each card, because they'd need different labels on each card. That's a lot of extra buttons for nothing. You could have a list of right answers in a text file and read those in, but that's way overkill, and then you have a separate file to keep track of and a bunch of scripting to do. The bee's knees in this case is to store the right answer as a custom property of each card. That would behave the same way as a hidden field but without the extra object overhead. Custom properties are just convenient hidden storage, and they are immediately accessible by any script without any extra scripting. It would be great if you could talk about some of the things you want to make. Then we could opine on whether custom properties are suitable for those projects. Bear in mind there is usually no right way to do something, though there may be a more efficient way. We have some great opiners here. :) -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dumb Newbie Questions -- 1 of N
Scott Morrow wrote: Why do I need another way? Until my prior knowledge included experience with and understanding of particular difficulties (the NEED to separate data from layout) I wasn't REALLY ready to learn about it other than in an abstraction or as an exercise. I think you've hit on a key point there. For a lot of projects, there's no harm in storing data in fields. There, I said it. Some may call it blasphemy, but I think it's true just the same. If what you need can fit in a stack gracefully in Rev, go for it. And if you need something more you have many options, from custom properties in stack files to text files to several different RDBMS engines. While there are some limitations with Rev, there's also much freedom. There are all sorts of so-called best practices, and while they might be important for professional work they needn't encumber someone who just needs to whip up some gadget for their own use. Use whatever feels natural, and if you hit a wall there are many options for getting over it. (No, I'm not referring to Mr. Gaskin as an abstraction.) I've been called worse. :) -- Richard Gaskin Fourth World Revolution training and consulting: http://www.fourthworld.com Webzine for Rev developers: http://www.revjournal.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Newbie Questions
Hi, My name is Jonathan Scott. I was using SuperCard for quite a while. Hypercard before that. I recently moved over to RunRev. I'm sorry to bug you with simple stuff, but I don't seem to be able to find the answers on my own. I have a stack that is supposed to write out text files. When I use the normal file writing procedure (as shown below): open file thisfile for write write thisstuff to file thisfile close file thisfile I can get the files to show up, but they don't appear immediately. Even if I reboot the computer, the files won't show up. The only way to get them to show up is to do a search of my hard drive for the file name and then, the computer will tell me about them. So, I switched to the put thisstuff into URL file:thisfile method. And that works a whole lot better. Here's the problem though: I can't get either of these methods to work in a standalone. When I save the stacks out as a standalone, no files ever get written, no matter what I do. -- Next problem: send mouseUp to bg btn Bob doesn't work for me at all when I put it in the openstack handler. I researched it out on the net, and they said that this was a problem with the preferences file getting corrupted. The suggested advice was to throw away the preferences file. I did this, but, it still didn't work. It goes without saying that it was also unsuccessful in a standalone. Thanks. I'm sorry to bother you with trivial matters. P.S. I'm on a mac running Tiger. Thank you again. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie Questions
Hi Jonathan, Nice to see you here. Welcome to the Rev community. I am pretty sure that something is wrong with the path. Note that Rev paths don't use colons but slashes to delimit the components of the path. Do you see similar problems if you run the following script? on foo ask file Save as... if it is not empty then put it into myFile open file myFile for write write some string to file myFile close file myFile put You can find your file at: myFile end if end foo Best regards, Mark Schonewille -- Economy-x-Talk Consulting and Software Engineering http://economy-x-talk.com http://www.salery.biz Quickly extract data from your HyperCard stacks with DIFfersifier. http://differsifier.economy-x-talk.com Op 4-nov-2007, om 22:58 heeft Jonathan Scott het volgende geschreven: Hi, My name is Jonathan Scott. I was using SuperCard for quite a while. Hypercard before that. I recently moved over to RunRev. I'm sorry to bug you with simple stuff, but I don't seem to be able to find the answers on my own. I have a stack that is supposed to write out text files. When I use the normal file writing procedure (as shown below): open file thisfile for write write thisstuff to file thisfile close file thisfile I can get the files to show up, but they don't appear immediately. Even if I reboot the computer, the files won't show up. The only way to get them to show up is to do a search of my hard drive for the file name and then, the computer will tell me about them. So, I switched to the put thisstuff into URL file:thisfile method. And that works a whole lot better. Here's the problem though: I can't get either of these methods to work in a standalone. When I save the stacks out as a standalone, no files ever get written, no matter what I do. -- Next problem: send mouseUp to bg btn Bob doesn't work for me at all when I put it in the openstack handler. I researched it out on the net, and they said that this was a problem with the preferences file getting corrupted. The suggested advice was to throw away the preferences file. I did this, but, it still didn't work. It goes without saying that it was also unsuccessful in a standalone. Thanks. I'm sorry to bother you with trivial matters. P.S. I'm on a mac running Tiger. Thank you again. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie Questions
Welcome to the Revolution, Jonathan :-) And please don;t apologize for asking questions. I think a lot of people are too nervous to ask, so it is great when someone like you actually does. The information will be of use to a lot more than just you. My name is Jonathan Scott. I was using SuperCard for quite a while. Hypercard before that. I recently moved over to RunRev. I'm sorry to bug you with simple stuff, but I don't seem to be able to find the answers on my own. I have a stack that is supposed to write out text files. When I use the normal file writing procedure (as shown below): open file thisfile for write write thisstuff to file thisfile close file thisfile I can get the files to show up, but they don't appear immediately. Even if I reboot the computer, the files won't show up. The only way to get them to show up is to do a search of my hard drive for the file name and then, the computer will tell me about them. I have had this happen sometimes when writing files to the Desktop. Unfortunately, I think it is Tiger's fault, not something that Rev can fix. Leopard is supposed to be much better at keeping the Finder display current. So, I switched to the put thisstuff into URL file:thisfile method. And that works a whole lot better. Yes, and it's much easier to write. I never use the other method any more. Here's the problem though: I can't get either of these methods to work in a standalone. When I save the stacks out as a standalone, no files ever get written, no matter what I do. This is odd. If you were not using local files, I would think that the URL library was getting left out of your standalone, but I don't think that matters for just writing to your own drives. Put a check after the line that saves the data and see what the result is set to. If there is a problem, the result should tell you what it is. Next problem: send mouseUp to bg btn Bob doesn't work for me at all when I put it in the openstack handler. I researched it out on the net, and they said that this was a problem with the preferences file getting corrupted. The suggested advice was to throw away the preferences file. I did this, but, it still didn't work. It goes without saying that it was also unsuccessful in a standalone. Unless you have opened a HyperCard stack in Rev, you don't need to specify bg or cd for any object. If you opened an HC stack directly, then the global property HCaddressing will be set to true and then you do specify cd or bg, but usually, you won't. So maybe the problem is that the button is not being found. Do you get an error or does nothing happen at all? Try adding another command like a beep to the openStack handler to make sure it is actually being called. HTH, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie Questions
On 11/4/07 2:58 PM, Jonathan Scott [EMAIL PROTECTED] wrote: I have a stack that is supposed to write out text files. When I use the normal file writing procedure (as shown below): open file thisfile for write write thisstuff to file thisfile close file thisfile --hint: it might be better to add the extension, eg. .txt --URL file: only works for 'text' files, not images or other binary code files. --the path you specify must exist --the defaultfolder always has a setting to something - copy code below this line- answer a file will be written to : cr the defaultFolder answer folder Choose a folder... any folder put it into fullPathName answer fullPathName answer file Choose a file ... any file put it into fullFileName answer fullFileName put fullPathName cr fullFileName into msg set the defaultFolder to fullPathName put the seconds seconds cr msg into url (file:thisfile.txt) answer my new file exists = (there is a file thisfile.txt) set the defaultFolder to specialFolderPath(Desktop) put the ticks ticks cr msg into url (file:thisfile.txt) answer my new file exists = (there is a file thisfile.txt) - end copy code above this line Copy the above lines (without the --- lines), go to Rev, activate the message box click on the second tab (multi-line messages) paste in the code lines, then hit the enterkey to execute Follow the bouncing dialog boxes. This should get you pretty far down the path :-) Jim Ault Las Vegas ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie Questions
Jim Ault wrote: --URL file: only works for 'text' files, not images or other binary code files. I misread this for a moment before I understood what Jim meant. In case anyone else did the same thing, the above means that the URL file specification only works on text files. It doesn't mean you can't write binary files using the URL keyword. To write binary data to a file using the URL keyword, substitute binfile for file. Examples: put myTextData into url (file: myPath) -- text files only put myBinaryData into url (binfile: myPath) -- binary files -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: newbie questions/
Hello Benjamin, hi! please let me welcome you to the list first :-) I downloaded Revolution to test some things I want to accomplish for a game. I am having trouble trying to find how to apply a command to make a picture (or quicktime movie) Draggable. Example of what I want to accomplish: I have a 3d Barrel picture: I want to be able to: -Move the barrel freely on the screen (or maybe to an specific part) -How do I play a sound while I am dragging the barrel? then stop (or pause) the sound when I stop dragging? Hint: This is only ONE possible solution! ;-) 1. Create a player object to play your dragging sound. I will call it dragsound in my example 2. Put this into the script of you image (to be dragged): ### on mousedown set the looping of player dragsound to true ## this is optional, just in case you only have a short sound ## and want to play it in a loop set the currenttime of player dragsound to 0 ## rewind the sound, in case it has been started before start player dragsound ## finally play that sound grab me ## this will make the image draggable finally :-) end mousedown on mouseup stop player dragsound end mouseup ## That was it :-) I want to apply the same commands to a quicktime movie and be able to go to an specific animation track section (ej. Dragging makes sound, double clicking Just add a on mousedoubleup handler to your object. plays an open barrel top animation. You can do the same as above with a quicktime movie, but that may cause lots of flickering on the screen unless you set the alwaysbuffer of that movei/player to true. BUT in that case the playback of the movie may be a bit jerky. Sorry to say, but that may be very unsatisfying... At the same time I want to send a Message to another object. Ej. On double clicking the barrel send barrelOpened msg and trigger another action on any object, sound etc. That is almost the correct syntax :-) Create a custom handler on barrelOpened in the script of your target object: e.G. Button xyz on barrelOpened ## do this and do that ## and whatever you want end barrelOpened And then you can simply send this message from any other object to the object that you want to react upon the message: on mousedoubleup send barrelOpened to btn xyz ## or whatever object has the script above end mousedoubleup Imortatnt hint: QUOTES are absolutely necessary around the name of the message to be sent, see above! Also, Revolution recognises alpha channel in a quicktime movie? (3d model) No, unfortunately not. Thanks! Hope that helps. Benjamin Regards from germany Klaus Major [EMAIL PROTECTED] http://www.major-k.de ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
newbie questions/
hi! I downloaded Revolution to test some things I want to accomplish for a game. I am having trouble trying to find how to apply a command to make a picture (or quicktime movie) Draggable. Example of what I want to accomplish: I have a 3d Barrel picture: I want to be able to: -Move the barrel freely on the screen (or maybe to an specific part) -How do I play a sound while I am dragging the barrel? then stop (or pause) the sound when I stop dragging? I want to apply the same commands to a quicktime movie and be able to go to an specific animation track section (ej. Dragging makes sound, double clicking plays an open barrel top animation. At the same time I want to send a Message to another object. Ej. On double clicking the barrel send barrelOpened msg and trigger another action on any object, sound etc. Also, Revolution recognises alpha channel in a quicktime movie? (3d model) Thanks! Benjamin ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Newbie questions
Hi Everyone, Here are probably some dumb questions. 1. Why is there a fatter border around one of the fields in my previous HC stack? How do I eliminate the extra width? 2. What does focus border and focusable mean? Joe, Orlando Florida ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie questions
1. That's probably just a normal default translation from HC to rev thing. You can change it in the property inspector for the field in question, or by script from the message box : set the borderWidth of fld myField to (number of pixels). 2. Focus, in this case indicates a selection ie. if you have clicked on a field, or are typing into it, it will be the object 'in focus'. The focus border is an extra border drawn around the field when it is in focus, and you can make a field unfocusable or focusable (again, look in the property inspector). Typically, a label field would be unfocusable. Slightly confusingly, the actual property is 'traversalOn', so you might 'set the traversalOn of fld myField to true or false' when you want to change this property. Since I guess you're coming from HC, i'd just say, as someone who also made that transition, that while some things in Rev can be confusing and frustrating for the experienced HC'er, the extra power, speed and sheer breadth of Rev easily make it worth losing a little hair for. Good luck! Mark On 24 Sep 2005, at 16:29, [EMAIL PROTECTED] wrote: Hi Everyone, Here are probably some dumb questions. 1. Why is there a fatter border around one of the fields in my previous HC stack? How do I eliminate the extra width? 2. What does focus border and focusable mean? Joe, Orlando Florida ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Newbie questions
Hi Everyone I'm in the middle of converting several HyperCard stacks into DreamCard. Question 1: Since I often go from stack to stack gathering and distributing data I need to close and save each stack when I'm finished with it. HyperCard does this automatically as we know. How is this done in Revolution? Question 2: How do I delete a group of objects without losing the fields and buttons in the group? Joe Orlando Florida ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie questions
On 8/17/05 2:10 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi Everyone I'm in the middle of converting several HyperCard stacks into DreamCard. Question 1: Since I often go from stack to stack gathering and distributing data I need to close and save each stack when I'm finished with it. HyperCard does this automatically as we know. How is this done in Revolution? You choose Save from the File menu before you go to the next stack. Question 2: How do I delete a group of objects without losing the fields and buttons in the group? You 'ungroup' the group by selecting the group object and choosing Ungroup Selected from the Object menu (or click the emboldened Group button on the toolbar). Ken Ray Sons of Thunder Software Web site: http://www.sonsothunder.com/ Email: [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie questions
Hi Everyone I'm in the middle of converting several HyperCard stacks into DreamCard. Question 1: Since I often go from stack to stack gathering and distributing data I need to close and save each stack when I'm finished with it. HyperCard does this automatically as we know. How is this done in Revolution? Hi Joe, Aside from Ken's worthy comment, another way to go, depending on how you use your stacks -- Sometimes it makes a sense to add to a script the line/s -- save stack whatever --with or without-- close stack whatever If it's a suitable script, you probably won't lose data simply because you forgot to save, or failed to save before a spontaneous quit due to an application migraine. A script like this saves when you need to, like only when you make a data change in a stack, without saving too often or too seldom, like with an auto-save stack. HTH Tim ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
More Newbie questions
I seem to have screwed my self into a problem. I was trying to create a function that was part of the OpenStack call that made a connection to a database, run a SELECT *... call, then position to the first record ready to go. Well, I made a typo on one of the lines but now I can't change anything because this executes when I open the stack and never closes because of the error. I can get to the script and I can TYPE the changes but RR refuses to save the changes because the script is still running. Do I have to throw out everything else I've done and start over to get rid of this error? I hope not because I was following what I've been told is the right way to write RR stacks, namely, do the GUI first and then write the scripts for the controls. Any advise would be appreciated (like how do I stop the OpenStack from running in the first place? Thanks Len Morgan ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: More Newbie questions
Recently, Len Morgan wrote: Any advise would be appreciated (like how do I stop the OpenStack from running in the first place? You can try executing the following in your message box. When prompted for the file, choose your stack. answer file Locate stack:;set lockMessages to true;open stack it Regards, Scott Rossi Creative Director Tactile Media, Development Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: More Newbie questions
Hi Len, Any advise would be appreciated (like how do I stop the OpenStack from running in the first place? Two options: 1. Choose suppress messages from the IDE menus before opening the stack 2. Don't open the stack;but go to the message box and type edit the script of stack [whatever] Rob Cozens CCW Serendipity Software Company And I, which was two fooles, do so grow three; Who are a little wise, the best fooles bee. from The Triple Foole by John Donne (1572-1631) ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Newbie Questions
Short List of Questions... 1. Is there a search function that searches all the repositories of Rev. knowledge... especially the list archives over all years? And, BTW, what are all the repositories of knowledge? 2. If I have a button that is grouped so that it behaves like a bg btn in HC can I have a different icon for each card in that button? I know in HC I can¹t because the button icon is shared in the background, but how about Rev? Would I have to keep it a card button and copy/paste it explicitly when i create a new card under script control? 3. If I give a button a custom icon (like a thumbnail jpg), I notice that Rev gives it an icon number. Is that number unique to the button? I think yes... 4. How do I reference a button in a group?... and, related to this, If I want to add a button to a scrolling group (the button position may be scrolled out of sight when I add it), how do I do it and get the position of the new button in the group spaced right? 5. I¹m creating a set of custom nav buttons that allow the user to jump to a specific card of their choice. These buttons have the icon of the card button mentioned in question 2, so I¹m transferring the thumbnail icon to the nav button, which of course will be seen on every card, by transferring the pictPath of the card button. If the user chooses to place a new picture on the original card button, will the thumbnail icon of the nav button change as well? 6. What¹s a plugin and how do I use it? The Rev docs doesn¹t give an answer as far as I can tell. Sorry for the long list. I¹m sure some of these are answered in the knowledge base, I just can¹t find them... hence my first question. Thanks... Jim -- OYF is... Highly resourceful people working together. http://www.OwnYourFuture-net.com Own Your Future Consulting Services Limited, 1959 Upper Water Street, Suite 407, Halifax, Nova Scotia. B3J 3N2 Info Line: 902-823-2477, Phone: 902-823-2339. Fax: 902-823-2139 ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie Questions
On Jan 10, 2004, at 11:29 AM, Jim Carwardine wrote: Short List of Questions... 2. If I have a button that is grouped so that it behaves like a bg btn in HC can I have a different icon for each card in that button? I know in HC I cant because the button icon is shared in the background, but how about Rev? Would I have to keep it a card button and copy/paste it explicitly when i create a new card under script control? when a new scripted card is created use the place group menu item. I learned that here on the list. tom Macintosh PowerBook G-4 OSX 10.3.1, OS 9.2.2, 1.25 GHz, 512MB RAM, Rev 2.1.2 Advanced Media Group Thomas J McGrath III 2003 [EMAIL PROTECTED] 220 Drake Road, Bethel Park, PA 15102 ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie Questions
1. Is there a search function that searches all the repositories of Rev. knowledge... especially the list archives over all years? Yes! The archived list has been Google-fied: http://www.google.com/advanced_search?q=site:lists.runrev.com And, BTW, what are all the repositories of knowledge? That would be God. ;-P - James Jim Carwardine [EMAIL PROTECTED] Sent by: [EMAIL PROTECTED] 01/10/04 11:29 AM Please respond to How to use Revolution To: Revolution Listserve [EMAIL PROTECTED] cc: Subject:Newbie Questions Short List of Questions... 1. Is there a search function that searches all the repositories of Rev. knowledge... especially the list archives over all years? And, BTW, what are all the repositories of knowledge? 2. If I have a button that is grouped so that it behaves like a bg btn in HC can I have a different icon for each card in that button? I know in HC I can¹t because the button icon is shared in the background, but how about Rev? Would I have to keep it a card button and copy/paste it explicitly when i create a new card under script control? 3. If I give a button a custom icon (like a thumbnail jpg), I notice that Rev gives it an icon number. Is that number unique to the button? I think yes... 4. How do I reference a button in a group?... and, related to this, If I want to add a button to a scrolling group (the button position may be scrolled out of sight when I add it), how do I do it and get the position of the new button in the group spaced right? 5. I¹m creating a set of custom nav buttons that allow the user to jump to a specific card of their choice. These buttons have the icon of the card button mentioned in question 2, so I¹m transferring the thumbnail icon to the nav button, which of course will be seen on every card, by transferring the pictPath of the card button. If the user chooses to place a new picture on the original card button, will the thumbnail icon of the nav button change as well? 6. What¹s a plugin and how do I use it? The Rev docs doesn¹t give an answer as far as I can tell. Sorry for the long list. I¹m sure some of these are answered in the knowledge base, I just can¹t find them... hence my first question. Thanks... Jim -- OYF is... Highly resourceful people working together. http://www.OwnYourFuture-net.com Own Your Future Consulting Services Limited, 1959 Upper Water Street, Suite 407, Halifax, Nova Scotia. B3J 3N2 Info Line: 902-823-2477, Phone: 902-823-2339. Fax: 902-823-2139 ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie Questions
On Jan 10, 2004, at 11:29 AM, Jim Carwardine wrote: Short List of Questions... 1. Is there a search function that searches all the repositories of Rev. knowledge... especially the list archives over all years? And, BTW, what are all the repositories of knowledge? I don't know ALL the repositories, but the main one you need to learn the answers to most of your other questions is the Rev docs. Use the Search feature a lot and ALWAYS look at the See Also menu of the items you turn up. 2. If I have a button that is grouped so that it behaves like a bg btn in HC can I have a different icon for each card in that button? I know in HC I can¹t because the button icon is shared in the background, but how about Rev? Would I have to keep it a card button and copy/paste it explicitly when i create a new card under script control? That would be one way. If you want it to be in a background group and have a different icon on each card, you would have to switch the icon of the button when the card opens. See Roadmap - Welcome - HyperCard Developer, About Groups and Backgrounds 3. If I give a button a custom icon (like a thumbnail jpg), I notice that Rev gives it an icon number. Is that number unique to the button? I think yes... Yes. See Roadmap - Transcript Dictionary - ID property 4. How do I reference a button in a group?... and, related to this, If I want to add a button to a scrolling group (the button position may be scrolled out of sight when I add it), how do I do it and get the position of the new button in the group spaced right? See the doc ref to question 2 above and also Roadmap - All Doc by Category, Objects and Messages - About object types and object references 5. I¹m creating a set of custom nav buttons that allow the user to jump to a specific card of their choice. These buttons have the icon of the card button mentioned in question 2, so I¹m transferring the thumbnail icon to the nav button, which of course will be seen on every card, by transferring the pictPath of the card button. If the user chooses to place a new picture on the original card button, will the thumbnail icon of the nav button change as well? When you ask a question like this, you'll have to give more information to get any useful help. Set up simple tests in a separate stack to try experiments. I always do this to try new things so that what I'm investigating doesn't get clouded by other stuff. Always do this to isolate some behavior you think isn't right. 6. What¹s a plugin and how do I use it? The Rev docs doesn¹t give an answer as far as I can tell. Try entering plugin to the Roadmap - Search Rev Docs. There are eleven hits including the definition, How to install, and a tip on adding your own. Sorry for the long list... We'll let it go this time. ;^) Seriously, it's a good idea to put unrelated questions into their own messages, giving each a descriptive subject line. It will help us all find things easier in the archives, and follow the threads of replies. Welcome to the group! Jim Lyons___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie Questions from a ToolBook Developer
Hi All, Wow, what a response! Thanks to everyone who answered my questions. You gave me some valuable and time-saving information. I see this is a great community of developers and I'm looking forward to learning and being a part of it. Sincerely, John Ballard ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie Questions from a ToolBook Developer
John, I am new to Revolution but spent years developing in SuperCard. I started using REV in late October and have creates a marketing CD for a third party that is cross platform in just two months. I can say that REV seems solid on both WIN and Mac as far as system differences go. The only gotchas that I have seen are mostly in my own lack of understanding for One tool and one stack to work on both systems. A lot of pre planning is needed to deal with the visual issues of both platforms. Rev does have a few gotchas within it's own IDE that I believe are getting worked on as we speak and yes I have had to learn quickly how to get around them. My problem areas were: Treating groups correctly. In my case OVER correctly. :-) Text formatting for both platforms. And inconsistent issues within REV. - This is being worked on. Dealing with systems that don't have Quicktime. - More of a understanding issue GUI differences on both platforms. New functions and syntax from what I was used to. Relative paths and defaultFolder. - there is a fix for in development. I have learned quickly and feel very comfortable in a short time. I downloaded Every stack I could find online and read every line of code in them. I still go back and open one or two a day and 'rip' them apart for understanding. I don't know about number 2. and 3. is in the Groups. P.S. if you don't make the group first before you make new cards then it won't be included on each new card after the fact. I just right a button to repeat for number of cards and paste. Then before I hit the button I do a copy of the grouped objects. It does not seem to cause any adverse affects having to do this. I wish there were a way to create a 'background' element. However if you already have a background group on all cards you can add to this group after the fact and the new object within this group will be included in all cards that have that background group. HTH Tom On Dec 21, 2003, at 7:53 PM, John Ballard wrote: Hi All, I've been developing courseware with ToolBook for about 7 years, but I'm a brand new user to Runtime Revolution. I'm excited about the cross-platform possiblities. I'm ultimatly looking for a second development tool and possibly something to switch to for full-time development. If anyone can help me with the following concerns, It'd be much appreciated. 1. Are there any examples of large-scale distributions of anything created with Runtime Revolution? Specifically, I'm looking to see if there are any gotcha distribution issues, say some minor conflict that would pop up on Windows XP Home with a certain type of video card. The applications I build get distributed to many thousands so I have to look far down the road. I'm not asking this question as anything against Runtime Revolution's stability--it's just that ToolBook is riddled with gotchas that have taken me half a decade to find and workaround. Just want to know if it's a similiar experience here. 2. Is there any way to dock all of the toolbars in the development environment to make it more of a one-window application. Im trying the program out in Windows, but will also try it out in OSX soon. I understand I can edit the development-environment stacks, but this is a bit ambitious since I just got started. :-) 3. Is there such a thing as a background or a master page/stack/card or a shared card in Runtime Revolution? I'm looking for a way to put something like a next button on this instead of having 200 copies of the same next button on 200 cards. Thanks in advance for any help provided, John Ballard ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution Macintosh PowerBook G-4 OSX 10.3.1, OS 9.2.2, 1.25 GHz, 512MB RAM, Rev 2.1.2 Advanced Media Group Thomas J McGrath III 2003 [EMAIL PROTECTED] 220 Drake Road, Bethel Park, PA 15102 ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie Questions from a ToolBook Developer
OH and the most important thing I left out is: This is the best list I have ever been apart of !!! The people are helpful and suggestive and just generally good people. If you have problems come here and you WILL find an answer or a direction to look in. Everyone here has helped me with my transition to REV. Even when it was quite obvious that I didn't read the docs and was being very lazy about it. I hope to give back to this community what was given to me. Cheers, Tom On Dec 22, 2003, at 7:56 AM, Thomas J McGrath III wrote: John, I am new to Revolution but spent years developing in SuperCard. I started using REV in late October and have creates a marketing CD for a third party that is cross platform in just two months. I can say that REV seems solid on both WIN and Mac as far as system differences go. The only gotchas that I have seen are mostly in my own lack of understanding for One tool and one stack to work on both systems. A lot of pre planning is needed to deal with the visual issues of both platforms. Rev does have a few gotchas within it's own IDE that I believe are getting worked on as we speak and yes I have had to learn quickly how to get around them. My problem areas were: Treating groups correctly. In my case OVER correctly. :-) Text formatting for both platforms. And inconsistent issues within REV. - This is being worked on. Dealing with systems that don't have Quicktime. - More of a understanding issue GUI differences on both platforms. New functions and syntax from what I was used to. Relative paths and defaultFolder. - there is a fix for in development. I have learned quickly and feel very comfortable in a short time. I downloaded Every stack I could find online and read every line of code in them. I still go back and open one or two a day and 'rip' them apart for understanding. I don't know about number 2. and 3. is in the Groups. P.S. if you don't make the group first before you make new cards then it won't be included on each new card after the fact. I just right a button to repeat for number of cards and paste. Then before I hit the button I do a copy of the grouped objects. It does not seem to cause any adverse affects having to do this. I wish there were a way to create a 'background' element. However if you already have a background group on all cards you can add to this group after the fact and the new object within this group will be included in all cards that have that background group. HTH Tom On Dec 21, 2003, at 7:53 PM, John Ballard wrote: Hi All, I've been developing courseware with ToolBook for about 7 years, but I'm a brand new user to Runtime Revolution. I'm excited about the cross-platform possiblities. I'm ultimatly looking for a second development tool and possibly something to switch to for full-time development. If anyone can help me with the following concerns, It'd be much appreciated. 1. Are there any examples of large-scale distributions of anything created with Runtime Revolution? Specifically, I'm looking to see if there are any gotcha distribution issues, say some minor conflict that would pop up on Windows XP Home with a certain type of video card. The applications I build get distributed to many thousands so I have to look far down the road. I'm not asking this question as anything against Runtime Revolution's stability--it's just that ToolBook is riddled with gotchas that have taken me half a decade to find and workaround. Just want to know if it's a similiar experience here. 2. Is there any way to dock all of the toolbars in the development environment to make it more of a one-window application. Im trying the program out in Windows, but will also try it out in OSX soon. I understand I can edit the development-environment stacks, but this is a bit ambitious since I just got started. :-) 3. Is there such a thing as a background or a master page/stack/card or a shared card in Runtime Revolution? I'm looking for a way to put something like a next button on this instead of having 200 copies of the same next button on 200 cards. Thanks in advance for any help provided, John Ballard ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution Macintosh PowerBook G-4 OSX 10.3.1, OS 9.2.2, 1.25 GHz, 512MB RAM, Rev 2.1.2 Advanced Media Group Thomas J McGrath III 2003 [EMAIL PROTECTED] 220 Drake Road, Bethel Park, PA 15102 ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution Macintosh PowerBook G-4 OSX 10.3.1, OS 9.2.2, 1.25 GHz, 512MB RAM, Rev 2.1.2 Advanced Media Group Thomas J McGrath III 2003 [EMAIL PROTECTED] 220 Drake Road, Bethel Park, PA 15102 ___ use-revolution mailing list [EMAIL PROTECTED]
Re: Newbie Questions from a ToolBook Developer
On Sunday, December 21, 2003, at 08:55 PM, Ken Ray wrote: 2. Is there any way to dock all of the toolbars in the development environment to make it more of a one-window application. Im trying the program out in Windows, but will also try it out in OSX soon. I understand I can edit the development-environment stacks, but this is a bit ambitious since I just got started. :-) You can't really dock windows in Rev; you can open and close palettes and move them around, but they don't lock together or snap to a location. I do it all the time: go stack tools put the topLeft of stack noteBook into vamp add 29 to item 2 of vamp set the topLeft of stack tools to vamp Revolution is so cool! Mark ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie Questions from a ToolBook Developer
On 12/22/03 6:56 AM, Thomas J McGrath III wrote: P.S. if you don't make the group first before you make new cards then it won't be included on each new card after the fact. I just right a button to repeat for number of cards and paste. Then before I hit the button I do a copy of the grouped objects. It does not seem to cause any adverse affects having to do this. I wish there were a way to create a 'background' element. However if you already have a background group on all cards you can add to this group after the fact and the new object within this group will be included in all cards that have that background group. This isn't the most efficient way to do it and creates some bloat in the stack. When you copy/paste a group to another card, you are creating a duplicate copy of the group. If all you want to do is include an existing group on a card, then you just need to place the existing group onto the new card. Use the Place Group menu item in the Objects menu to do that. This has the same effect as creating a group with its backgroundBehavior set to true and then making a new card (which will automatically include any groups on the originating card.) -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie Questions from a ToolBook Developer
You can't really dock windows in Rev; you can open and close palettes and move them around, but they don't lock together or snap to a location. I do it all the time: go stack tools put the topLeft of stack noteBook into vamp add 29 to item 2 of vamp set the topLeft of stack tools to vamp Revolution is so cool! I was thinking more about the way Adobe, Macromedia, and Microsoft dock their tool palettes. We don't quite have that yet... Ken Ray Sons of Thunder Software Web site: http://www.sonsothunder.com/ Email: [EMAIL PROTECTED] ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie Questions from a ToolBook Developer
Jac, I was talking about after a whole bunch of cards was already created and then you decide you need a background group. If Place group places an existing group to an already existing card then that would be what I want. However can that be scripted for say 30 or 40 cards? Tom P.S. I didn't even see that menu item until right now. WOW. On Dec 22, 2003, at 12:22 PM, J. Landman Gay wrote: On 12/22/03 6:56 AM, Thomas J McGrath III wrote: P.S. if you don't make the group first before you make new cards then it won't be included on each new card after the fact. I just right a button to repeat for number of cards and paste. Then before I hit the button I do a copy of the grouped objects. It does not seem to cause any adverse affects having to do this. I wish there were a way to create a 'background' element. However if you already have a background group on all cards you can add to this group after the fact and the new object within this group will be included in all cards that have that background group. This isn't the most efficient way to do it and creates some bloat in the stack. When you copy/paste a group to another card, you are creating a duplicate copy of the group. If all you want to do is include an existing group on a card, then you just need to place the existing group onto the new card. Use the Place Group menu item in the Objects menu to do that. This has the same effect as creating a group with its backgroundBehavior set to true and then making a new card (which will automatically include any groups on the originating card.) -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution Macintosh PowerBook G-4 OSX 10.3.1, OS 9.2.2, 1.25 GHz, 512MB RAM, Rev 2.1.2 Advanced Media Group Thomas J McGrath III 2003 [EMAIL PROTECTED] 220 Drake Road, Bethel Park, PA 15102 ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Newbie Questions from a ToolBook Developer
Hi All, I've been developing courseware with ToolBook for about 7 years, but I'm a brand new user to Runtime Revolution. I'm excited about the cross-platform possiblities. I'm ultimatly looking for a second development tool and possibly something to switch to for full-time development. If anyone can help me with the following concerns, It'd be much appreciated. 1. Are there any examples of large-scale distributions of anything created with Runtime Revolution? Specifically, I'm looking to see if there are any gotcha distribution issues, say some minor conflict that would pop up on Windows XP Home with a certain type of video card. The applications I build get distributed to many thousands so I have to look far down the road. I'm not asking this question as anything against Runtime Revolution's stability--it's just that ToolBook is riddled with gotchas that have taken me half a decade to find and workaround. Just want to know if it's a similiar experience here. 2. Is there any way to dock all of the toolbars in the development environment to make it more of a one-window application. Im trying the program out in Windows, but will also try it out in OSX soon. I understand I can edit the development-environment stacks, but this is a bit ambitious since I just got started. :-) 3. Is there such a thing as a background or a master page/stack/card or a shared card in Runtime Revolution? I'm looking for a way to put something like a next button on this instead of having 200 copies of the same next button on 200 cards. Thanks in advance for any help provided, John Ballard ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie questions
On 10/29/03 8:48 PM, Richard Gaskin [EMAIL PROTECTED] wrote: I am running into a very basic problem: None of my scripts execute. For example, I have this script in card 2 on closecard global name, age, education, occupation, gender, handedness, marital put fld name into name Another benefit to the Hungarian-lite notation described in this week's Handy Handlers column at http://www.revjournal.com/comments.php?id=P57_0_1_0 is that it greatly reduces the potential for having variable names that are reserved words. At the risk of contradicting Richard's advice and useful style guide on his site, you might try prepending your object names with an underscore (ie field _name). I use this technique in my scripts and this prevents any confusion with reserved words. Some folks have complained that use of the underscore prevents you from selecting the entire name by doubleclicking in the script editor, but I find this to be a minor inconvenience (especially since you don't need to change the underscore itself when editing the name, for example). Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.com ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie questions
on closecard global name, age, education, occupation,... try: global gName, n12 # etc. = [EMAIL PROTECTED]http://www.erikhansen.org __ Do you Yahoo!? Exclusive Video Premiere - Britney Spears http://launch.yahoo.com/promos/britneyspears/ ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie questions
Scott Rossi wrote: On 10/29/03 8:48 PM, Richard Gaskin [EMAIL PROTECTED] wrote: I am running into a very basic problem: None of my scripts execute. For example, I have this script in card 2 on closecard global name, age, education, occupation, gender, handedness, marital put fld name into name Another benefit to the Hungarian-lite notation described in this week's Handy Handlers column at http://www.revjournal.com/comments.php?id=P57_0_1_0 is that it greatly reduces the potential for having variable names that are reserved words. At the risk of contradicting Richard's advice and useful style guide on his site, you might try prepending your object names with an underscore (ie field _name). I use this technique in my scripts and this prevents any confusion with reserved words. Some folks have complained that use of the underscore prevents you from selecting the entire name by doubleclicking in the script editor, but I find this to be a minor inconvenience (especially since you don't need to change the underscore itself when editing the name, for example). A single character is a single character. It could be anything that helps prevent name-space conflicts. The g has an additional value as a mnemonic; g means global, and it lets you use other chars for other types (e.g., p for parameter). If you use an underscore for globals, what do you use for other types? -- Richard Gaskin Fourth World Media Corporation ___ [EMAIL PROTECTED] http://www.FourthWorld.com Tel: 323-225-3717 AIM: FourthWorldInc ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie questions
A single character is a single character. It could be anything that helps prevent name-space conflicts. The g has an additional value as a mnemonic; g means global, and it lets you use other chars for other types (e.g., p for parameter). You're right of course. See below. If you use an underscore for globals, what do you use for other types? I don't. I misread the problem in the original post as having to do with object references, not variable references. I was referring to the use of underscores for object names (ie field _name vs field name). I do, in fact, use the same naming conventions for variables. Apologies for the misread. Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.com ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie questions
Scott Rossi wrote: I misread the problem in the original post as having to do with object references, not variable references. I was referring to the use of underscores for object names (ie field _name vs field name). I do, in fact, use the same naming conventions for variables. I misread too: I thought you were referring to vars. :) But it does inntroduce a powerful aspect of Rev, being among the very few xTalks that offer a name property and a label property separate from one another: you can use the name as a sort of mnemonic ID, since you have the label for display. For example, in an app I'm writing for a magazine article I have a button named Connect that is used forboth connecting and disconnecting from a server. While I've named it simply Connect, I can change its label to Disconnect while it's connected, and use tha label to determine the state in my scripts. I do something similar with stack names. For example, in WebMerge the About stack is named wmAbout, its FTP stack is named wmFTP, etc. The stack titles are set to something more descriptive for the user, butin my scripts I havve simple single-word names that are unique for each project, allowing me to work on several app at once without fear of conflicting stack names. -- Richard Gaskin Fourth World Media Corporation ___ [EMAIL PROTECTED] http://www.FourthWorld.com Tel: 323-225-3717 AIM: FourthWorldInc ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie questions
Hi Paul, Some-one else has already told you that name is a reserved word, so that it what breaks this script. An easy way to find out if you have used any reserved words is to Colorize your scripts. From the Script Editor, turn on Live Colorization in the View menu, of choose Colorize in the Script menu. Then any reserved words will be colored and you can see at a glance whether any of your variable names or function names are going to cause problems. Cheers, Sarah On Sunday, October 19, 2003, at 07:54 am, Paul Malloy wrote: I am a former HyperCard, SuperCard and OMO user who has just purchased Revolution. Good to see many familiar names on this list. I am trying to port some OMO stacks to Revolution by pasting the scripts into objects in Rev. I am running into a very basic problem: None of my scripts execute. For example, I have this script in card 2 on closecard global name, age, education, occupation, gender, handedness, marital put fld name into name snip ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie questions
On Sunday, October 19, 2003, at 07:54 am, Paul Malloy wrote: I am running into a very basic problem: None of my scripts execute. For example, I have this script in card 2 on closecard global name, age, education, occupation, gender, handedness, marital put fld name into name Another benefit to the Hungarian-lite notation described in this week's Handy Handlers column at http://www.revjournal.com/comments.php?id=P57_0_1_0 is that it greatly reduces the potential for having variable names that are reserved words. -- Richard Gaskin Fourth World Media Corporation ___ [EMAIL PROTECTED] http://www.FourthWorld.com Tel: 323-225-3717 AIM: FourthWorldInc ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
OS X 'do applescript' consistently launches Classic (was newbie questions)
I've sorted out my other problems, but this one is still happening: In text field applescript- tell application QuickTime Player activate blah blah bits of applescript code end tell In a button- on mouseUp put text of field applescript into theScript do theScript as AppleScript end mouseUp If QT is open then it works fine, if QT is not open then Classic launches and the OS 9 version of QT opens. This has the same effect with all Apple apps with the same name in X and 9, such as QT, iMovie, Disk Copy, iTunes. If the app is not already open in X then the Classic environment launches. It does NOT have the same effect for non-Apple apps such as Internet Explorer or Stuffit Expander. ??? Tested with Rev 1.1.1 on OS X 10.2.1 Rev 2.1 trial on 10.2.6. Any help with this would be great, it's getting really annoying! Ian Wood Panoramic photography, from web to billboard, sunrise to moonrise http://www.azurevision.co.uk ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
RE: Several newbie questions a documentation request
1) I am running an AppleScript to open an image sequence in QT Pro. The applescript is stored in a field, a replace is done on the variables and the do theScript as AppleScript. So far, so good. Except that Classic launches as the AppleScript tries to launch the OS 9 version of QT. Both from Script Editor and as a compiled script the script correctly launches QT in OS X. Any ideas? Do you have an OS X version of QT Pro? If so, what's its path? 2) The app has three option menu buttons to set video size, frame rate and pan direction (l/r). Is it just something in my coding (I tried to convert the info in the menu manager tutorial to the button) or are these always so slow to work? On a PB 1GHz and a P4 1.5GHz it can take up to 15 seconds for each menu button to become active! That's ridiculously slow... something else must be going on. Rev is really fast at this kind of stuff. When you say become active, do you mean that you initially have them in a disabled state and then it takes the time to re-enable them? Can you please clarify? 3) The 'New Developers' documentation needs a section on the differences between AppleScript and Transcript, if this has not already been added in 2.1! All the time wasted until I discovered that 'put 20 into variable' was the correct grammar, not 'set variable to 20' got irritating, especially as properties DO work in the 'set to' grammar. Agreed. 4) I can't see from the website, do the new video capabilities of Rev 2 include making video from image sequences? Sorry, can't help you there (video's not my strong suit). 5) Is it possible to export a snapsho directly to file? I am currently importing the snapshot and then exporting it to JPEG, but of course this results in a huge amount of flicker and general nastiness as I am generating up to 1500 snapshots in a row. Sure, the export snapshot command allows you to do this, but this was introduced in Rev 2.1, so you'd have to upgrade to get this feature. Ken Ray Sons of Thunder Software Email: [EMAIL PROTECTED] Web Site: http://www.sonsothunder.com/ ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
RE: Several newbie questions a documentation request
One other thing, Ian... there's a bunch of tips on using Rev at my site: http://www.sonsothunder.com/devres/revolution/revolution.htm that might help out in your development. Ken Ray Sons of Thunder Software Email: [EMAIL PROTECTED] Web Site: http://www.sonsothunder.com/ ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Newbie questions
I am a former HyperCard, SuperCard and OMO user who has just purchased Revolution. Good to see many familiar names on this list. I am trying to port some OMO stacks to Revolution by pasting the scripts into objects in Rev. I am running into a very basic problem: None of my scripts execute. For example, I have this script in card 2 on closecard global name, age, education, occupation, gender, handedness, marital put fld name into name put fld age into age put fld education into education put fld occupation into occupation put button gender into gender put button handedness into handedness put button marital into marital put empty into fld name put empty into fld age put empty into fld education put empty into fld occupation end closecard And this script in card 3: on opencard global name, age, education, gender, handedness put name into fld name put age into fld age put education into fld education put gender into fld gender put handedness into fld handedness end opencard Nothing happens when I go to card 3. I get this error message, which makes no sense to me. Am I making a mistake is syntax? compiling at 5:48:17 PM Typeglobal: not a valid variable name ObjectDemographics Lineglobal name, age, education, occupation, gender, handedness, marital Hintname Thanks in advance. Paul Malloy ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newbie questions
Paul Malloy wrote: I am a former HyperCard, SuperCard and OMO user who has just purchased Revolution. Good to see many familiar names on this list. I am trying to port some OMO stacks to Revolution by pasting the scripts into objects in Rev. I am running into a very basic problem: None of my scripts execute. For example, I have this script in card 2 on closecard global name, age, education, occupation, gender, handedness, marital put fld name into name put fld age into age put fld education into education put fld occupation into occupation put button gender into gender put button handedness into handedness put button marital into marital put empty into fld name put empty into fld age put empty into fld education put empty into fld occupation end closecard And this script in card 3: on opencard global name, age, education, gender, handedness put name into fld name put age into fld age put education into fld education put gender into fld gender put handedness into fld handedness end opencard Nothing happens when I go to card 3. I get this error message, which makes no sense to me. Am I making a mistake is syntax? compiling at 5:48:17 PM Typeglobal: not a valid variable name ObjectDemographics Lineglobal name, age, education, occupation, gender, handedness, marital Hintname name is a reserved keyword, and as such cannot be mirrored as a global var name. I'm surprised that worked in other xTalks. Small price to pay for orders of magnitude greater speed... -- Richard Gaskin Fourth World Media Corporation Developer of WebMerge: Publish any database on any Web site ___ [EMAIL PROTECTED] http://www.FourthWorld.com Tel: 323-225-3717 AIM: FourthWorldInc ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Several newbie questions a documentation request
Hi Folks, I am new to the list, having received Revolution 1.1.1 on a cover Cd and immediately realised that I can now make my AppleScript project into a cross-platform app! Revolution 1.1.1 on OS X 10.2.1, 1GB RAM. An application that opens a QTVR cubic pano, takes start and end points then produces a sequence of stills that can then be put together into video. The main market is for putting pans onto DVDs, but i started doing this for a 'timelapse' project of my own. Anyway, I downloaded the 24K message mbox have been looking on there, but have problems I cannot find on it... 1) I am running an AppleScript to open an image sequence in QT Pro. The applescript is stored in a field, a replace is done on the variables and the do theScript as AppleScript. So far, so good. Except that Classic launches as the AppleScript tries to launch the OS 9 version of QT. Both from Script Editor and as a compiled script the script correctly launches QT in OS X. Any ideas? === put the text of field applescript 1 into theScript replace filePath with defaultFolder in theScript replace frameRate with frame_rate in theScript replace / with : in theScript --to get correct filepath breaks in AS answer theScript do theScript as AppleScript === 2) The app has three option menu buttons to set video size, frame rate and pan direction (l/r). Is it just something in my coding (I tried to convert the info in the menu manager tutorial to the button) or are these always so slow to work? On a PB 1GHz and a P4 1.5GHz it can take up to 15 seconds for each menu button to become active! === global gVar_dimensions on menupick pWhich switch pWhich case 768x576-PAL square answer Use this option only when the movie will be seen on a Tv screen, you will need to export the movie at 720x576 break case 720x576- DV-PAL break case 720x534-NTSC square answer Use this option only when the movie will be seen on a Tv screen, you will need to export the movie at 720x480 break case 720x480- DV-NTSC break case 600x400 break case 480x320 break case 320x240 end switch put pWhich into gVar_dimensions get gVar_dimensions if it = 768x576-PAL square then set width of player 1 to 768 set height of player 1 to 576 set the top of player 1 to 0 set the left of player 1 to 150 set the hilitedButtonName of group frame rate to 25 set the menuHistory of button frame rate to 4 (then come all the other ifs) end menuPick === Would it be better to do the if statements in a separate script? 3) The 'New Developers' documentation needs a section on the differences between AppleScript and Transcript, if this has not already been added in 2.1! All the time wasted until I discovered that 'put 20 into variable' was the correct grammar, not 'set variable to 20' got irritating, especially as properties DO work in the 'set to' grammar. 4) I can't see from the website, do the new video capabilities of Rev 2 include making video from image sequences? 5) Is it possible to export a snapsho directly to file? I am currently importing the snapshot and then exporting it to JPEG, but of course this results in a huge amount of flicker and general nastiness as I am generating up to 1500 snapshots in a row. === put the windowID of this stack into savedID import snapshot from rectangle 150,0,(width of player 1 + 150),(height of player 1) of window savedID export JPEG to file file_name .jpg delete last image === That's all for now! Ian Wood Panoramic photography, from web to billboard, sunrise to moonrise http://www.azurevision.co.uk P.S. An early beta can be found at http:www.azurevision.co.uk/qtvr2mov ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Database newbie questions
Hello all, I am a newbie. I am working on a project which will require that I store data in a database (a separate record for each client, and about six hundred fields per record). Each time it is used, it will need to generate a new record for that client (it is a program that will administer and score an exam of sorts) My questions: a) which database would you suggest (I guess that Oracle, MySQL and Valentina are my options)? b) is there an internal way of doing this instead of one of the above databases? c) will the standalone app then incorporate the database functions, or will the enduser be required to have the database in question installed on their computer as well? Sorry if this duplicates, I inadvertently used a wrong email address the first time, adn do not know if it will get through the moderator that way. Thank you much... Sincerely, John R. Brauer, Psy.D. Clinical Psychologist
Re: Database newbie questions
John R. Brauer wrote: Hello all, I am a newbie. I am working on a project which will require that I store data in a database (a separate record for each client, and about six hundred fields per record). Each time it is used, it will need to generate a new record for that client (it is a program that will administer and score an exam of sorts) My questions: a) which database would you suggest (I guess that Oracle, MySQL and Valentina are my options)? b) is there an internal way of doing this instead of one of the above databases? c) will the standalone app then incorporate the database functions, or will the enduser be required to have the database in question installed on their computer as well? Sorry if this duplicates, I inadvertently used a wrong email address the first time, adn do not know if it will get through the moderator that way. Thank you much... Sincerely, John R. Brauer, Psy.D. Clinical Psychologist Hi, In about concurrency and write-mode accesses, PostgreSQL 7.xx (ACID compliant) and MySQL 4.xx are two of the best unexpensive db-engines you can use behind RR (use the Rev-DB library to connect them). P.S.: MySQL 5.xx will be a great issue and the first full ACID compliant ever done by MySQL AG, including most of the SAPDB engine features... -- Bien cordialement, Pierre Sahores Inspection académique de Seine-Saint-Denis Serveurs d'applications et SGBDR (Web/PGI) Penser et produire l'avantage compétitif ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Database newbie questions
Hi Dr. Brauer, a) which database would you suggest (I guess that Oracle, MySQL and Valentina are my options)? Developer Release 1 of SDB (Serendipity Database--Binary) is currently being tested by the Revolution IPC group http://groups.yahoo.com/group/revolution_ipc. I expect to release DR-2 shortly after the DR-2 version of the group's IPC library is available. It will be released to the Rev community at large if I feel the IPC library is stable enough. b) is there an internal way of doing this instead of one of the above databases? The traditional HyperCard approach would entail creating a card for each record. c) will the standalone app then incorporate the database functions, or will the enduser be required to have the database in question installed on their computer as well? I'm not sure what you are asking here. The data itself can be in a stack, a text file, or a database file. Unless the data is being provided via a server app, it must reside in some location the enduser has access to. I believe a Valentina db can be accessed directly by the standalone via an external, and that MySQL requires a separate server application running on the enduser's computer or over a LAN. SDB works in either mode with no differences in syntax. SDB is hierarchical and does not support SQL query syntax. -- Rob Cozens CCW, Serendipity Software Company http://www.oenolog.com/who.htm And I, which was two fooles, do so grow three; Who are a little wise, the best fooles bee. from The Triple Foole by John Donne (1572-1631) ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution