VistA-cprs/CPRS-Chart/Orders/fODLabOthSpec.pas

99 lines
2.5 KiB
Plaintext

unit fODLabOthSpec;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, ORCtrls, StdCtrls, ORFn, fBase508Form, VA508AccessibilityManager;
type
TfrmODLabOthSpec = class(TfrmBase508Form)
pnlBase: TORAutoPanel;
cboOtherSpec: TORComboBox;
cmdOK: TButton;
cmdCancel: TButton;
procedure cmdCancelClick(Sender: TObject);
procedure cmdOKClick(Sender: TObject);
procedure cboOtherSpecDblClick(Sender: TObject);
procedure cboOtherSpecNeedData(Sender: TObject; const StartFrom: String;
Direction, InsertAt: Integer);
private
FOtherSpec: string;
end;
function SelectOtherSpecimen(FontSize: Integer; SpecimenList: TStringList): string ;
implementation
{$R *.DFM}
uses fODLab, rODLab;
const
TX_NOSPEC_TEXT = 'Select a specimen or press Cancel.';
TX_NOSPEC_CAP = 'Missing Specimen';
function SelectOtherSpecimen(FontSize: Integer; SpecimenList: TStringList): string ;
{ displays collection sample select form for lab and returns a record of the selection }
var
frmODLabOthSpec: TfrmODLabOthSpec;
W, H: Integer;
begin
frmODLabOthSpec := TfrmODLabOthSpec.Create(Application);
try
with frmODLabOthSpec do
begin
Font.Size := FontSize;
W := ClientWidth;
H := ClientHeight;
ResizeToFont(FontSize, W, H);
ClientWidth := W; pnlBase.Width := W;
ClientHeight := H; pnlBase.Height := H;
with cboOtherSpec do
begin
{FastAssign(SpecimenList, MItems);
InsertSeparator; }
InitLongList('');
end;
ShowModal;
Result := FOtherSpec;
end;
finally
frmODLabOthSpec.Release;
end;
end;
procedure TfrmODLabOthSpec.cmdCancelClick(Sender: TObject);
begin
FOtherSpec := '-1' ;
Close;
end;
procedure TfrmODLabOthSpec.cmdOKClick(Sender: TObject);
begin
if cboOtherSpec.ItemIEN = 0 then
begin
InfoBox(TX_NOSPEC_TEXT, TX_NOSPEC_CAP, MB_OK or MB_ICONWARNING);
Exit;
end;
if cboOtherSpec.ItemIEN > 0 then
FOtherSpec := cboOtherSpec.Items[cboOtherSpec.ItemIndex]
else
FOtherSpec := '-1' ;
Close;
end;
procedure TfrmODLabOthSpec.cboOtherSpecDblClick(Sender: TObject);
begin
cmdOKClick(Self);
end;
procedure TfrmODLabOthSpec.cboOtherSpecNeedData(Sender: TObject;
const StartFrom: string; Direction, InsertAt: Integer);
begin
inherited;
cboOtherSpec.ForDataUse(SubsetOfSpecimens(StartFrom, Direction));
end;
end.