Re: Coming From QBasic
Lynn Kilroy wrote:
>
> My biggest curiousity is how do I get it to use subs in Included files?
> I type the include file line. It accepts that fine. Then I try to get
> it to do the screen mode thing, and that it doesn't seem to do so well.
> Also, if it's a one-line sub, perhaps I can just plug the line in to my
> code without the rest of the sub? One line subs only make sense to me
> if they are a sub that's called often and by many different routines,
> and I want it to look purdy instead of using the languages default
> command synstax. An example from QBasic is my Inkey routine. It's call
> is purdy simple:
>
> > Inkey a
>
> -where a is the name of a string variable.
\
integer a
a=wait_key()
>
> I use Inkey as a subroutine because I think a = INKEY$ is purdy ugly, so
> I stuck the command in a subroutine so in my program, I need only a =
> INKEY$ once. The rest of the time, it's Inkey a.
--start of sub
function get_keystroke()--I made this up it's not a Euphoria sub
integer a
while 1=1 do
a=wait_key
if a then
return a
end if
end while
end function
--end of sub
--start program--
integer b
b=get_keystroke()-- your sub or function that you just wrote
puts(1,b)
b=wait_key()--stops program so you can read it
--end program
by the way
-- is the same as rem
>
> This demonstrates some of my confusion, actually, and from whence it
> stemms. Euphoria was defined as an easy language to use. Defined as
> even easier to use than QBasic, it seemed to imply. I figured then it
> should be pretty easy to begin playing with it. But there seems to be a
> few things it's conspicuously missing.
>
> In the instance above, a subroutine is defined by a DECLARE SUB
> statement, with variables to pass to it defined after.
>
> > DECLARE SUB Inkey (a AS STRING)
>
> The sub is delineated by SUB ... END SUB.
>
> > SUB Inkey (a AS STRING)
> >
> > a = INKEY$
> >
> > END SUB
>
> The subroutine name then becomes a KEYWORD.
>
> > DIM a AS STRING
> >
> > WHILE a <> CHR$(27)
> >
> > Inkey a
> >
> > WEND
>
While 1=1 do
a=wait_key()
if a=27 then
puts(1,"goodby")
exit
end if
end while
a=wait_key--just to stop so you can read 'goodby'
> This is pretty simple. Now how do I do this in Euphoria?
>
> Speaking of Screen Modes, one of my programs uses a Screen Mode about
> which I can find no information in Euphoria Documentation available to
> me. I use the QBASIC command
>
> > WIDTH 80, 50
>
> to obtain this screen mode. It is a text only mode, 80 columns by 50
> rows. I would use 80 x 60, but ... That's a graphical screen mode,
> called by the combination
>
> > SCREEN 12
> > WIDTH 80, 60
>
> and tends to be a bit slow. Not that it matters, it's a smaller
> program.
>
> As I've not gotten the program to do any of these things yet, I've note
> reached any of the other parts that I'm curious about. I have looked
> through the code, and wondered about things like PUT and GET for
> graphics. I have mine own versions of these, but they require special
> files that I have to be able to write a program to write. They work
> well with 16 colors, but more than that, they're pretty much useless, as
> they don't compress files too well with more than sixteen colors. I've
> some theories how to expand it's abilities, but really have no need to
> use them {my graphics tend to stop at 16 colors, usually fewer, if I use
> them at all}.
>
> Basically, what I'm looking for is something with the flexibility and
> ease of use of QBasic but for more modern programming environments.
> Euphoria looks like it might be able to fill the bill, but first, I have
> to understand the very basic differences between it and QB. I don't
> mean the technical stuff like variable groups and nests and stuff {all
> that's kind of neat, though, and part of my attraction to the language},
> but the basic syntax and use of the language, and perhaps help in
> handling graphics with the simplicity of QB, but without all the buggery
> errors.
>
> Another thing ... I have a QB Compiler. From what I saw in the
> documentations, there is no Euphoria Compiler. This is something of a
> drawback to me. I can purchase a Euphoria binder program, I can even
> purchase a Euphoria to C translater. But no Euphoria direct to
> Executable Compiler. I imagine this is not a problem with Linux, but
> with Windows, it becomes a problem that is really quite large. From
> what I can see, there are no free c compilers for Windows. This means
> that no matter the cost of the binder and translator, the overall cost
> of Euphoria for the programmer is still prohibitively expensive. Sure,
> QB is old, and yes, it's very limited. But at least I can distribute my
> QBasic Programs in such a format that people don't have to download a QB
> interpreter to use them, or, worse, purchase a $500.00 program in order
> to compile it and use it. Nor do I have to risk the uncredited theft my
> source code {which I make available under GPL, but still, the compiled
> version preserves my status as original author on the original code}.
>
> Love & Friendship & Blessed Be!
> Lynn Erika Kilroy
>
>
Don Cole
A Bug is an un-documented feature.
A Feature is a documented Bug.
|
Not Categorized, Please Help
|
|