Re: compileIt for Revolution?
How about this: on eq @x,y -- note x is by reference put y into x end eq You can use that in the order you asked for like this: on mouseUp put 0 into b eq b,7 put b -- puts 7 eq b,b+3 put b -- puts 10 end mouseUp ___ 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: the := operator (affectation
I haven't been following this thread closely, but the impression I've got is that the arguments have centered around whether: var gets val, or an equivalent is acceptable xtalk *style*. I would say that var gets val conforms to the spirit of xtalk, but unfortunately it does not conform to the syntax, because you cannot start a program line with a container name. At present that is a syntax error, regardless of any operator that you might type after it. A line of transcript must start with a command or keyword, so to be compatible the command would be constructed like: gets A=1 or something along those lines. And all that is achieved is that you can type = instead of into. (The local command can actually take this form of course). Martin Baxter Dennis Brown wrote: Dar, I am not arguing for =, I am arguing for gets and some shortcut that suits, if any. Gets is a cousin of get command that is already a left assignment operator. It does not introduce a new concept to the syntax, but just makes the get construct more general. I actually find it a bit awkward when I have used the get x construct, then decide later to use another variable instead of it. The editing is a lot more than just changing variable names.I have even taken to put x into it on occasion, just so I can more easily change my mind later. I would be happy to be able to change get x to myVariable gets x. Dennis On Jun 23, 2005, at 1:40 PM, Dar Scott wrote: On Jun 23, 2005, at 11:17 AM, Dennis Brown wrote: The get x construct is already a syntactic equivalent of it= x (left assignment). That could be expanded to the general form it gets x. Now we have a general xTalk flavored version using the new gets keyword. From there just substitute any shortcut for gets like gts or =. There you have it. Elegance, consistency, and brevity! There is nothing elegant about = for assignment. IMHO, := is much superior and is less offensive. In mathematics = is a relation or sometimes a function or sometimes used in where or let syntax (named value scoping). Commands in xTalk follow the English implied-you imperatives. The deviation from that to a descriptive of the dataflow does not fit. I come from a functional programming background, but I accept the imperative style. Dar -- ** DSC (Dar Scott Consulting Dar's Lab) http://www.swcp.com/dsc/ Programming and 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 ___ 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: Psychedelic Bug?
Hi Scott, Yes, that´s a bad one. :-) Os X.2.8 Cheers, Malte Try this on OSX, using a stack with a deep mask applied: lock screen unlock screen with visual dissolve See anything unusual? ___ 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: the := operator (affectation
Le 24 juin 05 à 04:55, Richard Gaskin a écrit : I don't really care all that much whether RunRev adds an OPTION for simpler assignment syntax to make it easier to use for folks experienced in nearly any other language to pick up Transcript. Agreed. Finally, I think that all this discusssion highlights a very interesting point: hard developers begin to take Rev seriously :-) That's new and did not happen with HC... leaving aside a few genius. And I don't care that much which operator is used so long as it isn't == since C programmers already lose millions each year tracking down bugs related to mistyping it. :-) Best Regards from Paris, Eric Chatonet. So Smart Software For institutions, companies and associations Built-to-order applications: management, multimedia, internet, etc. Windows, Mac OS and Linux... With the French touch Free plugins and tutorials on my website Web sitehttp://www.sosmartsoftware.com/ Email[EMAIL PROTECTED]/ Phone33 (0)1 43 31 77 62 Mobile33 (0)6 20 74 50 86 ___ 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: Additive Images
Hi Rick, You might want to check out my compositing stack at: http://www.altuit.com/webs/altuit2/RunRev/Downloads.htm best, Chipp Rick Harrison wrote: I'm trying to create an overlay of three images so that it looks like a triple exposure. This seems like a path that others may have gone down in the past with Revolution, so I thought perhaps one of your image processing minds might have some good tips or pointers. ___ 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: compileIt for revolution?
On Jun 22, 2005, at 4:52 PM, Richard Gaskin wrote: And as Geoff Canyon discovered, you can go one step further by drawing all polygons as a single object, but just including a blank line in the points property wherever you want a discontiguous object. Actually, I think Tuviah told me that one too. ;-) On the subject of speed, obviously there are things that are more challenging in Revolution. But anyone who says, My task is too complex/slow, needs to post source code here. Applying a few extra brains to the problem often yields impressive results. Slow code can be written in any language. Transcript makes it very easy to write code, but also very easy to write slow code. gc ___ 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: compileIt for revolution?
Geoff Canyon wrote: On Jun 22, 2005, at 4:52 PM, Richard Gaskin wrote: And as Geoff Canyon discovered, you can go one step further by drawing all polygons as a single object, but just including a blank line in the points property wherever you want a discontiguous object. Actually, I think Tuviah told me that one too. ;-) On the subject of speed, obviously there are things that are more challenging in Revolution. But anyone who says, My task is too complex/slow, needs to post source code here. Applying a few extra brains to the problem often yields impressive results. Slow code can be written in any language. Transcript makes it very easy to write code, but also very easy to write slow code. I was browsing the DMOZ Transcript listing and just noticed the addition of your Beautiful Transcript page -- so cool: http://www.inspiredlogic.com/beautiful/ -- Richard Gaskin Managing Editor, revJournal ___ Rev tips, tutorials and more: 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
Re: the := operator (affectation
On 24 Jun 2005, at 03:55, Richard Gaskin wrote: It's hard to get less xTalk-like than RegEx, but those who use it seem to like it and those who don't aren't bothered by its availability. Nobody *likes* RegEx. But it is powerful, and we use it because there is no practical alternative. I wish there were. An assignment operator is a different kettle of fish. I'm against adding an assignment operator whether it be = or := because it would add a fundamental change to the way statements are structured. (I.e all xTalk statements begin with a command in the form of a single word imperative.) I'm not against fundamental change if it adds something substantially new to the language, but in this case the purpose is just to save a bit of typing. The downside is potential confusion among new users (and old ones for that matter). For example, put x into y is used for all containers in xTalk: variables, fields, buttons, images (and even URLs where we treat them as containers). Would the same apply to a new assignment operator? Consistency would say it does. x = 4 field myField = This is some text button myButton = line 1 to 4 of x image myImage = url binfile:myImage.jpg the selObj = somevalue Once we start seeing statements like these we basically have two languages being used at once when most of us have a hard time learning one. So my plea is Don't mess with the language without good reason. And I don't see one in this case. Cheers Dave ___ 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
mysql oddities
I've been using rev to link up to MySQL for a while but I've just changed my web space supplier and I can't connect to MySQL. I thought that this was their problem but it's stranger than that. If I use the database query builder then the connection is made and I can see the tables and fields and can query the database. When I try to do the same thing in my own stack - and those of other people who use MySQL - I get connection errors. What I'd really like to do is get inside the database query builder to find out what commands it is using to connect to my database. Alternatively, can someone provide some tips about the port variable in the revopendatabase function? I'm just putting the port number as a colon and number immediately after the host url and I'm sure this is right, eg :3337. Is there any other way to write it? Also, I don't want to use the database query manager all the time because I intend to distribute this as a standalone to users of the MySQL database. Thanks Howard ___ 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
Add it to Bugzilla
Hi all, List traffic increases each day. Many posts end in a bugzilla it (between 1 and 5 each day...) As if Bugzilla was the panacea :-) Overloading Bugzilla is not efficient for all of us and Runrev guys either. I have some experience with Rev and I found out many times that the nasty bug was in my code. So first, let us check carefully our code: isolating the problem in a brand new test stack is a good way (so many things can interfere). Let us try to reproduce the bug knowing the conditions with precision. Let us change the conditions to track the beast. If it turns out that's really a bug, then let us take list advice... And then, may be, it's worth to go to Bugzilla, check first if this bug is not yet in the database (with another approach) and describe the occurence with precision, the right words, samples of code, etc. :-) Second, as I told it lately in another post, different kinds of bugs have to be considered: Those which can affect standalones: they can be severe since they affect our end users (i.e; our professional ability/credibility). In this category, some ones come from the engine: we can't do anything except to go to bugzilla :-( Other ones can come from Transcript routines (as was the recent Answer Dialog bug with 2.6, revGoUrl in some conditions, etc.): many guys on this list pay attention to these ones and provide patchs or useful workarounds. Finally, there are bugs (or dysfunctions) which affect only the IDE behaviour: very irritating but only for us :-) They are less important than the first ones. So, let us learn to estimate what is worth to be bugzilled and how before running: it will be more useful for Runrev guys and all of us. Best Regards from Paris, Eric Chatonet. So Smart Software For institutions, companies and associations Built-to-order applications: management, multimedia, internet, etc. Windows, Mac OS and Linux... With the French touch Free plugins and tutorials on my website Web sitehttp://www.sosmartsoftware.com/ Email[EMAIL PROTECTED]/ Phone33 (0)1 43 31 77 62 Mobile33 (0)6 20 74 50 86 ___ 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: compileIt for revolution?
Hello, Slow code can be written in any language. Transcript makes it very easy to write code, but also very easy to write slow code. Could you, please, give us (newbies/intermediate scriptesr) some examples of fast/slow script code ? Thanks, Christian L. Le 24 juin 05 à 09:27, Geoff Canyon a écrit : On Jun 22, 2005, at 4:52 PM, Richard Gaskin wrote: And as Geoff Canyon discovered, you can go one step further by drawing all polygons as a single object, but just including a blank line in the points property wherever you want a discontiguous object. Actually, I think Tuviah told me that one too. ;-) On the subject of speed, obviously there are things that are more challenging in Revolution. But anyone who says, My task is too complex/slow, needs to post source code here. Applying a few extra brains to the problem often yields impressive results. Slow code can be written in any language. Transcript makes it very easy to write code, but also very easy to write slow code. gc ___ 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
Fast/slow code example (was: Re: compileIt for revolution?)
Hi Christian, Le 24 juin 05 à 10:21, Langers Christian a écrit : Could you, please, give us (newbies/intermediate scriptesr) some examples of fast/slow script code ? They would be too many :-) In fact, the problem is often more an architecture issue than a simple code issue. But here is one tiny trivial example among thousands to give you some clues: on CheckList repeat with i = 1 to the number of lines of fld List1 set the itemDel to tab put item 2 of line i of fld List1 cr after fld List2 end repeat end CheckList Main errors in the above 4 lines are: manipulate data directly from a field (a lot of work for the engine) use the repeat with i form slower than the repeat for each form (especially noticeable with long lists) force a screen redraw at each repetition (that's the must for slowing down) set the itemDel unnecessarily at each repetition The result with 1000 lines: more than 13 seconds... Better code: on CheckList local tList, tLine, tNewList - put fld List1 into tList set the itemDel to tab repeat for each line tLine in tList put item 2 of tLine cr after tNewList end repeat put tNewList into fld List2 end CheckList manipulate data into a variable use the repeat for each form use one screen redraw only set the itemDel only when needed The result with 1000 lines: less than 20 milliseconds! 650 times faster... Keep in mind that to answer correctly your request, this post should be a 300 pages book :-) May be Dan wrote it? Best Regards from Paris, Eric Chatonet. So Smart Software For institutions, companies and associations Built-to-order applications: management, multimedia, internet, etc. Windows, Mac OS and Linux... With the French touch Free plugins and tutorials on my website Web sitehttp://www.sosmartsoftware.com/ Email[EMAIL PROTECTED]/ Phone33 (0)1 43 31 77 62 Mobile33 (0)6 20 74 50 86 ___ 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: compileIt for Revolution?
How about this: on eq @x,y -- note x is by reference put y into x end eq You can use that in the order you asked for like this: on mouseUp put 0 into b eq b,7 put b -- puts 7 eq b,b+3 put b -- puts 10 end mouseUp Does Transcript allow pointers?!? If so, big news to me (new in latest engine or something?!?) I tested your handler without the pointer symbol (@) and it seemed to work. If I were to do it that way I would function equals theVar,theVal put theVal into theVar return theVar end equals then in the script equals(b,2) does affect 2 to b. Both seem to work. However it is still not infixing. So its not really what I'm looking for. Also earlier someone suggested you could use == for assignment. I don't think that is the case, but I am no expert in C. I thought that all languages other than basic use two different operators for affectation and comparison to avoid any confusion. Allowing == to operate assignments would be illogical. I'm not sure why I refer to affectation as affectation and not assignment. I speak French and German fluently, maybe that is why? __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.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
TIP: New Image Checking Script v2
OK after the past comments received, here the latest script to scan all your opened stacks for existing images and thus avoid possible conflict or patterns or icons not showing up correctly. I added a template to list the images' locations too since that could be useful to find the conflicting images... ListImageNamelocations will thus list all locations of an image with a name in the long id of card form. I changed the way the string was searched in the image search loops so it's faster too. Which is faster is in or offset()0 The ImageIDExists and ImageNameExists are boolean functions and made for speed not for extensive search; for a listing of the container of the image name you might search use the ListImageNamelocations or make your own variations. It's as simple as it gets so you can extend with your own wrappers or within your scripts. Other possibilities, if you want to contribute back (those wrappers might be intersting for many different occasions - like listing images by name or id or both in a list and so on. Before you decide to script them, ask if i haven't dont so already, i might sooner or later. Also added 2 handlers to update the image list on a per-card or per-stack (with all the cards) into the image global database - this preventing a complete rescan. There's a force parameter to make sure you can resynch if you made extensive changes. For most cases the Force=ON should be ok and not felt. Enjoy Xavier -- http://monsieurx.com/TAOO -- Global XOS function ImageIDExists imgID RefreshGlobalImages true put the keys of xos into ilist filter ilist with StackImages,* filter ilist without *imgcount sort ilist repeat for each line thisstack in ilist if crimgIDcomma is in crxos[thisstack] then return true end repeat return false end ImageIDExists function ImageNameExists imgName RefreshGlobalImages true put the keys of xos into ilist filter ilist with StackImages,* filter ilist without *imgcount sort ilist repeat for each line thisstack in ilist if comma imgName CR is in xos[thisstack]CR then return true end repeat return false end ImageNameExists function ListImageNamelocations imgName RefreshGlobalImages true put the keys of xos into ilist filter ilist with StackImages,* filter ilist without *imgcount sort ilist put empty into response repeat for each line thisstack in ilist if comma imgName CR is in xos[thisstack] CR then put card id item 3 of thisstack of stack quoteit(item 2 of thisstack) cr after response end repeat if response is not empty then delete last char of response return response end ListImageNamelocations on RefreshCardImages thisstack,cdid put the number of images in cd id cdid of stack thisstack into imgcount if imgcount is not xos[StackImages,thisstack,cdid,imgcount] then put imgcount into xos[StackImages,thisstack,cdid,imgcount] repeat with x = 1 to imgcount put the properties of img x of cd id cdid of stack thisstack into imgprops put imgprops[id],imgprops[name] into line x of xos[StackImages,thisstack,cdid] end repeat end if end RefreshCardImages on RefreshStackImages thisstack, force put the number of cds in stack thisstack into cdcount repeat with c = 1 to cdcount set cursor to busy put the short id of cd c of stack thisstack into cdid put the number of images in cd id cdid of stack thisstack into imgcount if cdcount1000 then put scanning stack:thisstack , card c /cdcount - imgcount images found if force is true or imgcount is not xos[StackImages,thisstack,cdid,imgcount] then put imgcount into xos[StackImages,thisstack,cdid,imgcount] repeat with x = 1 to imgcount put the properties of img x of cd id cdid of stack thisstack into imgprops put imgprops[id],imgprops[name] into line x of xos[StackImages,thisstack,cdid] end repeat end if end repeat end RefreshStackImages on RefreshGlobalImages force put the windows into wlist repeat for each line thisstack in the windows RefreshStackImages thisstack, force end repeat end RefreshGlobalImages ___ 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: Fast/slow code example (was: Re: compileIt for revolution?)
Thanks for your answer, Keep in mind that to answer correctly your request, this post should be a 300 pages book :-) Wouldn't it be time to write that book ? ;-) I see a little bit better how to optimize my scripts... Perhaps, I will find more infos in the online scripting conferences ? Christian from Luxembourg ___ 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: compileIt for revolution?
With all due respect, Jim, if you are trying to do even simple math on a large array of numbers (like computing a histogram of image data), Rev is simply too slow to use. It has nothing to do with data structures: it has to do with slow pCode trying to run tight loops. Jon Jim Bufalini wrote: Guess I'll add my two cents. I'm a newbie to Rev (Revolution) but worked over 25 years in Rev (Revelation), another similar, high-typed, extensible, flexible, run as you program, script language. It's an implementation of Pick on the PC. I was considered an expert. I also owned a company and employed programmers. I too, have heard these discussions hundreds of times, over the years. Speed of execution rarely relates to code, or the language, or whether it's compiled, or in pcode or whatever. It always has to do with data, whether the data is in arrays, or a database, or whatever object. Any language can add 2 to 2 instantly, regardless of the syntax. You don't get speed by changing languages, or writing lengthy workarounds, or complaining about your tools. You get speed by designing, in advance, the layout of your data. This requires straight thinking. 1. Know what you are setting out to accomplish before you type one character of code (what are your client's (your) goals?). 2. Layout and optimize the data you are going to access BEFORE writing any code. How are you indexing the data? Is it real indexing or organization? 3. Now write your code. If you find yourself writing spaghetti code, STOP, go back to step 1. Jim -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Dan Shafer Sent: Wednesday, June 22, 2005 12:12 PM To: How to use Revolution Subject: Re: compileIt for revolution? This whole discussion has been revealing and intriguing to me. My favorite programming language is Smalltalk. But before it was possible to create UIs for Smalltalk without writing code, I found it cumbersome. When a product called WindowBuilder came along, I felt like we'd achieved the ultimate development environment. In many ways, I still think that. Smalltalk had other problems, unfortunately, that made it great to code in, difficult to impossible to deploy. Then my second favorite language was Python. The GUI-building tools for Python are pathetic to non-existent. But the language is powerful and elegant and extends naturally. If the PythonCard project I was engaged in before I discovered Revolution had been on a fast track or complete, odds are I'd have never used Rev. Now I favor Transcript and RunRev. Building UIs is all but painless and 95% of what I want or need to do in creating apps is simple inside the elegance of Transcript. But Transcript isn't object- oriented. Two aphorisms came to mind as I read this entire thread again today. One is, No good programmer uses only one tool for everything. The other is, It's a poor workman who blames his tools. ~~ Dan Shafer, Revolution Consultant and Author http://www.shafermedia.com Get my book, Revolution: Software at the Speed of Thought From http://www.shafermedia.com/revolutionbooks.html ___ 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: Additive Images
Hi Rick, i've post in my site a stack that uses Ink effects to explain the differences between RGB and CMYK colors. I use this stack in my classes. http://www.geocities.com/capellan2000/Ink_Effects.zip i remember that i gave in photoshop the colors red, green, blue, cyan, magenta, yellow and black to images. when you click the button for cmyk images, a slider appears that lets you change the transparency of the images. hope this could give you some hints about your task at hand. :-) al on Fri, 24 Jun 2005 Rick Harrison wrote: I'm trying to create an overlay of three images so that it looks like a triple exposure. Or even possibly an unlimited amount up to the point I want to stop adding. Probably would use a slider control for this to adjust levels, number of images etc. [snip] This seems like a path that others may have gone down in the past with Revolution, so I thought perhaps one of your image processing minds might have some good tips or pointers. Visit my site: http://www.geocities.com/capellan2000/ Yahoo! Sports Rekindle the Rivalries. Sign up for Fantasy Football http://football.fantasysports.yahoo.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: Fast/slow code example (was: Re: compileIt for revolution?)
I think such a book should make a distinction between slow/fast code in general, and specific Transcript tricks to speed up (or to avoid slowing down) your code. Regarding the later, you can check the following url : http://www.sonsothunder.com/index2.htm?http://www.sonsothunder.com/devres/revolution/revolution.htm under scripting tricks. By following some advices in these 3 papers, I've been able to speed up some script by a factor of 5 to 7, which is greatly apreciated when one has to run heavy tasks online with Rev cgi... JB Thanks for your answer, Keep in mind that to answer correctly your request, this post should be a 300 pages book :-) Wouldn't it be time to write that book ? ;-) I see a little bit better how to optimize my scripts... Perhaps, I will find more infos in the online scripting conferences ? ___ 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: Fast/slow code example
Langers Christian wrote: Thanks for your answer, Keep in mind that to answer correctly your request, this post should be a 300 pages book :-) Wouldn't it be time to write that book ? ;-) I see a little bit better how to optimize my scripts... Perhaps, I will find more infos in the online scripting conferences ? See http://www.sonsothunder.com/index2.htm?http://www.sonsothunder.com/devres/revolution/revolution.htm particularly the section headed Scripting tricks and http://www.fourthworld.com/embassy/articles/scriptstyle.html (Only a small part about speed - but lots of other good stuff in there). But always remember the key points - don't optimize too early - don't optimize unless it matters - get the architecture right first, then the data structure, then the code -- Alex Tweedly http://www.tweedly.net -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.323 / Virus Database: 267.8.0/27 - Release Date: 23/06/2005 ___ 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: compileIt for Revolution?
I wasn't going to say this before, but I agree that XTalk has NOTHING to do with Pascal. The control structures are entirely different (no FOR, no WHILE, different CASE), there is no type checking, no variable scoping, no procedures. The quotes you provide only illustrate the point that some people who write books are clueless. Jon, in hyper-curmudgeon mode Eric Engle wrote: Message: 2 Date: Thu, 23 Jun 2005 10:15:28 -0400 From: Mikey [EMAIL PROTECTED] Subject: Re: compileIt for Revolution? To: How to use Revolution use-revolution@lists.runrev.com Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=ISO-8859-1 Try not to get your knickers in a twist. In case you haven't noticed, hypertalk/transcript is clearly a Pascal derived language, they just got rid of begin/end, loosely typed it, and made the operator of affectation verbose. ROTFL/ OMG that's funny. Don't forget scoping, and the overarching paradigm of cards, backgrounds, stacks scripts, properties, and messages and an inheritence path, and the vocabulary, and the fact that nobody could describe what it was, and the fact that it was originally intended to be interpreted not compiled, and therefore DO, and oh hell. You weren't serious so I don't have to add anything here. I mean - really - I was pretty sure xTalk was inspired by COBOL's verbose syntax and...and...choking on my beverage/ . Now that I look at it, I'm having a hard time telling the difference between BASIC and LISP and APL. ROTFL/ Dude, you slay me. Ok, now in case you were serious (and if you were I'm sorry for laughing and making fun of your post) xTalk is now a legacy language type with expectations and conventions and philosophy. I'm reasonably sure that := doesn't fit that philosophy, nor does a=b. If you want compact, you need to go somewhere else. xTalk is intentionally verbose. Philosophically, I like it that way. It means that it is much easier for me to read someone else's code, especially since most of you can't write an intelligent comment in your code to save your lives. I'm going to stop reading this thread now before I REALLY get flamed. Well, yes, that might be a good idea actually. Intelligent debates are generally dispassionate and reasonable since intelligent people are after the truth as opposed to stroking their ego. You might have heard of the maxim Fortiter in re , suaviter in modo. If not, look it up. In any event: think about it. Substantively, I stand by my story: xTalk is a scripting language which is clearly derived from Pascal. Don't take my word for it though; get a copy of think pascal (it's free) and look at its debugger and hypercards, its script formatter and hypercards. Or, just read wikipedia. HyperTalk scripts are fairly similar to written English, and use a logic structure similar to the Pascal programming language. http://en.wikipedia.org/wiki/HyperTalk HyperTalk is the scripting language of HyperCard and its clones. It is similar in syntax to Pascal, and includes enough object-like data structures and programming aids to make it a quite useful development environment (Allen 103). http://www.iath.virginia.edu/elab/hfl0133.html There's even an entire article on macTech Comparing HyperTalk to Pascal which says, Both Pascal and HyperTalk provide powerful if-then-else control structures with very similar syntax. The specification and calling of user defined functions in Pascal and HyperTalk is almost identical. http://www.mactech.com/articles/mactech/Vol.04/04.09/HyperTalk,Pascal/ Based on the comparisons presented above between Pascal and HyperTalk, it should be clear that HyperTalk is indeed a powerful language with many similarities to Pascal. I could keep looking, but I think I've made my point. __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.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: compileIt for Revolution?
Le 23 juin 05 à 20:20, Eric Engle a écrit : xTalk is a scripting language which is clearly derived from Pascal. I never think of that... Is it a real scoop I missed since 20 years, only bad news or a weird analysis from some keyhole journalism? :-) Best regards from Paris, Eric Chatonet. So Smart Software For institutions, companies and associations Built-to-order applications: management, multimedia, internet, etc. Windows, Mac OS and Linux... With the French touch Free plugins and tutorials on my website Web sitehttp://www.sosmartsoftware.com/ Email[EMAIL PROTECTED]/ Phone33 (0)1 43 31 77 62 Mobile33 (0)6 20 74 50 86 ___ 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: Rev won't start in Mac OS 10.3.9
Hi Bill... I tried running with extensions off, except the ones you mentioned and I got the message that Revolution couldn't start because the OTUtilityLib could not be found. At least Rev just didn't quit without a trace. I did a search on my system folder and couldn't find it anywhere either. I thought It might have been relegated to the inactive extensions folder or something. I'm now getting that message whenever I run any OS 9 app so I may have a bigger problem now... Jim on 6/17/05 8:15 AM, Bill wrote: Have you tried it with all extensions off yet? I run classic with only the network and printing extensions and have no problem with color picker not being there. On 6/16/05 8:50 PM, Jim Carwardine [EMAIL PROTECTED] wrote: Hi Jacque... Looks like the color picker is in the right place. I got this report from the extensions manager for missing extensions... NameSizeVersionTypeCreator -- Extensions -- -- Classic RAVE--shlbrvgl System Folder -- -- Classic Support UI--bboxcsui Startup Items Anything look familiar there? Jim on 6/16/05 1:01 AM, J. Landman Gay wrote: On 6/15/05 8:15 PM, Jim Carwardine wrote: Hi Folks... I moved to a Titanium G4 Powerbook 500 MHz running Tiger on which I was running Rev in Classic mode. Everything ran fine. I had a problem with the display and had to switch to a G4 Powerbook 1 GHz running OS 10.3.9 - Panther, I think - and I can't get the IDE to start or run any standalone apps in Classic. I had been using Rev for Mac OS 9 on a G3 Powerbook under OS 9.2. I get no error or freeze or anything. It seems to start up, I see the app name in the right of the menu bar, then it just disappears with no trace. Anyone know what's happening? Anyone have a 15 inch G4 Titanium Powerbook display they don't want? ... Jim This happened to me when I had moved the Color Picker out of the OS 9 extensions folder. For some reason, the engine checked for it and quit if it wasn't available. Sometimes OS X moves a bunch of extensions out of the OS 9 extension folder, so check to see if that one is missing. There are a couple of others that are required too, but I can't remember which ones they are. ||| )_) )_) )_) )___))___))___)\ )))_)\\ _|||\\\__ ---\ /- http://www.bluewatermaritime.com ^ ^ ^^^^^ ^^^ 24 hour cell: (787) 378-6190 fax: (787) 809-8426 Blue Water Maritime P.O. Box 91 Puerto Real, PR 00740 ___ 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 -- OYF is... Highly resourceful people working together. http://www.OwnYourFuture-net.com Own Your Future Consulting Services Limited, 1959 Upper Water Street, Suite 1700, Halifax, Nova Scotia. B3J 3N2 Phone: 902-823-2339. Fax: 902-823-2139 What¹s New... * Have you ever hired an employee who didn¹t work out? * Did you do that on purpose? Probably not... If you want to greatly improve your hiring process, check out our new hiring process... www.HiringSmart.ca/ns http://www.hiringsmart.ca/ns and... www.KeepingTheBest.ca/ns http://www.keepingthebest.ca/ns ___ 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: compileIt for revolution?
Geoff: If anyone wants to try to help me speed optimize my image processing loops, download the obvious program from my user space. Load an image of your choice (but hopefully larger than your screen, to be realistic), then select Brightness, then Linear. Let the optimization wars begin! :) Jon Geoff Canyon wrote: On Jun 22, 2005, at 4:52 PM, Richard Gaskin wrote: And as Geoff Canyon discovered, you can go one step further by drawing all polygons as a single object, but just including a blank line in the points property wherever you want a discontiguous object. Actually, I think Tuviah told me that one too. ;-) On the subject of speed, obviously there are things that are more challenging in Revolution. But anyone who says, My task is too complex/slow, needs to post source code here. Applying a few extra brains to the problem often yields impressive results. Slow code can be written in any language. Transcript makes it very easy to write code, but also very easy to write slow code. gc ___ 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: Fast/slow code example
Eric: Excellent contribution! :) Jon Eric Chatonet wrote: Hi Christian, Le 24 juin 05 à 10:21, Langers Christian a écrit : Could you, please, give us (newbies/intermediate scriptesr) some examples of fast/slow script code ? They would be too many :-) In fact, the problem is often more an architecture issue than a simple code issue. But here is one tiny trivial example among thousands to give you some clues: on CheckList repeat with i = 1 to the number of lines of fld List1 set the itemDel to tab put item 2 of line i of fld List1 cr after fld List2 end repeat end CheckList Main errors in the above 4 lines are: manipulate data directly from a field (a lot of work for the engine) use the repeat with i form slower than the repeat for each form (especially noticeable with long lists) force a screen redraw at each repetition (that's the must for slowing down) set the itemDel unnecessarily at each repetition The result with 1000 lines: more than 13 seconds... Better code: on CheckList local tList, tLine, tNewList - put fld List1 into tList set the itemDel to tab repeat for each line tLine in tList put item 2 of tLine cr after tNewList end repeat put tNewList into fld List2 end CheckList manipulate data into a variable use the repeat for each form use one screen redraw only set the itemDel only when needed The result with 1000 lines: less than 20 milliseconds! 650 times faster... Keep in mind that to answer correctly your request, this post should be a 300 pages book :-) May be Dan wrote it? Best Regards from Paris, Eric Chatonet. So Smart Software For institutions, companies and associations Built-to-order applications: management, multimedia, internet, etc. Windows, Mac OS and Linux... With the French touch Free plugins and tutorials on my website Web sitehttp://www.sosmartsoftware.com/ Email[EMAIL PROTECTED]/ Phone33 (0)1 43 31 77 62 Mobile33 (0)6 20 74 50 86 ___ 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
Server upgrade
Dear list members, I have some good news: we are finally making the long awaited server upgrade. This should result in better service for everyone all round, but does entail some minor inconvenience during the transfer. We will do everything we can to minimise disruption, but you should expect outages to the website, runrev email addresses, the store, customer support, bugzilla, and the discussion lists over the course of this coming weekend. These will not necessarily occur all at once, and we will restore them in priority order as quickly as possible. There could be up to a 24 hour hiatus in finding the website while our new server address propagates across the internet. Disruption should be confined to the period 10am on Saturday to 10am on Monday (UK time). Thank you for your patience during this essential transfer. If you have an urgent need to contact me over the weekend you can do so on [EMAIL PROTECTED] Regards, Heather Nagey, Customer Support Manager Runtime Revolution Ltd www.runrev.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: compileIt for revolution?
Jon, My point exactly: a large array of numbers = data So is the photograph you are computing the histogram on. Would either of these change, if you switch languages? Hence, they are external to your language, or data. I write business application software, so I've never had to compute a histogram and admit I have no clue as to what's involved in that process. However, I have to believe that it is no different than someone saying we have over 200,000 lengthy depositions and need to quickly know any deposition where Jon said to Jim with all due respect in the second quarter of the year 2005 while discussing the topic of compilIT for revolution?. And, we don't want any false positives. If you try to brute force this and depend on your language, OS, and platform for speed of execution, you could be waiting minutes, hours or even days for the result. But, if you know the kind of data manipulation you will be doing in advance, you can parse, index, or otherwise reorganize the source data in such a way as to minimize large data sources or large arrays. Now, depending on how well you organized your data, whether your language is in pcode or machine compiled, results in only milliseconds of difference. Believe me, over 25 years of programming experience bears this out. Jim -Original Message- From: Jon [mailto:[EMAIL PROTECTED] Sent: Friday, June 24, 2005 1:27 AM To: [EMAIL PROTECTED]; How to use Revolution Subject: Re: compileIt for revolution? With all due respect, Jim, if you are trying to do even simple math on a large array of numbers (like computing a histogram of image data), Rev is simply too slow to use. It has nothing to do with data structures: it has to do with slow pCode trying to run tight loops. Jon Jim Bufalini wrote: Guess I'll add my two cents. I'm a newbie to Rev (Revolution) but worked over 25 years in Rev (Revelation), another similar, high-typed, extensible, flexible, run as you program, script language. It's an implementation of Pick on the PC. I was considered an expert. I also owned a company and employed programmers. I too, have heard these discussions hundreds of times, over the years. Speed of execution rarely relates to code, or the language, or whether it's compiled, or in pcode or whatever. It always has to do with data, whether the data is in arrays, or a database, or whatever object. Any language can add 2 to 2 instantly, regardless of the syntax. You don't get speed by changing languages, or writing lengthy workarounds, or complaining about your tools. You get speed by designing, in advance, the layout of your data. This requires straight thinking. 1. Know what you are setting out to accomplish before you type one character of code (what are your client's (your) goals?). 2. Layout and optimize the data you are going to access BEFORE writing any code. How are you indexing the data? Is it real indexing or organization? 3. Now write your code. If you find yourself writing spaghetti code, STOP, go back to step 1. Jim -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Dan Shafer Sent: Wednesday, June 22, 2005 12:12 PM To: How to use Revolution Subject: Re: compileIt for revolution? This whole discussion has been revealing and intriguing to me. My favorite programming language is Smalltalk. But before it was possible to create UIs for Smalltalk without writing code, I found it cumbersome. When a product called WindowBuilder came along, I felt like we'd achieved the ultimate development environment. In many ways, I still think that. Smalltalk had other problems, unfortunately, that made it great to code in, difficult to impossible to deploy. Then my second favorite language was Python. The GUI-building tools for Python are pathetic to non-existent. But the language is powerful and elegant and extends naturally. If the PythonCard project I was engaged in before I discovered Revolution had been on a fast track or complete, odds are I'd have never used Rev. Now I favor Transcript and RunRev. Building UIs is all but painless and 95% of what I want or need to do in creating apps is simple inside the elegance of Transcript. But Transcript isn't object- oriented. Two aphorisms came to mind as I read this entire thread again today. One is, No good programmer uses only one tool for everything. The other is, It's a poor workman who blames his tools. ~~ Dan Shafer, Revolution Consultant and Author http://www.shafermedia.com Get my book, Revolution: Software at the Speed of Thought From http://www.shafermedia.com/revolutionbooks.html ___ 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
Stack size (not the previous thread)
Hi All, I have a stack with one card in it that has practically nothing in it except some text custom properties. It is now at over 3 MB, according to the OS! I'm using Rev 2.5.1 on WinXP Can someone point me where to look for the stack inflation size? Jim ___ 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: Rev won't start in Mac OS 10.3.9
The only necessary extensions (and run no others as sometimes one extension looks for another -- also check start-up items folder and keep that empty as well as control panels except chooser). Apple Enet Carbon Lib Classic Rave File Sharing Library InputSprocket Classic LaserWriter 8 Network Setup Extension Open Tronsport ALSM Modules OpenGLEngine OpenGLLibrary OpenGLMemory OpenGlRenderer OpenGLRenderereTA OpenGLUtility Folder Printer Descriptions Folder printer plug-ins Printing Lib Print Monitor PrintToPDF (3rd party) PrintToPDF Link Maker (3rd party) Shared Library Manager Shared Library Manager PPC If you don't print or use Appletalk then you won't need any of these extensions. Also do not use Tiger as it breaks too many things in classic. Even Tiger 10.4.1 which I also tested. If you already installed Tiger it is impossible to uninstall unless you have a backup you can use Carbon Copy Cloner to re-install from. The real solution is to re-write all your Classic stuff in RunRev and not bother with Classic as I'm sure each new OSX update will subtly break something else. Also keep a back-up copy of the above extensions as OSX will corrupt them and then you will need to copy over the back-up (this happens to me constantly). On 6/24/05 8:23 AM, Jim Carwardine [EMAIL PROTECTED] wrote: Hi Bill... I tried running with extensions off, except the ones you mentioned and I got the message that Revolution couldn't start because the OTUtilityLib could not be found. At least Rev just didn't quit without a trace. I did a search on my system folder and couldn't find it anywhere either. I thought It might have been relegated to the inactive extensions folder or something. I'm now getting that message whenever I run any OS 9 app so I may have a bigger problem now... Jim on 6/17/05 8:15 AM, Bill wrote: Have you tried it with all extensions off yet? I run classic with only the network and printing extensions and have no problem with color picker not being there. On 6/16/05 8:50 PM, Jim Carwardine [EMAIL PROTECTED] wrote: Hi Jacque... Looks like the color picker is in the right place. I got this report from the extensions manager for missing extensions... NameSizeVersionTypeCreator -- Extensions -- -- Classic RAVE--shlbrvgl System Folder -- -- Classic Support UI--bboxcsui Startup Items Anything look familiar there? Jim on 6/16/05 1:01 AM, J. Landman Gay wrote: On 6/15/05 8:15 PM, Jim Carwardine wrote: Hi Folks... I moved to a Titanium G4 Powerbook 500 MHz running Tiger on which I was running Rev in Classic mode. Everything ran fine. I had a problem with the display and had to switch to a G4 Powerbook 1 GHz running OS 10.3.9 - Panther, I think - and I can't get the IDE to start or run any standalone apps in Classic. I had been using Rev for Mac OS 9 on a G3 Powerbook under OS 9.2. I get no error or freeze or anything. It seems to start up, I see the app name in the right of the menu bar, then it just disappears with no trace. Anyone know what's happening? Anyone have a 15 inch G4 Titanium Powerbook display they don't want? ... Jim This happened to me when I had moved the Color Picker out of the OS 9 extensions folder. For some reason, the engine checked for it and quit if it wasn't available. Sometimes OS X moves a bunch of extensions out of the OS 9 extension folder, so check to see if that one is missing. There are a couple of others that are required too, but I can't remember which ones they are. ||| )_) )_) )_) )___))___))___)\ )))_)\\ _|||\\\__ ---\ /- http://www.bluewatermaritime.com ^ ^ ^^^^^ ^^^ 24 hour cell: (787) 378-6190 fax: (787) 809-8426 Blue Water Maritime P.O. Box 91 Puerto Real, PR 00740 ___ 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 ||| )_) )_) )_) )___))___))___)\ )))_)\\ _|||\\\__ ---\ /- http://www.bluewatermaritime.com ^ ^ ^^^^^ ^^^ 24 hour cell: (787) 378-6190 fax: (787) 809-8426 Blue Water Maritime P.O. Box 91 Puerto Real, PR 00740
is within ... polygon shape?
Can you use is within statements to evaluate if an object is within the confines of an irregular shape?? If so - point me in the right direction? Thx, S -- -- Steve Bonham Director, Faculty Technology Development Laboratory Center for Excellence in Teaching - Georgia Southern University Statesboro, GA 30460-8143 -- ___ 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: Printing Scripts PAINFUL
Do we have a BZ number? Also vote to fix this bug! -- http://taoof4d.blogspot.com http://4dwishlist.blogspot.com On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, This is good. ___ 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
Control of ask-dialogs position in Windows standalone
I am working with large cards, 3x3 screens, and have 5 ask-dialogs, all called from primary (upper left) screenwindow. In mac versions these dialogs appear as they are meant to, centered in that primary window. But in a Windows standalone the dialogs appear - out of sight - in the next (middle) screen, thus not answerable-(except blindly), and blocking all activity. Is there a way to fix the position of such ask-dialogues to a specified screen-position? Kresten Bjerg ___ 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: Choosing printer from within a script
Well, actually, I would also need to select the current printer. Do you think that might set off antivirus software? I am pretty sure I could get a list of printers just by getting the files in the printer folder - but choosing a current printer, so that the subsequent print command prints on that printer, is a different matter. I really wish that was an inherent part of transcript. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ken Ray Sent: Thursday, June 23, 2005 9:32 PM To: Use Revolution List Subject: Re: Choosing printer from within a script On 6/23/05 1:23 PM, Lynch, Jonathan [EMAIL PROTECTED] wrote: Thanks Ken! What versions of windows allow you to use Vbscript in this way? I see many uses for such a thing. All of 'em... (actually I think you need to have at least Internet Explorer 4.x or later in Windows 95). However different versions of the OS will support different sets of functionality depending on what you're asking for. Keep in mind that certain VBS actions may trigger anti-virus detectors (generally anything that manipulates files like the FileSystem object). But if you're just getting info, you should be safe. 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 ___ 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: compileIt for Revolution?
On Jun 24, 2005, at 2:19 AM, Eric Engle wrote: on eq @x,y -- note x is by reference put y into x end eq You can use that in the order you asked for like this: on mouseUp put 0 into b eq b,7 put b -- puts 7 eq b,b+3 put b -- puts 10 end mouseUp Does Transcript allow pointers?!? If so, big news to me (new in latest engine or something?!?) I tested your handler without the pointer symbol (@) and it seemed to work. The @ sign before the variable name implements pass by reference. Without it the two puts would both put 0, because the value of b is unaffected by the calls. With the @ sign, the first time b is 7, the second it is 10. Granted it's not infix, but it is in the order requested: target,value. ___ 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: is within ... polygon shape?
Answered my own question- I found the intersect function and it works (see below) if intersect(graphic ball, graphic sand1) then put in the bunker into YourLie end if HOWEVER... There are many, many objects that the ball object may intersect with... Is it possible to use a wildcard character in Rev? For instance, there are 3 sand bunkers (sand1, sand2, sand3) and 60+ trees (tree1, tree2, etc) Can I use something along the lines of : if intersect(graphic ball, graphic tree *) then put in the bunker into YourLie end if I'm supposing this is not possible (but it sounds like a logical need)-- but maybe there is another way to accomplish this? Thx S Can you use is within statements to evaluate if an object is within the confines of an irregular shape?? If so - point me in the right direction? Thx, S -- -- Steve Bonham Director, Faculty Technology Development Laboratory Center for Excellence in Teaching - Georgia Southern University Statesboro, GA 30460-8143 -- ___ 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 -- -- Steve Bonham Director, Faculty Technology Development Laboratory Center for Excellence in Teaching - Georgia Southern University Statesboro, GA 30460-8143 -- ___ 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
Interfacing to externals. [offshoot from CompileIt for Revolution]
Although there may be changes possible that could reduce the need for externals, I believe there will always be good reasons to use externals. I think the current mechanism used by Rev to do interface to externals is missing an opportunity, and indeed is inelegant (or unaesthetic), because it forces the interface - and hence the calling Transcript code - to be different from what it would be if the function/handler were internal (pure Transcript) rather than external. [If I've missed something, and there is already such a mechanism, please tell me. I know you can retrieve such binary data from within the external, but as far as I can tell you cannot *pass* it to an external.] The mechanism used passes null-terminated strings (an array of them, for the parameters) and returns a null-terminated string (if it's a function). This precludes passing, or returning, binary data. So, in pure Transcript, I would create a function as follows: function manipulate pImageData -- do something to the image data, creating a new image in newImageData return newImageData end manipulate and call it as put the imagedata of img mine into myImage put manipulate(myImage) into newImage set the imagedata of img destination to newImage However, if manipulate was to be, or become, an external then you cannot provide that interface. You need to change it such the calling side looks like put the imagedata of img mine into myImage manipulate myImage, newImage set the imagedata of img destination to newImage (or a variant of that. You could keep it as a function - but since its result can't be the binary data, there's no reason to do so). Alternatively, I might be willing to overwrite the original data (and save the time for replicating it), and then do on manipulateInPlace @pImageData - change it end manipulateInPlace Then it would be called as manipulateInPlace myImage and again if it had to be an external, the interface would need to be manipulateInPlace myImage You can't pass binary data because the parameters appear on the C side aschar *args[] (and similarly the return value is a null-terminated string). If that could be changed to pass an array of MCStrings (i.e. MCstring[]) then, because they'd be length-specified, there would be no problem with binary data. Similar change for the return value from a function. Even if this does seem like a desirable change, is it feasible ? I think it should be. Obviously it wouldn't be possible to just change because it would be incompatible. But the Xtable[] used to define the entry points already contains a type, currently one of XFUNCTION, XCOMMAND or XNONE. The set of types could be extended to include, say, XBINFUNCTION and XBINCOMMAND which determine that the paramters and, where applicable, return value are MCStrings rather than char *s. Therefore the engine would know which parameter passing mechanism is in use, and behave accordingly. The primary benefit is that it alows the interface to be more Transcript-like - no (regular) pure-Transcript function would expect to be passed a string containing the name of a variable in preference to passing the variable itself. The secondary benefit is that you could initially write a Transcript version of the function, and later replace it by an external versino of the same function without revisiting every place it is used to change the calling convention. There is a tertiary benefit of minor speed improvement from avoiding the callback to retrieve (and set) binary parameters (and results), but I don't think that's significant, and it would not be a reason to suggest this change. I don't see any major drawback. There is a minor drawback, in that it is an additional mechanism to be learnt by anyone starting to write externals, and to be considered each time you design an external's interface. And there is a very minor drawback in that it is extra work to develop, and code to maintain, in the engine's external-calling code - but I would hope that it shouldn't be much extra code, and shouldn't be fragile, and so not a noticable maintenance cost. -- Alex Tweedly http://www.tweedly.net -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.323 / Virus Database: 267.8.0/27 - Release Date: 23/06/2005 ___ 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: compileIt for revolution?
Dan, Perhaps we are in perfect agreement, just expressing it differently... I could not argue with the way you have expressed it here. Dennis On Jun 24, 2005, at 1:09 AM, Dan Shafer wrote: Dennis. You make some excellent points. I don't think that *my* programming needs should drive the direction of the language or the tool. And I'm certainly not opposed even to *major* extensions and enhancements of the language. My only real sticking point is that if and when new things are added, they be done in a way that is as cross-platform as possible, as innocuous to coders for other platforms as feasible, and implemented in a way that keeps the consistent flavor and style of xTalk, including its verbosity. Verbosity is a virtue in my mind. Not only does it make code more readable and therefore maintainable, but I can't tell you how many times I've just sort of guessed at what command or property change might have some desired effect only to have it behave exactly as predicted. Only with xTalk and Python have I had that kind of experience. And I love it! ___ 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
Any experience with Expect
Hello all, I was talking to a friend the other day and discovered that he does a lot of hardware testing (regression testing, feature testing etc). Since this is a tedious task most people have been using a program called Expect. Homepage is http://expect.nist.gov/ Tcl/Tk has been used a the user interface. 1. I was wondering if Rev would not be a good alternative to this in native form? 2. Or would it be feasible to make Expect a Rev external ? thanks, ___ 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: Interfacing to externals. [offshoot from CompileIt for Revolution]
Alex Tweedly a *crit : I think the current mechanism used by Rev to do interface to externals is missing an opportunity, and indeed is inelegant (or unaesthetic), because it forces the interface - and hence the calling Transcript code - to be different from what it would be if the function/handler were internal (pure Transcript) rather than external. yep, and that's one of the main reason why I dropped the idea of building a general purpose external to interface Rev with openGL 2 years ago... JB ___ 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: is within ... polygon shape?
Hi Steve, Should be fine indeed... AFAIK yo have to run a loop. I don't know how is your interface but you could have some invisible graphics to test a larger zone before a long loop. A kind of graphic's indexation... to speed up the process if needed :-) Le 24 juin 05 à 15:53, Steve Bonham a écrit : There are many, many objects that the ball object may intersect with... Is it possible to use a wildcard character in Rev? For instance, there are 3 sand bunkers (sand1, sand2, sand3) and 60 + trees (tree1, tree2, etc) Can I use something along the lines of : if intersect(graphic ball, graphic tree *) then put in the bunker into YourLie end if I'm supposing this is not possible (but it sounds like a logical need)-- but maybe there is another way to accomplish this? Best Regards from Paris, Eric Chatonet. So Smart Software For institutions, companies and associations Built-to-order applications: management, multimedia, internet, etc. Windows, Mac OS and Linux... With the French touch Free plugins and tutorials on my website Web sitehttp://www.sosmartsoftware.com/ Email[EMAIL PROTECTED]/ Phone33 (0)1 43 31 77 62 Mobile33 (0)6 20 74 50 86 ___ 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: the := operator (affectation
Jim, On Jun 23, 2005, at 10:40 PM, Jim MacConnell wrote: Dennis, First.. thank you for your intelligent reply to my: okay.. back into my hole... Yes, Please stay there. It is good to so easily learn so much of the people we correspond with. I'm not surprised that I touched a nerve but I am surprised at the scream ... sorry ;-{ ) My apologies, I was a bit over the top yesterday in my reply. Yes, I want to make intelligent discussion not hyperbole. We all have our bad days. I felt like I was being ambushed, and that you were going to retreat out of the conversation. Second.. var := x var == x var = x --this is a bit tougher var isAssignedToTheValueOf x var gets x are all the same thing! Well.. they are close. They all may have the same result at a machine code level... (although I believe var == x resolves to TRUE if var and x are the same (false otherwise).. and usually the same for (var = x) if it is parentheses? ) Oops, but at least you knew what I meant . APL left arrow was supposed to go into that spot. but the discussion is not about values of variables or what the machine does... or at least my contribution wasn't. It seemed to me, the discussion was about consistency in a language and the inclusion of semantically different operators in addition to those that are inherently ones. Seems like you didn't understand rather than me. I did understand you, and I can accept that a var gets x is not xTalk as long as var := x is also not xTalk. That was my point. The gets term was my suggestion as being more xTalk than := and could be related semantically to the get command which is also left assignment. Third... You say one is a good construct and another is an inconsistent construct! That makes your argument inconsistent. Maybe reread my post? I don't see in my message where I said any of those was a good construct for an xTalk. I said put x into var was a good construct for an xTalk language because it is consistent with the concept of telling the object what It should do as opposed to a variable being assigned something... It may seem a trivial point but it is at the root of the discussion... I personally have nothing against := and = for variable assignment --I took to be your acceptance as good. Or perhaps the point is that if all of the above are the same but are non-xTalk friendly conceptually, is it appropriate for us to worry about whether Transcript includes any of them Of course you left the put x into var out of the list even though I would assume that from your point of view it is also the same thing So why did you leave it off? it appears to be the only one that is 100% consistent with the xTalk construct. Could it be you agree with me at some level? Put x into var is a right assignment command. Not the same thing. The whole thread is about a left assignment operator and the desire to conceptually have a left assignment as an extension of the language. And, yes, I do agree with you at some level, just not the way you argued for your point. I tend to take an argument to the extreme opposite position in order to discover the core issue. It makes everyone (including myself) think more clearly. I also test my code with values of -infinity, -1,0,1,+infinity,empty. I find the flaws faster with the edge conditions. Finally... You just don't get it ;-) I can't say I can get it into your head, though I can put it into your head. Perhaps Jim gets it now. ... telling someone their argument is inconsistent or that they don't get it when it appears you maybe didn't actually listen to/ read what they were saying does little to build your credibility. Following the same with a condescending cute smiley does not help. This list is a great place for constructive discussion and it should stay that way. Keep your personal comments to yourself.. and I'll be lighter on the ...some renegade variable is off filling itself with data... comments. I guess I was a bit too obscure. The ;-) was the clue that the statements were an example of get, put, gets syntax and a lighthearted jab not meant to be taken too literally: You just don't get it, because get it is a no op. I can't say I can get it into your head, because get...into is bad syntax mixing left and right assignment, showing the difference between get and put. Perhaps Jim gets it now... new syntax of left assignment that is English like syntax. However, from the various replies to my gets suggestion, I don't think gets is the best choice for a left assignment for Transcript because of the lack of imperative. In BASIC the LET was the imperative to LET var=x. The LET was redundant from a parsing point of view, so eventually fell away. So in Transcript left assignment might be better stated using the familiar syntax: set var to x The get command becomes the shortcut
Re: is within ... polygon shape?
h- Intersect doesn't work after all. It appears that one object will intersect with another irregular object's rect and NOT the objects true shape (polygon points). See illustration... at: http://academics.georgiasouthern.edu/cet/SB/ball_fairway.jpg Is there a way to get Rev to: 1. evaluate IF the loc of an object is within the shape (defined by a series of coordinates) of an object? OR 2. evaluate IF the loc of an object intersects with the shape (defined by a series of coordinates) of an object? Thx, S Answered my own question- I found the intersect function and it works (see below) if intersect(graphic ball, graphic sand1) then put in the bunker into YourLie end if HOWEVER... There are many, many objects that the ball object may intersect with... Is it possible to use a wildcard character in Rev? For instance, there are 3 sand bunkers (sand1, sand2, sand3) and 60+ trees (tree1, tree2, etc) Can I use something along the lines of : if intersect(graphic ball, graphic tree *) then put in the bunker into YourLie end if I'm supposing this is not possible (but it sounds like a logical need)-- but maybe there is another way to accomplish this? Thx S -- -- Steve Bonham Director, Faculty Technology Development Laboratory Center for Excellence in Teaching - Georgia Southern University Statesboro, GA 30460-8143 -- ___ 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: is within ... polygon shape?
Re Steve, Another funny approach: function WhichObject pLoc,pObj local tCurLoc, tColor - put the screenMouseLoc into tCurLoc lock screen hide pObj set the screenMouseloc to globalLoc(pLoc) put the mouseColor into tColor set the screenMouseloc to tCurLoc show pObj unlock screen return WhatKindOfObject(tColor) end WhichObject WhatKindOfObject function would return the right object according to the passed color :-) Not tested... but should work. Ah, there are so many ways to do a job with Rev! Le 24 juin 05 à 16:30, Steve Bonham a écrit : Intersect doesn't work after all. It appears that one object will intersect with another irregular object's rect and NOT the objects true shape (polygon points). See illustration... at: http://academics.georgiasouthern.edu/cet/SB/ball_fairway.jpg Is there a way to get Rev to: 1. evaluate IF the loc of an object is within the shape (defined by a series of coordinates) of an object? OR 2. evaluate IF the loc of an object intersects with the shape (defined by a series of coordinates) of an object? Best Regards from Paris, Eric Chatonet. So Smart Software For institutions, companies and associations Built-to-order applications: management, multimedia, internet, etc. Windows, Mac OS and Linux... With the French touch Free plugins and tutorials on my website Web sitehttp://www.sosmartsoftware.com/ Email[EMAIL PROTECTED]/ Phone33 (0)1 43 31 77 62 Mobile33 (0)6 20 74 50 86 ___ 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: is within ... polygon shape?
Recently, Steve Bonham wrote: Intersect doesn't work after all. It appears that one object will intersect with another irregular object's rect and NOT the objects true shape (polygon points). See illustration... at: http://academics.georgiasouthern.edu/cet/SB/ball_fairway.jpg Is there a way to get Rev to: 1. evaluate IF the loc of an object is within the shape (defined by a series of coordinates) of an object? OR 2. evaluate IF the loc of an object intersects with the shape (defined by a series of coordinates) of an object? I believe some folks on the list have written collision detection routines that can detect intersection in several situations. I think Malte Brill might know something about this. That being said, collision detection on irregular shapes can work by using images that have a transparent background and point references. Using the within() function it is possible to accurately detect whether a point falls within the image since Rev will evaluate a point falling within the transparent region of the image as false. get within(img 1,myPoint) Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.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: is within ... polygon shape?
Eric, Wow! Now THAT is an ingenious approach!!! :-) and it might be just the solution needed. I'll give it a shot. S Re Steve, Another funny approach: function WhichObject pLoc,pObj local tCurLoc, tColor - put the screenMouseLoc into tCurLoc lock screen hide pObj set the screenMouseloc to globalLoc(pLoc) put the mouseColor into tColor set the screenMouseloc to tCurLoc show pObj unlock screen return WhatKindOfObject(tColor) end WhichObject WhatKindOfObject function would return the right object according to the passed color :-) Not tested... but should work. Ah, there are so many ways to do a job with Rev! -- -- Steve Bonham Director, Faculty Technology Development Laboratory Center for Excellence in Teaching - Georgia Southern University Statesboro, GA 30460-8143 -- ___ 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: is within ... polygon shape?
you need a real algotithm. The within function only works on rects only AFAIK. But the graphic will only detect a mouseup if you click on its graphic, not the rect - so somehow, it's calculated... There's plenty of them algorithms on the net. search region intersection and/or polygon intersection fun stuff... im sure there's a Gauss or old greek technique for this! or... the xtalk way you can simulate a click at any point and if the target is the card or not the graphic, then you got your intersection logic running. i'll see what i can dig up tonite... interesting problem: is point in *space(f) of f(i) where i is any graphic def. oh and, new bugz 2934 found! Duh! Then people i dont check on my bugs but hey, i dont charge as much ;) cheers Xavier -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Steve Bonham Sent: Friday, June 24, 2005 16:31 To: How to use Revolution Subject: Re: is within ... polygon shape? h- Intersect doesn't work after all. It appears that one object will intersect with another irregular object's rect and NOT the objects true shape (polygon points). See illustration... at: http://academics.georgiasouthern.edu/cet/SB/ball_fairway.jpg Is there a way to get Rev to: 1. evaluate IF the loc of an object is within the shape (defined by a series of coordinates) of an object? OR 2. evaluate IF the loc of an object intersects with the shape (defined by a series of coordinates) of an object? Thx, S Answered my own question- I found the intersect function and it works (see below) if intersect(graphic ball, graphic sand1) then put in the bunker into YourLie end if HOWEVER... There are many, many objects that the ball object may intersect with... Is it possible to use a wildcard character in Rev? For instance, there are 3 sand bunkers (sand1, sand2, sand3) and 60+ trees (tree1, tree2, etc) Can I use something along the lines of : if intersect(graphic ball, graphic tree *) then put in the bunker into YourLie end if I'm supposing this is not possible (but it sounds like a logical need)-- but maybe there is another way to accomplish this? Thx S -- -- Steve Bonham Director, Faculty Technology Development Laboratory Center for Excellence in Teaching - Georgia Southern University Statesboro, GA 30460-8143 -- ___ 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: Interfacing to externals. [offshoot from CompileIt forRevolution]
It's only in-elegant as you name your external handlers or functions... The setup is horrible but not impossible if not already documented somewhere... I know i managed at least a year ago! cheers Xavier -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of jbv Sent: Friday, June 24, 2005 16:23 To: How to use Revolution Subject: Re: Interfacing to externals. [offshoot from CompileIt forRevolution] Alex Tweedly a *crit : I think the current mechanism used by Rev to do interface to externals is missing an opportunity, and indeed is inelegant (or unaesthetic), because it forces the interface - and hence the calling Transcript code - to be different from what it would be if the function/handler were internal (pure Transcript) rather than external. yep, and that's one of the main reason why I dropped the idea of building a general purpose external to interface Rev with openGL 2 years ago... JB ___ 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
revSetStackFileProfile
revSetStackFileProfile only seems to work on open substacks, is this correct? I have a mainstack that calls revSetStackFileProfile and when I open my main substack, the profiles aren't set. I have to do another revSetStackFileProfile in the openstack hander of the substack. Peter T. Evensen http://www.PetersRoadToHealth.com 24-hour recorded info hotline: 1-800-624-7671 ___ 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
Contest Results Tonight!
Well, depending on where you on in the world: tonight, this afternoon, this morning, or tomorrow morning! ;) Seriously, though, a quick reminder that the first winners of the ChatRev coding contest are tonight! To celebrate, we will announce the winners of the contest and discuss the entries, on a world-wide ChatRev session, next Friday, 24th June, at 21.30 CET (Note: See below for worldwide times). The winners will be invited to talk about their stack and to explain the approach to their solution. The whole event will last one hour at most. The three best stacks of this challenge will be made available on the ChatRev Coding Contest website, shortly after the event. The Advanced Challenge continues until 11th July and the Impossible Challenge until 8th August. Make sure to submit your solutions to each of the challenges in time, to win one of the wonderful prizes. To learn more about the Coding Contest, go to: http:// contest.wecode.org If you need to get a copy of ChatRev, go to: http:// chatrev.bjoernke.com We look forward to everyone joining us on ChatRev tonight! Warmest regards, The CCC judges, Björnke Wouter Chipp Mark Ro Time Chart: CET 21.30 BST 20:30 EST 15:30 PST 12:30 -- http://contest.wecode.org Now running: the first ChatRev coding contest! sponsors: Altuit Andre Garzia Fourth World Karl Becker Runtime Revolution TidBITS in cooperation with eHUG Ro Nagey ~ Evangelist ~ [EMAIL PROTECTED] Runtime Revolution - User-Centric Development Tools ~ http:// www.runrev.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: is within ... polygon shape?
Perhaps I am confused... But if you are going to hide the top object, then put the mouse over the polygon - then all you would need to do is use the mousecontrol function. If the mouseControl is the polygon in question - then you've got it. However, this does not tell you if any point of the top object is over the polygon. This would only tell you if the point at which you place the mouse is over the polygon. If pLoc is in the middle of the top object, but only the edge of the top object is over the polygon, then this test would miss the overlap. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Steve Bonham Sent: Friday, June 24, 2005 10:55 AM To: How to use Revolution Subject: Re: is within ... polygon shape? Eric, Wow! Now THAT is an ingenious approach!!! :-) and it might be just the solution needed. I'll give it a shot. S Re Steve, Another funny approach: function WhichObject pLoc,pObj local tCurLoc, tColor - put the screenMouseLoc into tCurLoc lock screen hide pObj set the screenMouseloc to globalLoc(pLoc) put the mouseColor into tColor set the screenMouseloc to tCurLoc show pObj unlock screen return WhatKindOfObject(tColor) end WhichObject WhatKindOfObject function would return the right object according to the passed color :-) Not tested... but should work. Ah, there are so many ways to do a job with Rev! -- -- Steve Bonham Director, Faculty Technology Development Laboratory Center for Excellence in Teaching - Georgia Southern University Statesboro, GA 30460-8143 -- ___ 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: is within ... polygon shape?
Let your computer and go a walk at a golf :-) Le 24 juin 05 à 17:08, MisterX a écrit : if it's all white, then what? ;) nothing beats mathematics ;) Best Regards from Paris, Eric Chatonet. So Smart Software For institutions, companies and associations Built-to-order applications: management, multimedia, internet, etc. Windows, Mac OS and Linux... With the French touch Free plugins and tutorials on my website Web sitehttp://www.sosmartsoftware.com/ Email[EMAIL PROTECTED]/ Phone33 (0)1 43 31 77 62 Mobile33 (0)6 20 74 50 86 ___ 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
advice
I just need some advice and opinions on this one. I'm working on creating a little backup / WinZip-like application (mostly just for my own use, but we'll see). I would like to store backed up files into custom properties of a stack, so that everything is contained in one easy-to-use file, much like a WinZip or Stuffit archive. Here's my question. I'm debating on whether to compress the files first, and then place them in the custom props, or to put them in uncompressed, and then compress the entire stack file all at once. Is there any benefit doing it one way over the other? I would think it would be faster to compress/decompress one file as opposed to many, but it would also mean that upon restoring the archive, I would need to decompress that archive and save it to a temporary stack file, then delete that temp file when the process is complete. Or am I wrong about that? Anyway, this is just kind of a design issue, and I'm wondering what the rest of you would do. Which way would be the most efficient? Thanks, Chris -- Chris Sheffield Read Naturally The Fluency Company http://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: is within ... polygon shape?
Yes, but the mathematical testing for such a thing is not easy... I mean, if it was a simple shape, with a simple formula to define the shape, then it probably would not be so hard. But, with an irregular polygon, you have to do something like this: Outer repeat loop (goes through every visible point in the bottom shape) Put the point to be tested into tPoint1 Inner repeat loop (goes through every visible point in the top shape) Put the point to be tested into tPoint2 If tPoint2 = tPoint1 then Return true Exit this function End if End inner repeat loop End outer repeat loop Doing that in transcript would be kind of slow. I imagine there must be faster algorithms, but they will all require tons of comparisons. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of MisterX Sent: Friday, June 24, 2005 11:08 AM To: 'How to use Revolution' Subject: RE: is within ... polygon shape? if it's all white, then what? ;) nothing beats mathematics ;) cheers 1/X -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Steve Bonham Sent: Friday, June 24, 2005 16:55 To: How to use Revolution Subject: Re: is within ... polygon shape? Eric, Wow! Now THAT is an ingenious approach!!! :-) and it might be just the solution needed. I'll give it a shot. S Re Steve, Another funny approach: function WhichObject pLoc,pObj local tCurLoc, tColor - put the screenMouseLoc into tCurLoc lock screen hide pObj set the screenMouseloc to globalLoc(pLoc) put the mouseColor into tColor set the screenMouseloc to tCurLoc show pObj unlock screen return WhatKindOfObject(tColor) end WhichObject WhatKindOfObject function would return the right object according to the passed color :-) Not tested... but should work. Ah, there are so many ways to do a job with Rev! -- -- Steve Bonham Director, Faculty Technology Development Laboratory Center for Excellence in Teaching - Georgia Southern University Statesboro, GA 30460-8143 -- ___ 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: Any experience with Expect
Glen- Friday, June 24, 2005, 7:08:43 AM, you wrote: GB 1. I was wondering if Rev would not be a good alternative to this in GB native form? GB 2. Or would it be feasible to make Expect a Rev external ? Maybe I'm mising the point, but I don't see what would be gained by either of these. Expect uses Tcl/Tk to handle text scripts for controlling command-line programs. I don't see where a GUI wrapper would help in either creating scripts or running them. You'd still have to write the scripts and then hand them off to Tcl/Tk for execution. Possibly in archiving and retrieving regression tests, but rev seems a bit of overkill in that department. -- -Mark Wieder [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
LDAP query in shell
Don't have a windows box handy to test this (aside from being windows- impaired.): In *nix systems I can query an LDAP server using the ldapsearch utility in a shell function. Is there a similar utility that can be called in Windows 2000/XP? If so, can someone point me to the proper syntax? TIA DNA Devin Asay Humanities Technology and Research Support Center Brigham Young University ___ 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: advice
Hi Chriss, Le 24 juin 05 à 17:17, Chris Sheffield a écrit : I would think it would be faster to compress/decompress one file as opposed to many, but it would also mean that upon restoring the archive, I would need to decompress that archive and save it to a temporary stack file, then delete that temp file when the process is complete. If you want to be flexible (for instance to display a file names list, choose one to decompress and so on without having to make any change to your archive - which is always better for security) you will compress the files first. In addition, accessing to the needed data for archive management will be faster. As for me I would try to avoid to manipulate files... if they don't need it. Question of reliability :-) My two cents. Best Regards from Paris, Eric Chatonet. So Smart Software For institutions, companies and associations Built-to-order applications: management, multimedia, internet, etc. Windows, Mac OS and Linux... With the French touch Free plugins and tutorials on my website Web sitehttp://www.sosmartsoftware.com/ Email[EMAIL PROTECTED]/ Phone33 (0)1 43 31 77 62 Mobile33 (0)6 20 74 50 86 ___ 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: Any experience with Expect
As far as I can tell Expect in it's native form is simply a command line. Tcl/Tk was used to create a GUI enviroment for it. So Rev (which is a far better GUI enviroment ) could be used to develop a more custom interface for particular users. So if you ignore the addition of Tcl/Tk you have a command line package which could be accessed with Rev through the shell or possibly make Expect a Rev external. I guess what I am trying to get at is that Rev should be able to replace Tcl. On 6/24/05, Mark Wieder [EMAIL PROTECTED] wrote: Glen- Friday, June 24, 2005, 7:08:43 AM, you wrote: GB 1. I was wondering if Rev would not be a good alternative to this in GB native form? GB 2. Or would it be feasible to make Expect a Rev external ? Maybe I'm mising the point, but I don't see what would be gained by either of these. Expect uses Tcl/Tk to handle text scripts for controlling command-line programs. I don't see where a GUI wrapper would help in either creating scripts or running them. You'd still have to write the scripts and then hand them off to Tcl/Tk for execution. Possibly in archiving and retrieving regression tests, but rev seems a bit of overkill in that department. -- -Mark Wieder [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 ___ 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: is within ... polygon shape?
Message: 15 Date: Fri, 24 Jun 2005 07:53:22 -0700 From: Scott Rossi [EMAIL PROTECTED] Subject: Re: is within ... polygon shape? To: How to use Revolution use-revolution@lists.runrev.com Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=US-ASCII Recently, Steve Bonham wrote: Intersect doesn't work after all. It appears that one object will intersect with another irregular object's rect and NOT the objects true shape (polygon points). See illustration... at: http://academics.georgiasouthern.edu/cet/SB/ball_fairway.jpg Is there a way to get Rev to: 1. evaluate IF the loc of an object is within the shape (defined by a series of coordinates) of an object? OR 2. evaluate IF the loc of an object intersects with the shape (defined by a series of coordinates) of an object? I believe some folks on the list have written collision detection routines that can detect intersection in several situations. I think Malte Brill might know something about this. That being said, collision detection on irregular shapes can work by using images that have a transparent background and point references. Using the within() function it is possible to accurately detect whether a point falls within the image since Rev will evaluate a point falling within the transparent region of the image as false. get within(img 1,myPoint) Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design Steve, Scott is right. The function you want is within(), which is different from is within. It is very efficient. If you want to detect whether two polygons Poly1 and Poly2 intersect, you would first run function firstWithinSecond grc1,grc2 put the points of grc grc1 into myPolyPoints1 repeat for each line tPoint in myPolyPoints1 if within(grc grc2,tPoint) then return true end repeat return false end firstWithinSecond where grc1 is Poly1 and grc2 is Poly2 and then run the same routine with Poly1 and Poly2 reversed. It may be that a point (vertex) of Poly2 is within Poly1, but there is no vertex of Poly 1 which is within Poly2. You need to run both. Or write one handler to check both. I didn't realize it worked for points within images as well. Thanks Scott. Jim ___ 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
AFAIK???
AFAIK? Is this pronounced like the duck says it in the insurance commercial? Seriously, what is AFAIK? S you need a real algotithm. The within function only works on rects only AFAIK. But the graphic will only detect a mouseup if you click on its graphic, not the rect - so somehow, it's calculated... There's plenty of them algorithms on the net. search region intersection and/or polygon intersection fun stuff... im sure there's a Gauss or old greek technique for this! or... the xtalk way you can simulate a click at any point and if the target is the card or not the graphic, then you got your intersection logic running. i'll see what i can dig up tonite... interesting problem: is point in *space(f) of f(i) where i is any graphic def. oh and, new bugz 2934 found! Duh! Then people i dont check on my bugs but hey, i dont charge as much ;) cheers Xavier -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Steve Bonham Sent: Friday, June 24, 2005 16:31 To: How to use Revolution Subject: Re: is within ... polygon shape? h- Intersect doesn't work after all. It appears that one object will intersect with another irregular object's rect and NOT the objects true shape (polygon points). See illustration... at: http://academics.georgiasouthern.edu/cet/SB/ball_fairway.jpg Is there a way to get Rev to: 1. evaluate IF the loc of an object is within the shape (defined by a series of coordinates) of an object? OR 2. evaluate IF the loc of an object intersects with the shape (defined by a series of coordinates) of an object? Thx, S Answered my own question- I found the intersect function and it works (see below) if intersect(graphic ball, graphic sand1) then put in the bunker into YourLie end if HOWEVER... There are many, many objects that the ball object may intersect with... Is it possible to use a wildcard character in Rev? For instance, there are 3 sand bunkers (sand1, sand2, sand3) and 60+ trees (tree1, tree2, etc) Can I use something along the lines of : if intersect(graphic ball, graphic tree *) then put in the bunker into YourLie end if I'm supposing this is not possible (but it sounds like a logical need)-- but maybe there is another way to accomplish this? Thx S -- -- Steve Bonham Director, Faculty Technology Development Laboratory Center for Excellence in Teaching - Georgia Southern University Statesboro, GA 30460-8143 -- ___ 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 -- -- Steve Bonham Director, Faculty Technology Development Laboratory Center for Excellence in Teaching - Georgia Southern University Statesboro, GA 30460-8143 -- ___ 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: AFAIK???
AFAIK? Is this pronounced like the duck says it in the insurance commercial? Seriously, what is AFAIK? As far as I know...as far as I know. sims ___ 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: is within ... polygon shape?
This is pretty cool! But - would this work 100% for curved polygons or images? The docs do not mention points for images. Either, this is a very cool way of testing. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jim Hurley Sent: Friday, June 24, 2005 11:44 AM To: use-revolution@lists.runrev.com Subject: Re: is within ... polygon shape? Message: 15 Date: Fri, 24 Jun 2005 07:53:22 -0700 From: Scott Rossi [EMAIL PROTECTED] Subject: Re: is within ... polygon shape? To: How to use Revolution use-revolution@lists.runrev.com Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=US-ASCII Recently, Steve Bonham wrote: Intersect doesn't work after all. It appears that one object will intersect with another irregular object's rect and NOT the objects true shape (polygon points). See illustration... at: http://academics.georgiasouthern.edu/cet/SB/ball_fairway.jpg Is there a way to get Rev to: 1. evaluate IF the loc of an object is within the shape (defined by a series of coordinates) of an object? OR 2. evaluate IF the loc of an object intersects with the shape (defined by a series of coordinates) of an object? I believe some folks on the list have written collision detection routines that can detect intersection in several situations. I think Malte Brill might know something about this. That being said, collision detection on irregular shapes can work by using images that have a transparent background and point references. Using the within() function it is possible to accurately detect whether a point falls within the image since Rev will evaluate a point falling within the transparent region of the image as false. get within(img 1,myPoint) Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design Steve, Scott is right. The function you want is within(), which is different from is within. It is very efficient. If you want to detect whether two polygons Poly1 and Poly2 intersect, you would first run function firstWithinSecond grc1,grc2 put the points of grc grc1 into myPolyPoints1 repeat for each line tPoint in myPolyPoints1 if within(grc grc2,tPoint) then return true end repeat return false end firstWithinSecond where grc1 is Poly1 and grc2 is Poly2 and then run the same routine with Poly1 and Poly2 reversed. It may be that a point (vertex) of Poly2 is within Poly1, but there is no vertex of Poly 1 which is within Poly2. You need to run both. Or write one handler to check both. I didn't realize it worked for points within images as well. Thanks Scott. Jim ___ 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: LDAP query in shell
Devin yes there is. vbs. Shell vbs commands, it's the best way my colleagues and i have found. cheers Xavier -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Devin Asay Sent: Friday, June 24, 2005 17:32 To: How to use Revolution Subject: LDAP query in shell Don't have a windows box handy to test this (aside from being windows- impaired.): In *nix systems I can query an LDAP server using the ldapsearch utility in a shell function. Is there a similar utility that can be called in Windows 2000/XP? If so, can someone point me to the proper syntax? TIA DNA Devin Asay Humanities Technology and Research Support Center Brigham Young University ___ 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: AFAIK???
LOL DISS! (Duh, I'm so stoopid!) ;-) Thx Sims. Sorry, I havn't seen that one (AFAIK) before. S AFAIK? Is this pronounced like the duck says it in the insurance commercial? Seriously, what is AFAIK? As far as I know...as far as I know. sims ___ 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 -- -- Steve Bonham Director, Faculty Technology Development Laboratory Center for Excellence in Teaching - Georgia Southern University Statesboro, GA 30460-8143 -- ___ 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: AFAIK???
S., As far as I know, it is an Eskimo word meaning your code is mush. As far as I know, it is the sound a chain saw makes when cutting porcelain. As far as I know, it is the sound coming from the dashboard radio on the Mars Rover. As far as I know, it is a pair of $600 loafers. As far as I know, Paul Looney ___ 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
Presenting Revolution at the eLearning Expo
Dear Revolution Users and Team Members, I would like to invite any user and the Revolution team to present Revolution for the /*eLearning 2005*/ virtual expo utilizing movies with audio narratives . eiProject will sponsor the entire project. The expo is comprised of movies with audio narratives demonstrating products for our attendees. You may request more information for a complete synopsis. *Connection Type: *Fast Internet connection *Target market*: Education - instructors and content providers. *Target Registrants: *2300 *Exhibitors Selection Process: *All products are selected by our staff* Scheduled for* October 28, 2005 *Cost: *100 % sponsored for Revolution - one year - renewable Anyone interested or would like more information please contact me. Best Regards, Rick Blanc ___ 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: Any experience with Expect
Glen- I still don't get it. Replacing expect with rev would be a bad idea - expect processes its own scripts to deal with commandline tools. It's much better at this as a single-purpose tool than rev would be. Using rev as a wrapper around expect would do... what? Provide a text box for entering expect scripts? Launch expect with a shell command? If you really need that, can't you just get shell(expect somescript) -- -Mark Wieder [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: is within ... polygon shape?
How about this technique... This would work as long as the two objects are not the exact same color. Step one: Put object 1 on top of object 2 Take a snapshot of the rect that contains both objects Put the imagedata for that snapshot into tImageData1 Step two: Put object 2 on top of object 1 Take a snapshot of the rect that contains both objects Put the imagedata for that snapshot into tImageData2 If tImageData1 tImageData2 then return true Basically, the idea is that, as long as the visible portions do not overlap, the image of the rect that contains both objects will be the same, regardless of which is on top. If the image of that rect changes when the Z order changes, then they must overlap. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Lynch, Jonathan Sent: Friday, June 24, 2005 11:54 AM To: How to use Revolution Subject: RE: is within ... polygon shape? This is pretty cool! But - would this work 100% for curved polygons or images? The docs do not mention points for images. Either, this is a very cool way of testing. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jim Hurley Sent: Friday, June 24, 2005 11:44 AM To: use-revolution@lists.runrev.com Subject: Re: is within ... polygon shape? Message: 15 Date: Fri, 24 Jun 2005 07:53:22 -0700 From: Scott Rossi [EMAIL PROTECTED] Subject: Re: is within ... polygon shape? To: How to use Revolution use-revolution@lists.runrev.com Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=US-ASCII Recently, Steve Bonham wrote: Intersect doesn't work after all. It appears that one object will intersect with another irregular object's rect and NOT the objects true shape (polygon points). See illustration... at: http://academics.georgiasouthern.edu/cet/SB/ball_fairway.jpg Is there a way to get Rev to: 1. evaluate IF the loc of an object is within the shape (defined by a series of coordinates) of an object? OR 2. evaluate IF the loc of an object intersects with the shape (defined by a series of coordinates) of an object? I believe some folks on the list have written collision detection routines that can detect intersection in several situations. I think Malte Brill might know something about this. That being said, collision detection on irregular shapes can work by using images that have a transparent background and point references. Using the within() function it is possible to accurately detect whether a point falls within the image since Rev will evaluate a point falling within the transparent region of the image as false. get within(img 1,myPoint) Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design Steve, Scott is right. The function you want is within(), which is different from is within. It is very efficient. If you want to detect whether two polygons Poly1 and Poly2 intersect, you would first run function firstWithinSecond grc1,grc2 put the points of grc grc1 into myPolyPoints1 repeat for each line tPoint in myPolyPoints1 if within(grc grc2,tPoint) then return true end repeat return false end firstWithinSecond where grc1 is Poly1 and grc2 is Poly2 and then run the same routine with Poly1 and Poly2 reversed. It may be that a point (vertex) of Poly2 is within Poly1, but there is no vertex of Poly 1 which is within Poly2. You need to run both. Or write one handler to check both. I didn't realize it worked for points within images as well. Thanks Scott. Jim ___ 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: Confirm Long File Name Bug in Player Object
On Jun 23, 2005, at 6:39 PM, Scott Rossi wrote: Even so, I think this loss of functionality qualifies as (at most) Major, in that it is a major loss of function. I understand Blocker to mean I can't develop. How is this different from I can't deliver? It blocks you up front in development, not at the end. If a bug's fix's being crucial in delivery makes it a Blocker, then I'll have to change a dozen of my bug entries to Blocker. I can't argue that this bug is not a blocker, only that (from my reading of the bugzilla definition) it is not a Blocker. I don't mean to belittle the bug; I'm just being legalistic about the category Blocker. Even though it is highest in some sense, it also is different in quality in that it narrows the kind of bug. Examples might be key doesn't work or can't open stack. I didn't make up the definition, so I might be way off. Dar -- ** DSC (Dar Scott Consulting Dar's Lab) http://www.swcp.com/dsc/ Programming and 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
Re: is within ... polygon shape?
Recently, Lynch, Jonathan wrote: Using the within() function it is possible to accurately detect whether a point falls within the image since Rev will evaluate a point falling within the transparent region of the image as false. But - would this work 100% for curved polygons or images? It works reliably with images as long as the transparent regions of the image are 100% transparent. Try it. Routines for polygons should work reliably as well. (Although Jim's routine seems to work only for intersecting edges, and not when a smaller polygon falls *completely* within a larger polygon -- any tweak available Jim?) Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.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: is within ... polygon shape?
This command: Put the points of image myImage1 into field feedback Causes an error - it says this object does not have this property. I am misunderstanding something aren't I? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scott Rossi Sent: Friday, June 24, 2005 12:38 PM To: How to use Revolution Subject: Re: is within ... polygon shape? Recently, Lynch, Jonathan wrote: Using the within() function it is possible to accurately detect whether a point falls within the image since Rev will evaluate a point falling within the transparent region of the image as false. But - would this work 100% for curved polygons or images? It works reliably with images as long as the transparent regions of the image are 100% transparent. Try it. Routines for polygons should work reliably as well. (Although Jim's routine seems to work only for intersecting edges, and not when a smaller polygon falls *completely* within a larger polygon -- any tweak available Jim?) Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.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: is within ... polygon shape?
Recently, Lynch, Jonathan wrote: Put the points of image myImage1 into field feedback Causes an error - it says this object does not have this property. I am misunderstanding something aren't I? Images don't have points. You simply test the point against the image itself: if within(img myImage,myPoint) then answer point is within the image Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.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: is within ... polygon shape?
Ah, but that only tests a single point. To be perfectly accurate, one would need to test every single non-transparent point in the image. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scott Rossi Sent: Friday, June 24, 2005 12:50 PM To: How to use Revolution Subject: Re: is within ... polygon shape? Recently, Lynch, Jonathan wrote: Put the points of image myImage1 into field feedback Causes an error - it says this object does not have this property. I am misunderstanding something aren't I? Images don't have points. You simply test the point against the image itself: if within(img myImage,myPoint) then answer point is within the image Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.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: is within ... polygon shape?
Message: 7 Date: Fri, 24 Jun 2005 09:37:56 -0700 From: Scott Rossi [EMAIL PROTECTED] Subject: Re: is within ... polygon shape? To: How to use Revolution use-revolution@lists.runrev.com Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=US-ASCII Recently, Lynch, Jonathan wrote: Using the within() function it is possible to accurately detect whether a point falls within the image since Rev will evaluate a point falling within the transparent region of the image as false. But - would this work 100% for curved polygons or images? It works reliably with images as long as the transparent regions of the image are 100% transparent. Try it. Routines for polygons should work reliably as well. (Although Jim's routine seems to work only for intersecting edges, and not when a smaller polygon falls *completely* within a larger polygon -- any tweak available Jim?) Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design Scott, I don't understand what you mean when you say it fails with large polygons. In the stack below, it doesn't seem to make any difference how large the polygons are. I can't image why Rev would fail to recognize when a point is within a polygon. go stack url http://home.infostations.net/jhurley/CollidingPolygons.rev; Jim ___ 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: is within ... polygon shape?
Recently, Lynch, Jonathan wrote: Put the points of image myImage1 into field feedback Causes an error - it says this object does not have this property. I am misunderstanding something aren't I? Images don't have points. You simply test the point against the image itself: if within(img myImage,myPoint) then answer point is within the image Ah, but that only tests a single point. To be perfectly accurate, one would need to test every single non-transparent point in the image. OK, let's use a golf analogy as an example. Let's say you wanted to find out if the ball is on the green: if within(img green,loc of img ball) then answer ready to putt In this case you are testing the loc point of the ball against the opaque region of the green image. There is only one point to test. You could go further and test all the rect points of the ball as well: topLeft, topRight, etc but this depends on how precise you want to be. Does this make sense? Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.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
Contextual menus and polygons
I'm losing my mind. I have always used command-option-shift-click to get the contextual menu. Works for when either the browser tool or the pointer tool is selected. As soon as I open Run Rev the fingers on my left hand assume the command-option-shift configuration. But in 2.5 and 2.6 it works for every control *except* a polygon. In 2.2 it worked for polygons. Anybody else experience this? Mac OS 10.2.8 Jim ___ 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: Confirm Long File Name Bug in Player Object
Dar- Friday, June 24, 2005, 9:25:50 AM, you wrote: DS I didn't make up the definition, so I might be way off. I don't think you're way off, but off enough to be wrong. To my mind, a blocker is I can't do xyz in rev for one reason or another and this prevents me from delivering my application to my clients. Whether this is because of a development issue for which there is no workaround or because of a runtime issue is merely academic. If I can't get something accomplished in rev and have to switch to another tool, that's a blocker. I do have some bugs for which this is true and I have left at major instead of bumping the level because I don't have a pressing need for them to be fixed. If I did then they would be blocking me from doing what I need to do and I wouldn't have a problem escalating them. -- -Mark Wieder [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: is within ... polygon shape?
Recently, Jim Hurley wrote: I don't understand what you mean when you say it fails with large polygons. In the stack below, it doesn't seem to make any difference how large the polygons are. I can't image why Rev would fail to recognize when a point is within a polygon. go stack url http://home.infostations.net/jhurley/CollidingPolygons.rev; Because on my end I tried: if firstWithinSecond(mypoly1,mypoly2) *and* ... instead of: if firstWithinSecond(mypoly1,mypoly2) *or* Replacing and with or makes your routine work as expected (I should have known something was up on my end being the math guru that you are). So Jonathan, there you are: two routines that allow you to test intersection with images or polygons. Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.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: is within ... polygon shape?
Yes, makes perfect sense:) There are some situations where you might need to be that precise. At least, I guess there are - none for anything I do. I think I see another way to do it, without having to test against every single point in the moving image. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scott Rossi Sent: Friday, June 24, 2005 1:16 PM To: How to use Revolution Subject: Re: is within ... polygon shape? Recently, Lynch, Jonathan wrote: Put the points of image myImage1 into field feedback Causes an error - it says this object does not have this property. I am misunderstanding something aren't I? Images don't have points. You simply test the point against the image itself: if within(img myImage,myPoint) then answer point is within the image Ah, but that only tests a single point. To be perfectly accurate, one would need to test every single non-transparent point in the image. OK, let's use a golf analogy as an example. Let's say you wanted to find out if the ball is on the green: if within(img green,loc of img ball) then answer ready to putt In this case you are testing the loc point of the ball against the opaque region of the green image. There is only one point to test. You could go further and test all the rect points of the ball as well: topLeft, topRight, etc but this depends on how precise you want to be. Does this make sense? Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.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: is within ... polygon shape?
Good stuff... I was not the original asker for this - I just chimed in because it peaked my interest. Cheers, J -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scott Rossi Sent: Friday, June 24, 2005 1:23 PM To: How to use Revolution Subject: Re: is within ... polygon shape? Recently, Jim Hurley wrote: I don't understand what you mean when you say it fails with large polygons. In the stack below, it doesn't seem to make any difference how large the polygons are. I can't image why Rev would fail to recognize when a point is within a polygon. go stack url http://home.infostations.net/jhurley/CollidingPolygons.rev; Because on my end I tried: if firstWithinSecond(mypoly1,mypoly2) *and* ... instead of: if firstWithinSecond(mypoly1,mypoly2) *or* Replacing and with or makes your routine work as expected (I should have known something was up on my end being the math guru that you are). So Jonathan, there you are: two routines that allow you to test intersection with images or polygons. Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.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: Fast/slow code example (was: Re: compileIt for revolution?)
Well, _my_ understanding of the online scripting conferences is that they are intended towards newbies; thus they are more about basic functionality and how-to use Rev as opposed to code optimization. Am I wrong Jacque? Judy On Fri, 24 Jun 2005, Langers Christian wrote: Perhaps, I will find more infos in the online scripting conferences ? ___ 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: is within ... polygon shape?
bummer... I was hoping that you'd found a solution to my need for the sort of irregularly-shaped buttons that an old HC external provided. Drats! Judy On Fri, 24 Jun 2005, Steve Bonham wrote: h- Intersect doesn't work after all. It appears that one object will intersect with another irregular object's rect and NOT the objects true shape (polygon points). See illustration... at: http://academics.georgiasouthern.edu/cet/SB/ball_fairway.jpg --Yup, that was my finding as well. Sigh... ___ 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: is within ... polygon shape?
Yup, that's what somebody told me when I asked about it privately some months ago: You need to read a book on algorithms... Gave up. Judy On Fri, 24 Jun 2005, MisterX wrote: you need a real algotithm. ___ 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: LDAP query in shell
On Jun 24, 2005, at 10:00 AM, MisterX wrote: Devin yes there is. vbs. Shell vbs commands, it's the best way my colleagues and i have found. cheers Xavier Xavier, Thanks for the reply. Is this something that can be called from Rev? And have the results returned to my rev app? Is vbs standard on all Win32 installations? Are there examples on the web I could look at. Thanks. Devin -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Devin Asay Sent: Friday, June 24, 2005 17:32 To: How to use Revolution Subject: LDAP query in shell Don't have a windows box handy to test this (aside from being windows- impaired.): In *nix systems I can query an LDAP server using the ldapsearch utility in a shell function. Is there a similar utility that can be called in Windows 2000/XP? If so, can someone point me to the proper syntax? TIA DNA Devin Asay Humanities Technology and Research Support Center Brigham Young University ___ 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 Devin Asay Humanities Technology and Research Support Center Brigham Young University ___ 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: the := operator (affectation
Dennis, My apologies, I was a bit over the top yesterday in my reply. Thanks... and I was a wee tad over in my response... I guess I was a bit too obscure. The ;-) was the clue that the statements were an example of get, put, gets syntax and a lighthearted jab not meant to be taken too literally: You just don't get it, because get it is a no op. I can't say I can get it into your head, because get...into is bad syntax mixing left and right assignment, showing the difference between get and put. Perhaps Jim gets it now... new syntax of left assignment that is English like syntax. What a difference a few quotes make. I can hear your voice now and understand where you were headed. Fine example of dangers of interpreting email too literally which I am prone to do when tired. What appeared to be sarcastic and cynical and rude was in fact clever example... So in Transcript left assignment might be better stated using the familiar syntax: set var to x The get command becomes the shortcut equivelent of: set it to So you see Jim, now I get it! Or,,, get is a shortcut for put the propX into it... the set - put difference still rears its head I have always been bothered by the left right reversal between setting parameters (just another type of container), and putting into variables. I have mistyped setting the parameter many times using the form: put x into the parameter of y. The syntax is not ambiguous as far as I can tell. Perhaps both set and put syntaxes should be regularized to allow either, and relegate parameters to the ordinary family of containers. At least allow the setting of variables even if putting into parameters is kept exclusive. Comments? When phrased this way, the left - right assignment question becomes one, not of :=, =, etc. but rather Why can't I set a variable to x? and why can't I put something into a property? .. that's simple enough for even me to get ;-{) Off the top of my head there are significant differences between variables and properties: persistence (properties stay there when you shut down), scope (you can access any property from anywhere whereas variables must be explicitly defined as global and then are available only if the stack is running and has assigned them a value) and messaging (objects can respond to a change in their properties (setProp getProp)). Is that enough to justify a syntax change for addressing them H? It may be that last item that is key. Set sends a message to an object the one with the property... and that object can react to that message appropriately with setProp/ getProp Put doesn't send a message anywhere... well.. execpt for the fact that the object responds to a put the propX into var anyway with a call to getProp So why couldn't an object respond to a put var into the propX with the setProp structure... it could.. So maybe it doesn't matter? Am I coming around to a different perspective? Of course.. none of this has to anything to do with assignment operators... Jim ___ 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: Confirm Long File Name Bug in Player Object
On Jun 24, 2005, at 11:20 AM, Mark Wieder wrote: DS I didn't make up the definition, so I might be way off. I don't think you're way off, but off enough to be wrong. I have a vague memory of being wrong before, so that is possible. To my mind, a blocker is I can't do xyz in rev for one reason or another and this prevents me from delivering my application to my clients. Whether this is because of a development issue for which there is no workaround or because of a runtime issue is merely academic. If I can't get something accomplished in rev and have to switch to another tool, that's a blocker. I guess my point is that it is not a to my mind thing. It is a matter of respecting the definition set up by Runrev. Runrev might have limited Blocker to only bugs that had to do with the color green and I would be inclined to submit to that, though I might mock it. Even so, I admit that I might be reading in something more stringent than what is there. Dar -- ** DSC (Dar Scott Consulting Dar's Lab) http://www.swcp.com/dsc/ Programming and 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
Sucess compiling Alex Tweedly DLL!
Hi Developers, i had success following the instructions given by Alex Tweedly to compile his external with Dev-C++ (Bloodshed). I downloaded and installed the latest version available of this compiler. here are the files i used in the compilation: http://www.geocities.com/capellan2000/Tweedly_dll.zip now, while using the same recipe to compile the external from the sdk, i get a lot of warnings and linker errors about a long list of similar undeclared objects like: [EMAIL PROTECTED] does anyone could give us a hint about Where is the linker looking for these objects??? Thanks a lot Alex, for sharing your dll! :-) and Thanks in advance to all of you that will help the linker to find these missing undeclared objects. ;-) al Visit my site: http://www.geocities.com/capellan2000/ __ Yahoo! Mail Mobile Take Yahoo! Mail with you! Check email on your mobile phone. http://mobile.yahoo.com/learn/mail ___ 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: Sucess compiling Alex Tweedly DLL!
Hi Alejandro, Hi Developers, i had success following the instructions given by Alex Tweedly to compile his external with Dev-C++ (Bloodshed). I downloaded and installed the latest version available of this compiler. here are the files i used in the compilation: http://www.geocities.com/capellan2000/Tweedly_dll.zip now, while using the same recipe to compile the external from the sdk, i get a lot of warnings and linker errors about a long list of similar undeclared objects like: [EMAIL PROTECTED] does anyone could give us a hint about Where is the linker looking for these objects??? Thanks a lot Alex, for sharing your dll! :-) and Thanks in advance to all of you that will help the linker to find these missing undeclared objects. ;-) ehm, sorry, but looks like i missed the part with the explanation of what the wonderful external actually does? So, what does that wonderfull DLL actually do? :-) Sorry for my ignorance... al Visit my site: http://www.geocities.com/capellan2000/ Best 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
RE: Fast/slow code example (was: Re: compileIt for revolution?)
Eric, For someone moving from other languages (like I am) to Transcript, I believe three of the four errors you point out in your example should be obvious and the same in all languages. Those are: 1. Repeatedly accessing the same data structure (field) instead of first putting it into a variable. 2. Repeatedly updating the screen on a background process. 3. Repeatedly setting a property that only needs to be set once. However, the repeat with i = form being slower than the repeat for each was news to me! There is nothing in the documentation, that I can find, that addresses the most efficient way, from the perspective of the engine, to write a control structure. Apparently, this is particularly true of the repeat structure. Is it also true for say the if..then structure? Is it more efficient to put your conditions into variables and then use the variables as conditions of the if...then? These are the kinds of things a newbie (like myself) would greatly appreciate being documented. This is to say, if there are two or more ways to write the same statement (as with the repeat example), then if someone knows one works faster than the rest, because of their knowledge of the inner workings of the engine, then this would be valuable to document or post. This might cut down the 300 pages. :) Jim -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Eric Chatonet Sent: Thursday, June 23, 2005 11:02 PM To: How to use Revolution Subject: Fast/slow code example (was: Re: compileIt for revolution?) Hi Christian, Le 24 juin 05 à 10:21, Langers Christian a écrit : Could you, please, give us (newbies/intermediate scriptesr) some examples of fast/slow script code ? They would be too many :-) In fact, the problem is often more an architecture issue than a simple code issue. But here is one tiny trivial example among thousands to give you some clues: on CheckList repeat with i = 1 to the number of lines of fld List1 set the itemDel to tab put item 2 of line i of fld List1 cr after fld List2 end repeat end CheckList Main errors in the above 4 lines are: manipulate data directly from a field (a lot of work for the engine) use the repeat with i form slower than the repeat for each form (especially noticeable with long lists) force a screen redraw at each repetition (that's the must for slowing down) set the itemDel unnecessarily at each repetition The result with 1000 lines: more than 13 seconds... Better code: on CheckList local tList, tLine, tNewList - put fld List1 into tList set the itemDel to tab repeat for each line tLine in tList put item 2 of tLine cr after tNewList end repeat put tNewList into fld List2 end CheckList manipulate data into a variable use the repeat for each form use one screen redraw only set the itemDel only when needed The result with 1000 lines: less than 20 milliseconds! 650 times faster... Keep in mind that to answer correctly your request, this post should be a 300 pages book :-) May be Dan wrote it? Best Regards from Paris, Eric Chatonet. So Smart Software For institutions, companies and associations Built-to-order applications: management, multimedia, internet, etc. Windows, Mac OS and Linux... With the French touch Free plugins and tutorials on my website Web sitehttp://www.sosmartsoftware.com/ Email[EMAIL PROTECTED]/ Phone33 (0)1 43 31 77 62 Mobile33 (0)6 20 74 50 86 ___ 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: Fast/slow code example
On 6/24/05 12:41 PM, Judy Perry wrote: Well, _my_ understanding of the online scripting conferences is that they are intended towards newbies; thus they are more about basic functionality and how-to use Rev as opposed to code optimization. Am I wrong Jacque? No, you are right. The scripting conference stacks aim to provide the basic introductory information that isn't easily pieced together from the documentation. The docs are extremely good, and everything is there (though scattered in various places,) but newcomers were saying they wanted a general overview of what Revolution and scripting are all about. Our goal is to give them a mental picture of how it all fits together. If enthusiasm remains high and attendance remains good, then I may decide to do an intermediate series next. This would include topics that are more advanced, and could very well include some tips topics such as script optimization. -- 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
set defaultFolder to non-existent folder behavior
Hi all, here is an interesting one I thought I'd pass along to see if anyone has encountered this before. In the documentation for defaultFolder it says that if you set the defaultFolder to a folder that can't be opened it returns can't open directory. So i have some code that mounts a volume from a networked computer to move some files across the network. I created a function to check if the network computer is, in fact, mounted. The function works correctly when the drive is mounted in that result () is empty. Now, to test my code, I unmounted the volume through the Finder(eject) and disconnected the network cable from the computer. But when I ran the code a second time, result() still came back empty. That is, in the second attempt I set the defaultFolder to /Volumes/MountedDrive/Folder/ when it should not be possible, because there wasn't even a physical connection. Whats interesting, is that i opened the console and listed the drives available in /Volumes/ and sure enough MountedDrive was listed despite the fact that it wasn't listed in the Finder. I even rebooted with no network cable and MountedDrive still appeared in / Volumes/. So I tried one last thing, if the defaultFolder was truly set to MountedFolder then my file moving code should work, right? Wrong. That code threw an error and failed as you would expect since there was no connection! Does anyone know why this is? Is there some period of time that old connections are retained in a lookup table b4 being removed? I'd really like a solid mechanism to ensure that the drive is mounted, and the above does not seem to provide that. Cheers, Emilio ___ 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: is within ... polygon shape?
Way off topic. I think it is piqued my interest. Probably a French derivation. C'est vrai? Jon Lynch, Jonathan wrote: Good stuff... I was not the original asker for this - I just chimed in because it peaked my interest. Cheers, J -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scott Rossi Sent: Friday, June 24, 2005 1:23 PM To: How to use Revolution Subject: Re: is within ... polygon shape? Recently, Jim Hurley wrote: I don't understand what you mean when you say it fails with large polygons. In the stack below, it doesn't seem to make any difference how large the polygons are. I can't image why Rev would fail to recognize when a point is within a polygon. go stack url http://home.infostations.net/jhurley/CollidingPolygons.rev; Because on my end I tried: if firstWithinSecond(mypoly1,mypoly2) *and* ... instead of: if firstWithinSecond(mypoly1,mypoly2) *or* Replacing and with or makes your routine work as expected (I should have known something was up on my end being the math guru that you are). So Jonathan, there you are: two routines that allow you to test intersection with images or polygons. Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.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: is within ... polygon shape?
Indeed you are correct - and I am a copy editor! How embarrassing. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jon Sent: Friday, June 24, 2005 3:07 PM To: How to use Revolution Subject: Re: is within ... polygon shape? Way off topic. I think it is piqued my interest. Probably a French derivation. C'est vrai? Jon Lynch, Jonathan wrote: Good stuff... I was not the original asker for this - I just chimed in because it peaked my interest. Cheers, J -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scott Rossi Sent: Friday, June 24, 2005 1:23 PM To: How to use Revolution Subject: Re: is within ... polygon shape? Recently, Jim Hurley wrote: I don't understand what you mean when you say it fails with large polygons. In the stack below, it doesn't seem to make any difference how large the polygons are. I can't image why Rev would fail to recognize when a point is within a polygon. go stack url http://home.infostations.net/jhurley/CollidingPolygons.rev; Because on my end I tried: if firstWithinSecond(mypoly1,mypoly2) *and* ... instead of: if firstWithinSecond(mypoly1,mypoly2) *or* Replacing and with or makes your routine work as expected (I should have known something was up on my end being the math guru that you are). So Jonathan, there you are: two routines that allow you to test intersection with images or polygons. Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.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 ___ 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: Fast/slow code example (was: Re: compileIt for revolution?)
On Jun 24, 2005, at 12:42 PM, Jim Bufalini wrote: However, the repeat with i = form being slower than the repeat for each was news to me! Upon reflection, you might have wondered about that. The key is that the first uses 'line i of x' in the loop. The length of time to get this value increases with i. Normally, values are simply sequences of characters and values with multiple lines are simply values that contain some line-delimiter characters (coded the same as ASCII LF). Though it is possible that some internal optimization breaks these up into structured data or a line-index table is cached, it is reasonable to suspect that this is not the case. If there is no optimization to finding line n, then all characters form the start of the string to line n must be searched. It is possible that some compiler optimization would look for line n in loops and convert, but our first assumption should be that it probably doesn't. We might assume that 'for each' does not have this limitation. We might assume that 'for each' keeps one or more hidden character indexes in managing the loop. Given such suspicions we might try some timing or ask on the list. This does not currently apply to characters; 'char n of s' executes in constant time. Even so... We all are sometimes surprised by things that should jump out. I am. It should be mentioned in the docs. (And probably is and I don't know where.) Dar -- ** DSC (Dar Scott Consulting Dar's Lab) http://www.swcp.com/dsc/ Programming and 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
Re: the := operator (affectation
So in Transcript left assignment might be better stated using the familiar syntax: set var to x The get command becomes the shortcut equivelent of: set it to So you see Jim, now I get it! Or,,, get is a shortcut for put the propX into it... the set - put difference still rears its head If the get syntax is to be a shortcut for put x into it, then get x is really put x with an implied into it. That would make get and put equivalent. which they are not. Get implies receiving or taking, while put implies sending away. That is why I can only think of the get command as a left assignment --I'm going to go over there and grab the value from the expression to my right. Makes it more like a function call, or a handler. I guess some clever programming could create the get command if it did not already exist. I have always been bothered by the left right reversal between setting parameters (just another type of container), and putting into variables. I have mistyped setting the parameter many times using the form: put x into the parameter of y. The syntax is not ambiguous as far as I can tell. Perhaps both set and put syntaxes should be regularized to allow either, and relegate parameters to the ordinary family of containers. At least allow the setting of variables even if putting into parameters is kept exclusive. Comments? When phrased this way, the left - right assignment question becomes one, not of :=, =, etc. but rather Why can't I set a variable to x? and why can't I put something into a property? .. that's simple enough for even me to get ;-{) Off the top of my head there are significant differences between variables and properties: persistence (properties stay there when you shut down), scope (you can access any property from anywhere whereas variables must be explicitly defined as global and then are available only if the stack is running and has assigned them a value) and messaging (objects can respond to a change in their properties (setProp getProp)). Is that enough to justify a syntax change for addressing them H? Don't forget, you can also put things into fields. It may be that last item that is key. Set sends a message to an object the one with the property... and that object can react to that message appropriately with setProp/getProp Put doesn't send a message anywhere... well.. execpt for the fact that the object responds to a put the propX into var anyway with a call to getProp So why couldn't an object respond to a put var into the propX with the setProp structure... it could.. So maybe it doesn't matter? Am I coming around to a different perspective? Of course.. none of this has to anything to do with assignment operators... That's right, Transcript does not have any assignment operators. It only has assignment commands. Introducing an assignment operator is inconsistent. There I said it. That leaves us with the only reasonable option of a left assignment command. Set and put are already defined in a a way that the compiler could translate them to the appropriate low level codes. Messages would be sent when accessing properties, and not for variables. If set must be the purview of properties only, then we would need a different word, but I can' t think of a good one off hand --nor a good reason to have one. Dennis ___ 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: compileIt for revolution?
Paul, My thoughts pretty much mirror your own, Paul. First step is environment independent code for parsing, arrays, calculations. No timeline or cost on this yet. Still seeing who's interested. -JD On Jun 23, 2005, at 5:42 PM, [EMAIL PROTECTED] wrote: Jerry, Assuming there is sufficient interest what is the first step, and what would THAT cost? I'm thinking that the initial ScriptCompiler (or some better name) would just turn Transcript into machine code. This would be of interest to me (hopefully others) who want to put guarded code in places other than the standalone (for example a proprietary calculation in an order processing stack - where all the other code is accessible). The next step might be array processing or tool box calls or These could be built later and sold separately; for example ScriptCompiler I, ScriptCompiler II, etc. Paul Looney ___ 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: compileIt for revolution?
Dan, I thought Tom Pittman did a very good job of maintaining the purity of HyperTalk when he did CompileIt! Any future efforts could stand on his shoulders in that regard. -JD On Jun 23, 2005, at 7:26 PM, Dan Shafer wrote: If you can write externals in Transcript syntax and NOT over-extend the language to accommodate this demand, I don't have an issue. But that is not generally the case. When people talk about writing externals they generally (in my experience at least) mean they want to make the tool do something its built-in language does not inherently know how to do. There is in that desire a strong implication of adding features to the language that I believe will ultimately corrupt it to the point of not being accessible to mere mortals. It's what I call the Javazation of Transcript. If you have a need for something in a program that Transcript simply can't do and if the right way to solve that problem is with an external, then it seems to me you should be willing to move outside the boundaries of the language to do that thing, whatever it is. (These multi-dimensional array manipulations, e.g., can apparently not be done satisfactorily in Transcript.) I'm *always* going to come down on the side of keeping the language as simple as possible. In my opinion, it is already too burdened with baggage that is of use to a tiny fraction of its users in order to accommodate a few people with specific programming needs. As it becomes more complex -- even if those complexities are posited as optional alternatives -- it becomes more and more impenetrable to those who do not have a computer science background or formal computer training. Those folks already have enough languages to pick from. I strongly desire for this one to escape the clutches of the Programming Priesthood. On Jun 23, 2005, at 6:35 AM, Rob Cozens wrote: Why would any Transcript scriptor want to write externals in C or Pascal if she could use Transcript syntax instead? ~~ Dan Shafer, Revolution Consultant and Author http://www.shafermedia.com Get my book, Revolution: Software at the Speed of Thought From http://www.shafermedia.com/revolutionbooks.html ___ 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
Contest Results now!
Hi all To celebrate, we will announce the winners of the contest and discuss the entries, on a world-wide ChatRev session now! The winners will be invited to talk about their stack and to explain the approach to their solution. The whole event will last one hour at most. The three best stacks of this challenge will be made available on the ChatRev Coding Contest website, shortly after the event. The Advanced Challenge continues until 11th July and the Impossible Challenge until 8th August. Make sure to submit your solutions to each of the challenges in time, to win one of the wonderful prizes. To learn more about the Coding Contest, go to: http://contest.wecode.org If you need to get a copy of ChatRev, go to: http://chatrev.bjoernke.com Everyone join us on ChatRev! Warmest regards, The CCC judges, Björnke Wouter Chipp Mark Ro -- http://contest.wecode.org Now running: the first ChatRev coding contest! sponsors: Altuit Andre Garzia Fourth World Karl Becker Runtime Revolution TidBITS in cooperation with eHUG ___ 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: Sucess compiling Alex Tweedly DLL!
Alejandro- Friday, June 24, 2005, 11:21:30 AM, you wrote: AT now, while using the same recipe to compile AT the external from the sdk, i get a lot of AT warnings and linker errors about a long list AT of similar undeclared objects AT like: [EMAIL PROTECTED] That's a pretty bizarre error message. Which example are you trying to compile? -- -Mark Wieder [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: compileIt for revolution?
Jerry Daniels wrote: I thought Tom Pittman did a very good job of maintaining the purity of HyperTalk when he did CompileIt! Any future efforts could stand on his shoulders in that regard. Just get an interface more like Mark Hanrek's please. :) So much faster, so much simpler -- Richard Gaskin Managing Editor, revJournal ___ Rev tips, tutorials and more: 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
Re: is within ... polygon shape?
Message: 12 Date: Fri, 24 Jun 2005 10:49:17 -0700 (PDT) From: Judy Perry [EMAIL PROTECTED] Subject: Re: is within ... polygon shape? To: How to use Revolution use-revolution@lists.runrev.com Message-ID: [EMAIL PROTECTED] Content-Type: TEXT/PLAIN; charset=US-ASCII bummer... I was hoping that you'd found a solution to my need for the sort of irregularly-shaped buttons that an old HC external provided. Drats! Judy Judy, Take a look at: go stack url http://home.infostations.net/jhurley/CollidingPolygons.rev; Hope you all make it home all right. I stayed over another day so that I could take in the aquarium. Jim ___ 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: Sucess compiling Alex Tweedly DLL!
on Fri, 24 Jun 2005 Klaus Major wrote: ehm, sorry, but looks like i missed the part with the explanation of what the wonderful external actually does? Sorry for my ignorance... It's a functional starting point for developing external using the free compiler named Dev-C++ (Bloodshed). The first, i think. When you get sucess compiling one external with Dev C++, then you could try to compile the source code of other externals provided by developers in this list. After that, if you have sucess, it's all up to you and your time for experiments... ;-) al Visit my site: http://www.geocities.com/capellan2000/ Yahoo! Sports Rekindle the Rivalries. Sign up for Fantasy Football http://football.fantasysports.yahoo.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