Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
326 changes: 172 additions & 154 deletions Code/RxCommon/Classes/Class_Database_Connections.pas

Large diffs are not rendered by default.

26 changes: 17 additions & 9 deletions Code/RxCommon/Classes/Class_Database_Connections_FrmConnect.pas
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ TSetConnection = class(TObject)
FPassword: string;
FFileName: string;
FintegratedSecurity: Boolean;
FPhysicalFileName: string;
FPort: string;
FBackupPath: string;
public
function Connect(Value:EEditFormType): Boolean;
Expand All @@ -69,8 +69,7 @@ TSetConnection = class(TObject)
property FileName: string read FFileName write FFileName;
property integratedSecurity: Boolean read FintegratedSecurity write
FintegratedSecurity;
property PhysicalFileName: string read FPhysicalFileName write
FPhysicalFileName;
property Port: string read FPort write FPort;
property BackupPath: string read FBackupPath write FBackupPath;
end;

Expand All @@ -89,16 +88,23 @@ function TSetConnection.Connect(Value:EEditFormType): Boolean;
frmConnections := TfrmConnections.Create(Application);
with frmConnections do
try
Label8.Caption := 'Port';
Label9.Visible := False;
rzlBackupPath.Visible := False;
Button2.Visible := False;
chbIntegratedSecurity.Visible := False;
chbIntegratedSecurity.Checked := False;
DisplayEditOptions;
editFormType := Value;
case Value of
etSQL : begin
if Trim(FPort) = '' then
FPort := '3306';
rzlServer.Text := FServer;
rzlDatabase.Text := FDatabase;
rzlUsername.Text := FUsername;
rzlPassword.Text := FPassword;
rzlPhysicalFilename.Text := FPhysicalFileName;
rzlBackupPath.Text := FBackupPath;
chbIntegratedSecurity.Checked := FIntegratedSecurity;
rzlPhysicalFilename.Text := FPort;
end;
etAccess : begin
// edtAccessFileName.Text := FFileName;
Expand All @@ -117,9 +123,11 @@ function TSetConnection.Connect(Value:EEditFormType): Boolean;
FDatabase := rzlDatabase.Text;
FUsername := rzlUsername.Text;
FPassword := rzlPassword.Text;
FPhysicalFileName := rzlPhysicalFilename.Text;
FBackupPath := rzlBackupPath.Text;
FIntegratedSecurity := chbIntegratedSecurity.Checked;
FPort := rzlPhysicalFilename.Text;
if Trim(FPort) = '' then
FPort := '3306';
FBackupPath := '';
FIntegratedSecurity := False;
end;
etAccess : begin
// FFileName := edtAccessFileName.Text;
Expand Down
45 changes: 45 additions & 0 deletions DispenserDLL.dproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{7CFFEB95-4DEC-4B16-AC6E-245A0B9A29A3}</ProjectGuid>
<ProjectVersion>18.1</ProjectVersion>
<FrameworkType>VCL</FrameworkType>
<MainSource>DispenserDLL.dpr</MainSource>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Release</Config>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
<TargetedPlatforms>1</TargetedPlatforms>
<AppType>Library</AppType>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug'">
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
<DCC_DebugDCUs>true</DCC_DebugDCUs>
<DCC_Optimize>false</DCC_Optimize>
<DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
<DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release'">
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
<DCC_DebugInformation>0</DCC_DebugInformation>
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_Optimize>true</DCC_Optimize>
</PropertyGroup>
<ItemGroup>
<DelphiCompile Include="DispenserDLL.dpr">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
<BuildConfiguration Include="Debug">
<Key>Cfg_1</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
<BuildConfiguration Include="Release">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
</ItemGroup>
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')" />
</Project>
45 changes: 45 additions & 0 deletions EvidenceDLL.dproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{2F82FDD7-9EC9-48B4-BF47-C75CEFC8F5FF}</ProjectGuid>
<ProjectVersion>18.1</ProjectVersion>
<FrameworkType>VCL</FrameworkType>
<MainSource>EvidenceDLL.dpr</MainSource>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Release</Config>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
<TargetedPlatforms>1</TargetedPlatforms>
<AppType>Library</AppType>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug'">
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
<DCC_DebugDCUs>true</DCC_DebugDCUs>
<DCC_Optimize>false</DCC_Optimize>
<DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
<DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release'">
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
<DCC_DebugInformation>0</DCC_DebugInformation>
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_Optimize>true</DCC_Optimize>
</PropertyGroup>
<ItemGroup>
<DelphiCompile Include="EvidenceDLL.dpr">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
<BuildConfiguration Include="Debug">
<Key>Cfg_1</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
<BuildConfiguration Include="Release">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
</ItemGroup>
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')" />
</Project>
45 changes: 45 additions & 0 deletions PrescriberDLL.dproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{A53E4A2E-D3F6-434D-8AB2-4E97207CD7CF}</ProjectGuid>
<ProjectVersion>18.1</ProjectVersion>
<FrameworkType>VCL</FrameworkType>
<MainSource>PrescriberDLL.dpr</MainSource>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Release</Config>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
<TargetedPlatforms>1</TargetedPlatforms>
<AppType>Library</AppType>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug'">
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
<DCC_DebugDCUs>true</DCC_DebugDCUs>
<DCC_Optimize>false</DCC_Optimize>
<DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
<DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release'">
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
<DCC_DebugInformation>0</DCC_DebugInformation>
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_Optimize>true</DCC_Optimize>
</PropertyGroup>
<ItemGroup>
<DelphiCompile Include="PrescriberDLL.dpr">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
<BuildConfiguration Include="Debug">
<Key>Cfg_1</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
<BuildConfiguration Include="Release">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
</ItemGroup>
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')" />
</Project>
45 changes: 45 additions & 0 deletions Prescription.dproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{1DD4A431-099E-4BA2-8629-44510FD2B50B}</ProjectGuid>
<ProjectVersion>18.1</ProjectVersion>
<FrameworkType>VCL</FrameworkType>
<MainSource>Prescription.dpr</MainSource>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Release</Config>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
<TargetedPlatforms>1</TargetedPlatforms>
<AppType>Library</AppType>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug'">
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
<DCC_DebugDCUs>true</DCC_DebugDCUs>
<DCC_Optimize>false</DCC_Optimize>
<DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
<DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release'">
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
<DCC_DebugInformation>0</DCC_DebugInformation>
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_Optimize>true</DCC_Optimize>
</PropertyGroup>
<ItemGroup>
<DelphiCompile Include="Prescription.dpr">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
<BuildConfiguration Include="Debug">
<Key>Cfg_1</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
<BuildConfiguration Include="Release">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
</ItemGroup>
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')" />
</Project>
45 changes: 45 additions & 0 deletions PrintDLL.dproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{346CA764-628A-4644-B037-10BAB7CFD705}</ProjectGuid>
<ProjectVersion>18.1</ProjectVersion>
<FrameworkType>VCL</FrameworkType>
<MainSource>PrintDLL.dpr</MainSource>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Release</Config>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
<TargetedPlatforms>1</TargetedPlatforms>
<AppType>Library</AppType>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug'">
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
<DCC_DebugDCUs>true</DCC_DebugDCUs>
<DCC_Optimize>false</DCC_Optimize>
<DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
<DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release'">
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
<DCC_DebugInformation>0</DCC_DebugInformation>
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_Optimize>true</DCC_Optimize>
</PropertyGroup>
<ItemGroup>
<DelphiCompile Include="PrintDLL.dpr">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
<BuildConfiguration Include="Debug">
<Key>Cfg_1</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
<BuildConfiguration Include="Release">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
</ItemGroup>
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')" />
</Project>
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,12 @@ The RxSolution software, documentation and other products, information, material

Special note for developers: The source code was developed using Delphi 7 and Plugins. The QuantumGrid v3.22 is required but no longer available. This means that a manual conversion of tables from Tdx to Tcx has to be performed. Please follow the advise here from the plugin developers: https://www.devexpress.com/Support/Center/Question/Details/DQ13868/convert-from-tdxdbgrid-v3-to-the-new-v5

## Modern IDE support

The repository now includes MSBuild-compatible project files (`*.dproj` and `RxSolution.groupproj`) so the application and its auxiliary DLLs can be loaded directly in modern versions of Delphi / RAD Studio without relying on the legacy Borland project group format.

## Database connectivity

The legacy SQL Server specific connection logic has been replaced with a MySQL implementation that relies on the MySQL ODBC driver via ADO. Provide the server, database, user name, password, and optional port when prompted inside the application. Automated SQL Server backup and attach commands have been removed; use MySQL-native tooling for those operations.

Copyright Management Sciences for Health.
45 changes: 45 additions & 0 deletions RxSolution.dproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{1C949C22-8AAC-4558-BE8B-AED583526661}</ProjectGuid>
<ProjectVersion>18.1</ProjectVersion>
<FrameworkType>VCL</FrameworkType>
<MainSource>RxSolution.dpr</MainSource>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Release</Config>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
<TargetedPlatforms>1</TargetedPlatforms>
<AppType>Application</AppType>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug'">
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
<DCC_DebugDCUs>true</DCC_DebugDCUs>
<DCC_Optimize>false</DCC_Optimize>
<DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
<DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release'">
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
<DCC_DebugInformation>0</DCC_DebugInformation>
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_Optimize>true</DCC_Optimize>
</PropertyGroup>
<ItemGroup>
<DelphiCompile Include="RxSolution.dpr">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
<BuildConfiguration Include="Debug">
<Key>Cfg_1</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
<BuildConfiguration Include="Release">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
</ItemGroup>
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')" />
</Project>
30 changes: 30 additions & 0 deletions RxSolution.groupproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Projects Include="RxSolution.dproj">
<Dependencies />
</Projects>
<Projects Include="DispenserDLL.dproj">
<Dependencies />
</Projects>
<Projects Include="PrescriberDLL.dproj">
<Dependencies />
</Projects>
<Projects Include="PrintDLL.dproj">
<Dependencies />
</Projects>
<Projects Include="EvidenceDLL.dproj">
<Dependencies />
</Projects>
<Projects Include="Prescription.dproj">
<Dependencies />
</Projects>
</ItemGroup>
<ProjectExtensions>
<Borland.Personality>Default.Personality</Borland.Personality>
<Borland.ProjectType>ProjectGroup</Borland.ProjectType>
<BorlandProject>
<Default.Personality />
</BorlandProject>
</ProjectExtensions>
</Project>