1. help with include files

Please HELP!!!!!

Although I have been lurking around the Euphoria List Server for
awhile.  I have just begin to program with EUPHORIA, and loving
it.

What I am trying to do now is to modify a program to use a certain
include file based on the value of a global sequence which may be
changed by the user while running the program.

What I tried is this:

    if compare(THISSEQ, "INCA") = 0 then
       include a.e
    elsif compare(THISSEQ,"INCB") = 0 then
       include b.e
    end if

The results is that Euphoria expects "end" not "include".

I would like to include A.E if THISSEQ = "INCA" or
include B.E if  THISSEQ = "INCB".

Any suggestions on HOW to accomplish this?

TIA (Thanks In Advance)

Later:

+ + +  Rev. Ferlin Scarborough - Centreville, Alabama.  U.S.A.

new topic     » topic index » view message » categorize

2. Re: help with include files

At 05:46 PM 5/19/98 -0500, Ferlin Scarborough wrote:

>What I tried is this:
>
>    if compare(THISSEQ, "INCA") = 0 then
>       include a.e
>    elsif compare(THISSEQ,"INCB") = 0 then
>       include b.e
>    end if
>
>The results is that Euphoria expects "end" not "include".
>
>I would like to include A.E if THISSEQ = "INCA" or
>include B.E if  THISSEQ = "INCB".
>
>Any suggestions on HOW to accomplish this?
>

You can't do that.
If you are trying to execute different programs based on
user input, you could write the user prefs to a file, then
load your program based on the file contents. (a "setup"
program, for example, to select different graphic modes)
Your setup program would write a file named, for instance:
*include.all*, consisting of the includes you need:
include a
include c
...etc
and a line in your main program says: include all.

If you are trying to include different routines based on
some condition that happens or changes during the
program run (say, some value is computed or entered)
it's too late.

Irv

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

3. Re: help with include files

Irv's reply to Ferlin regarding dynamic selection of an
include file was essentially correct. However consider
the following "trick":

-- ...set THISSEQ,  perhaps from user input...

if compare(THISSEQ, "INCA") = 0 then
       system("copy a.e temp.e", 2)
elsif compare(THISSEQ,"INCB") = 0 then
       system("copy b.e temp.e", 2)
end if

include temp.e


This won't work if you bind or shroud your program,
but will work if you run it the normal way with ex/exw.

Regards,
     Rob Craig
     Rapid Deployment Software

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

4. Re: help with include files

The Rev. Ferlin Scarborough wrote:

>What I am trying to do now is to modify a program to use a certain
>include file based on the value of a global sequence which may be
>changed by the user while running the program.

In addition to Robert's suggestion, you could also try my pre-processor
(PP). Among the many features in it is a "conditional compilation" directive
#if ... #else ... #end if. PP takes files ending with .p and .pp as
extensions, and creates .e and .ex files. You can include code or include
comments within these directives.

You can find PP in the Euphoria Archive, at
http://members.aol.com/FilesEu/exestuff.htm.

-- David Cuny

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

5. Re: help with include files

>What I am trying to do now is to modify a program to use a certain
>include file based on the value of a global sequence which may be
>changed by the user while running the program.
>
>What I tried is this:
>
>    if compare(THISSEQ, "INCA") = 0 then
>       include a.e
>    elsif compare(THISSEQ,"INCB") = 0 then
>       include b.e
>    end if
>
>The results is that Euphoria expects "end" not "include".


Unfortunatly Euphoria doesn't provides conditional include :(
That's a feature that would be quite useful for example to have a program to
run either under DOS32 or WIN32, autodetecting it's enviorment and
dinamically loading the appropiate routines. There's still a problem with
the interpreter (ex.exe or exw.exe), but before that we need conditional
inclusion.

Anyway I think you may be able to simulate the effect using the function
routine_id(). It's complex and difficult to maintain. Personally I have
never used routine_id (except for some experimetal WIN32 tasks).

Regards,
    Daniel Berstein
    daber at pair.com

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

Search



Quick Links

User menu

Not signed in.

Misc Menu