I can only give a rough estimate. There are about 16 forms with 171 kB, about 25 PAS files with 491 kB, and about 9 database files in dBase4 format. The main PAS file has about 1200 lines and is 40 kB. So I estimate the 491 kB of all files would be about 15,000 lines. But that includes a lot of whitespace, comments, and some unused code.
Here is the project file:
program Ortmaster;
uses
Forms,
SysUtils,
Windows,
OrtImage in 'OrtImage.pas' {fmOrt560},
OrtData in 'OrtData.pas' {fmReclData},
OrtResults in 'OrtResults.pas' {fmOrtResults},
OrtCurve in 'OrtCurve.pas' {fmOrtCurve},
OrtMain in 'OrtMain.pas' {fmOrt},
OrtHelp in 'OrtHelp.pas' {fmOrtHelp},
OrtUpdate in 'OrtUpdate.pas',
hh_funcs in '..\delphikit\hh_funcs.pas',
hh in '..\delphikit\hh.pas',
Comm in '..\PStechLib\Comm.pas' {fmComm},
Debug in '..\PStechLib\Debug.pas' {fmDebug},
Waveform in '..\PStechLib\Waveform.pas' {fmWaveform},
xygraph in '..\PStechLib\xygraph.pas',
DelayForm in '..\PStechLib\DelayForm.pas' {fmDelay},
VersionInfo in '..\PStechLib\VersionInfo.pas',
OrtDatabase in 'OrtDatabase.pas' {fmOrtDatabase},
Setup in '..\PStechLib\Setup.pas' {fmSetup},
Cal in '..\PStechLib\Cal.pas' {fmCal},
Pass in '..\PStechLib\Pass.pas' {fmPass},
Delays in '..\PStechLib\Delays.pas',
USB in '..\PStechLib\USB.pas' {fmUSB},
OrtMeter in 'OrtMeter.pas' {fmOrtMeter},
OrtReport in 'OrtReport.pas' {fmOrtReport},
AnalogMeter in '..\PStechLib\AnalogMeter.pas';
// AnalogMeter in '..\PStechLib\analogmeter\AnalogMeter.pas';
{$R *.RES}
var ProgName: String;
begin
Application.Initialize;
ProgName := ExtractFileName (ParamStr(0) );
Application.Title := 'Ortmaster for Windows';
Application.CreateForm(TfmOrt560, fmOrt560);
Application.CreateForm(TfmOrtReport, fmOrtReport);
if Uppercase(Progname) <> 'ORTRUN.EXE' then begin
if ( (ParamCount = 0) or (ParamStr(1) = '!') ) then begin
fmOrt560.Show;
While fmOrt560.Visible do begin
Sleep(100);
Application.ProcessMessages;
end;
end;
end;
fmOrt560.Release;
Application.CreateForm(TfmDebug, fmDebug);
Application.CreateForm(TfmDelay, fmDelay);
Application.CreateForm(TfmSetup, fmSetup);
Application.CreateForm(TfmCal, fmCal);
Application.CreateForm(TfmPass, fmPass);
// Application.CreateForm(TfmOrtMeter, fmOrtMeter);
Application.CreateForm(TfmUSB, fmUSB);
Application.CreateForm(TfmComm, fmComm);
Application.CreateForm(TfmWaveform, fmWaveform);
Application.CreateForm(TfmOrtMeter, fmOrtMeter);
Application.CreateForm(TfmOrt, fmOrt);
// Following three may be created and destroyed as needed
Application.CreateForm(TfmOrtDatabase, fmOrtDatabase);
Application.CreateForm(TfmReclData, fmReclData);
Application.CreateForm(TfmOrtResults, fmOrtResults);
Application.CreateForm(TfmOrtCurve, fmOrtCurve);
Application.CreateForm(TfmOrtHelp, fmOrtHelp);
OrtMain.ProgName := ProgName;
Application.Run;
end.