BCS Delphi XE8 Relocate Files


There are those time when you need to relocate files from one directory to another.  This application does just that while allowing the end user to select the input and target sub directories.
ms01
First the user must select the input directory.
ms02
The user will then select a destination directory and all the files in the root of the sub directory are copied.  If you would like to traverse all sub directories you must change the existing option.

A 32 bit executable program may be downloaded by clicking here.
A 64 bit executable program may be downloaded by clicking here.
The component documentation can be found by clicking here.
The source code may be found by clicking here.

Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC authored this article.

BCS Delphi XE8 File Viewer


There are those time when the programmer just needs to view the source code for a quick reference.
fv01
This application allows the user to select the directory to begin viewing.  If they land on a file they would like to execute simply invoke the popup menu and execute the selected fie.
fv02
The list populated and when you click on a file specification the text will appear in the View File tab.

The application asks you for the extension via the dialog below.
fv04
Click on any file spec in the list and the associated text will appear in the View File tab.
fv05
To execute the file invoke the popup and select the associated menu item.
fv03

A 32 bit executable program may be downloaded by clicking here.
A 64 bit executable program may be downloaded by clicking here.
The component documentation can be found by clicking here.
The source code may be found by clicking here.

Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC authored this article.

BCS Delphi XE8 Windows Explorer Launcher


There are those time when the Windows Explorer is required and for those time this application lets you select the initial directory and then launches Windows Explorer in the selected directory.
we01
Initiate the process by clicking on the Windows Explorer Execute menu item.  The next dialog you will see will prompt you for an initial sub directory.
we02
After the dialog is successfully navigated the following window explorer session will being.
we03
This is just a handy tool for utilizing the Windows 10 Explorer.

A 32 bit executable program may be downloaded by clicking here.
A 64 bit executable program may be downloaded by clicking here.
The component documentation can be found by clicking here.
The source code may be found by clicking here.

Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC authored this article.

BCS Browse MySQL Tables


There are those time when it is necessary to manage a MySQL database management system.
bt01
Create a database and import the alias table associated with this application.  When the application sees an empty table it dynamically populates the table with every table in the MySQL database.  You added or deleted tables from the database?  No problem.  Truncate the table in its entirety and start the application.  Those modifications are instantly reflected.

When the user positions the database via the popup a dialog appears that contains unique alias for the entire database.

bt02
Double click on the alias you would like begin with and the application positions the database to the first entry for that alias.

When the Browse Table option is invoked via the pop up menu the following dialog appears.
bt03
This process should be completed until all desired data tables have been viewed.  This application is just a initial example of how to manage MySQL relational database management system.

-- phpMyAdmin SQL Dump
-- version 4.3.7
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Sep 23, 2015 at 05:50 PM
-- Server version: 5.6.17
-- PHP Version: 5.5.12
 
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
 
 
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
 
--
-- Database: `mydb`
--
 
-- --------------------------------------------------------
 
--
-- Table structure for table `ail`
--
 
