1. Newby with a Ctrl-C problem
- Posted by "Bown, John" <John.Bown at UK.ORIGIN-IT.COM> Oct 09, 1998
- 633 views
Greetings Euphorians, Please excuse me if I'm breaking any etiquette rules here ( can't get at alt.lang.euphoria from behind our firewall and haven't had time to plough through the archived material ) ... I'm new to Euphoria - I was so impressed by what I saw when I discovered the language I have decided to use it on my latest project, however, as with all languages ( trying to run before I can walk ), I've hit a problem ... I *must* be able to trap and handle Ctrl-C within my application - Using allow_break(TRUE) causes the app. to exit to MS-DOS as soon as Ctrl-C appears. Using allow_break(FALSE) prevents the exit to MS-DOS but get_key() doesn't return anything so I can't tell that Ctrl-C has turned up and handle it Anyone got any suggestions / solutions ? Many thanks in anticipation, John Bown Origin UK Ltd 323 The Science Park Milton Road Cambridge CB4 4WG United Kingdom mailto:john.bown at uk.origin-it.com http://www.psynet.net/hippy
2. Re: Newby with a Ctrl-C problem
- Posted by Ralf Nieuwenhuijsen <nieuwen at XS4ALL.NL> Oct 09, 1998
- 584 views
Welcome to the list-server, and yes I can help you out. Its from library.doc in your euphoria\doc directory Ralf --[check_break]-- Syntax: include file.e i = check_break() Description: Return the number of times that control-c or control-break have been pressed since the last call to check_break(), or since the beginning of the program if this is the first call. Comments: This is useful after you have called allow_break(0) which prevents control-c or control-break from terminating your program. You can use check_break() to find out if the user has pressed one of these keys. You might then perform some action such as a graceful shutdown of your program. Neither control-c nor control-break will be returned as input characters when you read the keyboard. You can only detect them by calling check_break(). Example: k = get_key() if check_break() then temp = graphics_mode(-1) puts(1, "Shutting down...") save_all_user_data() abort(1) end if See Also: allow_break, get_key
3. Re: Newby with a Ctrl-C problem
- Posted by Matt Z Nunyabidness <matt1278 at JUNO.COM> Oct 09, 1998
- 572 views
I also have some trouble with CTRL+Break. If i hit in a Euphoria program launched from the editor in full screen, my computer will reboot without notice. If i try to break out of it in a dos box, it'll give me a whole bunch those notorious 'blue screens' _________________ When it comes to programming languages, Euphoria is a cut above matt1278 at juno.com Euphoria programmer Webbers: <A HREF="mailto:prezsoft at juno.com">prezsoft at juno.com</A>, president of SoftCo. All virus proggers should die horrible deaths™ ___________________________________________________________________ You don't need to buy Internet access to use free Internet e-mail. Get completely free e-mail from Juno at http://www.juno.com or call Juno at (800) 654-JUNO [654-5866]
4. Re: Newby with a Ctrl-C problem
- Posted by Robert B Pilkington <bpilkington at JUNO.COM> Oct 09, 1998
- 567 views
>I *must* be able to trap and handle Ctrl-C within my application - > >Using allow_break(TRUE) causes the app. to exit to MS-DOS as soon as >Ctrl-C appears. > >Using allow_break(FALSE) prevents the exit to MS-DOS but get_key() >doesn't return anything so I can't tell that Ctrl-C has turned up and >handle it > >Anyone got any suggestions / solutions ? Ralf's idea should work, but it may not work elegantly enough, depending on the application. (You'll still see a ^C appear in your program.) Another solution, used by David Cuny in EE, which comes with his TextGUI toolkit, may work better, but the code is integrated into the toolkit, so it will have to be extracted. Maybe David could explain further, or I could dig out the code. (You should get the toolkit anyway, the editor is more like DOS Edit, so you may feel more comfortable with it.) The file is KEYS.E, but it has other stuff in it. (It uses some mouse stuff, and other things from EE in it.) It has a routine in it that gets the keys and returns CTRL-C safely. I don't have time right now, but if you want, I can dig out the code for getting the keys and wrap them up in a .E file, with docs and stuff later on (Hopefully tonight, with Monday being the latest, depending on how busy I am). (Or David, you could jump in and get the needed code and give it to John sooner. ___________________________________________________________________ You don't need to buy Internet access to use free Internet e-mail. Get completely free e-mail from Juno at http://www.juno.com or call Juno at (800) 654-JUNO [654-5866]