Re: Coming From QBasic

new topic     » goto parent     » topic index » view thread      » older message » newer message

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.

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu