473,489 Members | 2,473 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Converting from an ancient BASIC to new database

(Hope I'm posting this correctly, otherwise - sorry!, don't know what else
to do)
I wrote a set of programs "many" years ago, running in a type of basic,
called "Thoroughbred Basic", a type of business basic. I need to re-write
it, bring it kicking and screaming to run on Windows XP. This is for a
video rental place, tracks movie and game rentals, customers, employee
transactions, reservations, does reports,..... and on.
I know some of Visual Basic - I now write VB scripts for work. Can anyone
help with suggestions, as to converting this to a new language? What may be
easiest for me? And, what type of database engine would be best? SQL,
Access, flat files, I don't know enough.
This does NOT run under Windows, Linux, or any "new" OS - but I can export
all the files, and programs to DOS. They currently are running on 20-30 286
or 386 computers - not a misprint - OLD! Not networked, not neccessary.
The data files it uses are called "Direct" and "Sort". I have about 90
programs, a few are overlays, most are stand-alone, 25-30 are just for
reporting purposes. It can stay character based - no need for fancy screens
or pix.

Here is a sample:
0010 REM "RENTAL/MEMBERSHIP SYSTEM TOP HALF AND SUBMENU"
0020 REM "PROGRAM VID-AA"
0030 REM 06/07/99
0050 BEGIN
0060 PRECISION 2
0070 SETERR 09000
0080 DIM B$(80,"-"),B1$(80,"_"),B2$(80,"<"),S$(80," ");
IF FID(0)="T0" THEN
DIM B2$(80,CHR(205))
0090 DEF FNA$(X$)=X$(1,2)+"/"+X$(3,2)+"/"+X$(5,2)
0100 DEF FNC$(X$)=X$(3,2)+"/"+X$(5,2)+"/"+X$(1,2)
0110 DEF FND$(X$)="("+X$(1,3)+") "+X$(4,3)+"-"+X$(7,4)
0120 DEF FNE$(X$)=X$(1,2)+X$(4,2)+X$(7,2)
0130 DEF FNF$(X$)=X$(5,2)+X$(1,4)
0140 DEF FNZ$(X$)=X$(1,POS(" "=X$+" ")-1)
0150 OPEN (6) "CONTRO"
0160 READ (6,KEY="001") *,N1$,*,A0$,A1$,A2$
0170 READ (6,KEY="TODAY") Z9$,Z8$
0180 LET E1$="";
READ (6,KEY="RENT"+FID(0),DOM=00200) E1$,T
0190 REMOVE (6,KEY="RENT"+FID(0)) ;
IF T<>TIM THEN
LET E1$=""
0200 IOLIST
M0$(1,250),M(0),M(1),M(2),M(3),M(4),M(5),M(6),M(7) ,M(8),M(9),M
(10),M(11),M(12),M(13),M(14),M(15),M(16)

0210 REM "OPEN FILES"

0220 OPEN (1) "VID01"
0230 OPEN (2) "VIDST"
0240 OPEN (3) "VIN01"
0250 OPEN (4) "PHONEY"
0260 OPEN (5) "VIV02"
0270 OPEN (8) "IDSRT"
0280 OPEN (9) "VIN02"
0290 OPEN (10) "VIN03"
0300 OPEN (11) "RSVST"
0310 OPEN (12) "VINST"
0320 OPEN (14) "VIN04"

0330 REM "PAINT SCREEN"

0340 LET N3$=FNZ$(N1$)+" - MEMBERSHIP SYSTEM"
0350 LET Y$=FNF$(FNE$(Z9$)),Y=NUM(Y$(3,2))-6
0360 IF Y<1 THEN
LET
Y$(1,2)=STR(NUM(Y$(1,2))-1:"00"),Y$(3,2)=STR(NUM(Y$(3,2))+6:"0
0")
ELSE
LET Y$(3,2)=STR(Y:"00")
0370 PRINT
'CS','SB',@(36-INT(LEN(N3$)/2),0),N3$,'BG',@(0,1),B2$,'EG','SF'

0380 PRINT 'SB',@(0,2),"NUMBER",@(15,2),"LAST NAME",@(50,2),"INVOICE
#",@(
0,3),"COMMENTS",@(65,3),"LAST
TIME",@(56,4),"HARDWARE",@(0,4),"
NAME",@(35,4),"DL#",@(42,5),"VCR
OWNER?",@(55,5),"MAILING?",@(6
6,5),"TYPE",@(0,5),"ADDRESS",@(0,6),"ADDRESS",@(42 ,6),"JOINED",
@(58,6),"LAST ACTIVITY",@(0,7),"ZIP",@(18,7),"CARRIER
ROUTE",@(
42,7),"MTD",@(51,7),"YTD",@(61,7),"HOLD",@(0,8),"P HONE
HM",@(24
,8),"WK",@(42,8),"#LT",@(50,8),"#FREE",@(60,8),"#M P",@(0,10),"T
OT
$$",@(16,10),"IG",@(25,10),"IM",@(34,10),"IU",@(43 ,10),"IV",
@(52,10),"IX",@(62,10),"UNPAID
FEE",'BG',@(0,9),B2$,@(0,11),B2$
,'EG','SF'

0390 REM "IOLISTS"

0400 IOLIST
'LD','LD','LD','LD','LD','LD','LD','LD','LD','LD', 'LD','LD','L
D','LD'

0410 REM "EXTRA SETUP"

0420 LET M5$="##0",M6$="####.00-",M7$="###.00-"
0430 READ (6,KEY="DUEDATE") D1$;
LET D4$=D1$,D2$=D1$
0440 READ (6,KEY="STORENUM",DOM=00441) R8
0450 DIM Z5$(36);
READ (6,KEY="DZIP",DOM=00451) Z5$(1,9)
0460 READ (6,KEY="DACODE",DOM=00461) Z5$(10,3)
0470 READ (6,KEY="DAADDR",DOM=00471) Z5$(13,24)
0480 LET D5$=S$(1,6);
READ (6,KEY="HANDOUT",DOM=00490) D5$,D6$

0490 REM "SOLICIT MEMBER NUMBER"

0500 IF E1$<>"" THEN
LET E0$=E1$(1,3);
IF E1$(1,3)<>S$(1,3) THEN
GOTO 00520

0510 GOSUB 02430;
IF E0$="" THEN
GOTO 00010

0520 PRINT @(7,2),B1$(1,6);
IF E1$<>"" THEN
PRINT @(7,2),'SB',E1$(4,6),'SF'
0530 DIM M0$(250),M(16);
LET M0$(222,1)=STR(R8:"0"),M0$(147,6)=FNE$(Z9$)
0540 LET G$="**",M0$(210,3)=E0$(1,3)
0550 PRINT @(0,23),"F1=I.D. NUMBER",@(0,22),"ENTER MEMBER #, CR=LAST
NAME,
F2=PHONE SEARCH, F3=NEXT NEW CUSTOMER #, F4=END",;
INPUT (0,ERR=00550) @(7,2),Q$,@(0,23),'CL',@(0,22),'CL',
0560 IF CTL=1 THEN
GOTO 01240
0570 IF CTL=2 THEN
GOTO 01360

0580 LET X=NUM(Q$,ERR=00590);
IF LEN(Q$)=7 OR LEN(Q$)=10 THEN
LET G$=Q$;
GOTO 01370
0590 IF Q$="T" THEN
READ (6,KEY="TEMPNUM",DOM=00600) P5;
LET P5=P5+1,Q1$=STR(P5:"T00000");
READ (1,KEY=Q1$,DOM=00690) ;
WRITE (6,KEY="TEMPNUM") P5;
GOTO 00590
0600 IF Q$="END" OR CTL=4 THEN
GOTO 09110
0610 IF CTL=3 THEN
READ (6,KEY="NXTCUS",DOM=00620) P5;
LET P5=P5+1,Q$=STR(P5:"#####0");
WRITE (6,KEY="NXTCUS") P5;
READ (1,KEY=Q$,DOM=00680) ;
GOTO 00610
0620 IF Q$="" AND E1$<>"" THEN
LET Q$=E1$(4,6);
GOTO 00710
0630 IF Q$="" THEN
PRINT @(7,2),S$(1,6);
GOTO 01070

0640 FOR I=1 TO LEN(Q$)
0650 IF POS(Q$(I,1)<"!")<>0 OR POS(Q$(I,1)>"z")<>0 THEN
EXITTO 00540

0660 NEXT I
0670 IF LEN(Q$)>6 THEN
GOTO 00550

0680 LET Q$=S$(1,6-LEN(Q$))+Q$
0690 IF Q$="T" THEN
LET Q$=Q1$
0700 PRINT @(7,2),Q$
0710 LET M0$(1,6)=Q$
0720 READ (1,KEY=M0$(1,6),DOM=01490) IOL=00200
0730 GOSUB 00740;
GOTO 00850
0740 IF M0$(238,1)=" " THEN
LET X7$=S$(1,7)
ELSE
LET X7$="*NOF*";
CLOSE (7) ;
OPEN (7) "MEMTY";
READ (7,KEY=M0$(238,1),DOM=00750) X7$;
LET X7$=X7$(2)
0750 LET X7$=X7$+S$(1,10)
0760 IF M0$(153,1)=" " THEN
LET X8$=S$(1,11)
ELSE
LET X8$="NOT ON FILE";
CLOSE (7) ;
OPEN (7) "VSYH";
READ (7,KEY=M0$(153,1),DOM=00770) X8$;
LET X8$=X8$(2)
0770 LET X5$=S$(1,14);
IF M0$(112,10)<>S$(1,10) THEN
LET X5$=FND$(M0$(112,10))
0780 LET X6$=S$(1,14);
IF M0$(122,10)<>S$(1,10) THEN
LET X6$=FND$(M0$(122,10))
0790 IF M0$(215,6)=S$(1,6) THEN
LET X3$="NONE"
ELSE
LET X3$=FNA$(M0$(215,6))
Jun 11 '07 #1
28 3536
On Thu, 7 Jun 2007 16:28:24 -0500, "Randy Reimers"
<rr**********@hotmail.comwrote:
(Hope I'm posting this correctly, otherwise - sorry!, don't know what else
to do)
I wrote a set of programs "many" years ago, running in a type of basic,
called "Thoroughbred Basic", a type of business basic. I need to re-write
I think that "Thoroughbred Basic" is still around, and they probably
have a windows version. Google found:
http://www.thoroughbredsoftware.com/...et/pbasic.html
--
ArarghMail706 at [drop the 'http://www.' from ->] http://www.arargh.com
BCET Basic Compiler Page: http://www.arargh.com/basic/index.html

To reply by email, remove the extra stuff from the reply address.
Jun 11 '07 #2
Randy Reimers wrote:
(Hope I'm posting this correctly, otherwise - sorry!, don't know
what else to do)
I wrote a set of programs "many" years ago, running in a type of
basic, called "Thoroughbred Basic", a type of business basic. I need to
re-write it, bring it kicking and screaming to run on Windows XP. This is
for
a video rental place, tracks movie and game rentals, customers, employee
transactions, reservations, does reports,..... and on.
I know some of Visual Basic - I now write VB scripts for work. Can
anyone help with suggestions, as to converting this to a new
language? What may be easiest for me? And, what type of database
engine would be best? SQL, Access, flat files, I don't know enough.
This does NOT run under Windows, Linux, or any "new" OS - but I can
export all the files, and programs to DOS. They currently are
running on 20-30 286 or 386 computers - not a misprint - OLD! Not
networked, not neccessary.
For what its worth, my approach would be: -

Database first - MS Access. As they are stand alone, SQL Server or others
like that (Sybase, Oracle) are overkill. The other options include stuff
like dBase, but Access is reasonably common and easy to use, which will make
it easier for administration - you should be able to get some people at
remote sites who can use it if needed.

Front end - VB6 with DAO access. Again - for ease of use and upgrading of
existing code. Note that this does not nessesarily mean that this is the
best option for all, but you have existing basic code and a lot should
upgrade. In terms of your
The data files it uses are called "Direct" and "Sort". I have about
90 programs, a few are overlays, most are stand-alone, 25-30 are just
for reporting purposes. It can stay character based - no need for
fancy screens or pix.
If you use VB, then you should make it screen based rather that character
based, it is pretty easy and much better for maintenance purposes.

--
Regards,

Michael Cole
Jun 12 '07 #3
On Jun 11, 8:16 pm, "Michael Cole" <n...@microsoft.com.auwrote:
Randy Reimers wrote:
(Hope I'm posting this correctly, otherwise - sorry!, don't know
what else to do)
I wrote a set of programs "many" years ago, running in a type of
basic, called "Thoroughbred Basic", a type of business basic. I need to
re-write it, bring it kicking and screaming to run on Windows XP. This is
for
a video rental place, tracks movie and game rentals, customers, employee
transactions, reservations, does reports,..... and on.
I know some of Visual Basic - I now write VB scripts for work. Can
anyone help with suggestions, as to converting this to a new
language? What may be easiest for me? And, what type of database
engine would be best? SQL, Access, flat files, I don't know enough.
This does NOT run under Windows, Linux, or any "new" OS - but I can
export all the files, and programs to DOS. They currently are
running on 20-30 286 or 386 computers - not a misprint - OLD! Not
networked, not neccessary.

For what its worth, my approach would be: -

Database first - MS Access. As they are stand alone, SQL Server or others
like that (Sybase, Oracle) are overkill. The other options include stuff
like dBase, but Access is reasonably common and easy to use, which will make
it easier for administration - you should be able to get some people at
remote sites who can use it if needed.

Front end - VB6 with DAO access. Again - for ease of use and upgrading of
existing code. Note that this does not nessesarily mean that this is the
best option for all, but you have existing basic code and a lot should
upgrade. In terms of your
The data files it uses are called "Direct" and "Sort". I have about
90 programs, a few are overlays, most are stand-alone, 25-30 are just
for reporting purposes. It can stay character based - no need for
fancy screens or pix.

If you use VB, then you should make it screen based rather that character
based, it is pretty easy and much better for maintenance purposes.

--
Regards,

Michael Cole
Database first - MS Access. As they are stand alone, SQL Server or others
like that (Sybase, Oracle) are overkill. The other options include stuff
like dBase, but Access is reasonably common and easy to use, which will make
it easier for administration - you should be able to get some people at
remote sites who can use it if needed.
I might be tempted to use Sql Server 2005 Express if the user's don't
already have Access to save them on costs (20-30 computes times $300
for a license of Office - ouch!). I believe you could use the free
Express edition in that environment, but you should definitely check
it out first.
Front end - VB6 with DAO access. Again - for ease of use and upgrading of
existing code
Again I agree - VB6 would leverage your current skills much better
than VB.Net (no I'm not trying to start a cross-language fight here).
However if you go the Sql Server route you would need to use OLEDB or
OBDC for connecting to Sql Server. Though if you don't have VB6 you
could upgrade to .Net and take advantage of the one of the free ide's
(VB Express, SharpDevolope, etc) and save yourself some cash.

Thanks,

Seth Rowe

Jun 12 '07 #4

"rowe_newsgroups" <ro********@yahoo.comwrote in message
news:11*********************@q19g2000prn.googlegro ups.com...
On Jun 11, 8:16 pm, "Michael Cole" <n...@microsoft.com.auwrote:
>Randy Reimers wrote:
(Hope I'm posting this correctly, otherwise - sorry!, don't know
what else to do)
I wrote a set of programs "many" years ago, running in a type of
basic, called "Thoroughbred Basic", a type of business basic. I need
to
re-write it, bring it kicking and screaming to run on Windows XP. This
is
for
a video rental place, tracks movie and game rentals, customers,
employee
transactions, reservations, does reports,..... and on.
I know some of Visual Basic - I now write VB scripts for work. Can
anyone help with suggestions, as to converting this to a new
language? What may be easiest for me? And, what type of database
engine would be best? SQL, Access, flat files, I don't know enough.
This does NOT run under Windows, Linux, or any "new" OS - but I can
export all the files, and programs to DOS. They currently are
running on 20-30 286 or 386 computers - not a misprint - OLD! Not
networked, not neccessary.

For what its worth, my approach would be: -

Database first - MS Access. As they are stand alone, SQL Server or
others
like that (Sybase, Oracle) are overkill. The other options include stuff
like dBase, but Access is reasonably common and easy to use, which will
make
it easier for administration - you should be able to get some people at
remote sites who can use it if needed.

Front end - VB6 with DAO access. Again - for ease of use and upgrading
of
existing code. Note that this does not nessesarily mean that this is the
best option for all, but you have existing basic code and a lot should
upgrade. In terms of your
The data files it uses are called "Direct" and "Sort". I have about
90 programs, a few are overlays, most are stand-alone, 25-30 are just
for reporting purposes. It can stay character based - no need for
fancy screens or pix.

If you use VB, then you should make it screen based rather that character
based, it is pretty easy and much better for maintenance purposes.

--
Regards,

Michael Cole

>Database first - MS Access. As they are stand alone, SQL Server or
others
like that (Sybase, Oracle) are overkill. The other options include stuff
like dBase, but Access is reasonably common and easy to use, which will
make
it easier for administration - you should be able to get some people at
remote sites who can use it if needed.

I might be tempted to use Sql Server 2005 Express if the user's don't
already have Access to save them on costs (20-30 computes times $300
for a license of Office - ouch!). I believe you could use the free
Express edition in that environment, but you should definitely check
it out first.

If using VB6 FE or .NET FE, you do not need to buy MS Access for each
computer, no MS Access installation is required at all in this case. You may
need buy one for develping purpose, though. One the other hand, a small app
in the scope described in OP, MS Access could be the right tool, in spite of
the cost of $300 on each user computer, it save a huge amount of development
time, if you really know how to do MS Access.

>
>Front end - VB6 with DAO access. Again - for ease of use and upgrading
of
existing code

Again I agree - VB6 would leverage your current skills much better
than VB.Net (no I'm not trying to start a cross-language fight here).
However if you go the Sql Server route you would need to use OLEDB or
OBDC for connecting to Sql Server. Though if you don't have VB6 you
could upgrade to .Net and take advantage of the one of the free ide's
(VB Express, SharpDevolope, etc) and save yourself some cash.

Thanks,

Seth Rowe

Jun 12 '07 #5
Randy,

You do not have to convert to VB or any other Microsoft derivative to
achieve the results you want, and you can do so much less expensively,
both in terms of time and money, than walking down the Microsoft path.

The code you posted can be interpreted correctly by current versions
of Thoroughbred Basic (www.thoroughbredsoftware.com), VPRO/5
(www.basis.com), and ProvideX (www.pvx.com), with little or no change
to the listings.

All three have reasonably inexpensive single-user versions that run
under Windows XP. In addition, all three offer resources within
their basic interpreters that can adapt your code to the GUI
environment.

Best regards,

Michael Eisen
Jun 12 '07 #6
me****@compuserve.com wrote:
Randy,

You do not have to convert to VB or any other Microsoft derivative to
achieve the results you want, and you can do so much less expensively,
both in terms of time and money, than walking down the Microsoft path.

The code you posted can be interpreted correctly by current versions
of Thoroughbred Basic (www.thoroughbredsoftware.com), VPRO/5
(www.basis.com), and ProvideX (www.pvx.com), with little or no change
to the listings.

All three have reasonably inexpensive single-user versions that run
under Windows XP. In addition, all three offer resources within
their basic interpreters that can adapt your code to the GUI
environment.

Best regards,

Michael Eisen

Good for you. I would also add that if the system grows large enough to
be a management problem MYSQL is an excellent alternative to M$ SQL,
SybaseSQL, etc. For an Access competitor the database in Open Office is
a front runner. All are members of the GPL and all are cross platform
OS transparent running on versions of Linux, Unix, Solaris, M$Winx, and
some on MacOS10.

James
Jun 17 '07 #7
Thank you all for the information. Problem is, cost - each one wants about
$200 PER computer for the runtime license (needed per computer). This is a
small Mom&Pop operation that I am trying to help, the cost becomes
prohibitive, when they also have to purchase the newer/new computers. I'm
still no closer to a "reasonable" answer for them. So it goes - but
thanks - at least I know more now.

Randy
"James" <JT@9b01.comwrote in message news:46**************@9b01.com...
me****@compuserve.com wrote:
>Randy,

You do not have to convert to VB or any other Microsoft derivative to
achieve the results you want, and you can do so much less expensively,
both in terms of time and money, than walking down the Microsoft path.

The code you posted can be interpreted correctly by current versions
of Thoroughbred Basic (www.thoroughbredsoftware.com), VPRO/5
(www.basis.com), and ProvideX (www.pvx.com), with little or no change
to the listings.

All three have reasonably inexpensive single-user versions that run
under Windows XP. In addition, all three offer resources within
their basic interpreters that can adapt your code to the GUI
environment.

Best regards,

Michael Eisen

Good for you. I would also add that if the system grows large enough to
be a management problem MYSQL is an excellent alternative to M$ SQL,
SybaseSQL, etc. For an Access competitor the database in Open Office is a
front runner. All are members of the GPL and all are cross platform OS
transparent running on versions of Linux, Unix, Solaris, M$Winx, and some
on MacOS10.

James

Jun 20 '07 #8
On Thu, 7 Jun 2007 16:28:24 -0500, "Randy Reimers"
<rr**********@hotmail.comwrote:
I wrote a set of programs "many" years ago, running in a type of basic,
called "Thoroughbred Basic", a type of business basic. I need to re-write
it, bring it kicking and screaming to run on Windows XP.
My 2 cents:
- You have an application, fully running in Basic
- You have knowledge about the internal operations (as you once
wrote the program)
- You / your client wants minimal costs.

So:
Convert the program to some current Basic, e.g. PowerBasic.
If the database runs just fine on an antique computer, don't
waste resources writing a new database layer or adapting the
program to a 'market standard' database (like MySQL or Access).

All you need is a single licence to e.g.
www.powerbasic.com/products/pbcc/ at US$ 169

--
Kind regards,
Gerard Bok
Jun 21 '07 #9
Randy Reimers wrote:
Thank you all for the information. Problem is, cost - each one wants about
$200 PER computer for the runtime license (needed per computer). This is a
small Mom&Pop operation that I am trying to help, the cost becomes
prohibitive, when they also have to purchase the newer/new computers. I'm
still no closer to a "reasonable" answer for them. So it goes - but
thanks - at least I know more now.

Randy
"James" <JT@9b01.comwrote in message news:46**************@9b01.com...
>me****@compuserve.com wrote:
>>Randy,

You do not have to convert to VB or any other Microsoft derivative to
achieve the results you want, and you can do so much less expensively,
both in terms of time and money, than walking down the Microsoft path.

The code you posted can be interpreted correctly by current versions
of Thoroughbred Basic (www.thoroughbredsoftware.com), VPRO/5
(www.basis.com), and ProvideX (www.pvx.com), with little or no change
to the listings.

All three have reasonably inexpensive single-user versions that run
under Windows XP. In addition, all three offer resources within
their basic interpreters that can adapt your code to the GUI
environment.

Best regards,

Michael Eisen

Good for you. I would also add that if the system grows large enough to
be a management problem MYSQL is an excellent alternative to M$ SQL,
SybaseSQL, etc. For an Access competitor the database in Open Office is a
front runner. All are members of the GPL and all are cross platform OS
transparent running on versions of Linux, Unix, Solaris, M$Winx, and some
on MacOS10.

James

A later post suggests using a standard basic to run your system & I
agree, to a point. If your program used any of the machine specific
calls, embedded assembly language, etc. it may not be as easy as it
first appears. I had a "basic" language database in the early 80's that
handled over 20,000 customers & over 20,000 items with bar code for UPC
& code 39, etc. Time to the door was under 30 seconds for rental,
purchase or a mix. To "convert" that code to one of the currently
available basic languages would be no small task. I have been looking
into it. On the other hand the database with open office is free and is
compatible with access & Mysql, the GPL version, is also free. All
depend on the complexity of your code, how much time is available, and
what the future needs of the client may be. Open Office is available at
www.openoffice.org & Mysql, the GPL version, is available at
http://dev.mysql.com/downloads/maxdb/7.5.00.html. In its day my code
outperformed the code written for one of the chains on their
mini-computer but was, of course, not multi-user though with a few
tweaks could have been. Look at your options. Most were not available
just a few years ago.

James
Jun 22 '07 #10
On Fri, 22 Jun 2007 13:34:49 -0700, James <JT@9b01.comwrote:

<snip>
>A later post suggests using a standard basic to run your system & I
agree, to a point. If your program used any of the machine specific
calls, embedded assembly language, etc. it may not be as easy as it
first appears. I had a "basic" language database in the early 80's that
handled over 20,000 customers & over 20,000 items with bar code for UPC
Just out of curiosity, which one?

<snip>
--
ArarghMail706 at [drop the 'http://www.' from ->] http://www.arargh.com
BCET Basic Compiler Page: http://www.arargh.com/basic/index.html

To reply by email, remove the extra stuff from the reply address.
Jun 22 '07 #11
Ar*****************@NOT.AT.Arargh.com wrote:
On Fri, 22 Jun 2007 13:34:49 -0700, James <JT@9b01.comwrote:

<snip>
>A later post suggests using a standard basic to run your system & I
agree, to a point. If your program used any of the machine specific
calls, embedded assembly language, etc. it may not be as easy as it
first appears. I had a "basic" language database in the early 80's that
handled over 20,000 customers & over 20,000 items with bar code for UPC

Just out of curiosity, which one?

<snip>
At that time it was setup to run on the Trs80 Mdl III/IV using M$Basic,
& some assembly code for the bar code reader.

James
Jun 24 '07 #12
On Sat, 23 Jun 2007 23:28:06 -0700, James <JT@9b01.comwrote:
>Ar*****************@NOT.AT.Arargh.com wrote:
>On Fri, 22 Jun 2007 13:34:49 -0700, James <JT@9b01.comwrote:

<snip>
>>A later post suggests using a standard basic to run your system & I
agree, to a point. If your program used any of the machine specific
calls, embedded assembly language, etc. it may not be as easy as it
first appears. I had a "basic" language database in the early 80's that
handled over 20,000 customers & over 20,000 items with bar code for UPC

Just out of curiosity, which one?

<snip>
At that time it was setup to run on the Trs80 Mdl III/IV using M$Basic,
& some assembly code for the bar code reader.
Ok, thanks.
--
ArarghMail706 at [drop the 'http://www.' from ->] http://www.arargh.com
BCET Basic Compiler Page: http://www.arargh.com/basic/index.html

To reply by email, remove the extra stuff from the reply address.
Jun 24 '07 #13
Thanks, Bill.
I am thinking of upgrading my skills, and SQL, VB6 seems to be the route I
will probably need to go. Guess I am leaning toward either VB Express and
SQL, or VB .Net. I don't care about "overkill" - who knows what may be
needed next? I am looking for a reasonable "cost" to the old company, as
they would still need to purchase all new computers, or GOOD used XP
computers, wiped and re-loaded.
My problem - my poor brain doesn't seem to be able to "get it", like I
used to. Any good pointers to VB Express/VB.NET and use with SQL database?
The programmers here access several types of databases with C#.NET, or
whatever it is called - not VB.NET. I have lots of simple code to look at -
not much that truly works with databases.
How would I go about writing a code converter?

Thanks, all, for what you have provided!

Randy Reimers

"William (Bill) Vaughn" <billva@NoSpamAtAll_betav.comwrote in message
news:%2****************@TK2MSFTNGP05.phx.gbl...
Randy,
Been there. I've been working with BASIC languages since the paper-tape
days (before the audio cassette Kansas-city standard days). Before you go
launching of on a conversion project, it might be wise to ask a few
questions.
Do you plan to upgrade your skills at the same time or simply get your
applications to work on a new OS? If this is the case, you should be
investigating technology that is not already obsolete (perhaps not as aged
as Thoroughbred Basic). For example the JET database engine (while still
in wide use) is really obsolete. The DAO interface used to access it has
not been fixed/tuned/repaired for many years. While some would say the SQL
Server Express is overkill, there are some advantages to using it
(especially when you're thinking about learning new skills). And, I would
agree. SQL Express is overkill for some applications, but SQL Server
Compact is not. This engine is not new and has been recently re-licensed
and re-engineered (somewhat) to work on a Windows platform. It's light,
fast and more secure than JET without the problems of clutter-removal
typical of JET.
As to the language, VB6 is also very widely used and rightly so.
However, it has been replaced with a more modern OO language that (again)
if you're interested in upgrading your skills would be a better choice.
Both SQL Server Compact and Visual Basic (Express) are free downloads
and get you up to speed technically. It might be a fun project to write a
code converter to migrate your source code to VB.NET.

hth

--
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
INETA Speaker
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no
rights.
__________________________________
Visit www.hitchhikerguides.net to get more information on my latest books:
Hitchhiker's Guide to Visual Studio and SQL Server (7th Edition) and
Hitchhiker's Guide to SQL Server 2005 Compact Edition

-----------------------------------------------------------------------------------------------------------------------
"Randy Reimers" <rr**********@hotmail.comwrote in message
news:%2****************@TK2MSFTNGP03.phx.gbl...
> (Hope I'm posting this correctly, otherwise - sorry!, don't know what
else to do)
I wrote a set of programs "many" years ago, running in a type of basic,
called "Thoroughbred Basic", a type of business basic. I need to
re-write it, bring it kicking and screaming to run on Windows XP. This
is for a video rental place, tracks movie and game rentals, customers,
employee transactions, reservations, does reports,..... and on.
I know some of Visual Basic - I now write VB scripts for work. Can
anyone help with suggestions, as to converting this to a new language?
What may be easiest for me? And, what type of database engine would be
best? SQL, Access, flat files, I don't know enough.
This does NOT run under Windows, Linux, or any "new" OS - but I can
export all the files, and programs to DOS. They currently are running on
20-30 286 or 386 computers - not a misprint - OLD! Not networked, not
neccessary. The data files it uses are called "Direct" and "Sort". I
have about 90 programs, a few are overlays, most are stand-alone, 25-30
are just for reporting purposes. It can stay character based - no need
for fancy screens or pix.

Here is a sample:
0010 REM "RENTAL/MEMBERSHIP SYSTEM TOP HALF AND SUBMENU"
0020 REM "PROGRAM VID-AA"
0030 REM 06/07/99
0050 BEGIN
0060 PRECISION 2
0070 SETERR 09000
0080 DIM B$(80,"-"),B1$(80,"_"),B2$(80,"<"),S$(80," ");
IF FID(0)="T0" THEN
DIM B2$(80,CHR(205))
0090 DEF FNA$(X$)=X$(1,2)+"/"+X$(3,2)+"/"+X$(5,2)
0100 DEF FNC$(X$)=X$(3,2)+"/"+X$(5,2)+"/"+X$(1,2)
0110 DEF FND$(X$)="("+X$(1,3)+") "+X$(4,3)+"-"+X$(7,4)
0120 DEF FNE$(X$)=X$(1,2)+X$(4,2)+X$(7,2)
0130 DEF FNF$(X$)=X$(5,2)+X$(1,4)
0140 DEF FNZ$(X$)=X$(1,POS(" "=X$+" ")-1)
0150 OPEN (6) "CONTRO"
0160 READ (6,KEY="001") *,N1$,*,A0$,A1$,A2$
0170 READ (6,KEY="TODAY") Z9$,Z8$
0180 LET E1$="";
READ (6,KEY="RENT"+FID(0),DOM=00200) E1$,T
0190 REMOVE (6,KEY="RENT"+FID(0)) ;
IF T<>TIM THEN
LET E1$=""
0200 IOLIST
M0$(1,250),M(0),M(1),M(2),M(3),M(4),M(5),M(6),M(7 ),M(8),M(9),M
(10),M(11),M(12),M(13),M(14),M(15),M(16)

0210 REM "OPEN FILES"

0220 OPEN (1) "VID01"
0230 OPEN (2) "VIDST"
0240 OPEN (3) "VIN01"
0250 OPEN (4) "PHONEY"
0260 OPEN (5) "VIV02"
0270 OPEN (8) "IDSRT"
0280 OPEN (9) "VIN02"
0290 OPEN (10) "VIN03"
0300 OPEN (11) "RSVST"
0310 OPEN (12) "VINST"
0320 OPEN (14) "VIN04"

0330 REM "PAINT SCREEN"

0340 LET N3$=FNZ$(N1$)+" - MEMBERSHIP SYSTEM"
0350 LET Y$=FNF$(FNE$(Z9$)),Y=NUM(Y$(3,2))-6
0360 IF Y<1 THEN
LET
Y$(1,2)=STR(NUM(Y$(1,2))-1:"00"),Y$(3,2)=STR(NUM(Y$(3,2))+6:"0
0")
ELSE
LET Y$(3,2)=STR(Y:"00")
0370 PRINT
'CS','SB',@(36-INT(LEN(N3$)/2),0),N3$,'BG',@(0,1),B2$,'EG','SF'

0380 PRINT 'SB',@(0,2),"NUMBER",@(15,2),"LAST NAME",@(50,2),"INVOICE
#",@(
0,3),"COMMENTS",@(65,3),"LAST
TIME",@(56,4),"HARDWARE",@(0,4),"
NAME",@(35,4),"DL#",@(42,5),"VCR
OWNER?",@(55,5),"MAILING?",@(6

6,5),"TYPE",@(0,5),"ADDRESS",@(0,6),"ADDRESS",@(4 2,6),"JOINED",
@(58,6),"LAST ACTIVITY",@(0,7),"ZIP",@(18,7),"CARRIER
ROUTE",@(
42,7),"MTD",@(51,7),"YTD",@(61,7),"HOLD",@(0,8),"P HONE
HM",@(24

,8),"WK",@(42,8),"#LT",@(50,8),"#FREE",@(60,8),"# MP",@(0,10),"T
OT
$$",@(16,10),"IG",@(25,10),"IM",@(34,10),"IU",@(4 3,10),"IV",
@(52,10),"IX",@(62,10),"UNPAID
FEE",'BG',@(0,9),B2$,@(0,11),B2$
,'EG','SF'

0390 REM "IOLISTS"

0400 IOLIST
'LD','LD','LD','LD','LD','LD','LD','LD','LD','LD' ,'LD','LD','L
D','LD'

0410 REM "EXTRA SETUP"

0420 LET M5$="##0",M6$="####.00-",M7$="###.00-"
0430 READ (6,KEY="DUEDATE") D1$;
LET D4$=D1$,D2$=D1$
0440 READ (6,KEY="STORENUM",DOM=00441) R8
0450 DIM Z5$(36);
READ (6,KEY="DZIP",DOM=00451) Z5$(1,9)
0460 READ (6,KEY="DACODE",DOM=00461) Z5$(10,3)
0470 READ (6,KEY="DAADDR",DOM=00471) Z5$(13,24)
0480 LET D5$=S$(1,6);
READ (6,KEY="HANDOUT",DOM=00490) D5$,D6$

0490 REM "SOLICIT MEMBER NUMBER"

0500 IF E1$<>"" THEN
LET E0$=E1$(1,3);
IF E1$(1,3)<>S$(1,3) THEN
GOTO 00520

0510 GOSUB 02430;
IF E0$="" THEN
GOTO 00010

0520 PRINT @(7,2),B1$(1,6);
IF E1$<>"" THEN
PRINT @(7,2),'SB',E1$(4,6),'SF'
0530 DIM M0$(250),M(16);
LET M0$(222,1)=STR(R8:"0"),M0$(147,6)=FNE$(Z9$)
0540 LET G$="**",M0$(210,3)=E0$(1,3)
0550 PRINT @(0,23),"F1=I.D. NUMBER",@(0,22),"ENTER MEMBER #, CR=LAST
NAME,
F2=PHONE SEARCH, F3=NEXT NEW CUSTOMER #, F4=END",;
INPUT (0,ERR=00550) @(7,2),Q$,@(0,23),'CL',@(0,22),'CL',
0560 IF CTL=1 THEN
GOTO 01240
0570 IF CTL=2 THEN
GOTO 01360

0580 LET X=NUM(Q$,ERR=00590);
IF LEN(Q$)=7 OR LEN(Q$)=10 THEN
LET G$=Q$;
GOTO 01370
0590 IF Q$="T" THEN
READ (6,KEY="TEMPNUM",DOM=00600) P5;
LET P5=P5+1,Q1$=STR(P5:"T00000");
READ (1,KEY=Q1$,DOM=00690) ;
WRITE (6,KEY="TEMPNUM") P5;
GOTO 00590
0600 IF Q$="END" OR CTL=4 THEN
GOTO 09110
0610 IF CTL=3 THEN
READ (6,KEY="NXTCUS",DOM=00620) P5;
LET P5=P5+1,Q$=STR(P5:"#####0");
WRITE (6,KEY="NXTCUS") P5;
READ (1,KEY=Q$,DOM=00680) ;
GOTO 00610
0620 IF Q$="" AND E1$<>"" THEN
LET Q$=E1$(4,6);
GOTO 00710
0630 IF Q$="" THEN
PRINT @(7,2),S$(1,6);
GOTO 01070

0640 FOR I=1 TO LEN(Q$)
0650 IF POS(Q$(I,1)<"!")<>0 OR POS(Q$(I,1)>"z")<>0 THEN
EXITTO 00540

0660 NEXT I
0670 IF LEN(Q$)>6 THEN
GOTO 00550

0680 LET Q$=S$(1,6-LEN(Q$))+Q$
0690 IF Q$="T" THEN
LET Q$=Q1$
0700 PRINT @(7,2),Q$
0710 LET M0$(1,6)=Q$
0720 READ (1,KEY=M0$(1,6),DOM=01490) IOL=00200
0730 GOSUB 00740;
GOTO 00850
0740 IF M0$(238,1)=" " THEN
LET X7$=S$(1,7)
ELSE
LET X7$="*NOF*";
CLOSE (7) ;
OPEN (7) "MEMTY";
READ (7,KEY=M0$(238,1),DOM=00750) X7$;
LET X7$=X7$(2)
0750 LET X7$=X7$+S$(1,10)
0760 IF M0$(153,1)=" " THEN
LET X8$=S$(1,11)
ELSE
LET X8$="NOT ON FILE";
CLOSE (7) ;
OPEN (7) "VSYH";
READ (7,KEY=M0$(153,1),DOM=00770) X8$;
LET X8$=X8$(2)
0770 LET X5$=S$(1,14);
IF M0$(112,10)<>S$(1,10) THEN
LET X5$=FND$(M0$(112,10))
0780 LET X6$=S$(1,14);
IF M0$(122,10)<>S$(1,10) THEN
LET X6$=FND$(M0$(122,10))
0790 IF M0$(215,6)=S$(1,6) THEN
LET X3$="NONE"
ELSE
LET X3$=FNA$(M0$(215,6))


Jul 9 '07 #14
Overlays?

VB classic requires that each module be small,
and that there be no overlap between the modules.

It can sometimes be very difficult to convert
classic code with overlays to VB, because the
only clean way to convert is as one big program,
and then the big program is too large to compile.

I would certainly give it a shot, but I already
own a copy of VB6, (which is a discontinued product.)

But if it is big, I would choose to use
Powerbasic (already mentioned in this thread)
which I also own a copy of, and which has no
runtime deployment cost. I assume that there
are other BASICs which might be suitable, but
PB is the one we have used. PB allows us to
convert overlays into one very large program,
with less re-write.
(david)

Randy Reimers wrote:
(Hope I'm posting this correctly, otherwise - sorry!, don't know what else
to do)
I wrote a set of programs "many" years ago, running in a type of basic,
called "Thoroughbred Basic", a type of business basic. I need to re-write
it, bring it kicking and screaming to run on Windows XP. This is for a
video rental place, tracks movie and game rentals, customers, employee
transactions, reservations, does reports,..... and on.
I know some of Visual Basic - I now write VB scripts for work. Can anyone
help with suggestions, as to converting this to a new language? What may be
easiest for me? And, what type of database engine would be best? SQL,
Access, flat files, I don't know enough.
This does NOT run under Windows, Linux, or any "new" OS - but I can export
all the files, and programs to DOS. They currently are running on 20-30 286
or 386 computers - not a misprint - OLD! Not networked, not neccessary.
The data files it uses are called "Direct" and "Sort". I have about 90
programs, a few are overlays, most are stand-alone, 25-30 are just for
reporting purposes. It can stay character based - no need for fancy screens
or pix.

Here is a sample:
0010 REM "RENTAL/MEMBERSHIP SYSTEM TOP HALF AND SUBMENU"
0020 REM "PROGRAM VID-AA"
0030 REM 06/07/99
0050 BEGIN
0060 PRECISION 2
0070 SETERR 09000
0080 DIM B$(80,"-"),B1$(80,"_"),B2$(80,"<"),S$(80," ");
IF FID(0)="T0" THEN
DIM B2$(80,CHR(205))
0090 DEF FNA$(X$)=X$(1,2)+"/"+X$(3,2)+"/"+X$(5,2)
0100 DEF FNC$(X$)=X$(3,2)+"/"+X$(5,2)+"/"+X$(1,2)
0110 DEF FND$(X$)="("+X$(1,3)+") "+X$(4,3)+"-"+X$(7,4)
0120 DEF FNE$(X$)=X$(1,2)+X$(4,2)+X$(7,2)
0130 DEF FNF$(X$)=X$(5,2)+X$(1,4)
0140 DEF FNZ$(X$)=X$(1,POS(" "=X$+" ")-1)
0150 OPEN (6) "CONTRO"
0160 READ (6,KEY="001") *,N1$,*,A0$,A1$,A2$
0170 READ (6,KEY="TODAY") Z9$,Z8$
0180 LET E1$="";
READ (6,KEY="RENT"+FID(0),DOM=00200) E1$,T
0190 REMOVE (6,KEY="RENT"+FID(0)) ;
IF T<>TIM THEN
LET E1$=""
0200 IOLIST
M0$(1,250),M(0),M(1),M(2),M(3),M(4),M(5),M(6),M(7) ,M(8),M(9),M
(10),M(11),M(12),M(13),M(14),M(15),M(16)

0210 REM "OPEN FILES"

0220 OPEN (1) "VID01"
0230 OPEN (2) "VIDST"
0240 OPEN (3) "VIN01"
0250 OPEN (4) "PHONEY"
0260 OPEN (5) "VIV02"
0270 OPEN (8) "IDSRT"
0280 OPEN (9) "VIN02"
0290 OPEN (10) "VIN03"
0300 OPEN (11) "RSVST"
0310 OPEN (12) "VINST"
0320 OPEN (14) "VIN04"

0330 REM "PAINT SCREEN"

0340 LET N3$=FNZ$(N1$)+" - MEMBERSHIP SYSTEM"
0350 LET Y$=FNF$(FNE$(Z9$)),Y=NUM(Y$(3,2))-6
0360 IF Y<1 THEN
LET
Y$(1,2)=STR(NUM(Y$(1,2))-1:"00"),Y$(3,2)=STR(NUM(Y$(3,2))+6:"0
0")
ELSE
LET Y$(3,2)=STR(Y:"00")
0370 PRINT
'CS','SB',@(36-INT(LEN(N3$)/2),0),N3$,'BG',@(0,1),B2$,'EG','SF'

0380 PRINT 'SB',@(0,2),"NUMBER",@(15,2),"LAST NAME",@(50,2),"INVOICE
#",@(
0,3),"COMMENTS",@(65,3),"LAST
TIME",@(56,4),"HARDWARE",@(0,4),"
NAME",@(35,4),"DL#",@(42,5),"VCR
OWNER?",@(55,5),"MAILING?",@(6
6,5),"TYPE",@(0,5),"ADDRESS",@(0,6),"ADDRESS",@(42 ,6),"JOINED",
@(58,6),"LAST ACTIVITY",@(0,7),"ZIP",@(18,7),"CARRIER
ROUTE",@(
42,7),"MTD",@(51,7),"YTD",@(61,7),"HOLD",@(0,8),"P HONE
HM",@(24
,8),"WK",@(42,8),"#LT",@(50,8),"#FREE",@(60,8),"#M P",@(0,10),"T
OT
$$",@(16,10),"IG",@(25,10),"IM",@(34,10),"IU",@(43 ,10),"IV",
@(52,10),"IX",@(62,10),"UNPAID
FEE",'BG',@(0,9),B2$,@(0,11),B2$
,'EG','SF'

0390 REM "IOLISTS"

0400 IOLIST
'LD','LD','LD','LD','LD','LD','LD','LD','LD','LD', 'LD','LD','L
D','LD'

0410 REM "EXTRA SETUP"

0420 LET M5$="##0",M6$="####.00-",M7$="###.00-"
0430 READ (6,KEY="DUEDATE") D1$;
LET D4$=D1$,D2$=D1$
0440 READ (6,KEY="STORENUM",DOM=00441) R8
0450 DIM Z5$(36);
READ (6,KEY="DZIP",DOM=00451) Z5$(1,9)
0460 READ (6,KEY="DACODE",DOM=00461) Z5$(10,3)
0470 READ (6,KEY="DAADDR",DOM=00471) Z5$(13,24)
0480 LET D5$=S$(1,6);
READ (6,KEY="HANDOUT",DOM=00490) D5$,D6$

0490 REM "SOLICIT MEMBER NUMBER"

0500 IF E1$<>"" THEN
LET E0$=E1$(1,3);
IF E1$(1,3)<>S$(1,3) THEN
GOTO 00520

0510 GOSUB 02430;
IF E0$="" THEN
GOTO 00010

0520 PRINT @(7,2),B1$(1,6);
IF E1$<>"" THEN
PRINT @(7,2),'SB',E1$(4,6),'SF'
0530 DIM M0$(250),M(16);
LET M0$(222,1)=STR(R8:"0"),M0$(147,6)=FNE$(Z9$)
0540 LET G$="**",M0$(210,3)=E0$(1,3)
0550 PRINT @(0,23),"F1=I.D. NUMBER",@(0,22),"ENTER MEMBER #, CR=LAST
NAME,
F2=PHONE SEARCH, F3=NEXT NEW CUSTOMER #, F4=END",;
INPUT (0,ERR=00550) @(7,2),Q$,@(0,23),'CL',@(0,22),'CL',
0560 IF CTL=1 THEN
GOTO 01240
0570 IF CTL=2 THEN
GOTO 01360

0580 LET X=NUM(Q$,ERR=00590);
IF LEN(Q$)=7 OR LEN(Q$)=10 THEN
LET G$=Q$;
GOTO 01370
0590 IF Q$="T" THEN
READ (6,KEY="TEMPNUM",DOM=00600) P5;
LET P5=P5+1,Q1$=STR(P5:"T00000");
READ (1,KEY=Q1$,DOM=00690) ;
WRITE (6,KEY="TEMPNUM") P5;
GOTO 00590
0600 IF Q$="END" OR CTL=4 THEN
GOTO 09110
0610 IF CTL=3 THEN
READ (6,KEY="NXTCUS",DOM=00620) P5;
LET P5=P5+1,Q$=STR(P5:"#####0");
WRITE (6,KEY="NXTCUS") P5;
READ (1,KEY=Q$,DOM=00680) ;
GOTO 00610
0620 IF Q$="" AND E1$<>"" THEN
LET Q$=E1$(4,6);
GOTO 00710
0630 IF Q$="" THEN
PRINT @(7,2),S$(1,6);
GOTO 01070

0640 FOR I=1 TO LEN(Q$)
0650 IF POS(Q$(I,1)<"!")<>0 OR POS(Q$(I,1)>"z")<>0 THEN
EXITTO 00540

0660 NEXT I
0670 IF LEN(Q$)>6 THEN
GOTO 00550

0680 LET Q$=S$(1,6-LEN(Q$))+Q$
0690 IF Q$="T" THEN
LET Q$=Q1$
0700 PRINT @(7,2),Q$
0710 LET M0$(1,6)=Q$
0720 READ (1,KEY=M0$(1,6),DOM=01490) IOL=00200
0730 GOSUB 00740;
GOTO 00850
0740 IF M0$(238,1)=" " THEN
LET X7$=S$(1,7)
ELSE
LET X7$="*NOF*";
CLOSE (7) ;
OPEN (7) "MEMTY";
READ (7,KEY=M0$(238,1),DOM=00750) X7$;
LET X7$=X7$(2)
0750 LET X7$=X7$+S$(1,10)
0760 IF M0$(153,1)=" " THEN
LET X8$=S$(1,11)
ELSE
LET X8$="NOT ON FILE";
CLOSE (7) ;
OPEN (7) "VSYH";
READ (7,KEY=M0$(153,1),DOM=00770) X8$;
LET X8$=X8$(2)
0770 LET X5$=S$(1,14);
IF M0$(112,10)<>S$(1,10) THEN
LET X5$=FND$(M0$(112,10))
0780 LET X6$=S$(1,14);
IF M0$(122,10)<>S$(1,10) THEN
LET X6$=FND$(M0$(122,10))
0790 IF M0$(215,6)=S$(1,6) THEN
LET X3$="NONE"
ELSE
LET X3$=FNA$(M0$(215,6))

Jul 24 '07 #15
Let's talk for a minute about the goals of this project. What is the
ultimate objective? Do you expect an application written like this to run as
a Windows Form application or an ASP (browser-based) application? What value
is there in the code? Are there proprietary formulas or other code that have
not been replaced by more current technology? Are you trying to save time
and money by leveraging this code? Are you trying to upgrade your skills so
that you can support the program once its deployed? All of these are
reasonable goals but might not make it worthwhile to convert the code to
resurrect the application.

As I see it, the BASIC code is about as old as it gets. Today's BASICs are
very different than those used in the 60's and 70's. I know, I used to teach
BASIC in college in the early 70's. Visual Basic (versions 1-6) had some
support for legacy operations as you are using so it might be easier to
start there. However, consider that a Windows program is not linear
coding--it's event-driven. This concept was not even considered in the
languages of the time. The way one interacts with the user is also radically
different. The PRINT statements aren't even supported in "Visual Basic".NET.

Depending on your goals, I would rethink this project. I liken it to a
person with an old crank telephone wanting to connect it to the Internet to
handle his email... ;)

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant, Dad, Grandpa
Microsoft MVP
INETA Speaker
www.betav.com
www.betav.com/blog/billva
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
Visit www.hitchhikerguides.net to get more information on my latest book:
Hitchhiker's Guide to Visual Studio and SQL Server (7th Edition)
and Hitchhiker's Guide to SQL Server 2005 Compact Edition (EBook)
-----------------------------------------------------------------------------------------------------------------------

"DAVID" <da***@nospam.nspamwrote in message
news:OS*************@TK2MSFTNGP04.phx.gbl...
Overlays?

VB classic requires that each module be small,
and that there be no overlap between the modules.

It can sometimes be very difficult to convert
classic code with overlays to VB, because the
only clean way to convert is as one big program,
and then the big program is too large to compile.

I would certainly give it a shot, but I already
own a copy of VB6, (which is a discontinued product.)

But if it is big, I would choose to use
Powerbasic (already mentioned in this thread)
which I also own a copy of, and which has no
runtime deployment cost. I assume that there
are other BASICs which might be suitable, but
PB is the one we have used. PB allows us to
convert overlays into one very large program,
with less re-write.
(david)

Randy Reimers wrote:
> (Hope I'm posting this correctly, otherwise - sorry!, don't know what
else to do)
I wrote a set of programs "many" years ago, running in a type of basic,
called "Thoroughbred Basic", a type of business basic. I need to
re-write it, bring it kicking and screaming to run on Windows XP. This
is for a video rental place, tracks movie and game rentals, customers,
employee transactions, reservations, does reports,..... and on.
I know some of Visual Basic - I now write VB scripts for work. Can
anyone help with suggestions, as to converting this to a new language?
What may be easiest for me? And, what type of database engine would be
best? SQL, Access, flat files, I don't know enough.
This does NOT run under Windows, Linux, or any "new" OS - but I can
export all the files, and programs to DOS. They currently are running on
20-30 286 or 386 computers - not a misprint - OLD! Not networked, not
neccessary. The data files it uses are called "Direct" and "Sort". I
have about 90 programs, a few are overlays, most are stand-alone, 25-30
are just for reporting purposes. It can stay character based - no need
for fancy screens or pix.

Here is a sample:
0010 REM "RENTAL/MEMBERSHIP SYSTEM TOP HALF AND SUBMENU"
0020 REM "PROGRAM VID-AA"
0030 REM 06/07/99
0050 BEGIN
0060 PRECISION 2
0070 SETERR 09000
0080 DIM B$(80,"-"),B1$(80,"_"),B2$(80,"<"),S$(80," ");
IF FID(0)="T0" THEN
DIM B2$(80,CHR(205))
0090 DEF FNA$(X$)=X$(1,2)+"/"+X$(3,2)+"/"+X$(5,2)
0100 DEF FNC$(X$)=X$(3,2)+"/"+X$(5,2)+"/"+X$(1,2)
0110 DEF FND$(X$)="("+X$(1,3)+") "+X$(4,3)+"-"+X$(7,4)
0120 DEF FNE$(X$)=X$(1,2)+X$(4,2)+X$(7,2)
0130 DEF FNF$(X$)=X$(5,2)+X$(1,4)
0140 DEF FNZ$(X$)=X$(1,POS(" "=X$+" ")-1)
0150 OPEN (6) "CONTRO"
0160 READ (6,KEY="001") *,N1$,*,A0$,A1$,A2$
0170 READ (6,KEY="TODAY") Z9$,Z8$
0180 LET E1$="";
READ (6,KEY="RENT"+FID(0),DOM=00200) E1$,T
0190 REMOVE (6,KEY="RENT"+FID(0)) ;
IF T<>TIM THEN
LET E1$=""
0200 IOLIST
M0$(1,250),M(0),M(1),M(2),M(3),M(4),M(5),M(6),M(7 ),M(8),M(9),M
(10),M(11),M(12),M(13),M(14),M(15),M(16)

0210 REM "OPEN FILES"

0220 OPEN (1) "VID01"
0230 OPEN (2) "VIDST"
0240 OPEN (3) "VIN01"
0250 OPEN (4) "PHONEY"
0260 OPEN (5) "VIV02"
0270 OPEN (8) "IDSRT"
0280 OPEN (9) "VIN02"
0290 OPEN (10) "VIN03"
0300 OPEN (11) "RSVST"
0310 OPEN (12) "VINST"
0320 OPEN (14) "VIN04"

0330 REM "PAINT SCREEN"

0340 LET N3$=FNZ$(N1$)+" - MEMBERSHIP SYSTEM"
0350 LET Y$=FNF$(FNE$(Z9$)),Y=NUM(Y$(3,2))-6
0360 IF Y<1 THEN
LET
Y$(1,2)=STR(NUM(Y$(1,2))-1:"00"),Y$(3,2)=STR(NUM(Y$(3,2))+6:"0
0")
ELSE
LET Y$(3,2)=STR(Y:"00")
0370 PRINT
'CS','SB',@(36-INT(LEN(N3$)/2),0),N3$,'BG',@(0,1),B2$,'EG','SF'

0380 PRINT 'SB',@(0,2),"NUMBER",@(15,2),"LAST
NAME",@(50,2),"INVOICE #",@(
0,3),"COMMENTS",@(65,3),"LAST
TIME",@(56,4),"HARDWARE",@(0,4),"
NAME",@(35,4),"DL#",@(42,5),"VCR
OWNER?",@(55,5),"MAILING?",@(6

6,5),"TYPE",@(0,5),"ADDRESS",@(0,6),"ADDRESS",@(4 2,6),"JOINED",
@(58,6),"LAST ACTIVITY",@(0,7),"ZIP",@(18,7),"CARRIER
ROUTE",@(
42,7),"MTD",@(51,7),"YTD",@(61,7),"HOLD",@(0,8),"P HONE
HM",@(24

,8),"WK",@(42,8),"#LT",@(50,8),"#FREE",@(60,8),"# MP",@(0,10),"T
OT
$$",@(16,10),"IG",@(25,10),"IM",@(34,10),"IU",@(4 3,10),"IV",
@(52,10),"IX",@(62,10),"UNPAID
FEE",'BG',@(0,9),B2$,@(0,11),B2$
,'EG','SF'

0390 REM "IOLISTS"

0400 IOLIST
'LD','LD','LD','LD','LD','LD','LD','LD','LD','LD' ,'LD','LD','L
D','LD'

0410 REM "EXTRA SETUP"

0420 LET M5$="##0",M6$="####.00-",M7$="###.00-"
0430 READ (6,KEY="DUEDATE") D1$;
LET D4$=D1$,D2$=D1$
0440 READ (6,KEY="STORENUM",DOM=00441) R8
0450 DIM Z5$(36);
READ (6,KEY="DZIP",DOM=00451) Z5$(1,9)
0460 READ (6,KEY="DACODE",DOM=00461) Z5$(10,3)
0470 READ (6,KEY="DAADDR",DOM=00471) Z5$(13,24)
0480 LET D5$=S$(1,6);
READ (6,KEY="HANDOUT",DOM=00490) D5$,D6$

0490 REM "SOLICIT MEMBER NUMBER"

0500 IF E1$<>"" THEN
LET E0$=E1$(1,3);
IF E1$(1,3)<>S$(1,3) THEN
GOTO 00520

0510 GOSUB 02430;
IF E0$="" THEN
GOTO 00010

0520 PRINT @(7,2),B1$(1,6);
IF E1$<>"" THEN
PRINT @(7,2),'SB',E1$(4,6),'SF'
0530 DIM M0$(250),M(16);
LET M0$(222,1)=STR(R8:"0"),M0$(147,6)=FNE$(Z9$)
0540 LET G$="**",M0$(210,3)=E0$(1,3)
0550 PRINT @(0,23),"F1=I.D. NUMBER",@(0,22),"ENTER MEMBER #,
CR=LAST NAME,
F2=PHONE SEARCH, F3=NEXT NEW CUSTOMER #, F4=END",;
INPUT (0,ERR=00550) @(7,2),Q$,@(0,23),'CL',@(0,22),'CL',
0560 IF CTL=1 THEN
GOTO 01240
0570 IF CTL=2 THEN
GOTO 01360

0580 LET X=NUM(Q$,ERR=00590);
IF LEN(Q$)=7 OR LEN(Q$)=10 THEN
LET G$=Q$;
GOTO 01370
0590 IF Q$="T" THEN
READ (6,KEY="TEMPNUM",DOM=00600) P5;
LET P5=P5+1,Q1$=STR(P5:"T00000");
READ (1,KEY=Q1$,DOM=00690) ;
WRITE (6,KEY="TEMPNUM") P5;
GOTO 00590
0600 IF Q$="END" OR CTL=4 THEN
GOTO 09110
0610 IF CTL=3 THEN
READ (6,KEY="NXTCUS",DOM=00620) P5;
LET P5=P5+1,Q$=STR(P5:"#####0");
WRITE (6,KEY="NXTCUS") P5;
READ (1,KEY=Q$,DOM=00680) ;
GOTO 00610
0620 IF Q$="" AND E1$<>"" THEN
LET Q$=E1$(4,6);
GOTO 00710
0630 IF Q$="" THEN
PRINT @(7,2),S$(1,6);
GOTO 01070

0640 FOR I=1 TO LEN(Q$)
0650 IF POS(Q$(I,1)<"!")<>0 OR POS(Q$(I,1)>"z")<>0 THEN
EXITTO 00540

0660 NEXT I
0670 IF LEN(Q$)>6 THEN
GOTO 00550

0680 LET Q$=S$(1,6-LEN(Q$))+Q$
0690 IF Q$="T" THEN
LET Q$=Q1$
0700 PRINT @(7,2),Q$
0710 LET M0$(1,6)=Q$
0720 READ (1,KEY=M0$(1,6),DOM=01490) IOL=00200
0730 GOSUB 00740;
GOTO 00850
0740 IF M0$(238,1)=" " THEN
LET X7$=S$(1,7)
ELSE
LET X7$="*NOF*";
CLOSE (7) ;
OPEN (7) "MEMTY";
READ (7,KEY=M0$(238,1),DOM=00750) X7$;
LET X7$=X7$(2)
0750 LET X7$=X7$+S$(1,10)
0760 IF M0$(153,1)=" " THEN
LET X8$=S$(1,11)
ELSE
LET X8$="NOT ON FILE";
CLOSE (7) ;
OPEN (7) "VSYH";
READ (7,KEY=M0$(153,1),DOM=00770) X8$;
LET X8$=X8$(2)
0770 LET X5$=S$(1,14);
IF M0$(112,10)<>S$(1,10) THEN
LET X5$=FND$(M0$(112,10))
0780 LET X6$=S$(1,14);
IF M0$(122,10)<>S$(1,10) THEN
LET X6$=FND$(M0$(122,10))
0790 IF M0$(215,6)=S$(1,6) THEN
LET X3$="NONE"
ELSE
LET X3$=FNA$(M0$(215,6))
Jul 24 '07 #16
"William Vaughn" <bi**********@betav.comwrote in message
news:76**********************************@microsof t.com...
Let's talk for a minute about the goals of this project. What is the
As I see it, the BASIC code is about as old as it gets.
Oldies are often goodies.

MCM
Jul 24 '07 #17
Ah, would you rather launch yourself into space with the computers used in
the Apollo mission or those used today?
Oldies are just oldies... ;) Yes, an old application might be just as good
(or better) than the day it was written but it might not work at all on
today's OSs or fall short of what today's users expect.

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant, Dad, Grandpa
Microsoft MVP
INETA Speaker
www.betav.com
www.betav.com/blog/billva
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
Visit www.hitchhikerguides.net to get more information on my latest book:
Hitchhiker's Guide to Visual Studio and SQL Server (7th Edition)
and Hitchhiker's Guide to SQL Server 2005 Compact Edition (EBook)
-----------------------------------------------------------------------------------------------------------------------

"Michael Mattias" <mm******@talsystems.comwrote in message
news:Xm******************@newssvr22.news.prodigy.n et...
"William Vaughn" <bi**********@betav.comwrote in message
news:76**********************************@microsof t.com...
>Let's talk for a minute about the goals of this project. What is the
As I see it, the BASIC code is about as old as it gets.

Oldies are often goodies.

MCM

Jul 24 '07 #18
DAVID <da***@nospam.nspamwrote:
Overlays?

VB classic requires that each module be small,
and that there be no overlap between the modules.

It can sometimes be very difficult to convert
classic code with overlays to VB, because the
only clean way to convert is as one big program,
and then the big program is too large to compile.
Huh? Examples, please? At least some sort of description, of what *possible*
coding horror you're looking at where this was actually an issue?
I would certainly give it a shot, but I already
own a copy of VB6, (which is a discontinued product.)

But if it is big, I would choose to use
Powerbasic (already mentioned in this thread)
Also a very good product. But the size of a DOS BASIC codebase never seemed to be
much of a deciding factor in this decision. Also, other than hardware specific
methods, nearly all DOS MSBASIC code loads and runs directly in VB6. Granted,
perhaps not a factor with "Thoroughbred Basic" but worth mentioning in any VB/PB
case.

(Why is this thread even in a *.dotnet.* group, anyway?)
--
..NET: It's About Trust!
http://vfred.mvps.org
Jul 24 '07 #19
William Vaughn <bi**********@betav.comwrote:
Ah, would you rather launch yourself into space with the computers used in
the Apollo mission or those used today?
Oh man, last time I was at the Cape (~1990), the tour guy was saying the computers
in the lander weren't anywhere near as powerful as "today's PCs." <shudder>
Oldies are just oldies... ;) Yes, an old application might be just as good
(or better) than the day it was written but it might not work at all on
today's OSs or fall short of what today's users expect.
Nothing wrong with oldies! Especially of the musical sort. But yeah... Gotta take
each on its merits. <g>
--
..NET: It's About Trust!
http://vfred.mvps.org
Jul 24 '07 #20
Since they didn't have so much as a hand-held calculator (it had not been
invented yet) and the 8008 had not been invented... yes, those "computers"
(mostly analog and RTL logic) were very crude by today's standards. Yes,
your watch is more sophisticated. ;)

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant, Dad, Grandpa
Microsoft MVP
INETA Speaker
www.betav.com
www.betav.com/blog/billva
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
Visit www.hitchhikerguides.net to get more information on my latest book:
Hitchhiker's Guide to Visual Studio and SQL Server (7th Edition)
and Hitchhiker's Guide to SQL Server 2005 Compact Edition (EBook)
-----------------------------------------------------------------------------------------------------------------------

"Karl E. Peterson" <ka**@mvps.orgwrote in message
news:ud**************@TK2MSFTNGP05.phx.gbl...
William Vaughn <bi**********@betav.comwrote:
>Ah, would you rather launch yourself into space with the computers used
in
the Apollo mission or those used today?

Oh man, last time I was at the Cape (~1990), the tour guy was saying the
computers in the lander weren't anywhere near as powerful as "today's
PCs." <shudder>
>Oldies are just oldies... ;) Yes, an old application might be just as
good
(or better) than the day it was written but it might not work at all on
today's OSs or fall short of what today's users expect.

Nothing wrong with oldies! Especially of the musical sort. But yeah...
Gotta take each on its merits. <g>
--
.NET: It's About Trust!
http://vfred.mvps.org
Jul 24 '07 #21

"William Vaughn" <bi**********@betav.comwrote in message
news:75**********************************@microsof t.com...
Ah, would you rather launch yourself into space with the computers used in
the Apollo mission or those used today?
Oldies are just oldies... ;) Yes, an old application might be just as good
(or better) than the day it was written but it might not work at all on
today's OSs or fall short of what today's users expect.
I might want the equipment of today but I'd sure like the engineers of the
'60s
running it! They could do wonders with just a slide rule!

Tom Lake
Jul 25 '07 #22
I have one in a glass case that's marked "IN CASE OF EMERGENCY, BREAK
GLASS".

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant, Dad, Grandpa
Microsoft MVP
INETA Speaker
www.betav.com
www.betav.com/blog/billva
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
Visit www.hitchhikerguides.net to get more information on my latest book:
Hitchhiker's Guide to Visual Studio and SQL Server (7th Edition)
and Hitchhiker's Guide to SQL Server 2005 Compact Edition (EBook)
-----------------------------------------------------------------------------------------------------------------------

"Tom Lake" <tl***@twcny.rr.comwrote in message
news:ue**************@TK2MSFTNGP05.phx.gbl...
>
"William Vaughn" <bi**********@betav.comwrote in message
news:75**********************************@microsof t.com...
>Ah, would you rather launch yourself into space with the computers used
in the Apollo mission or those used today?
Oldies are just oldies... ;) Yes, an old application might be just as
good (or better) than the day it was written but it might not work at all
on today's OSs or fall short of what today's users expect.

I might want the equipment of today but I'd sure like the engineers of the
'60s
running it! They could do wonders with just a slide rule!

Tom Lake
Jul 25 '07 #23
"Karl E. Peterson" <ka**@mvps.orgwrote:
>
Oh man, last time I was at the Cape (~1990), the tour guy was saying
the computers in the lander weren't anywhere near as powerful as
"today's PCs." <shudder>
Even then, that was a vast understatement! The first mainframe I wrote
production code for (though it was at the end of its life cycle) was the
IBM 1401 in 1968, a second generation (discrete transistors) computer.
This was less than a year before the first Apollo moon landing in 1969.
The clock on the 1401 was 1kHz and it had 8k (of 6bit) RAM. The
second mainframe that I wrote production code for, which was fairly
new at the time in 1969, was the Burroughs B3500, which had a clock
of 1MHz and 250k RAM. My current PC is 2 years old, and the clock
is 2,400 times the clock on the B3500, a typical business mainframe of
1969, and has about 8,500 times the RAM, plus dual core processors.
And you can bet that the computers on the Apollo missions weren't
remotely as powerful as a 1969 mainframe, because a mainframe in
1969 filled a large room and required a *lot* of air conditioning. The
Apollo computers were about as powerful as a 1950's mainframe like
the IBM 1401, with about 8k RAM and a 1kHz clock. Typical PCs of
1990 were thousands of times more powerful (MHz & MBytes vs. kHz
& kBytes). Even the pocket calculators of 1990 were more powerful
than that! My HP-48GX calculator has 128K ram, with sockets for up
to 256k more, and the copyright on it is 1993. The HP-48GX can do
symbolic algebra and calculus.
--
Judson McClendon ju***@sunvaley0.com (remove zero)
Sun Valley Systems http://sunvaley.com
"For God so loved the world that He gave His only begotten Son, that
whoever believes in Him should not perish but have everlasting life."
Jul 26 '07 #24
Judson McClendon <ju***@sunvaley0.comwrote:
"Karl E. Peterson" <ka**@mvps.orgwrote:
>>
Oh man, last time I was at the Cape (~1990), the tour guy was saying
the computers in the lander weren't anywhere near as powerful as
"today's PCs." <shudder>

Even then, that was a vast understatement!
Yeah, after posting that, I was thinking I may have misquoted -- that he actually
said "today's handheld calculators"...
Even the pocket calculators of 1990 were more powerful than that!
Yep. Exactly.
--
..NET: It's About Trust!
http://vfred.mvps.org
Jul 26 '07 #25
He did not say that it was porting from MS Basic!

I agree that porting from MS Basic to VB is a
fairly small step. MS Basic assumed 64KB segments,
all variables have global visibility but only
local scope, etc.

But porting a big overlay program to MS Basic
would be just as difficult.

As for coding horror - well just remember,
people did object sub-classing and multiple
inheritance in Basic back when C was only
available on Unix.

Still, the moral ambiguity in my original message
was deliberate.

(david)
Karl E. Peterson wrote:
DAVID <da***@nospam.nspamwrote:
>Overlays?

VB classic requires that each module be small,
and that there be no overlap between the modules.

It can sometimes be very difficult to convert
classic code with overlays to VB, because the
only clean way to convert is as one big program,
and then the big program is too large to compile.

Huh? Examples, please? At least some sort of description, of what *possible*
coding horror you're looking at where this was actually an issue?
>I would certainly give it a shot, but I already
own a copy of VB6, (which is a discontinued product.)

But if it is big, I would choose to use
Powerbasic (already mentioned in this thread)

Also a very good product. But the size of a DOS BASIC codebase never seemed to be
much of a deciding factor in this decision. Also, other than hardware specific
methods, nearly all DOS MSBASIC code loads and runs directly in VB6. Granted,
perhaps not a factor with "Thoroughbred Basic" but worth mentioning in any VB/PB
case.

(Why is this thread even in a *.dotnet.* group, anyway?)
Jul 27 '07 #26

"DAVID" <da***@nospam.nspamwrote in message
news:uo****************@TK2MSFTNGP03.phx.gbl...
>
But porting a big overlay program to MS Basic
would be just as difficult.
Actually it would be silly. MS-BASIC would be an incredibly poor choice of
target languages to serve as a destination for such a project.

But... if one has one's heart set on using MS-BASIC for this project, better
to start with a clean sheet of paper and rewrite the application completely.

MCM


Jul 27 '07 #27
From the OP: (me)
Just trying to help a friend from way back, get them the ability to run
their present Basic code (or modified, or rewritten, or....) on "new" PCs -
XP class or so. Not trying to port to MS Basic, I was hoping to 'port it
into something modern - VB, VB.NET, Powerbasic, not sure what other flavors
would be "easy" for me to understand. The original progams are available as
text files, that would be easily copied or rewritten. The original set was
written as 90+ stand-alone programs, of which a set of 4 are a
split/overlay, as one program grew too big for the environment, and I split
it into a base with 3 overlays. I don't need to convert more than 25 - but
if I could get one, the rest would be easy.
I have looked at PowerBasic, and a couple of others. I must have "writers
block" - having a DIFFICULT time trying to get my brain around the
differences in the languages. I was hoping that one of the Basics would be
easier for me - but am drawing a blank.

I appreciate all the comments, and have learned some new things. I am a MS
network Admin, 15 years experience, can set up MS servers, Novel, and MS
workstations, and use VB scripting for logons, many other purposes. Far
from stupid, but as to what should be an easy task - feel real dumb!

Randy Reimers

"Michael Mattias" <mm******@talsystems.comwrote in message
news:K3*************@nlpi070.nbdc.sbc.com...
>
"DAVID" <da***@nospam.nspamwrote in message
news:uo****************@TK2MSFTNGP03.phx.gbl...
>>
But porting a big overlay program to MS Basic
would be just as difficult.

Actually it would be silly. MS-BASIC would be an incredibly poor choice of
target languages to serve as a destination for such a project.

But... if one has one's heart set on using MS-BASIC for this project,
better to start with a clean sheet of paper and rewrite the application
completely.

MCM


Jul 27 '07 #28
Traditionally, conversions have always been hard. I expect that you might
have better luck running a DOS Virtual PC to host your application. I have
written some very large programs (even OS-level utilities) in MS-BASIC,
others in CBASIC and others in HP BASIC--I would not try to convert this
code past the next version as there are too many disconnects between the
versions. It's also more than the language that's changed. The concepts and
logic have changed since those languages were in use. Yes, I agree, you need
to start from scratch... or run in a VPC.

Good luck
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant, Dad, Grandpa
Microsoft MVP
INETA Speaker
www.betav.com
www.betav.com/blog/billva
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
Visit www.hitchhikerguides.net to get more information on my latest book:
Hitchhiker's Guide to Visual Studio and SQL Server (7th Edition)
and Hitchhiker's Guide to SQL Server 2005 Compact Edition (EBook)
-----------------------------------------------------------------------------------------------------------------------

"Randy Reimers" <rr**********@hotmail.comwrote in message
news:uo**************@TK2MSFTNGP03.phx.gbl...
From the OP: (me)
Just trying to help a friend from way back, get them the ability to run
their present Basic code (or modified, or rewritten, or....) on "new"
PCs - XP class or so. Not trying to port to MS Basic, I was hoping to
'port it into something modern - VB, VB.NET, Powerbasic, not sure what
other flavors would be "easy" for me to understand. The original progams
are available as text files, that would be easily copied or rewritten.
The original set was written as 90+ stand-alone programs, of which a set
of 4 are a split/overlay, as one program grew too big for the environment,
and I split it into a base with 3 overlays. I don't need to convert more
than 25 - but if I could get one, the rest would be easy.
I have looked at PowerBasic, and a couple of others. I must have
"writers block" - having a DIFFICULT time trying to get my brain around
the differences in the languages. I was hoping that one of the Basics
would be easier for me - but am drawing a blank.

I appreciate all the comments, and have learned some new things. I am a
MS network Admin, 15 years experience, can set up MS servers, Novel, and
MS workstations, and use VB scripting for logons, many other purposes.
Far from stupid, but as to what should be an easy task - feel real dumb!

Randy Reimers

"Michael Mattias" <mm******@talsystems.comwrote in message
news:K3*************@nlpi070.nbdc.sbc.com...
>>
"DAVID" <da***@nospam.nspamwrote in message
news:uo****************@TK2MSFTNGP03.phx.gbl...
>>>
But porting a big overlay program to MS Basic
would be just as difficult.

Actually it would be silly. MS-BASIC would be an incredibly poor choice
of target languages to serve as a destination for such a project.

But... if one has one's heart set on using MS-BASIC for this project,
better to start with a clean sheet of paper and rewrite the application
completely.

MCM


Jul 28 '07 #29

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
2470
by: mustafa | last post by:
Dear sir , I have built my application in visual basic 6.0 and crystal Report8.5 , Now i migrated my application to VB.net using the upgrade wizard.My visual basic form is upgraded to vb.net...
1
1314
by: shula | last post by:
I am trying to do what I thought was fairly simple - convert an ancient version of access to access2000. I have to convert it to make changes as we only have access 2000 on any of our computers...
2
1346
by: Penn | last post by:
Hi, Has anyone converted from 2.0? Let me know how it went - and if there is a good reference for converting the code in addition to the database. - SH
3
2598
by: JMCN | last post by:
hello i am in the midst of converting all of the "inherited" databases from access 97 to access 2000. one of the issues i have is the basic one: dao.recordset. i have read that i need to simply...
8
2216
by: Michael B. Trausch | last post by:
I was wondering if anyone has had any experience with this. Someone I know is trying to move away from Microsoft Works, and I am trying to look into a solution that would convert their data in a...
4
3065
by: Chris Asaipillai | last post by:
Hi there My compay has a number of Visual Basic 6 applications which are front endeed onto either SQL Server or Microsoft Access databases. Now we are in process of planning to re-write these...
1
1701
by: Vivienne | last post by:
Hi, I am using a c# library in my c++ project. so I have to convert a basic string to System::string to make use of a function that takes System::String as argument. I did it like this: ...
4
6486
by: Ramesh | last post by:
Hi, I need to convert unsigned long data to a std::string, I googled a bit to see if the string class supports any methods to achieve this - but didnt find any, I think of using sprintf and...
0
6967
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7142
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7181
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
6847
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
5445
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
4875
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
3078
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
1383
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
618
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.