CREATE TABLE IF NOT EXISTS `ail` (
  `id` int(11) NOT NULL,
  `ail` varchar(125) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=345 DEFAULT CHARSET=latin1;
 
--
-- Indexes for dumped tables
--
 
--
-- Indexes for table `ail`
--
ALTER TABLE `ail`
  ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `ail` (`ail`);
 
--
-- AUTO_INCREMENT for dumped tables
--
 
--
-- AUTO_INCREMENT for table `ail`
--
ALTER TABLE `ail`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=345;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

A 32 bit executable program may be downloaded by clicking here.
A 64 bit executable program may be downloaded by clicking here.
The component documentation can be found by clicking here.
The source code may be found by clicking here.

Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC authored this article.

BCS Delphi XE8 Document Directories


There are those times when it is helpful to document the contents of sub directories containing developed software.  This application provides all the necessary communications to document and report any available sub directory.

dd01
To create a new entry simply click on the “+” button of the database navigator and the application will prompt you through the data entry process.

The first task it to select the sub directory.
dd02
Next the application will prompt you for  short description.
dd03
The record has been inserted and the only remaining task is to enter the detailed description by clicking on the Detailed Description tab and key in the data.

dd04
Notice the sub directory and short description is displayed above so the user will not have to leave this tab to review what sub directory and short description is being documented.

Notice also that the file specification is replaced by the sub directory name.  This happens because now when you click on the grid the directory is fetched and the file contents of the directory is mane available in the “View File Contents” tab.

Navigation is accomplished by invoking a popup or by double clicking on the file list box control.  Below is the popup.
dd05
If you double click on the file list you get the following dialog.
dd06
Traverse the options then double click on the desired option to return to the calling application.

You may also view the contents of any file by selecting the view option.
dd07
The maintenance log is available for the documented application by clicking on the Maintenance Log tab.
dd08
To add a new maintenance item via the pop up menu.  Conversely to send the copy of the documentation select that option from the pop up menu.
dd09

The structure for the associated data table is listed below.

-- phpMyAdmin SQL Dump
-- version 4.3.7
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Sep 18, 2015 at 05:23 PM
-- Server version: 5.6.17
-- PHP Version: 5.5.12
 
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
 
 
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
 
--
-- Database: `bcsra`
--
 
-- --------------------------------------------------------
 
--
-- Table structure for table `sdoc`
--
 
CREATE TABLE IF NOT EXISTS `sdoc` (
  `id` int(11) NOT NULL,
  `sdes` varchar(125) NOT NULL,
  `sdir` varchar(255) NOT NULL,
  `doc` mediumtext NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
 
--
-- Indexes for dumped tables
--
 
--
-- Indexes for table `sdoc`
--
ALTER TABLE `sdoc`
  ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `sdir` (`sdir`);
 
--
-- AUTO_INCREMENT for dumped tables
--
 
--
-- AUTO_INCREMENT for table `sdoc`
--
ALTER TABLE `sdoc`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

The structure for the associated extensions and actions table is listed below.

-- phpMyAdmin SQL Dump
-- version 4.3.7
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Sep 22, 2015 at 04:04 AM
-- Server version: 5.6.17
-- PHP Version: 5.5.12
 
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
 
 
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
 
--
-- Database: `bcsra`
--
 
-- --------------------------------------------------------
 
--
-- Table structure for table `ext`
--
 
CREATE TABLE IF NOT EXISTS `ext` (
  `id` int(11) NOT NULL,
  `ext` varchar(75) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;
 
--
-- Indexes for dumped tables
--
 
--
-- Indexes for table `ext`
--
ALTER TABLE `ext`
  ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `ext` (`ext`);
 
--
-- AUTO_INCREMENT for dumped tables
--
 
--
-- AUTO_INCREMENT for table `ext`
--
ALTER TABLE `ext`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=11;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

A 32 bit executable program may be downloaded by clicking here.
A 64 bit executable program may be downloaded by clicking here.
The component documentation can be found by clicking here.
The source code may be found by clicking here.

Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC authored this article.

BCS Delphi XE8 Application Launcher


There are those times when you need to quickly move around the hard disk to locate files.  Since the file appears in the File Specification tab double click to launch it associated application.
dmn01
Click on the Select Sub Directory menu item and the following dialog appears.
dmn02
Click the Select Folder button and the Sub Directories tab is populated with the contents.
dmn03
Click on the sub folder name and the contents of the selected sub folder appears in the File Specifications tab after the user selects the desired extension.
dmn04
Double click on the desired extension and the File Specification tab is populates.
dmn05
When the highlighted item is double clicked the associated application is initiated and processing continues in that application.

A 32 bit executable program may be downloaded by clicking here.
A 64 bit executable program may be downloaded by clicking here.
The component documentation can be found by clicking here.
The source code may be found by clicking here.

Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC authored this article.

BCS COBOL Source Code Generator for PS IO


This application generates COBOL source code to perform physical sequential IO.  This code generator will produce flawless COBOL source code that is already tested.
gpsio
Simply key in a program name then the name of the data file and supply the logical record length of the records in the file.  With those three pieces of information a complete flawless COBOL program is generated.

A32 bit executable program may be downloaded by clicking here.
A 64 bit executable program may be downloaded by clicking here.
The component documentation can be found by clicking here.
The source code may be found by clicking here.

Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC authored this article.

BCS File To String Collection


This application will take lines from a text file and wrap string collection source code around it so lines in a text file can easily be loaded into a collection of strings.
dtoc
This approach eliminates the requirement for external source code file skeletons.  The source code skeleton in contained in the string collection.

A 32 bit executable program may be downloaded by clicking here.
A 64 bit executable program may be downloaded by clicking here.
The component documentation can be found by clicking here.
The source code may be found by clicking here.

Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC authored this article.

BCS COBOL Sequential IO


COBOL programming is far from dead.  With the latest innovations and the addition of object-oriented COBOL the COBOL dialect can take its place among the industry leaders in software creation.

Here is an example of a COBOL mainline.

program-id. mprog as "mprog".
 
       environment division.
       configuration section.
 
       data division.
       working-storage section.
       01 rb pic x(80).
       01 fsw pic x.
 
       procedure division.
      *      perform 0010-create-records.
             perform 0020-8080-repo.
 
           goback.
 
       0010-create-records.
           call "IO01b".
           move "Rec One" to rb
           call "IO01d" using rb.
           move "Rec Two" to rb
           call "IO01d" using rb.
           move "Rec Three" to rb
           call "IO01d" using rb.
           move "Rec Four" to rb
           call "IO01d" using rb.
           move "Rec Five" to rb
           call "IO01d" using rb.
           call "IO01e".
 
       0020-8080-repo.
           call "IO01a" using fsw.
           call "IO02b".
           perform 0030-repro until fsw = "x".
           call "IO01e".
           call "IO02e".
 
       0030-repro.
           call "IO01c" using rb fsw;
           if fsw = ' '
               call "IO02d" using rb.
 
       end program mprog.

You may notice the mainline is comprised of perform and call statements. This approach emphasizes concise re usability of COBOL.

The first subroutine is listed below.

IDENTIFICATION DIVISION.
       PROGRAM-ID. "IO01".
       AUTHOR.  Arch Brooks.
      * Example program to show how to utilize PS IO
 
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT Seq-File ASSIGN TO "SEQ.DAT"
       		ORGANIZATION IS LINE SEQUENTIAL.
 
       DATA DIVISION.
       FILE SECTION.
       FD Seq-File.
       01 SeeqRec.
          05  filler  pic x(80).
 
       Linkage Section.
       01  buf-area pic x(80).
       01  eofsw pic x.
 
       PROCEDURE DIVISION.
 
       entry "IO01a" using eofsw.
           open input Seq-File.
           move " " to eofsw.
           goback.
 
       entry "IO01b".
           open output Seq-File.
           goback.
 
       entry "IO01c" using buf-area eofsw.
           read Seq-File into buf-area at end move "x" to eofsw.
           goback.
 
       entry "IO01d" using buf-area.
           Write SeeqRec from Buf-Area.
           goback.
 
       entry "IO01e".
           close Seq-File.
           goback.

The final subroutine is listed below.

IDENTIFICATION DIVISION.
       PROGRAM-ID. "IO02".
       AUTHOR.  Arch Brooks.
      * Example program to show how to utilize PS IO
 
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT Seq-File ASSIGN TO "RAT.DAT"
       		ORGANIZATION IS LINE SEQUENTIAL.
 
       DATA DIVISION.
       FILE SECTION.
       FD Seq-File.
       01 SeeqRec.
          05  filler  pic x(80).
 
       Linkage Section.
       01  buf-area pic x(80).
       01  eofsw pic x.
 
       PROCEDURE DIVISION.
 
       entry "IO02a" using eofsw.
           open input Seq-File.
           move " " to eofsw.
           goback.
 
       entry "IO02b".
           open output Seq-File.
           goback.
 
       entry "IO02c" using buf-area eofsw.
           read Seq-File into buf-area at end move "x" to eofsw.
           goback.
 
       entry "IO02d" using buf-area.
           Write SeeqRec from Buf-Area.
           goback.
 
       entry "IO02e".
           close Seq-File.
           goback.

Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC authored this article.