KIA Kylix Project Page for LINUX programming using Borland's Kylix compiler to develop programs for Amateur Radio

| Home Page|

Beta executable example Amateur Radio oriented programs available now...source code to follow. I need input whether the applications work on Linux distributions other than RedHat 9. If you download, I would appreciate an e-mail describing success or failure. Your comments will be greatly appreciated. I'll release the Kylix source code when I can establish that the programs are deploying properly. Thanks.

 

UNDER CONSTRUCTION

Kylix 3 OpenSource Kylix 3 OpenSource is a GPL version of Borland's Kylix compiler. It comes with a limited set of visual controls, however, more than enough to do some significant programming. Kylix 3 OpenSource does not cost anything though I hesitate to say it is free. Kylix is available for download from Borland. It is a large file, over 50 Mb. Register Kylix 3 OpenSource with Borland to get the operational key. Supplementary visual controls are available from SourceForge. Installation instructions for the supplementary stuff is not exhaustive. In fact, the instructions for the supplementary stuff leave a lot to be desired. I do not have supplementary controls loaded since I have not been able to figure out how to load them on RedHat. Borland requires Kylix 3 OpenSource developers make applications created using Kylix 3 OpenSource available under the GPL license if the program will be widely distributed. If you want to develop a commercial program, get the expensive version of Kylix.

Once loaded, Kylix 3 OpenSource works fairly well. The significant problem is getting programs you develop to work with PCs using different Linux versions! (see below) Borland's documentation is very poor in this area, probably because this is a complicated process. Kylix has both a C++ and a 'Delphi' Pascal compilers. I got both to load but have not been able to get the C++ to compile (it has problems finding support files).

The Kylix compiler is certified by Borland to work on only a few Linux versions. The compiled programs should execute on all flavors of Linux (but I don't know) according to Borland. I have RedHat 9. I got the Kylix compiler to work after considerable effort (It is certified on RedHat 7). I was not able to find out what other versions of Linux Kylix 3 OpenSource is compatible with. I know the Kylix compiler will not install with Knoppix or Linspire. Borland does not provide active support to the OpenSource version of Kylix and information is not generally available elsewhere (see the efg2 web site for help). A shame, because it is relatively easy to use the Delphi like compiler so Kylix has a strong potential for Amateur Radio application building.

 

Linux and Kylix 3 OpenSourceThey Deserve Each Other

Linux is hailed by some as a better operating system than Windows. I ask the question, in what way? I know, at least many flavours of Linux, are FREE and Linux requires less memory to operate than Windows. Security is supposed to be better. Use Linux to surf the web using a network or DSL and with the programs that come with your distro-- of course it works pretty good. Using Linux for what I want is a large headache. Pay $100 more and upgrade your copy of Windows 95 or 98 to Xp Home and you probably will be happier. Do you want to use a modem or add new applications? Then you need a talented Elmer, hopefully a Linux certified software engineer, to help you find your way. Many if not most Winmodems won't work (I've tested 3). Getting those modems that should work to actually work involves a scavanger hunt of the Web. Adding a new program, well, it depends which distro you have. Distro? Yes, you have to learn the jargon. Read the documentation, it's easy say the Linux gurus. Do you comprehend Greek? Most of the documentation is written by individuals possessing an intimate knowledge of this stuff and that is the start of a significant problem to a novice to Linux. My experience is that the installation documentation for most of the 'free' programs of interest to a radio amateur is poorly written. Written by experts for experts? Yes. Linux program developers writing software for Amateur Radio just do not provide detailed instructions without the jargon. Better security, perhaps. Linux's convoluted, many flavoured file system probably does provide better security. Hackers never know where critical files are stored. This feature also makes it difficult to provide a distribution that will work with all Linux distributions. Determined to go ahead? Good luck!

I loaded Linux, at the urging of a friend, none the less. Armed with over 20 years of using UNIX in the workplace, I figured working with a Linux distro could not be that bad. I contemplated writing programs using Kylix 3 OpenSource. Since I have four years experience with Delphi, I thought I had sufficient background. I discovered Kylix 3 OpenSource is fussy, very fussy and that the many Linux flavours create a programing/distribution nightmare. Yes, it can be overcome-I am still trying and am hopeful.

