1. What are you people doing with Euphoria?
- Posted by Michael Packard <lgp at EXO.COM> Oct 11, 1996
- 2354 views
- Last edited Oct 12, 1996
Hey, we need more Euphoria web pages. Seems like there are only 6 or 7 pages in the whole world. I know there are a LOT of people out there using euphoria. I saw at least 70 names on this list last time I checked. SHOW US WHAT YOU'RE DOING WITH IT! display your tests, sample code, stupid demos, game ideas ANYTHING. We need more cool apps. I've been way busy working at a job site lately, so the lesson is late. I'm sorry for the delay. I expect it to be up late saturday night. I'm hoping to get some serious updates made to OidZone this weekend. All features should be in in one form or another by monday or tuesday. If everyone who downloaded the alpha would send me some feedback, comments, or wishlists it would be a real help. I want it to be killer. by the way, would someone be so kind as to e-mail me a patched ed.ex with a good file selector? I'd rather spend my very limited programming time getting OidZone ready for beta testing, than patching and debugging ed. I'd probably screw it up. Michael Packard Lord Generic Productions lgp at exo.com http://exo.com/~lgp A Crash Course in Game Design and Production http://exo.com/~lgp/euphoria
2. Re: What are you people doing with Euphoria?
- Posted by PatRat <billparsl at MISTRAL.CO.UK> Oct 12, 1996
- 2339 views
--=====================_845140692==_ >Hey, we need more Euphoria web pages. Seems like there are only >6 or 7 pages in the whole world. I know there are a LOT of people out >there using euphoria. I saw at least 70 names on this list last time I >checked. SHOW US WHAT YOU'RE DOING WITH IT! I have a euphoria page off my main page at "htttp://www3.mistral.co.uk/billparsl/tom.htm" theres not realy anything there though. >display your tests, sample code, stupid demos, game ideas ANYTHING. We >need more cool apps. I have made a disk catalogue program but it needs touching up (Somthing which I'm not very good at ). >I've been way busy working at a job site lately, so the lesson is late. >I'm sorry for the delay. I expect it to be up late saturday night. Looking foreward to it. >I'm hoping to get some serious updates made to OidZone this weekend. All >features should be in in one form or another by monday or tuesday. If >everyone who downloaded the alpha would send me some feedback, comments, >or wishlists it would be a real help. I want it to be killer. I have found that sometimes when rocks have been destroyed there graphics hang around and when another rock or the ship move over then they disaper >by the way, would someone be so kind as to e-mail me a patched ed.ex with >a good file selector? I'd rather spend my very limited programming time >getting OidZone ready for beta testing, than patching and debugging ed. >I'd probably screw it up. I'v atached it. --=====================_845140692==_ (This file must be converted with BinHex 4.0) 0#Jd+$3U+53!!: --=====================_845140692==_ Thomas Parslow (PatRat) and 1 sweat litle rat --E-Mail: billparsl at mistral.co.uk --Internet: http://www3.mistral.co.uk/billparsl/tom.htm (general page) -- OR -- http://www3.mistral.co.uk/billparsl/index.htm.htm (Ratty page) -- () _ _ () -- (o o) -- =\o/= --=====================_845140692==_--
3. Re: What are you people doing with Euphoria?
- Posted by Daniel Berstein Zimmermann <dberst at CMETNET.CMET.NET> Oct 13, 1996
- 2341 views
--------------57C53C247AE3 Michael Packard wrote: > Hey, we need more Euphoria web pages. Seems like there are only > 6 or 7 pages in the whole world. I know there are a LOT of people out > there using euphoria. I saw at least 70 names on this list last time I > checked. SHOW US WHAT YOU'RE DOING WITH IT! Hi everyone, I'm quite new to euphoria, and not yet got my webpage... but here is some code o f mine, it's just a generic menu selector (kind of Clipper's "menu to" but with multiple columns and horizon tal scrolling). Hope you like it... and help improve it. --------------57C53C247AE3 Content-Disposition: inline; filename="menu_eng.e" ---------------- --FUNCTION MENU-- ---------------- --Sintax: -- menu( sequence "items", sequence "options", sequence "colors" ) ---------------- --Parameters: -- "items" --> sequence containing the menu items -- "options" --> sequence with the following menu specifications: -- options[1] = upper row coordinate -- options[2] = left column coordinate -- options[3] = maximum column length -- options[4] = columns width -- options[5] = number of visible columns -- options[6] = light-bar style (0=minimum, 1=complete) -- "colors" --> sequence with menu colors: -- colors[1] = normal foreground -- colors[2] = normal background -- colors[3] = highlighted foreground -- colors[4] = highlighted backgorund ---------------- include graphics.e include file.e include get.e global function menu(sequence items, sequence options, sequence colors) -- Declare variables integer number_of_columns, first_column, last_column integer current_row, current_column, reimprimir sequence video object aux1, aux2 video = video_config() -- Check no item is wider than options[4] for loop = 1 to length(items) do if options[4] < length(items[loop])then options[4] = length(items[loop]) end if end for -- Check if number of visible columns is OK if options[2] + (options[5] * options[4]) > video[VC_COLUMNS] then options[5] = floor((video[VC_COLUMNS] - options[2]) / options[4]) end if -- Check if column length if OK if options[1] + options[3] > video[VC_LINES] then options[3] = video[VC_LINES] - options[1] end if -- Define variables if integer (length(items) / options[3]) then number_of_columns = length(items) / options[3] else number_of_columns = floor(length(items) / options[3]) + 1 end if first_column = 1 last_column = options[5] if last_column > number_of_columns then last_column = number_of_columns options[5] = number_of_columns end if reimprimir = 1 current_column = first_column current_row = 1 -- Main loop while 1 do if first_column < 1 then first_column = 1 reimprimir = 0 end if last_column = first_column + options[5] - 1 if last_column > number_of_columns then last_column = number_of_columns first_column = last_column - options[5] + 1 reimprimir = 0 end if if current_column < first_column then current_column = first_column elsif current_column > last_column then current_column = last_column end if if (options[3] * (current_column - 1) + current_row) > length(items) then current_row = length(items) - (options[3] * (current_column - 1)) end if -- Display visible columns if reimprimir = 1 then reimprimir = 0 aux1 = 0 aux2 = 0 text_color(colors[1]) bk_color(colors[2]) for loop = (options[3] * (first_column - 1) + 1) to (options[3] * (last_column - 1) + options[3]) do position((options[1] + aux1), (options[2] + (aux2 * options[4]))) if loop > length(items) then puts(1, repeat(32, options[4])) else puts(1, items[loop] & repeat(32, options[4] - length(items[loop]))) end if aux1 = aux1 + 1 if aux1 = options[3] then aux1 = 0 aux2 = aux2 + 1 end if end for end if -- Display light-bar text_color(colors[3]) bk_color(colors[4]) position((options[1] + (current_row - 1)), (options[2] + ((current_column - first_column) * options[4]))) if options[6] then puts(1, items[options[3] * (current_column - 1) + current_row] & repeat(32, options[4] - length(items[options[3] * (current_column - 1) + current_row]))) else puts(1, items[options[3] * (current_column - 1) + current_row]) end if -- Wait for a key aux1 = wait_key() -- Hide ligth-bar text_color(colors[1]) bk_color(colors[2]) position((options[1] + (current_row - 1)), (options[2] + ((current_column - first_column) * options[4]))) puts(1, items[options[3] * (current_column - 1) + current_row] & repeat(32, options[4] - length(items[options[3] * (current_column - 1) + current_row]))) -- Check which key was pressed if aux1 = 13 then -- ENTER --> returns selected item's position return (options[3] * (current_column - 1) + current_row) elsif aux1 = 27 then -- ESC --> returns -1, selection canceled return -1 elsif aux1 = 328 then -- Up arrow if current_row - 1 >= 1 then current_row = current_row - 1 elsif current_row - 1 < 1 then if current_column - 1 < first_column then first_column = first_column - 1 reimprimir = 1 end if if current_column > 1 then current_row = options[3] current_column = current_column - 1 end if end if elsif aux1 = 336 then -- Down arrow if current_row + 1 <= options[3] then current_row = current_row + 1 elsif current_row + 1 > options[3] then if current_column + 1 > last_column then first_column = first_column + 1 reimprimir = 1 end if if current_column < number_of_columns then current_row = 1 current_column = current_column + 1 end if end if elsif aux1 = 331 then -- Left arrow if current_column - 1 >= first_column then current_column = current_column - 1 elsif current_column - 1 < first_column then current_column = current_column - 1 first_column = first_column - 1 reimprimir = 1 end if elsif aux1 = 333 then -- Right arrow if current_column + 1 <= last_column then current_column = current_column + 1 elsif current_column + 1 > last_column then current_column = current_column + 1 first_column = first_column + 1 reimprimir = 1 end if end if end while end function --------------57C53C247AE3--
4. Re: What are you people doing with Euphoria?
- Posted by Daniel Berstein Zimmermann <dberst at CMETNET.CMET.NET> Oct 14, 1996
- 2323 views
--------------4B5763E4E3A Dear Michael: I've done a little improvement to the "menu engine" i sent you yesterday, also is attached a small program to test the engine. Bye... --------------4B5763E4E3A Content-Disposition: inline; filename="menutest.ex" ---------------- -- Menutest.ex ---------------- -- by Daniel Berstein Z. -- e-mail: dberst at cmet.net ---------------- -- This file is intended to test my menu engine MENU_ENG.E, and will -- display a scrollable menu with the contents of your root directory. -- Play with this file, and use it as you want. -- The file MENU_ENG.E is required for this stuff to work. ----------------- include menu_eng.e clear_screen() sequence test, parameters integer selection parameters = repeat(0, 7) parameters[1] = 3 -- Starting row coord. parameters[2] = 10 -- Starting column coord. parameters[3] = 20 -- Maximum column length parameters[4] = 15 -- Column width parameters[5] = 3 -- Number of visible columns parameters[6] = 1 -- Complete lightbar style parameters[7] = 1 -- Activate scrollbar display test = dir("c:\\") for loop = 1 to length(test) do test[loop] = test[loop][D_NAME] end for selection = menu(test, parameters,{WHITE,BLUE,BLUE,WHITE}) position(24,1) if selection = -1 then puts(1, "Selection has been aborted") else puts(1, test[selection] & " has been selected") end if --------------4B5763E4E3A Content-Disposition: inline; filename="menu_eng.e" ------------------------------------------------------------------------------ -- MENU ENGINE -- ------------------------------------------------------------------------------ --Author: Daniel Berstein Zimmermann --Date: 13 of Octubre 1996, Santiago de Chile --E-mail: dberst at cmet.net ---------------- --FUNCTION MENU-- ---------------- --Sintax: -- menu( sequence "items", sequence "options", sequence "colors" ) ---------------- --Parameters: -- "items" --> sequence containing the menu items -- "options" --> sequence with the following menu specifications: -- options[1] = upper row coordinate -- options[2] = left column coordinate -- options[3] = maximum column length -- options[4] = columns width -- options[5] = number of visible columns -- options[6] = light-bar style (0=minimum, 1=complete) -- options[7] = scroll-bar (0=no, 1=yes) -- "colors" --> sequence with menu colors: -- colors[1] = normal foreground -- colors[2] = normal background -- colors[3] = highlighted foreground -- colors[4] = highlighted backgorund ---------------- ---------------- --Returns: -- Position within "items" of the selected option. -- Returns -1 if the selection is canceled. ---------------- --Notes: -- a) The scrollbar may not work fine if the column length (options[3]) is -- less than 3. ---------------- --Future release: -- Mouse support ---------------- include graphics.e include file.e include get.e global function menu(sequence items, sequence options, sequence colors) -- Declare variables integer number_of_columns, first_column, last_column integer current_row, current_column, reimprimir sequence video object aux1, aux2 video = video_config() cursor(NO_CURSOR) -- Check no item is wider than options[4] for loop = 1 to length(items) do if options[4] < length(items[loop])then options[4] = length(items[loop]) end if end for -- Check if number of visible columns is OK if options[2] + (options[5] * options[4]) > video[VC_COLUMNS] then options[5] = floor((video[VC_COLUMNS] - options[2]) / options[4]) end if -- Check if column length if OK if options[1] + options[3] > video[VC_LINES] then options[3] = video[VC_LINES] - options[1] end if -- Define variables if integer (length(items) / options[3]) then number_of_columns = length(items) / options[3] else number_of_columns = floor(length(items) / options[3]) + 1 end if first_column = 1 last_column = options[5] if last_column > number_of_columns then last_column = number_of_columns options[5] = number_of_columns end if -- Display scrollbar if options[7] then text_color(colors[1]) bk_color(colors[2]) position((options[1] + options[3]), options[2]) puts(1, 17 & repeat(176, (options[4] * options[5]) - 2) & 16) end if reimprimir = 1 current_column = first_column current_row = 1 -- Main loop while 1 do if first_column < 1 then first_column = 1 reimprimir = 0 end if last_column = first_column + options[5] - 1 if last_column > number_of_columns then last_column = number_of_columns first_column = last_column - options[5] + 1 reimprimir = 0 end if if current_column < first_column then current_column = first_column elsif current_column > last_column then current_column = last_column end if if (options[3] * (current_column - 1) + current_row) > length(items) then current_row = length(items) - (options[3] * (current_column - 1)) end if -- Display visible columns if reimprimir = 1 then reimprimir = 0 aux1 = 0 aux2 = 0 text_color(colors[1]) bk_color(colors[2]) for loop = (options[3] * (first_column - 1) + 1) to (options[3] * (last_column - 1) + options[3]) do position((options[1] + aux1), (options[2] + (aux2 * options[4]))) if loop > length(items) then puts(1, repeat(32, options[4])) else puts(1, items[loop] & repeat(32, options[4] - length(items[loop]))) end if aux1 = aux1 + 1 if aux1 = options[3] then aux1 = 0 aux2 = aux2 + 1 end if end for end if -- Display light-bar text_color(colors[3]) bk_color(colors[4]) position((options[1] + (current_row - 1)), (options[2] + ((current_column - first_column) * options[4]))) if options[6] then puts(1, items[options[3] * (current_column - 1) + current_row] & repeat(32, options[4] - length(items[options[3] * (current_column - 1) + current_row]))) else puts(1, items[options[3] * (current_column - 1) + current_row]) end if -- Update scrollbar (display cursor) if options[7] then aux2= floor(( options[5] * options[4]) / ( number_of_columns - 1)) * ( current_column - 1) + 1 if aux2 > (options[5] * options[4]) - 2 then aux2 = (options[5] * options[4]) - 2 end if text_color(colors[1]) bk_color(colors[2]) position((options[1] + options[3]), (options[2] + aux2)) puts(1, 178) end if -- Wait for a key aux1 = wait_key() -- Hide ligth-bar text_color(colors[1]) bk_color(colors[2]) position((options[1] + (current_row - 1)), (options[2] + ((current_column - first_column) * options[4]))) puts(1, items[options[3] * (current_column - 1) + current_row] & repeat(32, options[4] - length(items[options[3] * (current_column - 1) + current_row]))) -- Update scrollbar (hide cursor) if options[7] then aux2= floor(( options[5] * options[4]) / ( number_of_columns - 1)) * ( current_column - 1) + 1 if aux2 > (options[5] * options[4]) - 2 then aux2 = (options[5] * options[4]) - 2 end if position((options[1] + options[3]), (options[2] + aux2)) puts(1, 176) end if -- Check which key was pressed if aux1 = 13 then -- ENTER --> returns selected item's position return (options[3] * (current_column - 1) + current_row) elsif aux1 = 27 then -- ESC --> returns -1, selection canceled return -1 elsif aux1 = 328 then -- Up arrow if current_row - 1 >= 1 then current_row = current_row - 1 elsif current_row - 1 < 1 then if current_column - 1 < first_column then first_column = first_column - 1 reimprimir = 1 end if if current_column > 1 then current_row = options[3] current_column = current_column - 1 end if end if elsif aux1 = 336 then -- Down arrow if current_row + 1 <= options[3] then current_row = current_row + 1 elsif current_row + 1 > options[3] then if current_column + 1 > last_column then first_column = first_column + 1 reimprimir = 1 end if if current_column < number_of_columns then current_row = 1 current_column = current_column + 1 end if end if elsif aux1 = 331 then -- Left arrow if current_column - 1 >= first_column then current_column = current_column - 1 elsif current_column - 1 < first_column then current_column = current_column - 1 first_column = first_column - 1 reimprimir = 1 end if elsif aux1 = 333 then -- Right arrow if current_column + 1 <= last_column then current_column = current_column + 1 elsif current_column + 1 > last_column then current_column = current_column + 1 first_column = first_column + 1 reimprimir = 1 end if end if end while end function --------------4B5763E4E3A--
5. Re: What are you people doing with Euphoria?
- Posted by Marcel Kollenaar <M.Kollenaar at SLO.NL> Oct 14, 1996
- 2334 views
Michael, > Hey, we need more Euphoria web pages. Seems like there are only Agree, but too much gives some scattering of information. > 6 or 7 pages in the whole world. I know there are a LOT of people out > there using euphoria. I saw at least 70 names on this list last time I > checked. SHOW US WHAT YOU'RE DOING WITH IT! I would like to but I,m not so fast and busy as you are. My code takes some time. Sometimes I think that you have 5 times more time to spend coding in Euporia and a 10 times faster thinking process than I have. So I'm very selective where I spend my time at. I can tell you that I'm interested in databases. So likely I spend my time on making access modules for indexfiles and databases. Now I'm waiting for some code David Gay is making for accessing indexfiles and stuff like that. I hope it's allmost ready. Maybe he has an anouncement in the mail I've still to read yet. > display your tests, sample code, stupid demos, game ideas ANYTHING. > We need more cool apps. If something is ready I'll certainly put some code on the mailer. > I've been way busy working at a job site lately, so the lesson is late. > I'm sorry for the delay. I expect it to be up late saturday night. He, get some sleep man...... > I'm hoping to get some serious updates made to OidZone this weekend. All > features should be in in one form or another by monday or tuesday. If > everyone who downloaded the alpha would send me some feedback, > comments, > or wishlists it would be a real help. I want it to be killer. Again, the same. > by the way, would someone be so kind as to e-mail me a patched ed.ex with > a good file selector? I'd rather spend my very limited programming time > getting OidZone ready for beta testing, than patching and debugging ed. > I'd probably screw it up. Marcel Kollenaar M.Kollenaar at slo.nl
6. Re: What are you people doing with Euphoria?
- Posted by David Gay <moggie at INTERLOG.COM> Oct 14, 1996
- 2323 views
>I can tell you that I'm interested in databases. So likely I spend >my time on making access modules for indexfiles and databases. Now >I'm waiting for some code David Gay is making for accessing >indexfiles and stuff like that. I hope it's allmost ready. Maybe he >has an anouncement in the mail I've still to read yet. It's ready :) With create_index() you can create an index file based on *ANY* defined sort field in the associated main file. This means you can access the main file (using the index file in association) in any sorting sequence. With fetch_data() you can link the index file to the main file and retrieve the information based on a partial or full search key. It's a little rugged but it works. I had the person who I originally wrote it for try it out. He likes it but wants to see more features when he thinks of some for his application. I encourage you to go to the "A Beginner's Guide To Euphoria" home page and download it. It's in a file called INDEX_DB.ZIP. Please send any bug reports or enhancement ideas to my mailbox. :) I'm already thinking of ways to clean it up and enhance it, but I got my nose in Michael's very fascinating games tutorial, getting tips to better approach Stellar Diplomacy. Thanks David Gay "A Beginner's Guide To Euphoria" http://www.interlog.com/~moggie/euphoria.htm
7. Re: What are you people doing with Euphoria?
- Posted by Adriaan Rienks <106075.266 at COMPUSERVE.COM> Oct 14, 1996
- 2345 views
Hello Marcel and others, You wrote: >I can tell you that I'm interested in databases. So likely I spend >my time on making access modules for indexfiles and databases >If something is ready I'll certainly put some code on the mailer. I'm also interested in databases, especially related databases. I'm trying to write a program for keeping the stock in a shop, retrieving, updating etc. I hope you understand what I mean. But I have a quite busy job in the daytime, so I also am faced with the problem that I don't have as much time to spend on it as I would like to. Although I haven't yet looked at it, I think I can also benefit from David Gay's indexing example and the 'menuing', which comes from Fred Cole, I believe. But maybe we can exchange include files, ideas and help each other with our programs, even if they are not really finished. OK? Hope to hear from you soon. Ad Rienks Havikstraat 33 3362 EG Sliedrecht Netherlands tel. +31 (0)184-420503 Email 106075,266 at compuserve.com