Upgrading to version 27
This commit is contained in:
parent
308d89e9cf
commit
b57df74f8f
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,150 @@
|
|||
unit XuDigSigSC_TLB;
|
||||
|
||||
// ************************************************************************ //
|
||||
// WARNING
|
||||
// -------
|
||||
// The types declared in this file were generated from data read from a
|
||||
// Type Library. If this type library is explicitly or indirectly (via
|
||||
// another type library referring to this type library) re-imported, or the
|
||||
// 'Refresh' command of the Type Library Editor activated while editing the
|
||||
// Type Library, the contents of this file will be regenerated and all
|
||||
// manual modifications will be lost.
|
||||
// ************************************************************************ //
|
||||
|
||||
// PASTLWTR : $Revision: 1.130.1.0.1.0.1.6 $
|
||||
// File generated on 6/12/2003 4:03:57 PM from Type Library described below.
|
||||
|
||||
// ************************************************************************ //
|
||||
// Type Lib: C:\Projects\CryptoAPI2\SignCOM\XuDigSigSC.tlb (1)
|
||||
// LIBID: {37B1AC3C-8CFB-41C2-951B-D1BCBD90DBBE}
|
||||
// LCID: 0
|
||||
// Helpfile:
|
||||
// DepndLst:
|
||||
// (1) v2.0 stdole, (C:\WINNT\System32\stdole2.tlb)
|
||||
// (2) v4.0 StdVCL, (C:\WINNT\System32\STDVCL40.DLL)
|
||||
// ************************************************************************ //
|
||||
{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers.
|
||||
{$WARN SYMBOL_PLATFORM OFF}
|
||||
{$WRITEABLECONST ON}
|
||||
{$VARPROPSETTER ON}
|
||||
interface
|
||||
|
||||
uses Windows, ActiveX, Classes, Graphics, StdVCL, Variants;
|
||||
|
||||
|
||||
// *********************************************************************//
|
||||
// GUIDS declared in the TypeLibrary. Following prefixes are used:
|
||||
// Type Libraries : LIBID_xxxx
|
||||
// CoClasses : CLASS_xxxx
|
||||
// DISPInterfaces : DIID_xxxx
|
||||
// Non-DISP interfaces: IID_xxxx
|
||||
// *********************************************************************//
|
||||
const
|
||||
// TypeLibrary Major and minor versions
|
||||
XuDigSigSCMajorVersion = 1;
|
||||
XuDigSigSCMinorVersion = 1;
|
||||
|
||||
LIBID_XuDigSigSC: TGUID = '{37B1AC3C-8CFB-41C2-951B-D1BCBD90DBBE}';
|
||||
|
||||
IID_IXuDigSigS: TGUID = '{4F007CD0-ED3A-4022-AC5F-01D8494B02CF}';
|
||||
CLASS_XuDigSigS: TGUID = '{12037083-5899-495D-818D-BF4EC57C42C7}';
|
||||
type
|
||||
|
||||
// *********************************************************************//
|
||||
// Forward declaration of types defined in TypeLibrary
|
||||
// *********************************************************************//
|
||||
IXuDigSigS = interface;
|
||||
IXuDigSigSDisp = dispinterface;
|
||||
|
||||
// *********************************************************************//
|
||||
// Declaration of CoClasses defined in Type Library
|
||||
// (NOTE: Here we map each CoClass to its Default Interface)
|
||||
// *********************************************************************//
|
||||
XuDigSigS = IXuDigSigS;
|
||||
|
||||
|
||||
// *********************************************************************//
|
||||
// Interface: IXuDigSigS
|
||||
// Flags: (4416) Dual OleAutomation Dispatchable
|
||||
// GUID: {4F007CD0-ED3A-4022-AC5F-01D8494B02CF}
|
||||
// *********************************************************************//
|
||||
IXuDigSigS = interface(IDispatch)
|
||||
['{4F007CD0-ED3A-4022-AC5F-01D8494B02CF}']
|
||||
procedure Set_DataBuffer(const Param1: WideString); safecall;
|
||||
procedure Set_UsrNumber(const Param1: WideString); safecall;
|
||||
function Get_DEAsig: WordBool; safecall;
|
||||
procedure Set_DEAsig(Value: WordBool); safecall;
|
||||
function Get_DEAInfo: WideString; safecall;
|
||||
function Get_HashValue: WideString; safecall;
|
||||
function Get_Signature: WideString; safecall;
|
||||
procedure Set_DrugSch(const Param1: WideString); safecall;
|
||||
function Signdata: WordBool; safecall;
|
||||
function Get_Reason: WideString; safecall;
|
||||
procedure Set_UsrName(const Param1: WideString); safecall;
|
||||
function Get_CrlUrl: WideString; safecall;
|
||||
procedure Reset; safecall;
|
||||
procedure GetCSP; safecall;
|
||||
function Get_SubReason: WideString; safecall;
|
||||
property DataBuffer: WideString write Set_DataBuffer;
|
||||
property UsrNumber: WideString write Set_UsrNumber;
|
||||
property DEAsig: WordBool read Get_DEAsig write Set_DEAsig;
|
||||
property DEAInfo: WideString read Get_DEAInfo;
|
||||
property HashValue: WideString read Get_HashValue;
|
||||
property Signature: WideString read Get_Signature;
|
||||
property DrugSch: WideString write Set_DrugSch;
|
||||
property Reason: WideString read Get_Reason;
|
||||
property UsrName: WideString write Set_UsrName;
|
||||
property CrlUrl: WideString read Get_CrlUrl;
|
||||
property SubReason: WideString read Get_SubReason;
|
||||
end;
|
||||
|
||||
// *********************************************************************//
|
||||
// DispIntf: IXuDigSigSDisp
|
||||
// Flags: (4416) Dual OleAutomation Dispatchable
|
||||
// GUID: {4F007CD0-ED3A-4022-AC5F-01D8494B02CF}
|
||||
// *********************************************************************//
|
||||
IXuDigSigSDisp = dispinterface
|
||||
['{4F007CD0-ED3A-4022-AC5F-01D8494B02CF}']
|
||||
property DataBuffer: WideString writeonly dispid 1;
|
||||
property UsrNumber: WideString writeonly dispid 2;
|
||||
property DEAsig: WordBool dispid 3;
|
||||
property DEAInfo: WideString readonly dispid 4;
|
||||
property HashValue: WideString readonly dispid 5;
|
||||
property Signature: WideString readonly dispid 6;
|
||||
property DrugSch: WideString writeonly dispid 7;
|
||||
function Signdata: WordBool; dispid 8;
|
||||
property Reason: WideString readonly dispid 9;
|
||||
property UsrName: WideString writeonly dispid 10;
|
||||
property CrlUrl: WideString readonly dispid 11;
|
||||
procedure Reset; dispid 12;
|
||||
procedure GetCSP; dispid 13;
|
||||
property SubReason: WideString readonly dispid 14;
|
||||
end;
|
||||
|
||||
// *********************************************************************//
|
||||
// The Class CoXuDigSigS provides a Create and CreateRemote method to
|
||||
// create instances of the default interface IXuDigSigS exposed by
|
||||
// the CoClass XuDigSigS. The functions are intended to be used by
|
||||
// clients wishing to automate the CoClass objects exposed by the
|
||||
// server of this typelibrary.
|
||||
// *********************************************************************//
|
||||
CoXuDigSigS = class
|
||||
class function Create: IXuDigSigS;
|
||||
class function CreateRemote(const MachineName: string): IXuDigSigS;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses ComObj;
|
||||
|
||||
class function CoXuDigSigS.Create: IXuDigSigS;
|
||||
begin
|
||||
Result := CreateComObject(CLASS_XuDigSigS) as IXuDigSigS;
|
||||
end;
|
||||
|
||||
class function CoXuDigSigS.CreateRemote(const MachineName: string): IXuDigSigS;
|
||||
begin
|
||||
Result := CreateRemoteComObject(MachineName, CLASS_XuDigSigS) as IXuDigSigS;
|
||||
end;
|
||||
|
||||
end.
|
|
@ -0,0 +1,67 @@
|
|||
object frmLaunch: TfrmLaunch
|
||||
Left = 557
|
||||
Top = 271
|
||||
Width = 231
|
||||
Height = 189
|
||||
Caption = 'Lauch Stuff'
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = []
|
||||
OldCreateOrder = True
|
||||
Position = poScreenCenter
|
||||
OnCreate = FormCreate
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object Label1: TLabel
|
||||
Left = 8
|
||||
Top = 120
|
||||
Width = 46
|
||||
Height = 13
|
||||
Caption = 'Visit Type'
|
||||
end
|
||||
object grpFontSize: TRadioGroup
|
||||
Left = 8
|
||||
Top = 8
|
||||
Width = 65
|
||||
Height = 105
|
||||
Caption = 'Font Size'
|
||||
ItemIndex = 0
|
||||
Items.Strings = (
|
||||
'8 pt'
|
||||
'10 pt'
|
||||
'12 pt'
|
||||
'14 pt'
|
||||
'18 pt')
|
||||
TabOrder = 0
|
||||
end
|
||||
object cmdShow: TButton
|
||||
Left = 88
|
||||
Top = 12
|
||||
Width = 129
|
||||
Height = 25
|
||||
Caption = 'Show Visit Type'
|
||||
Default = True
|
||||
TabOrder = 1
|
||||
OnClick = cmdShowClick
|
||||
end
|
||||
object Edit1: TEdit
|
||||
Left = 8
|
||||
Top = 136
|
||||
Width = 209
|
||||
Height = 21
|
||||
TabOrder = 2
|
||||
end
|
||||
object cmdClose: TButton
|
||||
Left = 88
|
||||
Top = 88
|
||||
Width = 129
|
||||
Height = 25
|
||||
Cancel = True
|
||||
Caption = 'Close'
|
||||
TabOrder = 3
|
||||
OnClick = cmdCloseClick
|
||||
end
|
||||
end
|
|
@ -0,0 +1,100 @@
|
|||
unit uDCSumm;
|
||||
|
||||
interface
|
||||
|
||||
uses SysUtils, Classes, ORNet, ORFn, rCore, uCore, uConst;
|
||||
|
||||
type
|
||||
TEditDCSummRec = record
|
||||
Title: Integer;
|
||||
DocType: integer;
|
||||
Addend: integer;
|
||||
EditIEN: integer;
|
||||
AdmitDateTime: TFMDateTime;
|
||||
DischargeDateTime: TFMDateTime;
|
||||
TitleName: string;
|
||||
DictDateTime: TFMDateTime;
|
||||
Dictator: Int64;
|
||||
DictatorName: string;
|
||||
Cosigner: Int64;
|
||||
CosignerName: string;
|
||||
Transcriptionist: int64;
|
||||
TranscriptionistName: string;
|
||||
Attending: int64;
|
||||
AttendingName: string;
|
||||
Urgency: string;
|
||||
UrgencyName: string;
|
||||
Location: Integer;
|
||||
LocationName: string;
|
||||
VisitStr: string;
|
||||
NeedCPT: Boolean;
|
||||
Status: integer;
|
||||
LastCosigner: Int64;
|
||||
LastCosignerName: string;
|
||||
IDParent: integer;
|
||||
Lines: TStrings;
|
||||
end;
|
||||
|
||||
TDCSummRec = TEditDCSummRec;
|
||||
|
||||
TAdmitRec = record
|
||||
AdmitDateTime: TFMDateTime;
|
||||
Location: integer;
|
||||
LocationName: string;
|
||||
VisitStr: string;
|
||||
end;
|
||||
|
||||
TDCSummTitles = class
|
||||
DfltTitle: Integer;
|
||||
DfltTitleName: string;
|
||||
ShortList: TStringList;
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
TDCSummPrefs = class
|
||||
DfltLoc: Integer;
|
||||
DfltLocName: string;
|
||||
SortAscending: Boolean;
|
||||
AskCosigner: Boolean;
|
||||
DfltCosigner: Int64;
|
||||
DfltCosignerName: string;
|
||||
MaxSumms: Integer;
|
||||
end;
|
||||
|
||||
function MakeDCSummDisplayText(RawText: string): string;
|
||||
|
||||
implementation
|
||||
|
||||
function MakeDCSummDisplayText(RawText: string): string;
|
||||
var
|
||||
x: string;
|
||||
begin
|
||||
x := RawText;
|
||||
if Copy(Piece(x, U, 9), 1, 4) = ' ' then SetPiece(x, U, 9, 'Dis: ');
|
||||
if Piece(x, U, 1)[1] in ['A', 'N', 'E'] then
|
||||
Result := Piece(x, U, 2)
|
||||
else
|
||||
Result := FormatFMDateTime('mmm dd,yy', MakeFMDateTime(Piece(x, U, 3))) + ' ' +
|
||||
Piece(x, U, 2) + ', ' + Piece(x, U, 6) + ', ' + Piece(Piece(x, U, 5), ';', 2) +
|
||||
' (' + Piece(x,U,7) + '), ' + Piece(Piece(x, U, 8), ';', 1) + ', ' +
|
||||
Piece(Piece(x, U, 9), ';', 1);
|
||||
end;
|
||||
|
||||
{ Discharge Summary Titles -------------------------------------------------------------------- }
|
||||
|
||||
constructor TDCSummTitles.Create;
|
||||
{ creates an object to store Discharge Summary titles so only obtained from server once }
|
||||
begin
|
||||
inherited Create;
|
||||
ShortList := TStringList.Create;
|
||||
end;
|
||||
|
||||
destructor TDCSummTitles.Destroy;
|
||||
{ frees the lists that were used to store the Discharge Summary titles }
|
||||
begin
|
||||
ShortList.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
end.
|
|
@ -0,0 +1,291 @@
|
|||
unit uSpell;
|
||||
|
||||
{$O-}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Classes, Controls, Forms, ComObj, StdCtrls, ComCtrls,
|
||||
ORSystem, Word2000, ORFn, Variants, rCore, clipbrd;
|
||||
|
||||
type
|
||||
|
||||
TSpellCheckAvailable = record
|
||||
Evaluated: boolean;
|
||||
Available: boolean;
|
||||
end;
|
||||
|
||||
function SpellCheckAvailable: Boolean;
|
||||
function SpellCheckInProgress: Boolean;
|
||||
procedure KillSpellCheck;
|
||||
procedure SpellCheckForControl(AnEditControl: TCustomMemo);
|
||||
procedure GrammarCheckForControl(AnEditControl: TCustomMemo);
|
||||
|
||||
implementation
|
||||
|
||||
const
|
||||
TX_WINDOW_TITLE = 'CPRS-Chart Spell Checking #';
|
||||
TX_NO_SPELL_CHECK = 'Spell checking is unavailable.';
|
||||
TX_NO_GRAMMAR_CHECK = 'Grammar checking is unavailable.';
|
||||
TX_SPELL_COMPLETE = 'The spelling check is complete.';
|
||||
TX_GRAMMAR_COMPLETE = 'The grammar check is complete.';
|
||||
TX_SPELL_ABORT = 'The spelling check terminated abnormally.';
|
||||
TX_GRAMMAR_ABORT = 'The grammar check terminated abnormally.';
|
||||
TX_SPELL_CANCELLED = 'Spelling check was cancelled before completion.';
|
||||
TX_GRAMMAR_CANCELLED = 'Grammar check was cancelled before completion.';
|
||||
TX_NO_DETAILS = 'No further details are available.';
|
||||
TX_NO_CORRECTIONS = 'Corrections have NOT been applied.';
|
||||
CR_LF = #13#10;
|
||||
SPELL_CHECK = 'S';
|
||||
GRAMMAR_CHECK = 'G';
|
||||
|
||||
var
|
||||
WindowList: TList;
|
||||
OldList, NewList: TList;
|
||||
MSWord: OleVariant;
|
||||
uSpellCheckAvailable: TSpellCheckAvailable;
|
||||
|
||||
function SpellCheckInProgress: boolean;
|
||||
begin
|
||||
Result := not VarIsEmpty(MSWord);
|
||||
end;
|
||||
|
||||
procedure KillSpellCheck;
|
||||
begin
|
||||
if SpellCheckInProgress then
|
||||
begin
|
||||
MSWord.Quit(wdDoNotSaveChanges);
|
||||
VarClear(MSWord);
|
||||
end;
|
||||
end;
|
||||
|
||||
function SpellCheckTitle: string;
|
||||
begin
|
||||
Result := TX_WINDOW_TITLE + IntToStr(Application.Handle);
|
||||
end;
|
||||
|
||||
function GetWindows(Handle: HWND; Info: Pointer): BOOL; stdcall;
|
||||
begin
|
||||
Result := True;
|
||||
WindowList.Add(Pointer(Handle));
|
||||
end;
|
||||
|
||||
procedure GetWindowList(List: TList);
|
||||
begin
|
||||
WindowList := List;
|
||||
EnumWindows(@GetWindows, 0);
|
||||
end;
|
||||
|
||||
procedure BringWordToFront(OldList, NewList: TList);
|
||||
var
|
||||
i, NameLen: integer;
|
||||
WinName: array[0..160] of char;
|
||||
NewWinName: PChar;
|
||||
NewName: string;
|
||||
|
||||
begin
|
||||
NewName := SpellCheckTitle;
|
||||
NameLen := length(NewName);
|
||||
for i := 0 to NewList.Count-1 do
|
||||
begin
|
||||
if(OldList.IndexOf(NewList[i]) < 0) then
|
||||
begin
|
||||
GetWindowText(HWND(NewList[i]), WinName, sizeof(WinName) - 1);
|
||||
if Pos('CPRS', WinName) > 0 then
|
||||
NewWinName := PChar(Copy(WinName, Pos('CPRS', WinName), sizeof(WinName) - 1))
|
||||
else
|
||||
NewWinName := WinName;
|
||||
if StrLComp(NewWinName, pchar(NewName), NameLen)=0 then
|
||||
begin
|
||||
Application.ProcessMessages;
|
||||
SetForegroundWindow(HWND(NewList[i]));
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
{ Spell Checking using Visual Basic for Applications script }
|
||||
|
||||
function SpellCheckAvailable: Boolean;
|
||||
//const
|
||||
// WORD_VBA_CLSID = 'CLSID\{000209FF-0000-0000-C000-000000000046}';
|
||||
begin
|
||||
// CHANGED FOR PT. SAFETY ISSUE RELEASE 19.16, PATCH OR*3*155 - ADDED NEXT 2 LINES:
|
||||
//result := false;
|
||||
//exit;
|
||||
// Reenabled in version 21.1, via parameter setting (RV)
|
||||
// Result := (GetUserParam('ORWOR SPELL CHECK ENABLED?') = '1');
|
||||
with uSpellCheckAvailable do // only want to call this once per session!!! v23.10+
|
||||
begin
|
||||
if not Evaluated then
|
||||
begin
|
||||
Available := (GetUserParam('ORWOR SPELL CHECK ENABLED?') = '1');
|
||||
Evaluated := True;
|
||||
end;
|
||||
Result := Available;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure SpellAndGrammarCheckForControl(var AnotherEditControl: TCustomMemo; ACheck: Char);
|
||||
var
|
||||
NoLFText, LFText: string;
|
||||
OneChar: char;
|
||||
ErrMsg: string;
|
||||
FinishedChecking: boolean;
|
||||
OldSaveInterval, i: integer;
|
||||
MsgText: string;
|
||||
FirstLineBlank: boolean;
|
||||
OldLine0: string;
|
||||
begin
|
||||
if AnotherEditControl = nil then Exit;
|
||||
OldList := TList.Create;
|
||||
NewList := TList.Create;
|
||||
FinishedChecking := False;
|
||||
FirstLineBlank := False;
|
||||
NoLFText := '';
|
||||
OldLine0 := '';
|
||||
ClipBoard.Clear;
|
||||
try
|
||||
try
|
||||
GetWindowList(OldList);
|
||||
try
|
||||
Screen.Cursor := crHourGlass;
|
||||
MSWord := CreateOLEObject('Word.Application');
|
||||
except // MSWord not available, so exit now
|
||||
Screen.Cursor := crDefault;
|
||||
case ACheck of
|
||||
SPELL_CHECK : MsgText := TX_NO_SPELL_CHECK;
|
||||
GRAMMAR_CHECK: MsgText := TX_NO_GRAMMAR_CHECK;
|
||||
else MsgText := ''
|
||||
end;
|
||||
Application.MessageBox(PChar(MsgText), PChar(Application.Title), MB_ICONWARNING);
|
||||
Exit;
|
||||
end;
|
||||
|
||||
GetWindowList(NewList);
|
||||
try
|
||||
MSWord.Application.Caption := SpellCheckTitle;
|
||||
// Position Word off screen to avoid having document visible...
|
||||
MSWord.WindowState := 0;
|
||||
MSWord.Top := -3000;
|
||||
OldSaveInterval := MSWord.Application.Options.SaveInterval;
|
||||
MSWord.Application.Options.SaveInterval := 0;
|
||||
MSWord.Application.Options.AutoFormatReplaceQuotes := False;
|
||||
MSWord.Application.Options.AutoFormatAsYouTypeReplaceQuotes := False;
|
||||
MSWord.ResetIgnoreAll;
|
||||
|
||||
MSWord.Documents.Add; // FileNew
|
||||
MSWord.ActiveDocument.TrackRevisions := False;
|
||||
with AnotherEditControl do
|
||||
if (Lines.Count > 0) and (not ContainsVisibleChar(Lines[0])) then
|
||||
begin
|
||||
FirstLineBlank := True; //MS bug when spell-checking document with blank first line (RV - v22.6)
|
||||
OldLine0 := Lines[0];
|
||||
Lines.Delete(0);
|
||||
end;
|
||||
MSWord.ActiveDocument.Content.Text := (AnotherEditControl.Text); // The Text property returns the plain, unformatted text of the selection or range.
|
||||
// When you set this property, the text of the range or selection is replaced.
|
||||
BringWordToFront(OldList, NewList);
|
||||
MSWord.ActiveDocument.Content.SpellingChecked := False;
|
||||
MSWord.ActiveDocument.Content.GrammarChecked := False;
|
||||
|
||||
case ACheck of
|
||||
SPELL_CHECK : begin
|
||||
MSWord.ActiveDocument.Content.CheckSpelling; // ToolsSpelling
|
||||
FinishedChecking := MSWord.ActiveDocument.Content.SpellingChecked;
|
||||
end;
|
||||
GRAMMAR_CHECK: begin
|
||||
MSWord.ActiveDocument.Content.CheckGrammar; // ToolsGrammar
|
||||
FinishedChecking := MSWord.ActiveDocument.Content.GrammarChecked;
|
||||
end;
|
||||
end;
|
||||
if FinishedChecking then // not cancelled?
|
||||
NoLFText := MSWord.ActiveDocument.Content.Text // EditSelectAll
|
||||
else
|
||||
NoLFText := '';
|
||||
finally
|
||||
Screen.Cursor := crDefault;
|
||||
MSWord.Application.Options.SaveInterval := OldSaveInterval;
|
||||
case ACheck of
|
||||
SPELL_CHECK : FinishedChecking := MSWord.ActiveDocument.Content.SpellingChecked;
|
||||
GRAMMAR_CHECK: FinishedChecking := MSWord.ActiveDocument.Content.GrammarChecked;
|
||||
end;
|
||||
MSWord.Quit(wdDoNotSaveChanges);
|
||||
VarClear(MSWord);
|
||||
end;
|
||||
finally
|
||||
OldList.Free;
|
||||
NewList.Free;
|
||||
end;
|
||||
except
|
||||
on E: Exception do
|
||||
begin
|
||||
ErrMsg := E.Message;
|
||||
FinishedChecking := False;
|
||||
end;
|
||||
end;
|
||||
|
||||
Screen.Cursor := crDefault;
|
||||
Application.BringToFront;
|
||||
if FinishedChecking then
|
||||
begin
|
||||
if (Length(NoLFText) > 0) then
|
||||
begin
|
||||
LFText := '';
|
||||
for i := 1 to Length(NoLFText) do
|
||||
begin
|
||||
OneChar := NoLFText[i];
|
||||
LFText := LFText + OneChar;
|
||||
if OneChar = #13 then LFText := LFText + #10;
|
||||
end;
|
||||
with AnotherEditControl do if Lines.Count > 0 then
|
||||
begin
|
||||
Text := LFText;
|
||||
if FirstLineBlank then Text := OldLine0 + Text;
|
||||
end;
|
||||
case ACheck of
|
||||
SPELL_CHECK : MsgText := TX_SPELL_COMPLETE;
|
||||
GRAMMAR_CHECK: MsgText := TX_GRAMMAR_COMPLETE;
|
||||
else MsgText := ''
|
||||
end;
|
||||
Application.MessageBox(PChar(MsgText), PChar(Application.Title), MB_ICONINFORMATION);
|
||||
end
|
||||
else
|
||||
begin
|
||||
case ACheck of
|
||||
SPELL_CHECK : MsgText := TX_SPELL_CANCELLED;
|
||||
GRAMMAR_CHECK: MsgText := TX_GRAMMAR_CANCELLED;
|
||||
else MsgText := ''
|
||||
end;
|
||||
Application.MessageBox(PChar(MsgText + CR_LF + CR_LF + TX_NO_CORRECTIONS), PChar(Application.Title), MB_ICONINFORMATION);
|
||||
end;
|
||||
end
|
||||
else // error during spell or grammar check
|
||||
begin
|
||||
case ACheck of
|
||||
SPELL_CHECK : MsgText := TX_SPELL_ABORT;
|
||||
GRAMMAR_CHECK: MsgText := TX_GRAMMAR_ABORT;
|
||||
else MsgText := ''
|
||||
end;
|
||||
if ErrMsg = '' then ErrMsg := TX_NO_DETAILS;
|
||||
Application.MessageBox(PChar(MsgText + CR_LF + ErrMsg + CR_LF + CR_LF + TX_NO_CORRECTIONS), PChar(Application.Title), MB_ICONWARNING);
|
||||
end;
|
||||
SendMessage(TRichEdit(AnotherEditControl).Handle, WM_VSCROLL, SB_TOP, 0);
|
||||
AnotherEditControl.SetFocus;
|
||||
end;
|
||||
|
||||
procedure SpellCheckForControl(AnEditControl: TCustomMemo);
|
||||
begin
|
||||
if AnEditControl = nil then Exit;
|
||||
SpellAndGrammarCheckForControl(AnEditControl, SPELL_CHECK);
|
||||
end;
|
||||
|
||||
procedure GrammarCheckForControl(AnEditControl: TCustomMemo);
|
||||
begin
|
||||
if AnEditControl = nil then Exit;
|
||||
SpellAndGrammarCheckForControl(AnEditControl, GRAMMAR_CHECK);
|
||||
end;
|
||||
|
||||
|
||||
end.
|
|
@ -0,0 +1,114 @@
|
|||
unit uSurgery;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
SysUtils, Windows, Messages, Controls, Classes, StdCtrls, ORfn, dialogs;
|
||||
|
||||
type
|
||||
TSurgeryTitles = class
|
||||
ClassName: string;
|
||||
DfltTitle: Integer;
|
||||
DfltTitleName: string;
|
||||
ShortList: TStringList;
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
function MakeSurgeryCaseDisplayText(InputString: string): string;
|
||||
function MakeSurgeryReportDisplayText(RawText: string): string;
|
||||
//procedure DisplayOpTop(ANoteIEN: integer);
|
||||
|
||||
const
|
||||
(* SG_ALL = 1; // Case context - all cases
|
||||
SG_BY_SURGEON = 2; // Case context - all cases by surgeon
|
||||
SG_BY_DATE = 3; // Case context - all cases by date range*)
|
||||
|
||||
SG_TV_TEXT = 'Surgery Cases';
|
||||
|
||||
OP_TOP_NEVER_SHOW = 0;
|
||||
OP_TOP_ALWAYS_SHOW = 1;
|
||||
OP_TOP_ASK_TO_SHOW = 2;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
uConst, rSurgery, fRptBox;
|
||||
|
||||
constructor TSurgeryTitles.Create;
|
||||
{ creates an object to store Surgery titles so only obtained from server once }
|
||||
begin
|
||||
inherited Create;
|
||||
ShortList := TStringList.Create;
|
||||
end;
|
||||
|
||||
destructor TSurgeryTitles.Destroy;
|
||||
{ frees the lists that were used to store the Surgery titles }
|
||||
begin
|
||||
ShortList.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
function MakeSurgeryCaseDisplayText(InputString: string): string;
|
||||
(*
|
||||
CASE #^Operative Procedure^Date/Time of Operation^Surgeon^^^^^^^^^+^Context
|
||||
*)
|
||||
var
|
||||
x: string;
|
||||
begin
|
||||
x := InputString;
|
||||
x := FormatFMDateTime('mmm dd yyyy', MakeFMDateTime(Piece(x, U, 3))) + ' ' + Piece(x, U, 2) +
|
||||
', ' + Piece(Piece(x, U, 4), ';', 2) + ', ' + 'Case #: ' + Piece(x, u, 1);
|
||||
Result := x;
|
||||
end;
|
||||
|
||||
function MakeSurgeryReportDisplayText(RawText: string): string;
|
||||
var
|
||||
x: string;
|
||||
begin
|
||||
x := RawText;
|
||||
x := FormatFMDateTime('mmm dd,yy', MakeFMDateTime(Piece(x, U, 3))) + ' ' + Piece(x, U, 2) +
|
||||
' (#' + Piece(x, U, 1) + '), ' + Piece(x, U, 6) + ', ' + Piece(Piece(x, U, 5), ';', 2);
|
||||
Result := x;
|
||||
end;
|
||||
|
||||
(*procedure DisplayOpTop(ANoteIEN: integer);
|
||||
const
|
||||
{ TODO -oRich V. -cSurgery/TIU : What should be the text of the prompt for display OpTop on signature? }
|
||||
TX_OP_TOP_PROMPT = 'Would you like to first review the OpTop for this surgery report?';
|
||||
var
|
||||
AList: TStringList;
|
||||
ACaseIEN: integer;
|
||||
IsNonORProc: boolean;
|
||||
ShouldShowOpTop: integer;
|
||||
x: string;
|
||||
ShowReport: boolean;
|
||||
begin
|
||||
AList := TStringList.Create;
|
||||
try
|
||||
ShowReport := False;
|
||||
x := GetSurgCaseRefForNote(ANoteIEN);
|
||||
ACaseIEN := StrToIntDef(Piece(x, ';', 1), 0);
|
||||
ShouldShowOpTop := ShowOpTopOnSignature(ACaseIEN);
|
||||
case ShouldShowOpTop of
|
||||
OP_TOP_NEVER_SHOW : ; // do nothing
|
||||
OP_TOP_ALWAYS_SHOW : begin
|
||||
x := GetSingleCaseListItemWithoutDocs(ANoteIEN);
|
||||
IsNonORProc := IsNonORProcedure(ACaseIEN);
|
||||
LoadOpTop(AList, ACaseIEN, IsNonORProc, ShowReport);
|
||||
ReportBox(AList, MakeSurgeryCaseDisplayText(x), True);
|
||||
end;
|
||||
OP_TOP_ASK_TO_SHOW : if InfoBox(TX_OP_TOP_PROMPT, 'Confirmation', MB_YESNO or MB_ICONQUESTION) = IDYES then
|
||||
begin
|
||||
x := GetSingleCaseListItemWithoutDocs(ANoteIEN);
|
||||
IsNonORProc := IsNonORProcedure(ACaseIEN);
|
||||
LoadOpTop(AList, ACaseIEN, IsNonORProc, ShowReport);
|
||||
ReportBox(AList, MakeSurgeryCaseDisplayText(x), True);
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
AList.Free;
|
||||
end;
|
||||
end;*)
|
||||
|
||||
end.
|
Loading…
Reference in New Issue