A Kylix version of a comparible Delphi application is about twice as large when compiled. The Kylix application may need up to more than 5 Mb of 'helper' files to provide the library support needed to execute a small application on some distros. Can someone explain how to 'link' files in simple language? Borland indicates that simple Kylix programs will run with just the executable. Have you seen/heard Gershwin's opera Porgy and Bess? What I discovered is that "it ain't necessarily so." You may get to development and distribution if you are actually able to load Kylix 3 OpenSouce. The technical writing class I attended recommended that documentation should define the jargon before describing the procedure. The introduction should be followed with a concrete example when explaining how to do something. Someone at Borland did not. I looked everywhere for supplemental information. This is easy? Then consider, why is there such a paucity of Kylix example code on the Borland web site or anywhere on the web? The Kylix compiler has been available for over 4 years and programs developed with the OpenSource version, unless used soley for personal use, should at least be available under the GPL. I admit, developing a program with Kylix is quite easy once the compiler is loaded. Figuring out how to distribute the program you develop will irritate you. If you get an application running, it will run nicely on your PC (and perhaps only your PC).

The following programs might work on your distro (distribution) of Linux. I only used the basic visual controls so I did not provide any library files (Borland suggests they are not necessary ). I hope so.. If you get one of these applications running with your distro, I would appreciate an e-mail documenting your success, especially if you do not have a copy of Kylix installed. I will post a list of the distros that appear user friendly to give confidence to others. Both the source and application may be downloaded, subject to the GPL. These applications work with my copy of RedHat 9 and with Kylix installed on the PC.

Simplified installation of example programs:

(1) Put both the application and the data file into a folder using drag and drop. Probably /home/user is the best place where 'user' might be 'user' on your Linux installation or it might be your name or whatever you chose for your home directory on installation of your distro. Make sure that the read-only attributes of the files included are not set (especially for the supplementary files).

(2) Left clicking on the application executable file icon starts the program on my copy of RedHat. If the application does not work, it is

A) because Kylix library files are required and I don't provide them,

B) The Kylix application is NOT compatible with your 'distro',

C) a file needs to be 'linked' or a script needs to be written to get the application started (unfortunately, I do not know how to accomplish this).

My example applications do not work with either Knoppix 3.2 or 3.4 (Knoppix is the 'run from CD ROM version' of Linux). Perhaps I don't know enough and someone has discovered the trick. Good luck!

 

Remember, this is for fun.

73,

Steve, WB5KIA

 

KIA Bearing/Distance Beta is a Linux port of a program to calculate bearing and distance between any two Maidenhead grid squares, or latitude or longitude, using a oblate Earth model (as compared to WB5KIA Bearing/List described below that uses a simplified spherical Earth model). Bearing/Distance is slightly more accurate, about +/- 0.3 percent versus Bearing/Lists's +/- less than 1 percent. It is possible to calculate beam heading and distance using either the Grid Squares or actual latitude and longitude. Since the program calculates the distance between the centers of the subgrid square defined by the 5th and 6th characters of a 6 character Maidenhead grid designator, calculations are not as precise as using the actual latitude and longitude. Consider that the two point could be several kilometers away from the center of the grid and introduce a huge error over short propagation paths, which is not the case whilst using latitude and longitude.

Download Bearing/Distance Source Code NOT YET AVAILABLE program is converted and will be uploaded shortly.

Download Bearing/Distance Application download the beta version I will release the source once I establish that the beta version of the program actually executes on several different distros. If you get it to work (or not), please let me know at the address indicate above with the yellow smiley. Thanks.

 

WB5KIA Bearing/List BetaThis is a Windows to Linux port of a program derived from an article discussing Windows programming from the March and April 2004 issues of QST magazine (see the Delphi pages). The simple application is a combination of the Bearing/Distance and List utilities described in QST. For more locations to populate the SMALOC.TXT file you might try: http://geography.about.com/gi/dynamic/offsite.htm?site=http%3A%2F%2Fwww.bcca.org%
2Fmisc%2Fqiblih%2Flatlong.html or a standard atlas (be sure to change the deg,min,sec format to decimal deg. and use the correct sign!)

The country file that is used with the shareware CT DOS logging program is a text file. It has coordinate information that can be used if one modifies the file or the source code. K1EA released the CT program into the public domain in late 2003 ...www.k1ea.com

Download Bearing/List Source Code NOT YET AVAILABLE program is converted and will be uploaded shortly.

Download Bearing/List Application download the beta version. I will release the source once I establish that the beta version of the program actually executes on several different distros. If you get it to work (or not), please let me know at the address indicate above with the yellow smiley. Thanks.

 

KIA LogBook
KIA LogBook demonstrates techniques to build your own logging program using the Kylix OpenSource controls. I have a logger program my son loves that uses db-IV tables and sql. That application comes close to a commercial program. This one doesn't. I share what I have learned about building a logging program using the introductory compilers. You can have fun with the introductory compilers and write a workable logging program for your next state QSO party or whatever.

The only other source code for a 'full featured' logger on the Internet, as this is written, appears to be the VB6 project by N1MM. It is in Visual Basic for Windows. Nice program. The source is lots of code and is a wonderful resource for advanced programming techniques. It is difficult for a beginner to understand the source. You do need VB6 Pro to read the N1MM Access logbook. If you are a more advance programmer in VB, check out his site instead of this project. Tom has the Corvette, this is an Escort. Both Tom and I are willing to share our code.

I'm not a professional programmer so my code can certainly be improved. Most of the code works quite well though a professional might have a more clever or staight forward solution. I'll post inprovements to the project if I receive them from readers.

KIA LogBook is a simple framework. It is NOT a final product. There is some error control, not a lot. It has a dupe checker, a partially implimented contest multiplier check sheet and elementary provisions to print the log. It can retrieve saved logbooks from a list, keeps track of QSO numbers and previous log contact information can be modified. If you don't like how something works, you can modify the code with your own methodology. If you are not satisfied with the screen, shift the controls around for your own preferences. If you need a larger font, make the existing font larger.

 

Download Kylix Logger Source Code NOT YET AVAILABLE and possibly never

Download Kylix Logger Application NOT YET AVAILABLE and possibly never.

 

ADIF FILES

Reluctant to use a homebrew logging program because the files aren't compatiblewith your CT, EQI or other program? ADIFand Delphi/VB make it 'simple' to exchange logbook information with any logger having ADIF file conversion capabilities!

ADIF is the file transfer protocol used by the proposed "Logbook of the World" and most commercial and shareware amateur radio software developers to exchange log data between programs.

The following Delphi code converts KIA LogBooks to ADIF files. Modify the code to work with your own logger's format. With very minor modifications, similar algorithms will work with virtually any ASCII based logging file. With a little more work, it can work well converting dbf files. I haven't tried to write the code to convert Access logbooks. As written, the utility reads your KIA Logbook Project and gives a choice of writing an ADIF file to disk or just post the conversion in a memo. It converts BOTH the Delphi and Visual Basic versions of the KIA LogBook. Since Delphi source can be read with a text editor, Visual Basic users should be able to modify the algorithm to do the conversions with VB. If you are a VB user but can't get it converted, send me an e-mail and I will send you an exe file (it will only work with the LogBook file format as originally written, however.) If you are a VB user and make the conversion, others would probably appreciate using your code. Send me a copy of your code and I will post it or provide a link to your web-site. Download KIA-ADIF NOT YET AVAILABLE and only after KIALogbook is distributed.

Get free Delphi beta code to change files from CT, EQF and other ADIF compattible loggers into KIA LogBook Project files by E-mailing me with the words 'ADIF files' in the subject line. I'll send you the beta Delphi algorithm(s) I have so far.

Visit http://hosenose.com/adif/adif.html for complete ADIF specifications.

 

 

Back to Top

 

Kylix
The Kylix version uses a StringGrid for the log in memory. It works but it probably would have been better to use a dynamic array for the log in memory and typed fields.

Comments/suggestions
Comments/suggestions go here

 


Back to Top


 

Back to Top

 

Suggestions from Other Programmers

 

Back to Top

updated 13 December 2004