Re: SEND IN TIMe
SEND message TO ME IN nnn SECONDS works fine as long as there is nothing else happening in my PC at the time. I've had it run for entire weekends with no problems. The interval is set to 7 Minutes. However, during weekdays when I am doing some other activity, it occasionally hiccups. It happens several times during the day -- where several can be as many as a dozen, depending on how busy I am. I frequently have multiple non-Rev windows open performing several different tasks, some of which are CPU intensive. That's when my Rev application doesn't re-trigger itself. At least it doesn't appear to. Are you running a standalone or from inside the Rev IDE? I have had messages lost due to editing the script at the wrong moment. However in critical apps with lots of pending messages, I put in another handler that checks that all the expected messages are in the pendingMessages list and re-schedules them if they are not. It then calls itself. The other pending messages also check to see that the message checking handler is in the queue, so they are each checking each other. Using this routine, I have never had problems with missing messages in a standalone. And I'm not sure that it is really necessary, but I started doing it for an app with lots of scheduled messages where it was unattended and vital. Messages can be delayed if the app is busy doing something else, but I haven't had any go missing. One other good technique is to reschedule the next call to the handler at the start of the handler instead of at the end. This means that even if there is a problem when running the handler, the pending message has already been created. And if timing is slightly more important, it removes the time taken to complete the handler from the calculation for the next event. Cheers, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Open Source and Forking It
bForking It/b Richard asks on another thread (not yet on Nabble, which quite often seems to run late) whether there is any way of being Open Source and not having forking. No, definitely not. As soon as you have any such restriction, you have left Open Source. And this is fundamental to the idea of Open Source. What it seeks to do is give people power to do whatever modifications they want to the source code, as long as they contribute back what they have done. This is why Ballmer made such rude remarks about it. This is also why it is only about the power to do things with the code. What it runs on or what the requirements for running it are, is immaterial. The classic example of recent forking occurred with X windows. Over a period of a couple of months, Xorg forked from Xfree86, and secured universal adoption by all Linux distributions. The team simply left and took the code with them. Recently on a matter closer to home, we have seen a fork, or an attempted fork, of PythonCard. If you look on DistroWatch, there are north of 350 different distributions of Linux now. Well, these are all forks. On the other hand, you notice there is only one Python. Basically, projects that keep in touch and are responsive do not get forked. Ones that are of no interest do not get forked. But if you start acting, on a project people really are interested in, like an unresponsive commercial developer, you definitely will get the project forked. As Xfree86 found. It can be open source and run on Windows or Mac OS, as long as you get the source under a copyright waiver which lets you make any mods of it you want as long as you pass them on. It cannot be open source if anyone can stop you making mods and incorporating them into your project, even were it to run on open hardware, open cpu, open boot code, open OS. It cannot be open source if you have the power to modify some of it but not the rest of it. For instance, OSX is not open source, even were it to run on an open source kernel. Something either is or is not open source. There is no such thing as being partly or somewhat open source. It is because being open source is a feature of the code, and not of what it runs on, and because the essence of it is the power to modify and re-use it, that the question of proprietary IDE and language is important. This is not a matter of purism or obsession with detail. It is an essential point, though one on which reasonable people can havbe different opinions. Take a case where the source is released under the GPL, but to work on it you need an IDE which costs several tens of thousands, and is itself proprietary? Can this really be open source? Reasonable people can differ. You could argue that in effect you have the source and the ability and the right to recreate it in Python, so it is. Or you could argue (if the code generated by the IDE is totally obfuscated) that this is such a barrier to exploiting those rights that it is no longer open source in spirit. This is why the availability of Media is an important consideration in the debate. The case is much stronger, even if the IDE is proprietary, if it is free as in beer and freely distributable. Peter ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: SEND IN TIMe
Le 21 oct. 09 à 01:33, Terry Dennis a écrit : OK, I've finally had my fill of this glitch. I haven't been able to figure out what causes it, so I will describe the process here and see if anybody else can figure out a work-around, or agrees that it's a bug. Well, personally don't see this as a bug. SEND message TO ME IN nnn SECONDS works fine as long as there is nothing else happening in my PC at the time. I've had it run for entire weekends with no problems. The interval is set to 7 Minutes. However, during weekdays when I am doing some other activity, it occasionally hiccups. It happens several times during the day -- where several can be as many as a dozen, depending on how busy I am. I frequently have multiple non-Rev windows open performing several different tasks, some of which are CPU intensive. That's when my Rev application doesn't re-trigger itself. At least it doesn't appear to. On linux box you have the nice command to Run Process With Modified Scheduling Priority which would help you in this context. But as I'm an occasional Windows developer, I'm not sure how ( or if ) you can manage this on Windows. ( I guess you can ) Regards, Thierry ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Server Maintenance will affect Lists
Dear Folks, We're doing some unavoidable server maintenance over the next 24 hours. This is expected to affect the mailing lists specifically. It should not affect anything else. Posts made during this period may or may not reach the list. If you do send a post, and it does not seem to arrive, please wait 48 hours before reposting, as all unposted mail should get queued and sent at the end of this maintenance period. Apologies for the inconvenience! Regards, Heather Heather Nagey Customer Services Manager Runtime Revolution Ltd http://www.runrev.com follow me on twitter http://www.twitter.com/lainopik ___ 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
[FR] [EN] Re: [On-Rev] Email masking
Francis Nugent Dixon effe...@wanadoo.fr wrote: Try : http://www.aspirine.org/emailcode_en.html C'est le lien que j'ai donné dans ma première contribution ;-) Etant un peu allergique au javascript, je voulais savoir si c'était faisable en pure transcript sur le serveur (un module irev, quoi) d'après ce que j'ai compris, il vaut mieux le faire hors-ligne (avec une pile RR sur ton Desktop) plutôt que de le faire en-ligne, à cause que l'adresse ne sera pas transmise en clair == I gave this link in my original message ;-) being somewhat allergic toward javascript, i wondered if it was feasable in pure transcript on the server, i.e. via a irev module according to the responses I obtained, rather doing this off-line on your Desktop with a RR stack, than going on-line, and transmitting your address in clear ___ 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: Open Source and Forking It
Peter Alcibiades wrote: bForking It/b Richard asks on another thread (not yet on Nabble, which quite often seems to run late) whether there is any way of being Open Source and not having forking. No, definitely not. As soon as you have any such restriction, you have left Open Source. This is the problem; you cannot have your cake and eat it: either the thing is entirely unrestricted except that any modified versions have to be made similarly available and unrestricted, or it is CLOSED. This is where I start getting cheesed-off: --- tangentially relevant burble starts here --- My older son had been reading Francis Bacon and started wondering what was wrong with gross materialism. I told him there was nothing wrong with it, there is no God, no metaphysical world, and so on. Obviously, as I pushed this argument to its logical extreme, he began to see that the axioms it rested on were flawed. So we then went for a roll through the idea that there is no external world and no other beings, but ALL is just a projection from Alexander's mind; equally daft when pushed to its extreme. -- Open Source is just the same as any other mind-set; if it is pushed to its reductio ad absurdam it can be seen to be flawed. That in itself should come as no surprise; what is surprising is that many of the party faithful are not prepared to acknowledge that and make adjustments to take that into account. And this is fundamental to the idea of Open Source. What it seeks to do is give people power to do whatever modifications they want to the source code, as long as they contribute back what they have done. This is why Ballmer made such rude remarks about it. Sounds as if he got forked off. Presumably the only reason the chap made rude remarks was because, in some way, he felt threatened. Presumably, had he seen some advantage to himself, he would have praised it to the skies. Poor old Ballmer, as insecure as ever. One wonders why; people still carry on paying the earth for Microsoft Windows, Office and so forth when Linux and Open Office can do the same job for nothing, and, arguably, better. This is also why it is only about the power to do things with the code. What it runs on or what the requirements for running it are, is immaterial. Well, maybe, if one equated the RunRev engine with an Operating system, one could term stacks Open Source ?? The classic example of recent forking occurred with X windows. Over a period of a couple of months, Xorg forked from Xfree86, and secured universal adoption by all Linux distributions. The team simply left and took the code with them. Recently on a matter closer to home, we have seen a fork, or an attempted fork, of PythonCard. If you look on DistroWatch, there are north of 350 different distributions of Linux now. Well, these are all forks. On the other hand, you notice there is only one Python. Basically, projects that keep in touch and are responsive do not get forked. Ones that are of no interest do not get forked. But if you start acting, on a project people really are interested in, like an unresponsive commercial developer, you definitely will get the project forked. As Xfree86 found. It can be open source and run on Windows or Mac OS, as long as you get the source under a copyright waiver which lets you make any mods of it you want as long as you pass them on. It cannot be open source if anyone can stop you making mods and incorporating them into your project, even were it to run on open hardware, open cpu, open boot code, open OS. QUITE: so how anything that has been built using RunRev can be Open Source escapes me. I have released all sorts of silly little stacks into the wild with no licence at all; and for all I know somebody may have used some of my code without any acknowledgement or anything in their commercial project (ha, ha, ha; most of my stacks only demonstrate that I can reinvent the wheel). This is a risk, but as, for the code to work, they are dependent on a closed-source engine, they are not Open Source. Probably, had I felt those stacks had any real, lasting value, I could have spent donkey's ages fooling around on the internet finding some licence, which, ultimately, would have offered me just about as much protection as nothing. It cannot be open source if you have the power to modify some of it but not the rest of it. For instance, OSX is not open source, even were it to run on an open source kernel. Something either is or is not open source. There is no such thing as being partly or somewhat open source. Well, there is: stacks written with RunRev are, surely, partly? It is because
Re: Music ????
Hi Alejandro, Yes, UDI's makeSMFLib works on MacOS, Windows and browser. You have to fix one line. Because sort command changed after V3.5. function notes2MidiFile of button makeSmfLib of stack makeSMF133 -- line 131 put notes2EvList( notes, defInst, playTempo ) into evList -- put this line after line 131 if chartonum(char -1 of evList) is 10 then delete char -1 of evList Playing UDI's sample musics do not use function notes2MidiFile, but when you make your music you may have a problem. And sometimes Windows QuickTime plays a big noise when a midi file starts, put a short rest before a music. -- Kenji Kojima http://www.kenjikojima.com/ On Oct 20, 2009, at 10:42 PM, capellan wrote: Hi All, Remember that UDI published many stacks to play Midi music using Quicktime. And there is a Keyboard, too: http://homepage.mac.com/udi/stack/tool.html Mac Users should not have problems to decode all Rev and Zip files encoded as HQX, but Windows Users without WinZip or Stuffit Expander, should download UUDeview to decode HQX: http://www.miken.com/uud/ Surely, these stacks will benefit from a code update, to use recent additions to the language. Alejandro -- View this message in context: http://www.nabble.com/Music--tp25963613p25985636.html Sent from the Revolution - User mailing list archive at Nabble.com. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Calling all open source developers
just a remark about all the legal stuff in this thread: assume you have a non totally permissive license on your code, and that somebody breaks the license, by, let us say, making a copy of the code and commercially distributing it Now who will flex the muscle to prevent this? Who will pay the lawyer (s)? If there is nothing prepared at this stage, you may as well drop all of this legal stuff... My 2 cents, as usual... ___ 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: Music ????
Correction: You have to fix one line. Because sort command changed after V3.5. Probably it was beta version of 3.5. You do not need to fix the script. Sorry, I should make sure before send a mail. -- Kenji Kojima http://www.kenjikojima.com/ On Oct 21, 2009, at 08:18 AM, Kenji Kojima wrote: Hi Alejandro, Yes, UDI's makeSMFLib works on MacOS, Windows and browser. You have to fix one line. Because sort command changed after V3.5. function notes2MidiFile of button makeSmfLib of stack makeSMF133 -- line 131 put notes2EvList( notes, defInst, playTempo ) into evList -- put this line after line 131 if chartonum(char -1 of evList) is 10 then delete char -1 of evList Playing UDI's sample musics do not use function notes2MidiFile, but when you make your music you may have a problem. And sometimes Windows QuickTime plays a big noise when a midi file starts, put a short rest before a music. -- Kenji Kojima http://www.kenjikojima.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: How to filter a big list
Thank you Jim, Richard, Brian and Mark, Please excuse me to answer so tardily, I posted a message yesterday, but it was not published in the list. I make a new attempt. I explained in my message that I wish to filter a list of names and addresses dynamically when I type a name in a field. This list contains 400'000 lines like this: Mme [TAB] DOS SANTOS albertina [TAB] rue GOURGAS 23BIS [TAB] 1205 Genève I made various tests using the repeat for each loop and the filter ... with command. Filtering takes the most time when I type the first and the second letter. That takes approximately 800 milliseconds for the first char and about 570 milliseconds for the second char. The repeat loop with the contains operator is a little beat slower (about 50 milliseconds) than the filter ... with. There is no significant difference when the third char or more is typed. Of course I filter a variable before to put it in the list field. Obviously, 800 milliseconds to filter a list of 400'000 lines, it is fast. But it is too slow for what I want to do. It would take a time of filtering lower than 300 milliseconds so that the user is not slowed down in his typing. Sorry to have been insufficiently precise in my first message. I continue my tests and I will publish the fastest code. Jerome Rosat Le 20 oct. 2009 à 03:41, Jim Ault a écrit : First, what do you mean by 'slow' ?'slower' ? There are many items to consider in the optimization of filtering. -1- do you create the 300,000 lines yourself or inherit them -2- are the lines long strings or short (how many chartacters) -3- are the lines structured or more like descriptions or phrases -4- is the part to be filtered at the beginning or the end of each line -5- there are numerous other considerations depending on the exact task at hand Your request is far to vague to give definitive answers. As Mark Wieder said, please post some example lines of the data and the code you are trying. There are many innovative ways to use the Rev chunking functions that make sure you get speed without sacrificing accuracy ( false hits, false misses ) Looking forward to more details. It is fun to consider the variations possibilities :-) Jim Ault Las Vegas ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Retrieve the Layer Number of an Object?
Hi there, I want to programmatically get the layer number of a button, store the layer number for it, move the button to the front, modify the button, and then move it back to the layer where it was with the set the layer of button blah to the VarLayerNumber. Has anyone done this? I checked the documentation, but couldn't find how to do this seemingly simple thing. What am I missing here? Thanks in advance! Rick ___ 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: how to preserve character set encoding when creating a text file?
Perhaps this info is a clue? Windows or Unix character position 237 = iacute Mac character position 237 = Igrave Martin Baxter Josh Mellicker wrote: In Czechoslovakia, the Application Data folder on Windows XP is called Data aplikací. So, when we get specialfolderpath(26), the path looks something like this: C:/Documents and Settings/Username/Data aplikací/OurFolder/ In Rev, all works fine. But when we create a regular text batch file: put tBatchCommands into URL (binfile: theBatchFileLoc()) the Czech character is transformed into this: C:/Documents and Settings/Username/Data aplikacÌ/OurFolder/ and when running the batch file, the system cannot find the path. Obviously we are messing up the character encoding when we write the text file and the (one character, in our case) is changed. Has anyone run into this or know how to preserve character encoding in our text file?___ 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 -- If you want to go fast, go alone; if you want to go far, go together (African proverb) ___ 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
Retrieve the Layer Number of an Object?
Rick Harrison wrote: I want to programmatically get the layer number of a button, store the layer number for it, move the button to the front, modify the button, and then move it back to the layer where it was with the set the layer of button blah to the VarLayerNumber. on mouseUp put the layer of btn Button into VarLayerNumber set the layer of btn Button to top -- do daft things to btn Button -- set the layer of btn Button to VarLayerNumber end mouseUp Not terribly difficult . . . :) Mind you, why it is necessary to move the button to the top layer, do things to it, and move it back again escapes me when you could just perform your transformations in situ. ___ 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: How to filter a big list
Jérôme Rosat wrote: I explained in my message that I wish to filter a list of names and addresses dynamically when I type a name in a field. This list contains 400'000 lines like this: Mme [TAB] DOS SANTOS albertina [TAB] rue GOURGAS 23BIS [TAB] 1205 Genève I made various tests using the repeat for each loop and the filter ... with command. Filtering takes the most time when I type the first and the second letter. That takes approximately 800 milliseconds for the first char and about 570 milliseconds for the second char. The repeat loop with the contains operator is a little beat slower (about 50 milliseconds) than the filter ... with. There is no significant difference when the third char or more is typed. Of course I filter a variable before to put it in the list field. Obviously, 800 milliseconds to filter a list of 400'000 lines, it is fast. But it is too slow for what I want to do. It would take a time of filtering lower than 300 milliseconds so that the user is not slowed down in his typing. Would it be practical to break your list into 26 sublists by first letter? -- Richard Gaskin Fourth World Rev training and consulting: http://www.fourthworld.com Webzine for Rev developers: http://www.revjournal.com revJournal blog: http://revjournal.com/blog.irv ___ 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: How to filter a big list
On 21 Oct 2009, at 6:00 pm, Jérôme Rosat wrotewrote: Filtering takes the most time when I type the first and the second letter. That takes approximately 800 milliseconds for the first char and about 570 milliseconds for the second char. The repeat loop with the contains operator is a little beat slower (about 50 milliseconds) than the filter ... with. There is no significant difference when the third char or more is typed. Of course I filter a variable before to put it in the list field How about the filter with only kicks in after the second or third character is typed? The first two characters take a disproportionate amount of time, and probably don't reduce the list size substantially. David Glasgow ___ 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: Calling all open source developers
I think the underlying issue is this. If you are entering an open source project with the idea that it is either desirable or possible to prevent forking, you are in the wrong place. Its not that open source is the bees' knees necessarily, but it is what it is, and its the essence of it that forking shall be possible and open to everyone. It may be hard to get one's head around this, if one is working in the traditional commercial licensed and paid software model. And it may not be all that great. But that is how it is. If you think its important to limit forking, don't even think of doing a project as open source. Its 180 degrees in the wrong direction. Peter Björnke von Gierke wrote: On 20 Oct 2009, at 23:34, Richard Gaskin wrote: Are there any ways to ensure that a common pool doesn't get fragmented like that? no. its _intended_ to be fragmented. -- View this message in context: http://www.nabble.com/Calling-all-open-source-developers-tp25961091p25997496.html Sent from the Revolution - User mailing list archive at Nabble.com. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
RE: Calling all open source developers
I think the underlying issue is this. If you are entering an open source project with the idea that it is either desirable or possible to prevent forking, you are in the wrong place. Its not that open source is the bees' knees necessarily, but it is what it is, and its the essence of it that forking shall be possible and open to everyone. I mostly agree with you, Peter, but maybe that's a little extreme. Case in point, there was a big split a few years ago of the Mambo CMS - which is now split into Mambo and Joomla. Each is going its merry way, but neither is really taking down the other, or taking away from the other. ZenCart is a derivative of OS Commerce, and each is going its merry way as well. Best regards, Lynn Fredricks President Paradigma Software http://www.paradigmasoft.com Valentina SQL Server: The Ultra-fast, Royalty Free Database Server ___ 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: Calling all open source developers
2009/10/21 François Chaplais francois.chapl...@mines-paristech.fr just a remark about all the legal stuff in this thread: assume you have a non totally permissive license on your code, and that somebody breaks the license, by, let us say, making a copy of the code and commercially distributing it Now who will flex the muscle to prevent this? Who will pay the lawyer(s)? If there is nothing prepared at this stage, you may as well drop all of this legal stuff... Quick answer to that: 1. There are a number of organisations like the Free Software Foundation, that have and will continue to take on legal case which they fund, often with high profile pro-bono lawyers to defend such violations. This has been done before and they will continue to do so in order to help set legal precedents. 2. Some of the brightest lawyers in countries all around the world are part of the open source and Creative Commons networks. I've sat on the steering committee here in the UK for Creative Commons, and can vouch for how bright and surprisingly generous these people can be. Someone who rips one of these licenses off makes a LOT of people very angry, it is a foolish company or individual that messes with this network. Much easier to pick on someone else. 3. Being explicit about your licenses costs you nothing, help everyone be clear about what they can and cannot do, and in a direct answer to the skeptisism you rightly raise, makes a companies lawyer think twice, about breaking the terms laid out in the license. 4. You don't need to be convinced of any of the above. None of the philosophy, banter and arguments littered around the internet. You can simply learn from the practices of successful communities. There are plenty of examples of robust scaleable long lasting software communities that have adopted clear open source licenses. Looking around and trying to find successful code sharing communities without any licensing - and you'll come up short. Why? I think it is reasonable to conclude that being clear about your licensing helps. ___ 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: Retrieve the Layer Number of an Object?
Richard, Perhaps his buttons are, er, layered so they cannot be seen, lying under other objects. And his machinations are to be viewed. But, absent that, I agree with you; why bother? Craig Newman In a message dated 10/21/09 2:20:59 PM, richmondmathew...@gmail.com writes: Mind you, why it is necessary to move the button to the top layer, do things to it, and move it back again escapes me when you could just perform your transformations in situ. ___ 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: Retrieve the Layer Number of an Object?
dunb...@aol.com wrote: Richard, Perhaps his buttons are, er, layered so they cannot be seen, lying under other objects. And his machinations are to be viewed. But, absent that, I agree with you; why bother? Craig Newman In a message dated 10/21/09 2:20:59 PM, richmondmathew...@gmail.com writes: Mind you, why it is necessary to move the button to the top layer, do things to it, and move it back again escapes me when you could just perform your transformations in situ. ___ Possibly. Err . . . who is 'Richard' ? ___ 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: Retrieve the Layer Number of an Object?
Richmond. Richard is an imaginary friend of mine who appears whenever I daydream while writing messages. Craig. In a message dated 10/21/09 3:21:04 PM, richmondmathew...@gmail.com writes: Possibly. Err . . . who is 'Richard' ? ___ 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: use-revolution Digest, Vol 73, Issue 30
Date: Wed, 21 Oct 2009 16:56:13 +1000 From: Sarah Reichelt sarah.reich...@gmail.com Subject: Re: SEND IN TIMe To: How to use Revolution use-revolution@lists.runrev.com Message-ID: f99b52860910202356m4fac3d7ap2abf92fa0a084...@mail.gmail.com Content-Type: text/plain; charset=ISO-8859-1 Are you running a standalone or from inside the Rev IDE? I have had messages lost due to editing the script at the wrong moment. However in critical apps with lots of pending messages, I put in another handler that checks that all the expected messages are in the pendingMessages list and re-schedules them if they are not. It then calls itself. The other pending messages also check to see that the message checking handler is in the queue, so they are each checking each other. Using this routine, I have never had problems with missing messages in a standalone. And I'm not sure that it is really necessary, but I started doing it for an app with lots of scheduled messages where it was unattended and vital. Messages can be delayed if the app is busy doing something else, but I haven't had any go missing. One other good technique is to reschedule the next call to the handler at the start of the handler instead of at the end. This means that even if there is a problem when running the handler, the pending message has already been created. And if timing is slightly more important, it removes the time taken to complete the handler from the calculation for the next event. Cheers, Sarah *** The SEND IN TIME message is sent at the top of the application as soon as the Auto button is clicked, and then it's sent again as soon as the app gains control when the time interval expires and the message is sent. The time when the next interval is supposed to be triggered is displayed in the window. If the app got re-triggered, it would reset the display to be the time when the next execution is expected. Environment is Windows Vista. I have started the Windows Task Manager to see if the app was using an abnormal amount of time. It wasn't. There is one and only one SEND IN TIME in the app. All the app does is re-trigger itself to periodically capture data from the internet. Perhaps there's some weird situation where the trigger happens at the same time as some external app does its own wait for a response from the internet? I doubt it, but I've seen stranger things happen in other environments. Maybe because the internet requests are blocking, Revolution gets stuck if it doesn't get a proper response from a GET URL? In that case, the app would never get control to SEND the message again. I'm no rookie to programming. I've tried about everything I could think of, or I wouldn't have reported it here. It *appears* to be something outside of my control. It *could* be a Windows glitch. Again, doubtful, but ... As far as I can tell, the problem happens ONLY in the standalone app. I set the interval to a small number to test within the IDE, but could not get it to fail. Of course, I would have to be testing it precisely during the period when SEND IN TIME fails. Since I haven't been able to detect when that situation occurs, I can't create the situation on demand, so I've never had it fail in the IDE. Besides, the interaction between the IDE and the keyboard might reset whatever is getting screwed up. All the application exits are also timestamped.. I have seen nothing abnormal in any of that activity. Again, this ONLY happens when there are other CPU intensive apps running in the system. In time periods when my CPU is idle, I start up the app in question, then it auto-executes just fine until I cancel it, possibly days later. I understand that it will be extremely difficult for this to be fixed, if indeed it is a Revolution glitch. If I can't recreate it on demand, you guys certainly can't do it. I just reported it here in case somebody else has encountered a similar problem and could corroborate my experience. Terry ___ 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: SEND IN TIME
Date: Wed, 21 Oct 2009 16:56:13 +1000 From: Sarah Reichelt sarah.reich...@gmail.com Subject: Re: SEND IN TIMe To: How to use Revolution use-revolution@lists.runrev.com Message-ID: f99b52860910202356m4fac3d7ap2abf92fa0a084...@mail.gmail.com Content-Type: text/plain; charset=ISO-8859-1 Are you running a standalone or from inside the Rev IDE? I have had messages lost due to editing the script at the wrong moment. However in critical apps with lots of pending messages, I put in another handler that checks that all the expected messages are in the pendingMessages list and re-schedules them if they are not. It then calls itself. The other pending messages also check to see that the message checking handler is in the queue, so they are each checking each other. Using this routine, I have never had problems with missing messages in a standalone. And I'm not sure that it is really necessary, but I started doing it for an app with lots of scheduled messages where it was unattended and vital. Messages can be delayed if the app is busy doing something else, but I haven't had any go missing. One other good technique is to reschedule the next call to the handler at the start of the handler instead of at the end. This means that even if there is a problem when running the handler, the pending message has already been created. And if timing is slightly more important, it removes the time taken to complete the handler from the calculation for the next event. Cheers, Sarah *** Response to multiple responses ... The SEND IN TIME message is sent at the top of the application as soon as the Auto button is clicked, and then it's sent again as soon as the app gains control when the time interval expires and the message is sent. The time when the next interval is supposed to be triggered is displayed in the window. If the app got re-triggered, it would reset the display to be the time when the next execution is expected. Environment is Windows Vista. I have started the Windows Task Manager to see if the app was using an abnormal amount of time. It wasn't. There is one and only one SEND IN TIME in the app. All the app does is re-trigger itself to periodically capture data from the internet. Perhaps there's some weird situation where the trigger happens at the same time as some external app does its own wait for a response from the internet? I doubt it, but I've seen stranger things happen in other environments. Maybe because the internet requests are blocking, Revolution gets stuck if it doesn't get a proper response from a GET URL? In that case, the app would never get control to SEND the message again. I'm no rookie to programming. I've tried about everything I could think of, or I wouldn't have reported it here. It *appears* to be something outside of my control. It *could* be a Windows glitch. Again, doubtful, but ... As far as I can tell, the problem happens ONLY in the standalone app. I set the interval to a small number to test within the IDE, but could not get it to fail. Of course, I would have to be testing it precisely during the period when SEND IN TIME fails. Since I haven't been able to detect when that situation occurs, I can't create the situation on demand, so I've never had it fail in the IDE. Besides, the interaction between the IDE and the keyboard might reset whatever is getting screwed up. All the application exits produce meaningful messages and timestamps. I have seen nothing abnormal in any of that activity. Again, this ONLY happens when there are other CPU intensive apps running in the system. Meaning, not Revolution. In time periods when my CPU is idle, I start up the app in question, then it auto-executes just fine until I cancel it, possibly days later (after the weekend). I understand that it will be extremely difficult for this to be fixed, if indeed it is a Revolution glitch. If I can't recreate it on demand, you guys certainly can't do it. I just reported it here in case somebody else has encountered a similar problem and could corroborate my experience. Or, perhaps it will trigger some Aha! thoughts in the developers. Terry ___ 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: Calling all open source developers
Thanks for the feedback. I work in (applied) mathematics, and in this fields patents are a no-no. You cannot patent a mathematical idea. The best you can do is disseminate it and hope it will have a great number of children (I will not digress on the muddy market of scientific publishing). For instance, JPEG is compression over a discrete cosine transform. The DCT is not copyrighted, it is a mathematical transform. However, it seems to me that incorporating into some code that runs on a computer system may make it (the code) fit for some form of copyright; moreover, if it is embedded into some hardware, the hardware may be patended. Is this right? Best regards, François Le 21 oct. 2009 à 21:00, David Bovill a écrit : 2009/10/21 François Chaplais francois.chapl...@mines-paristech.fr just a remark about all the legal stuff in this thread: assume you have a non totally permissive license on your code, and that somebody breaks the license, by, let us say, making a copy of the code and commercially distributing it Now who will flex the muscle to prevent this? Who will pay the lawyer(s)? If there is nothing prepared at this stage, you may as well drop all of this legal stuff... Quick answer to that: 1. There are a number of organisations like the Free Software Foundation, that have and will continue to take on legal case which they fund, often with high profile pro-bono lawyers to defend such violations. This has been done before and they will continue to do so in order to help set legal precedents. 2. Some of the brightest lawyers in countries all around the world are part of the open source and Creative Commons networks. I've sat on the steering committee here in the UK for Creative Commons, and can vouch for how bright and surprisingly generous these people can be. Someone who rips one of these licenses off makes a LOT of people very angry, it is a foolish company or individual that messes with this network. Much easier to pick on someone else. 3. Being explicit about your licenses costs you nothing, help everyone be clear about what they can and cannot do, and in a direct answer to the skeptisism you rightly raise, makes a companies lawyer think twice, about breaking the terms laid out in the license. 4. You don't need to be convinced of any of the above. None of the philosophy, banter and arguments littered around the internet. You can simply learn from the practices of successful communities. There are plenty of examples of robust scaleable long lasting software communities that have adopted clear open source licenses. Looking around and trying to find successful code sharing communities without any licensing - and you'll come up short. Why? I think it is reasonable to conclude that being clear about your licensing helps. ___ 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: Calling all open source developers
Thanks for the feedback. I work in (applied) mathematics, and in this fields patents are a no-no. You cannot patent a mathematical idea. The best you can do is disseminate it and hope it will have a great number of children (I will not digress on the muddy market of scientific publishing). From what I can see by all the patents coming out of Apple, you can patent just about anything if you wrap it right in legalese ;-) Best regards, Lynn Fredricks President Paradigma Software http://www.paradigmasoft.com Valentina SQL Server: The Ultra-fast, Royalty Free Database Server ___ 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: Music ????
Hi Kenji, Kenji Kojima wrote: [snip] Yes, UDI's makeSMFLib works on MacOS, Windows and browser. Yes, it works great inside a browser. Hopefully, UDI will complete the code for importing and converting Midi files. I found the stack Random Music Player specially interesting and would like to understand thoroughly this code. Alejandro -- View this message in context: http://www.nabble.com/Music--tp25963613p25998852.html Sent from the Revolution - User mailing list archive at Nabble.com. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Calling all open source developers
Replying here: I think Peter forked this thread :) 2009/10/20 Richard Gaskin ambassa...@fourthworld.com Great stuff, David. More than just a grand vision, it appears well thought out on many levels. One thing I don't understand with GPL'd code, though: What if rather than contributing, someone wanted to drive traffic to their own site by forking the project and enhancing a new version of it? Are there any ways to ensure that a common pool doesn't get fragmented like that? Good stewardship. Good code. Listening and being open to change. Peter is right that you can;t force this structurally - you have to do the opposite and welcome the possibility of forking, just try to make sure your fork is the best :) Like many people I wouldn't join a project that was closed, that I couldn't get my data back out of it it were to go pear shaped or in a direction I did not like. Also: Would a Rev stack need to use LGPL to maintain a clear distinction from the engine, or is GPL sufficiently clear on that? I looked a this and discussed it with a number of people / lawyers. Initially I assumed too that LGPL, was what was needed. I was told that GPL was a reasonable choice - despite much of the confusing talk - most of which relates to issues regarding low level languages and is not relevant to scripting languages. After further research I found that there are a number of communities that have taken this route, and it seems to have worked out fine for them. Adobe Flash is not open source. However you will find plenty of well respected ActionScript that explicitly license their code GPL. I see no reason why RevTalk cannot be licensed on the same basis as ActionScript, and the advice I have sought and research I have done has not contradicted that. In short there is no good reason I can find that we don't do a similar this to say a project like Open Source Flashhttp://osflash.org/open_source_flash_projects- I just think we can do it better. We gain stronger and better protection than simple licenses alone, by ensuring that the project is collectively owned and open to any developer that is interested in joining. Given that the copyright belongs to that collective organisation they are free to ammend and relicense the software under new licenses under whatever good council they get. However you can;t retract openness and the project can allways be forked if enough people don't like what we do. In short if there were to be a problem with a particular form of license, we have the added protection that the community can release a modified license in good faith. To the best of my knowledge the combination of both the licensing, the limited liability and open organisational structure, together with a clear and agreed social purpose as expresssed in the member agreement gives us the soundest basis for creating a thriving and sustainable open content community built around Revolution. We've got a strong community, but I think we can improve it, and learn from each other and other projects outside of our community. I hope that is entertaining enough Richmond? ___ 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: Calling all open source developers
2009/10/21 François Chaplais francois.chapl...@mines-paristech.fr Thanks for the feedback. I work in (applied) mathematics, and in this fields patents are a no-no. You cannot patent a mathematical idea. The best you can do is disseminate it and hope it will have a great number of children (I will not digress on the muddy market of scientific publishing). For instance, JPEG is compression over a discrete cosine transform. The DCT is not copyrighted, it is a mathematical transform. However, it seems to me that incorporating into some code that runs on a computer system may make it (the code) fit for some form of copyright; moreover, if it is embedded into some hardware, the hardware may be patended. Is this right? Roughly - yes. Most IP protection relies on simple legal hacks, and the entire framework is pretty much a mess in the digital era. My favourite from of IP protection is the use of Trade Secrets - wickedly and quite stupidly effective. 2009/10/21 Lynn Fredricks lfredri...@proactive-intl.com From what I can see by all the patents coming out of Apple, you can patent just about anything if you wrap it right in legalese ;-) :) A nice quote from the current head of Creative Commons based on comparing todays legal climate with the 1920's anything that makes Jazz illegal has got to be wrong - or to take an older example imagine a world in which culinary recipes were subject to IP laws - good or bad for the restaurant trade? Luckily we do have options to help shape a more sane form of sharing, competing and cooperating. Abandoning law altogether is not an option - it will just be shaped and used by others. Personally I admire people who use it sensibly for social purposes. All law is code. ___ 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: Calling all open source developers
David Bovill wrote: snipped out a large section I hope that is entertaining enough Richmond? ___ Humpf! I would have chosen another word, rather than 'entertaining'. As has been mentioned previously, it won't stop somebody pinching something if they want to. A little bird told me that certain large computer software companies (cough, cough), knowing that their highly paid lawyers can trample all over people, have been gaily pinching small people's ideas for donkey's ages and rolling them out as their own. Ultimately, the whole thing doesn't really come down to legalese, but whether people are honest or not. Living as I do in a country where the computers run on a 99% Windows installed base, and where about 90% of that is pirate, and cheating is virtually institutionalised, I have found the current discussion vaguely interesting from a philosophical point of view. But as a serious discussion about the real world it seems a bit silly. I have introduced about 50 children to RunRev over the last 5 years; until the advent of revMedia 4 I had to explain to them that I would NOT give them personal copies of RR, complete with licence numbers for nothing: I think it would be fair to say that all of them thought I was bonkers. Don't reply by telling me that Bulgaria is a special case because it isn't; it is representative of a very large section of the world; a section with which, sooner or later, all of you who live in the 'West' (i.e. where software piracy only really happens on a personal basis) will have to engane with. - I am also sure that not very many of the RunRev community wish to see the setting up of some sort of totalitarian snooping organisation (although they are trying their damnedest in Britain) to check everyone's PC on a daily basis for naughty stuff. So there has to be another way to stop piracy. One of the ways is Open Source. The only problem about that is how the programmer os going to fill his/her fridge. Personally I rather like the 'Freemium' concept, and intend to release my 'Sanskrit Typewriter' in that way: 1. A web-based system that is FREE, and is capable of encoding Classical Sanskrit without restrictions. 2. A standalone that COSTS MONEY, that has all the capabilities of the FREE version and an extremely sophisticated set of routines for coping with all the ramifications of Devanagari script semi-automatically. In theory, at least, this should reduce piracy of the end product, as the free version will be capable of doing anything that the casual Sanskrit hobbyist (err . . . work that one out) will need. I will keep the code tightly against my chest! ___ 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: Retrieve the Layer Number of an Object?
Hi Richmond, Ah, I see my difficulty now, I was trying to say: put the layer number of btn Button into VarLayerNumber which apparently was too verbose so it didn't work. Yes, the button is hidden. I wanted to bring it forward for testing so I can see it better, make my test changes programmatically, so I can be sure it did what I wanted it to do, and then put it back where it was. Why the big deal about it? Anyways, thank you for your help! Rick On Oct 21, 2009, at 12:11 PM, Richmond Mathewson wrote: Rick Harrison wrote: I want to programmatically get the layer number of a button, store the layer number for it, move the button to the front, modify the button, and then move it back to the layer where it was with the set the layer of button blah to the VarLayerNumber. on mouseUp put the layer of btn Button into VarLayerNumber set the layer of btn Button to top -- do daft things to btn Button -- set the layer of btn Button to VarLayerNumber end mouseUp Not terribly difficult . . . :) Mind you, why it is necessary to move the button to the top layer, do things to it, and move it back again escapes me when you could just perform your transformations in situ. ___ 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 __ Rick Harrison You can buy my $10 music album Funny Time Machine digital CD on the iTunes Store Now! To visit the iTunes Store now to listen to samples of my CD please click on the following link. (Please note you must have iTunes installed on your computer for this link to work.) http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?playListId=213668290 ___ 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: Retrieve the Layer Number of an Object?
I want to programmatically get the layer number of a button, store the layer number for it, move the button to the front, modify the button, and then move it back to the layer where it was with the set the layer of button blah to the VarLayerNumber. Has anyone done this? I checked the documentation, but couldn't find how to do this seemingly simple thing. What am I missing here? What you are suggesting will work fine unless the button is in a group. You cannot relayer objects in a group without setting relayerGroupedControls to true. However once that is set, it is possible to relayer the object right out of it's containing group, so be warned. So assuming that the object's are not in groups, you can do something like this: put the layer of btn My Button into tLayer set the layer of btn My Button to the number of controls on this card -- do stuff to the button set the layer of btn MyButton to tLayer Cheers, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Sending keyDown
Just when I was thinking I had the differences between HC and Rev down, I stumble. I have an editable field with this handler: on keyDown var send keydown var to this stack put var end keyDown In HC, any text I type gets placed into the field, so typing works normally, but then I can do stuff with the last char, like put it into the msg box. Actually, in HC, I say to Hypercard, but it makes no difference. But in Rev I get an error message stating that Rev can't find handler near keyDown. Can't wait to see where this divergence between the two lies... Thanks, Craig Newman ___ 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: Sending keyDown
On Thu, Oct 22, 2009 at 7:43 AM, dunb...@aol.com wrote: Just when I was thinking I had the differences between HC and Rev down, I stumble. I have an editable field with this handler: on keyDown var send keydown var to this stack put var end keyDown In HC, any text I type gets placed into the field, so typing works normally, but then I can do stuff with the last char, like put it into the msg box. Actually, in HC, I say to Hypercard, but it makes no difference. But in Rev I get an error message stating that Rev can't find handler near keyDown. Try this: on keyDown var put var pass keyDown end keyDown This allows you to do stuff with var, then tell the engine to keep passing the keyDown message along the normal hierarchy. Cheers, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: SEND IN TIME
There is one and only one SEND IN TIME in the app. All the app does is re-trigger itself to periodically capture data from the internet. Perhaps there's some weird situation where the trigger happens at the same time as some external app does its own wait for a response from the internet? I doubt it, but I've seen stranger things happen in other environments. Maybe because the internet requests are blocking, Revolution gets stuck if it doesn't get a proper response from a GET URL? In that case, the app would never get control to SEND the message again. This sounds like the most probably answer, which is why I suggested sending the next message at the start of the handler instead of at the end. Cheers, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: how to preserve character set encoding when creating a text file?
Thanks Martin, but I'm not sure how to use this info. I wonder if anyone here knows how to save a text file in Unicode or some character encoding that preserves international character sets? Thanks On Oct 21, 2009, at 9:11 AM, Martin Baxter wrote: Perhaps this info is a clue? Windows or Unix character position 237 = iacute Mac character position 237 = Igrave Martin Baxter Josh Mellicker wrote: In Czechoslovakia, the Application Data folder on Windows XP is called Data aplikací. So, when we get specialfolderpath(26), the path looks something like this: C:/Documents and Settings/Username/Data aplikací/OurFolder/ In Rev, all works fine. But when we create a regular text batch file: put tBatchCommands into URL (binfile: theBatchFileLoc()) the Czech character is transformed into this: C:/Documents and Settings/Username/Data aplikacÌ/OurFolder/ and when running the batch file, the system cannot find the path. Obviously we are messing up the character encoding when we write the text file and the (one character, in our case) is changed. Has anyone run into this or know how to preserve character encoding in our text file?___ 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 -- If you want to go fast, go alone; if you want to go far, go together (African proverb) ___ 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: Calling all open source developers
On Oct 20, 2009, at 3:14 PM, David Bovill wrote: At this stage - its just about saying you want in I'd be interested. I think what Rev really needs to fully take off is an open source CMS. It seems that so many languages have really soared in popularity once they had one going. -- Troy RPSystems, Ltd. http://www.rpsystems.net ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: How to filter a big list
your asking a lot of a chunking function to scan a large body of text between key strokes. Start with the following steps to see if these help. -1- Showing a list of more than 50 hits may not be useful -2- Doing an filter operation with less than 3 chars may not be useful -3- Showing the number of lines (hits) at the top of the field is useful -4- Most likely you will need to pre-index the 400K lines to get more speed Indexing is what data bases do to boost speed. You need to decide what the logic is, such as any char in any string, or words beginning with the user input, etc. Is the 400K set of lines dynamic or static? Does the user type logical words, or phrases? eg. santos -- single word eg. Gourgas -- single word eg. dos santos -- phrase in order eg. rue Gourgas --phrase in order If link tables are required, then you should consider a database, since this is something they do well. if the number of chars in userInput 3 then exit to top put Number of lines = \ the number of lines in filteredBlock into theOutput if the number of lines in filteredBlock 50 then put line 1 to 10 of block cr MORE after theOutput The fewer characters in the block of lines to be filtered, the better. Hope this helps. Jim Ault Las Vegas On Oct 21, 2009, at 8:47 AM, Jérôme Rosat wrote: Thank you Jim, Richard, Brian and Mark, Please excuse me to answer so tardily, I posted a message yesterday, but it was not published in the list. I make a new attempt. I explained in my message that I wish to filter a list of names and addresses dynamically when I type a name in a field. This list contains 400'000 lines like this: Mme [TAB] DOS SANTOS albertina [TAB] rue GOURGAS 23BIS [TAB] 1205 Genève I made various tests using the repeat for each loop and the filter ... with command. Filtering takes the most time when I type the first and the second letter. That takes approximately 800 milliseconds for the first char and about 570 milliseconds for the second char. The repeat loop with the contains operator is a little beat slower (about 50 milliseconds) than the filter ... with. There is no significant difference when the third char or more is typed. Of course I filter a variable before to put it in the list field. Obviously, 800 milliseconds to filter a list of 400'000 lines, it is fast. But it is too slow for what I want to do. It would take a time of filtering lower than 300 milliseconds so that the user is not slowed down in his typing. Sorry to have been insufficiently precise in my first message. I continue my tests and I will publish the fastest code. Jerome Rosat ___ 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