From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a1bb0c0c18c89737,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-10-11 12:00:45 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed-west.nntpserver.com!hub1.meganetnews.com!nntpserver.com!sjc-peer.news.verio.net!news.verio.net!iad-read.news.verio.net.POSTED!not-for-mail From: Dr Nancy's Sweetie Subject: On-Screen Elapsed Time Display? Newsgroups: comp.lang.ada Organization: Rowan College of New Jersey User-Agent: tin/1.4.6-20020816 ("Aerials") (UNIX) (SunOS/5.8 (sun4u)) Message-ID: Date: Fri, 11 Oct 2002 18:54:36 GMT NNTP-Posting-Host: 150.250.64.69 X-Complaints-To: abuse@verio.net X-Trace: iad-read.news.verio.net 1034362476 150.250.64.69 (Fri, 11 Oct 2002 18:54:36 GMT) NNTP-Posting-Date: Fri, 11 Oct 2002 18:54:36 GMT Xref: archiver1.google.com comp.lang.ada:29727 Date: 2002-10-11T18:54:36+00:00 List-Id: I searched Google a few times for this, and didn't seem to find it, but maybe I just couldn't think of the Right Magic Keywords. So this is probably a stupid newbie question that's been answered 100 times. (Maybe the next person to search on the keywords I came up with will find this article and the helpful replies.) I have written a game, and thought it might be more interesting with "best times" file, so people can compete with each other. It's easy enough to add in something like this: type Time_T is new Long_Integer; Start_Time, Win_Time: Time_T; procedure Time ( Time : in out Time_T); pragma Import (C, Time); and then set Win_Time when the player wins, subtract, and figure out how long it took. What I don't see easily (and maybe I'm just blind) is a good way to get a display on the screen (the game uses ncurses) during play. I can update the clock every time someone pushes a key, of course, but that's kinda lame. What I probably need is some Ada version setitimer(). Then it's just a matter of set up a function that displays the clock, hook the function to SIGALRM, and set the timer to 900ms. I found the pragma "Attach_Handler", and also found SIGALRM in Ada.Interrupts.Names. But what's the Ada equivalent of "setitimer();"? I can import setitimer(), and make Ada versions of struct timerval and itimerval, but that's starting to feel like I'm overusing C, and depending on Unixisms (which is bad for portability). What is the Right Thing to do? I'm using GNAT, if that makes any difference. Thanks, Darren Darren Provine ! kilroy@elvis.rowan.edu ! http://www.rowan.edu/~kilroy "Everybody writes that we have no chance, but, you know, the horse can't read." -- Wilson Brown, trainer of Kentucky Derby entry It'sallinthechase, May 2002 (odds 50-1 against)