BBS: Inland Empire Archive Date: 06-10-92 (19:47) Number: 167 From: MATT HART Refer#: NONE To: JEFFERY FOY Recvd: NO Subj: Porting Question & Info Conf: (2) Quik_Bas
>MH>I was wrong on one account - you can use Conference as both a
JF> TYPE definition
JF> Could you illustrate that with code?
You can do this:
TYPE Conference
Anything AS STRING * 10
END TYPE
REDIM Conference(1 TO 6550) AS Conference
But I usually do this:
v-----< I add the suffix name "Type"
TYPE ConferenceType
...
END TYPE
REDIM Conference(1 TO 6550 AS ConferenceType
Don't ask me why - it is no big deal to do it either way.
JF> What about "$" as the first character? Would that work?
Nope - it MUST be a letter. THEN you can use a number or a
period. The $ has a specific meaning in BASIC. Remember,
with BASIC, there is ALWAYS a default variable type, single
precision. You can change this default with the DEF??? A-Z
(DEFINT A-Z for integer, DEFLNG A-Z for long integer,
etc...). The $ is reserved as a suffix to indicate a
string type variable. In BASIC, the following are all
different:
A% Integer
A& Long Integer
A! Single Precision
A# Double Precision
A$ Variable length string
A@ Currency (if you have PDS)
You can have variables like:
ABC.123%
DDD.456.ABC$
Of course, good programmers use descriptive variables.
JF> I figured that one out. (Remember, I DO know C/C++ already) :)
There are really only a few difference in programming in C
and modern BASIC. You have no procedural brackets or line
ending characters or anything like that in BASIC.
Procedural and conditional statements are indicated by
keywords. A block IF condition in C must have brackets,
but in BASIC, you just type in the commands in a block
structure, and that is the way it will come out.
if (a==b)
{
dostuff;
domorestuff;
}
else
differentstuff;
IF a = b THEN
CALL dostuff
CALL domorestuff
ELSE
CALL differentstuff
ENDIF
The keywords THEN and ENDIF are substitued for the cryptic
{ and ;. I think that "THEN" says more than "{", and
"ENDIF" says more than ";".
Also, BASIC distinguishes procedures from variables.
Either a CALL is made to a procedure that would be a VOID
in C, and a declaration as a function is made at the top of
the program, just as it is in C, for a procedure that
returns a value. Any BASIC procedure that returns a value
MUST be assigned to a reciever. In C, you can stick an
integer procedure on a line by itself, and it's value will
be sent into the bit bucket. The BASIC compiler won't
allow this, the function must be assigned.
int procedure;
main()
{
procedure;
}
DECLARE FUNCTION Procedure%()
Procedure% <<< Can't do this, it must be assigned
Dummy% = Procedure%
---
* Origin: Midnight Micro! V.32/REL (918)451-3306 (1:170/600)

Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET