Brooks Computing Systems Delphi Blog Headline Animator

Monday, October 18, 2010

BCS Delphi XE Code Generation Abstract

The BCS Delphi source code generator produces bug free source code that allows the technician a jump start on projects. The .pas, .dfm, .dpr and .proj source code files are created. If the technician selects to generate a component based on the source code then the nnnpk.pkg, nnn.pk.proj, nnndp.pas files are created which allows the installs the newly created code onto a VCL component palate as a component. Simultaneously a component tester is also generated which allows testing of the newly installed component.

Typically the technician will work with the stand alone executable version of the generated code until the desired functionality is attained. Then the component project would be invoked. After the component is installed the component tester would be invoked to test the newly installed component.

Some of the consideration for writing a Delphi XE source code generator.

A sub directory processor must be available. The target sub directory will be created if it does not exist. The code generator should terminate if code is being requested for an existing sub directory.

For source code tailoring there must be a facility to find and replace all occurrences of certain text strings.

For project (.proj) files a facility to create GUID's is required to make the projects viable as designed by Ebmarcadero.

A facility to read skeleton source code is required. The source code is updated and a facility to write the newly created source code to the target directory and respective file.

A copy facility must be available to handle known resource files.

Friday, October 15, 2010

BCS Delphi XE Source Code Generator

Hello Folks,

We have launched a new project dedicated to Delphi XE Source Code Generator! The project may be found at the link below.

http://sourceforge.net/projects/bcsxescgen

Click here to view the video tutorials and documentation.

Please feel free to contribute to this project in ways you deem necessary.

Support This Project

Thanks
Arch Brooks

Tuesday, October 12, 2010

Delphi XE And TurboPower's Orpheus

After installing Delphi XE successfully the first priority should be to install TurboPower Orpheus. Go to the location where Orpheus in stored and employ your favorite technique to install components and install the entire suite.

When you start development on a VCL form make sure all the Orpheus tabs appear.

Monday, October 11, 2010

Mofik - Hocas Pocas

I have downloaded Morfik 3.0 for pascal (Delphi). Their marketing strategy hides the fact they need $499.00 for registration of the base package and another $499.00 for full support.

That brings the total to $998.00 before taxes.

When I contrast this with Adobe Flash Builder 4 $699.00 the obvious choice is very clear. There is no java support in Morfik and there is no fast binary data delivery system. Flash Builder 4 delivers true platform independent RIA's without a doubt. On the other hand Morfik has some 'splanin to do. Do not fall for the Morfik hype!

Overall the Morfik solution is too expensive for what is delivered!

Wednesday, October 6, 2010

Functional Spec For BCS Delphi Tidy

With this and any other project if the technician is unable document the solution (in plain English) they certainly will not be able to code and implement the solution.

This level of documentation forces the technician to examine the problem and solution thoroughly before any coding commences. We will dispense with Programming 101 for now and proceed to the task at hand.

The functional spec is here http://delphi.bcsjava.com/2010/10/anatomy-of-delphi-object-pascal-source.html .

I wait your input and response to this specification.

Thanks A Ton,
Arch Brooks

Friday, October 1, 2010

Anatomy Of Delphi Object Pascal Source Code

Before continuing make sure to format your source code so it at least adheres to the specification established via the IDE. This makes subsequent tidying much more succinct.

Programs and units comprise Object Pascal applications. This phase of the Delphi Tidy program will address primarily the unit as opposed to the program. Tidy for program source code will commence shortly after the Delphi Tidy for units is complete.

Generally there are two main sections to Delphi 2010 unit source code they are the interface and implementation sections respectively.

The interface section structure is different from the implementation section. The interface section deals primarily with the classes and their associated variables properties and various housekeeping.

The implementation section deals with variables and the actual methods and functions of the associated class(es).

Sub sections of the interface section are as follows:

1. Any code preceding the uses declaration. This would include the unit, interface code. This code typically will not need any tidying. This should be stored intact and retrieved when all tiding is complete and the output source is to be produced.

2. The uses statement should appear on a single line. The actual module names appear after the units declarative. These module names should be unstrung based on comma and or space separators, sorted in ascending sequence and reconstructed to fill the code block to acceptable specifications.

3. The next section should consist of the code proceeding the complete uses statement up to the first class declaration. The class of course concludes with the end declarative. The class name should be extracted because it will be used as a key in subsequent procesing.

a) The first subsection would include all code below the class statement up to the first procedure declaration. These component contents should be sorted in ascending alphabetical order and if comments do not exist a blank comment will be inserted for each entry.

b) The next subsection would include procedures functions and any codes before the private directive. These codes should be sorted in ascending alphabetical order. These declarations will be kept in tact and the procedure name will be extracted and used as a key for each entry.

c) The next subsection would include private variable declarations. They will include everything below the private declarative until the first function or procedure in the private declaration area. Any variable declared without comments will be furnished with comments.

d) The next subsection would include all functions and procedures up to the public declarative. These functions and procedures should be sorted in ascending alphabetical sequence.

e) The next subsection would include all entries after the public directive through the end directive for the class. These entries are sorted in ascending order.


This process will repeat until all classes in the implementation section are converted.

4. Any local variables should be sorted in ascending alphabetical order and if comments are not in place a blank comment will be inserted. Repeat this process until the implementation directive in encountered.

5. The implementation section should be kept in tact up to the first procedure or function is encountered. The application must be intelligent enough to accommodate any documentation prior to and after its formal implementation. The documentation and all code is kept in tact until the next procedure or function is detected. If the documentation does not exist it should be initiated and inserted in a rough in style of coding. The procedure or function name of code section must be extracted and stored as it will be used as a key for insertion into the database and subsequent ordering of the implementation section. This process is repeated until the “end.” directive is encountered.

This is the initial program specification for the BCS Delphi Tidy Project. It is a work in progress. The document will be finalized after team members have reach a consensus.

BCS Delphi Tidy Application Launch

This application should restructure Delphi source code so that various code sections are sorted in ascending alphabetical sequence.

Of course there are may avenues of approach to this problem. So far I leaning towards the tabling of sections and leveraging the DBMS to order the information by keywords the restore code snippets in sequence to produce the BCS Delphi Tidy version of the project.

Please feel free to offer alternate ways of achieving this.

Project Home Page

Support This Project

Welcome Everyone

This blog is designed to support application development using the Delphi programming language.

We hope the information contained here will be useful to you.

Sincerely,
Arch Brooks