VistA-cprs/CPRS-Chart/fDefaultEvent.pas

129 lines
3.5 KiB
Plaintext

unit fDefaultEvent;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ORCtrls, ExtCtrls, rOrders, ORFn, uCore;
type
TfrmDefaultEvent = class(TForm)
pnlTop: TPanel;
lblCaption: TLabel;
cboEvents: TORComboBox;
pnlBottom: TPanel;
btnOK: TButton;
btnCancel: TButton;
procedure btnCancelClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btnOKClick(Sender: TObject);
private
OKPressed: boolean;
FDefaultEvtName: string;
FPreDefaultEvtID: string;
FPreDefaultEvtName: string;
public
{ Public declarations }
end;
function ExcueteDefaultEvntSetting: string;
var
frmDefaultEvent: TfrmDefaultEvent;
implementation
{$R *.DFM}
function ExcueteDefaultEvntSetting: string;
var
frmDefaultEvent: TfrmDefaultEvent;
begin
frmDefaultEvent := TfrmDefaultEvent.Create(Application);
try
ResizeAnchoredFormToFont(frmDefaultEvent);
frmDefaultEvent.ShowModal;
Result := frmDefaultEvent.FDefaultEvtName;
finally
frmDefaultEvent.Free;
end;
end;
procedure TfrmDefaultEvent.btnCancelClick(Sender: TObject);
begin
Close;
end;
procedure TfrmDefaultEvent.FormCreate(Sender: TObject);
var
i : integer;
begin
FPreDefaultEvtID := '';
FPreDefaultEvtName := '';
FDefaultEvtName := '';
FPreDefaultEvtID := GetDefaultEvt(IntToStr(User.DUZ));
ListSpecialtiesED(#0,cboEvents.Items);
with cboEvents do
begin
for i := 0 to Items.Count - 1 do
begin
if FPreDefaultEvtID = Piece(Items[i],'^',1) then
begin
ItemIndex := i;
FPreDefaultEvtName := Piece(Items[i],'^',9);
if Length(FPreDefaultEvtName)<1 then
FPreDefaultEvtName := Piece(Items[i],'^',2);
break;
end;
end;
end;
OKPressed := False;
end;
procedure TfrmDefaultEvent.btnOKClick(Sender: TObject);
const
TXT_1 = 'Would you like to change the default event from "';
TXT_2 = '" to "';
TXT_3 = 'Would you like set your default event to "';
var
errMsg: string;
begin
if cboEvents.ItemIndex < 0 then
begin
ShowMessage('You have to select an event first!');
Exit;
end;
if (Piece(cboEvents.Items[cboEvents.ItemIndex],'^',1) <> FPreDefaultEvtID) and ( Length(FPreDefaultEvtID)>0 )then
begin
if InfoBox(TXT_1 + FPreDefaultEvtName + TXT_2 + cboEvents.Text + '"?','Warning', MB_OKCANCEL or MB_ICONWARNING) = IDOK then
begin
errMsg := '';
SetDefaultEvent(errMsg, Piece(cboEvents.Items[cboEvents.ItemIndex],'^',1));
if length(errMsg)>0 then
ShowMessage(errMsg)
else
ShowMessage('The default release event "' + cboEvents.Text + '" has been set successfully!');
FDefaultEvtName := cboEvents.Text;
OKPressed := True;
Close;
end;
end
else if (Piece(cboEvents.Items[cboEvents.ItemIndex],'^',1) <> FPreDefaultEvtID) and ( Length(FPreDefaultEvtID)=0 )then
begin
if InfoBox(TXT_3 + cboEvents.Text + '"?','Warning', MB_OKCANCEL or MB_ICONWARNING) = IDOK then
begin
errMsg := '';
SetDefaultEvent(errMsg, Piece(cboEvents.Items[cboEvents.ItemIndex],'^',1));
if length(errMsg)>0 then
ShowMessage(errMsg)
else
ShowMessage('The default release event "' + cboEvents.Text + '" has been set successfully!');
FDefaultEvtName := cboEvents.Text;
OKPressed := True;
Close;
end;
end;
end;
end.