1. What are you people doing with Euphoria?

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

new topic     » topic index » view message » categorize

2. Re: What are you people doing with Euphoria?

--=====================_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 smile ).
>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==_--

new topic     » goto parent     » topic index » view message » categorize

3. Re: What are you people doing with Euphoria?

--------------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--

new topic     » goto parent     » topic index » view message » categorize

4. Re: What are you people doing with Euphoria?

--------------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--

new topic     » goto parent     » topic index » view message » categorize

5. Re: What are you people doing with Euphoria?

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

new topic     » goto parent     » topic index » view message » categorize

6. Re: What are you people doing with Euphoria?

>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

new topic     » goto parent     » topic index » view message » categorize

7. Re: What are you people doing with Euphoria?

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

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu