Hello Ben:
Great information, I concur with the comment on the use of the underscore. I
have got to get R:Class, as I see tremendous potential for application
maintenance. As I see it, basic coding is simple and we all do it basically
the same way; how we set up the code for future maintenance is what makes
all the difference.
When I started programming in the 70's the main cost was the hardware (IBM
360s, Honewells, CDCs, Univacs) and its maintenance, the cost of software
was not considered as it was all custom coded in-house. Now, the cost of
hardware is small compared to the cost of developing and more importantly
maintaining and upgrading software applications.
I have always developed my applications in a modular fashion. If a portion
of code will be used more than once, I write a macro to do it and the call
it from the main program. I have developed a set of utilities (macros) to
perform different task that have greatly cut development time as I use them
extensively. When I converted a large application from DOS to WINDOWS, once
I had these basic utilities converted (to take advantage of the new Windows
features) I had 70% of the conversion done. Forms and Reports are a
different story...
Thanks for the feedback,

Javier Valencia, PE
President
Valencia Technology Group, L.L.C.
14315 S. Twilight Ln., Suite #14
Olathe, KS  66062-4571
(913)829-0888
(913)649-2904 FAX

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
Behalf Of Ben Petersen
Sent: Tuesday, August 20, 2002 2:22 AM
To: [EMAIL PROTECTED]
Subject: RE: Rbase momenclature and codelock issues

Javier,

This is a great thread. Just a couple comments.

To add to Albert's comments, R:Class also keeps a cfg file that
determines which files are used in any particular APP file. So, as
an example, if a file had these two lines:

run maintain.rmd
run invoice.rmd

you could specify that maintain.rmd went to Utilities.app and
invoice.rmd went to AR.app. The APP files that R:Class constructs
would convert the above to:

run maintain in utilities.apx
run invoice in ar.apx

The cfg file serves as a dictionary of sorts listing what file is in
which app. BUT WAIT THERE'S MORE <g>, R:Class will also
document all the calls made in your app.

If you like, R:Code will load all the files in an R:Class cfg, but if you
have many files the Tabs fill too much of the editing window.

As far as naming conventions, I had also gotten away from
underscores, until very recently. I came to the conclusion that:
AR_Invoice
AR_InvoiceDtl
AR_Totals
AR_CusBal
AR_InvAccts
AR_InvSpread
...
was easier to read than w/o underscores. I may have a dozen
prefixes to work with in a larger app, so it's very convenient to
list ar_* and see all my accounts receivable tables and views, the
underscore also helps the wildcard be less ambiguous. I don't use
underscores anywhere else, however.

Ben Petersen





On 20 Aug 2002, at 9:45, Albert Berry wrote:

> Javier, you may want to investigate Dennis McGrath's RCLASS.  It automates
the codelocking procedure.  I have used it for some years for occasions when
I need to codelock, and it works very well. I can even codelock my EEPs in
it by making a dummy command file CodeEeps.EEP which simply contains
any number of rows of RUN ???.EEP. Set the RCLASS cfg to command file
extension EEP and <RCLASS CodeEeps> will put all the eeps into the file.
>
> That said, I more commonly use standalone command files, and for this I
use RCLASS with the /d /s switches which gives me a text file of all the
procedural calls. The /d switch tells RCLASS to create the documentation
files, the /s says stop before codelocking. When it has finished, rclass.$$1
looks like this:
>
> ADMIN.RMD    CHOOSE   ADMIN.MNU
> ADMIN.RMD    RUN      ADMIN1.RMD
> ADMIN.RMD    RUN      ADMIN2.RMD
> ADMIN.RMD    OUTPUT   SOMEFILE.TXT
>
>
>
> "Javier Valencia" <[EMAIL PROTECTED]> wrote:
>
> >Is there an official nomenclature for naming files (extension) that are
used
> >with Rbase.? I am in the process of converting a large application from
> >Rbase 4.5++ DOS to Rbase 6.5++ for Windows and this would be a good time
to
> >rename files if necessary.
> >Having started with Rbase 4000 back in 1986 I have used the following
> >extensions:
> >filename.dat                               Startup files
> >filename.asc, filename.txt           ascii or text command files
> >filename.app                              application files
> >filename.apx                              codelocked application files
> >filename.rex                               codelocked executable files
> >Also, in the past I have stored all the codelocked files in a few large
> >procedure files, by using the option "ADD AN ASCII COMMAND FILE TO A
> >PROCEDURE FILE' (also, menus and screens). The problem that I had in the
> >past is that when I needed to re-codelock one file, the procedure file
kept
> >getting larger and larger as the old code apparently was not erased. I
would
> >have to delete the *.apx file and codelock all the files all over again
(I
> >store the commands in an executable file)
> >Then, to run the particular program I would just code in a program
something
> >like
> >:
> >Run utility1 in myutilities.apx
> >
> >The problem with this approach is that several clients have variations of
> >the individual files and every time I make a change I would have to
> >re-codelock all the files in the application (to reduce size) making it
> >difficult  to keep track of the modifications. The approach that I am
> >considering using is to individually codelock the programs and place them
in
> >separate subdirectories (one for utilities, one for epps, etc.); this
way,
> >if I need to modify one file I only need to re-codelock the one file.
> >Any comment about these approaches?
> >One more issue, is it better to codelock an individual file as part of a
> >procedure file or as binary command file? For example, if I have a
utility
> >to count widgets, (count_widg.txt) Is it better to codelock it to run as:
> >
> >RUN count_widg in utilities\count_widg.apx          ==> (executable in a
> >procedure)
> >OR
> >RUN utilities\count_widg.rex       ==> (codelocked executable file)
> >
> >Are there commands that will not run when codelocked?
> >
> >Any comment will be greatly appreciated.
> >
> >
> >Javier Valencia, PE
> >President
> >Valencia Technology Group, L.L.C.
> >14315 S. Twilight Ln., Suite #14
> >Olathe, KS  66062-4571
> >(913)829-0888
> >(913)649-2904 FAX
> >
> >
>
>
> __________________________________________________________________
> Your favorite stores, helpful shopping tools and great gift ideas.
Experience the convenience of
buying online with Shop@Netscape! http://shopnow.netscape.com/
>
> Get your own FREE, personal Netscape Mail account today at
http://webmail.netscape.com/
>
> ================================================
> TO SEE MESSAGE POSTING GUIDELINES:
> Send a plain text email to [EMAIL PROTECTED]
> In the message body, put just two words: INTRO rbase-l
> ================================================
> TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
> In the message body, put just two words: UNSUBSCRIBE rbase-l
> ================================================
> TO SEARCH ARCHIVES:
> http://www.mail-archive.com/rbase-l%40sonetmail.com/
>


================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: INTRO rbase-l
================================================
TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: UNSUBSCRIBE rbase-l
================================================
TO SEARCH ARCHIVES:
http://www.mail-archive.com/rbase-l%40sonetmail.com/

================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: INTRO rbase-l
================================================
TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: UNSUBSCRIBE rbase-l
================================================
TO SEARCH ARCHIVES:
http://www.mail-archive.com/rbase-l%40sonetmail.com/

Reply via email to