Changeset 729 for cprs/branches/tmg-cprs/CPRS-Chart
- Timestamp:
- Mar 31, 2010, 5:06:56 PM (15 years ago)
- Location:
- cprs/branches/tmg-cprs/CPRS-Chart
- Files:
-
- 12 added
- 36 edited
Legend:
- Unmodified
- Added
- Removed
-
cprs/branches/tmg-cprs/CPRS-Chart/Accessibility_TLB.pas
r686 r729 13 13 14 14 // PASTLWTR : 1.2 15 // File generated on 1/22/2010 5:46:21PM from Type Library described below.15 // File generated on 3/29/2010 5:43:06 PM from Type Library described below. 16 16 17 17 // ************************************************************************ // -
cprs/branches/tmg-cprs/CPRS-Chart/CPRSChart.dof
r654 r729 101 101 UsePackages=0 102 102 [Parameters] 103 RunParams=CCOW=disable s=192.168.3.9 7 p=9260 SPOOF-VER=1.0.26.69103 RunParams=CCOW=disable s=192.168.3.99 p=9260 104 104 HostApplication= 105 105 Launcher= … … 135 135 ProductVersion=1.0.0.0 136 136 Comments=1.0.26.69 137 [Excluded Packages] 138 c:\program files\borland\delphi7\Projects\Bpl\SXSkin_D7_D.bpl=SXSkinComponents Design Time 139 C:\Program Files\Borland\Delphi7\Projects\Bpl\SXSkin_D7_R.bpl=SXSkinComponents 137 140 [HistoryLists\hlDebugSourcePath] 138 141 Count=1 -
cprs/branches/tmg-cprs/CPRS-Chart/CPRSChart.dpr
r686 r729 307 307 fImages in 'fImages.pas' {frmImages}, 308 308 UploadImages in 'UploadImages.pas' {UploadForm}, 309 UploadProgress in 'UploadProgress.pas' {UploadProgressForm},309 frmImageTransferProgress in 'TMG_Extra\frmImageTransferProgress.pas' {ImageTransferForm}, 310 310 fProbLex in 'fProbLex.pas' {frmPLLex}, 311 311 fTIUView in 'fTIUView.pas' {frmTIUView}, … … 323 323 EditTextU in 'TMG_Extra\EditTextU.pas' {EditTextForm}, 324 324 ORNet in '..\CPRS-Lib\ORNet.pas', 325 fTMGPrintingAnimation in 'TMG_Extra\fTMGPrintingAnimation.pas'; 325 fTMGPrintingAnimation in 'TMG_Extra\fTMGPrintingAnimation.pas', 326 uTMGOptions in 'uTMGOptions.pas', 327 fPtLabelPrint in 'TMG_Extra\fPtLabelPrint.pas' {frmPtLabelPrint}, 328 uEvaluate in 'uEvaluate.pas'; 326 329 327 330 {$R *.TLB} … … 337 340 Application.Initialize; 338 341 frmSplash := nil; 339 if ParamSearch('SPLASH') <> 'OFF' then 340 begin 342 if ParamSearch('SPLASH') <> 'OFF' then begin 341 343 frmSplash := TfrmSplash.Create(Application); // show splash screen 342 344 frmSplash.Show; // " … … 348 350 Application.CreateForm(TdmodShared, dmodShared); 349 351 Application.CreateForm(TfrmFrame, frmFrame); 350 if frmframe.TMGAbort = False then begin //kt 3/25/09 352 //kt <--- frmImages etc created here 353 Application.CreateForm(TfrmPtLabelPrint, frmPtLabelPrint); 354 if frmframe.TMGAbort = False then begin //kt 3/25/09 351 355 Application.CreateForm(TfrmSearchStop, frmSearchStop); 352 Application.CreateForm(TfrmImages, frmImages);353 356 Application.CreateForm(TUploadForm, UploadForm); 354 Application.CreateForm(T UploadProgressForm, UploadProgressForm);357 Application.CreateForm(TImageTransferForm, ImageTransferForm); 355 358 Application.CreateForm(TfrmODAllergy, frmODAllergy); 356 359 Application.CreateForm(TfrmDeviceSelect, frmDeviceSelect); … … 364 367 Application.CreateForm(TEditTextForm, EditTextForm); 365 368 Application.CreateForm(TfrmTMGPrinting,frmTMGPrinting); 366 //kt Application.CreateForm(TfrmWebTab, frmWebTab);367 369 frmSplash.Free; // close & free splash screen 368 370 Application.Run; -
cprs/branches/tmg-cprs/CPRS-Chart/CPRSChart.drc
r671 r729 9 9 */ 10 10 11 #define pnglang_EPNGSizeExceedsText 64928 12 #define pnglang_EPNGUnknownPalEntryText 64929 13 #define pnglang_EPNGUnknownCriticalChunkText 64930 14 #define pnglang_EPNGUnknownCompressionText 64931 15 #define pnglang_EPNGUnknownInterlaceText 64932 16 #define pnglang_EPNGCannotAssignChunkText 64933 17 #define pnglang_EPNGUnexpectedEndText 64934 18 #define pnglang_EPNGNoImageDataText 64935 19 #define pnglang_EPNGCannotChangeSizeText 64936 20 #define pnglang_EPNGOutMemoryText 64937 21 #define pnglang_EPNGHeaderNotPresentText 64938 22 #define JConsts_sChangeJPGSize 64939 23 #define JConsts_sJPEGError 64940 24 #define JConsts_sJPEGImageFile 64941 25 #define IdResourceStrings_RSStackETOOMANYREFS 64944 26 #define IdResourceStrings_RSStackETIMEDOUT 64945 27 #define IdResourceStrings_RSStackECONNREFUSED 64946 28 #define IdResourceStrings_RSStackELOOP 64947 29 #define IdResourceStrings_RSStackENAMETOOLONG 64948 30 #define IdResourceStrings_RSStackEHOSTDOWN 64949 31 #define IdResourceStrings_RSStackEHOSTUNREACH 64950 32 #define IdResourceStrings_RSStackENOTEMPTY 64951 33 #define IdResourceStrings_RSStackHOST_NOT_FOUND 64952 34 #define pnglang_EPngInvalidCRCText 64953 35 #define pnglang_EPNGInvalidIHDRText 64954 36 #define pnglang_EPNGMissingMultipleIDATText 64955 37 #define pnglang_EPNGZLIBErrorText 64956 38 #define pnglang_EPNGInvalidPaletteText 64957 39 #define pnglang_EPNGInvalidFileHeaderText 64958 40 #define pnglang_EPNGIHDRNotFirstText 64959 41 #define IdResourceStrings_RSStackEPROTONOSUPPORT 64960 42 #define IdResourceStrings_RSStackESOCKTNOSUPPORT 64961 43 #define IdResourceStrings_RSStackEOPNOTSUPP 64962 44 #define IdResourceStrings_RSStackEPFNOSUPPORT 64963 45 #define IdResourceStrings_RSStackEAFNOSUPPORT 64964 46 #define IdResourceStrings_RSStackEADDRINUSE 64965 47 #define IdResourceStrings_RSStackEADDRNOTAVAIL 64966 48 #define IdResourceStrings_RSStackENETDOWN 64967 49 #define IdResourceStrings_RSStackENETUNREACH 64968 50 #define IdResourceStrings_RSStackENETRESET 64969 51 #define IdResourceStrings_RSStackECONNABORTED 64970 52 #define IdResourceStrings_RSStackECONNRESET 64971 53 #define IdResourceStrings_RSStackENOBUFS 64972 54 #define IdResourceStrings_RSStackEISCONN 64973 55 #define IdResourceStrings_RSStackENOTCONN 64974 56 #define IdResourceStrings_RSStackESHUTDOWN 64975 57 #define IdResourceStrings_RSInvalidServiceName 64976 58 #define IdResourceStrings_RSStackError 64977 59 #define IdResourceStrings_RSStackEINTR 64978 60 #define IdResourceStrings_RSStackEBADF 64979 61 #define IdResourceStrings_RSStackEACCES 64980 62 #define IdResourceStrings_RSStackEFAULT 64981 63 #define IdResourceStrings_RSStackEINVAL 64982 64 #define IdResourceStrings_RSStackEMFILE 64983 65 #define IdResourceStrings_RSStackEWOULDBLOCK 64984 66 #define IdResourceStrings_RSStackEINPROGRESS 64985 67 #define IdResourceStrings_RSStackEALREADY 64986 68 #define IdResourceStrings_RSStackENOTSOCK 64987 69 #define IdResourceStrings_RSStackEDESTADDRREQ 64988 70 #define IdResourceStrings_RSStackEMSGSIZE 64989 71 #define IdResourceStrings_RSStackEPROTOTYPE 64990 72 #define IdResourceStrings_RSStackENOPROTOOPT 64991 73 #define DBConsts_SInvalidSqlTimeStamp 64992 74 #define VDBConsts_SFirstRecord 64993 75 #define VDBConsts_SPriorRecord 64994 76 #define VDBConsts_SNextRecord 64995 77 #define VDBConsts_SLastRecord 64996 78 #define VDBConsts_SInsertRecord 64997 79 #define VDBConsts_SDeleteRecord 64998 80 #define VDBConsts_SEditRecord 64999 81 #define VDBConsts_SPostEdit 65000 82 #define VDBConsts_SCancelEdit 65001 83 #define VDBConsts_SRefreshRecord 65002 84 #define VDBConsts_SRemoteLogin 65003 85 #define IdResourceStrings_RSWinsockInitializationError 65004 86 #define IdResourceStrings_RSSetSizeExceeded 65005 87 #define IdResourceStrings_RSWS2CallError 65006 88 #define IdResourceStrings_RSWS2LoadError 65007 89 #define QConsts_SSave 65008 90 #define QConsts_SUnknownImageFormat 65009 91 #define QConsts_SUnableToWrite 65010 92 #define QConsts_SUndo 65011 93 #define QConsts_SRedo 65012 94 #define QConsts_SLine 65013 95 #define QConsts_SCut 65014 96 #define QConsts_SCopy 65015 97 #define QConsts_SPaste 65016 98 #define QConsts_SClear 65017 99 #define QConsts_SSelectAll 65018 100 #define QConsts_SNoAppInLib 65019 101 #define QConsts_SDuplicateApp 65020 102 #define DBConsts_SBcdOverflow 65021 103 #define DBConsts_SInvalidBcdValue 65022 104 #define DBConsts_SCouldNotParseTimeStamp 65023 105 #define QConsts_SMsgDlgError 65024 106 #define QConsts_SMsgDlgInformation 65025 107 #define QConsts_SMsgDlgConfirm 65026 108 #define QConsts_SUnnamed 65027 109 #define QConsts_SName 65028 110 #define QConsts_SSize 65029 111 #define QConsts_SType 65030 112 #define QConsts_SDate 65031 113 #define QConsts_SAttributes 65032 114 #define QConsts_SDuplicateMenus 65033 115 #define QConsts_SImageIndexError 65034 116 #define QConsts_SInvalidImageDimensions 65035 117 #define QConsts_SInvalidImageDimension 65036 118 #define QConsts_SInvalidMimeSourceStream 65037 119 #define QConsts_SMimeNotSupportedForIcon 65038 120 #define QConsts_SOpen 65039 121 #define QConsts_SNoMDIForm 65040 122 #define QConsts_SNotAnMDIForm 65041 123 #define QConsts_SMDIChildNotVisible 65042 124 #define QConsts_SControlParentSetToSelf 65043 125 #define QConsts_SOKButton 65044 126 #define QConsts_SCancelButton 65045 127 #define QConsts_SYesButton 65046 128 #define QConsts_SNoButton 65047 129 #define QConsts_SHelpButton 65048 130 #define QConsts_SCloseButton 65049 131 #define QConsts_SIgnoreButton 65050 132 #define QConsts_SRetryButton 65051 133 #define QConsts_SAbortButton 65052 134 #define QConsts_SAllButton 65053 135 #define QConsts_SCannotDragForm 65054 136 #define QConsts_SMsgDlgWarning 65055 137 #define QConsts_SmkcCtrl 65056 138 #define QConsts_SmkcAlt 65057 139 #define QConsts_SInvalidPixelFormat 65058 140 #define QConsts_SNoCanvasHandle 65059 141 #define QConsts_SInvalidCanvasState 65060 142 #define QConsts_SInvalidImageSize 65061 143 #define QConsts_SInvalidColorDepth 65062 144 #define QConsts_SCannotFocus 65063 145 #define QConsts_SParentRequired 65064 146 #define QConsts_SVisibleChanged 65065 147 #define QConsts_SMenuIndexError 65066 148 #define QConsts_SMenuReinserted 65067 149 #define QConsts_SNoMenuRecursion 65068 150 #define QConsts_SMenuNotFound 65069 151 #define QConsts_SMenuSetFormError 65070 152 #define QConsts_SGroupIndexTooLow 65071 153 #define QConsts_SmkcBackTab 65072 154 #define QConsts_SmkcEsc 65073 155 #define QConsts_SmkcReturn 65074 156 #define QConsts_SmkcEnter 65075 157 #define QConsts_SmkcSpace 65076 158 #define QConsts_SmkcPgUp 65077 159 #define QConsts_SmkcPgDn 65078 160 #define QConsts_SmkcEnd 65079 161 #define QConsts_SmkcHome 65080 162 #define QConsts_SmkcLeft 65081 163 #define QConsts_SmkcUp 65082 164 #define QConsts_SmkcRight 65083 165 #define QConsts_SmkcDown 65084 166 #define QConsts_SmkcIns 65085 167 #define QConsts_SmkcDel 65086 168 #define QConsts_SmkcShift 65087 169 #define DKLang_SDKLangErrMsg_DuplicatePropValueID 65088 170 #define DKLang_SDKLangErrMsg_ErrorLoadingTran 65089 171 #define DKLang_SDKLangErrMsg_InvalidConstName 65090 172 #define DKLang_SDKLangErrMsg_DuplicateConstName 65091 173 #define DKLang_SDKLangErrMsg_ConstantNotFound 65092 174 #define DKLang_SDKLangErrMsg_LangManagerCalledAtDT 65093 175 #define DKLang_SDKLangErrMsg_StreamVersionTooHigh 65094 176 #define OleConst_SCannotActivate 65095 177 #define OleConst_SNoWindowHandle 65096 178 #define OleConst_SInvalidLicense 65097 179 #define OleConst_SNotLicensed 65098 180 #define OleConst_sNoRunningObject 65099 181 #define QConsts_SInvalidCreateWidget 65100 182 #define QConsts_STooManyMessageBoxButtons 65101 183 #define QConsts_SmkcBkSp 65102 184 #define QConsts_SmkcTab 65103 185 #define TeeConst_TeeMsg_DefaultFontName 65104 186 #define TeeConst_TeeMsg_CheckPointerSize 65105 187 #define TeeConst_TeeMsg_FunctionPeriod 65106 188 #define TeeConst_TeeMsg_PieOther 65107 189 #define TeeConst_TeeMsg_ValuesX 65108 190 #define TeeConst_TeeMsg_ValuesY 65109 191 #define TeeConst_TeeMsg_ValuesPie 65110 192 #define TeeConst_TeeMsg_ValuesBar 65111 193 #define TeeConst_TeeMsg_ValuesAngle 65112 194 #define TeeConst_TeeMsg_ValuesGanttStart 65113 195 #define TeeConst_TeeMsg_ValuesGanttEnd 65114 196 #define TeeConst_TeeMsg_ValuesGanttNextTask 65115 197 #define TeeConst_TeeMsg_ValuesArrowEndX 65116 198 #define TeeConst_TeeMsg_ValuesArrowEndY 65117 199 #define TntSystem_SBufferOverflow 65118 200 #define TntSystem_SInvalidUTF7 65119 201 #define TeeConst_TeeMsg_GanttSample3 65120 202 #define TeeConst_TeeMsg_GanttSample4 65121 203 #define TeeConst_TeeMsg_GanttSample5 65122 204 #define TeeConst_TeeMsg_GanttSample6 65123 205 #define TeeConst_TeeMsg_GanttSample7 65124 206 #define TeeConst_TeeMsg_GanttSample8 65125 207 #define TeeConst_TeeMsg_GanttSample9 65126 208 #define TeeConst_TeeMsg_GanttSample10 65127 209 #define TeeConst_TeeMsg_DefaultFontSize 65128 210 #define TeeConst_TeeMsg_FunctionAdd 65129 211 #define TeeConst_TeeMsg_FunctionSubtract 65130 212 #define TeeConst_TeeMsg_FunctionMultiply 65131 213 #define TeeConst_TeeMsg_FunctionDivide 65132 214 #define TeeConst_TeeMsg_FunctionHigh 65133 215 #define TeeConst_TeeMsg_FunctionLow 65134 216 #define TeeConst_TeeMsg_FunctionAverage 65135 217 #define TeeConst_TeeMsg_GalleryFastLine 65136 218 #define TeeConst_TeeMsg_Rotation 65137 219 #define TeeConst_TeeMsg_PieSample1 65138 220 #define TeeConst_TeeMsg_PieSample2 65139 221 #define TeeConst_TeeMsg_PieSample3 65140 222 #define TeeConst_TeeMsg_PieSample4 65141 223 #define TeeConst_TeeMsg_PieSample5 65142 224 #define TeeConst_TeeMsg_PieSample6 65143 225 #define TeeConst_TeeMsg_PieSample7 65144 226 #define TeeConst_TeeMsg_PieSample8 65145 227 #define TeeConst_TeeMsg_GalleryStandard 65146 228 #define TeeConst_TeeMsg_GalleryFunctions 65147 229 #define TeeConst_TeeMsg_GalleryArrow 65148 230 #define TeeConst_TeeMsg_GalleryGantt 65149 231 #define TeeConst_TeeMsg_GanttSample1 65150 232 #define TeeConst_TeeMsg_GanttSample2 65151 233 #define TeeConst_TeeMsg_MaxPointsPerPage 65152 234 #define TeeConst_TeeMsg_3dPercent 65153 235 #define TeeConst_TeeMsg_CircularSeries 65154 236 #define TeeConst_TeeMsg_BarWidthPercent 65155 237 #define TeeConst_TeeMsg_BarOffsetPercent 65156 238 #define TeeConst_TeeMsg_DefaultPercentOf 65157 239 #define TeeConst_TeeMsg_DefPercentFormat 65158 240 #define TeeConst_TeeMsg_DefValueFormat 65159 241 #define TeeConst_TeeMsg_AxisTitle 65160 242 #define TeeConst_TeeMsg_AxisLabels 65161 243 #define TeeConst_TeeMsg_GalleryLine 65162 244 #define TeeConst_TeeMsg_GalleryPoint 65163 245 #define TeeConst_TeeMsg_GalleryArea 65164 246 #define TeeConst_TeeMsg_GalleryBar 65165 247 #define TeeConst_TeeMsg_GalleryHorizBar 65166 248 #define TeeConst_TeeMsg_GalleryPie 65167 249 #define ComConst_SNoCloseActiveServer1 65168 250 #define ComConst_SNoCloseActiveServer2 65169 251 #define TeeConst_TeeMsg_LegendTopPos 65170 252 #define TeeConst_TeeMsg_LegendFirstValue 65171 253 #define TeeConst_TeeMsg_LegendColorWidth 65172 254 #define TeeConst_TeeMsg_SeriesSetDataSource 65173 255 #define TeeConst_TeeMsg_SeriesInvDataSource 65174 256 #define TeeConst_TeeMsg_FillSample 65175 257 #define TeeConst_TeeMsg_Angle 65176 258 #define TeeConst_TeeMsg_AxisLogDateTime 65177 259 #define TeeConst_TeeMsg_AxisLogNotPositive 65178 260 #define TeeConst_TeeMsg_AxisLabelSep 65179 261 #define TeeConst_TeeMsg_AxisIncrementNeg 65180 262 #define TeeConst_TeeMsg_AxisMinMax 65181 263 #define TeeConst_TeeMsg_AxisMaxMin 65182 264 #define TeeConst_TeeMsg_AxisLogBase 65183 265 #define ComStrs_sFailSetCalMaxSelRange 65184 266 #define ComStrs_sFailSetCalMinMaxRange 65185 267 #define ComStrs_sFailsetCalSelRange 65186 268 #define WinHelpViewer_hNoKeyword 65187 269 #define ComConst_SCreateRegKeyError 65188 270 #define ComConst_SOleError 65189 271 #define ComConst_SObjectFactoryMissing 65190 272 #define ComConst_STypeInfoMissing 65191 273 #define ComConst_SBadTypeInfo 65192 274 #define ComConst_SDispIntfMissing 65193 275 #define ComConst_SNoMethod 65194 276 #define ComConst_SVarNotObject 65195 277 #define ComConst_STooManyParams 65196 278 #define ComConst_SDCOMNotInstalled 65197 279 #define ComConst_SDAXError 65198 280 #define ComConst_SAutomationWarning 65199 281 #define ComStrs_sTabFailSet 65200 282 #define ComStrs_sTabFailSetObject 65201 283 #define ComStrs_sTabMustBeMultiLine 65202 284 #define ComStrs_sInvalidIndex 65203 285 #define ComStrs_sInsertError 65204 286 #define ComStrs_sInvalidOwner 65205 287 #define ComStrs_sRichEditInsertError 65206 288 #define ComStrs_sRichEditLoadFail 65207 289 #define ComStrs_sRichEditSaveFail 65208 290 #define ComStrs_sUDAssociated 65209 291 #define ComStrs_sPageIndexError 65210 292 #define ComStrs_sInvalidComCtl32 65211 293 #define ComStrs_sDateTimeMax 65212 294 #define ComStrs_sDateTimeMin 65213 295 #define ComStrs_sNeedAllowNone 65214 296 #define ComStrs_sFailSetCalDateTime 65215 297 #define ExtCtrls_clNameInactiveCaptionText 65216 298 #define ExtCtrls_clNameInfoBk 65217 299 #define ExtCtrls_clNameInfoText 65218 300 #define ExtCtrls_clNameMenu 65219 301 #define ExtCtrls_clNameMenuText 65220 302 #define ExtCtrls_clNameNone 65221 303 #define ExtCtrls_clNameScrollBar 65222 304 #define ExtCtrls_clName3DDkShadow 65223 305 #define ExtCtrls_clName3DLight 65224 306 #define ExtCtrls_clNameWindow 65225 307 #define ExtCtrls_clNameWindowFrame 65226 308 #define ExtCtrls_clNameWindowText 65227 309 #define ComStrs_sTabFailClear 65228 310 #define ComStrs_sTabFailDelete 65229 311 #define ComStrs_sTabFailRetrieve 65230 312 #define ComStrs_sTabFailGetObject 65231 313 #define ExtCtrls_clNameMedGray 65232 314 #define ExtCtrls_clNameActiveBorder 65233 315 #define ExtCtrls_clNameActiveCaption 65234 316 #define ExtCtrls_clNameAppWorkSpace 65235 317 #define ExtCtrls_clNameBackground 65236 318 #define ExtCtrls_clNameBtnFace 65237 319 #define ExtCtrls_clNameBtnHighlight 65238 320 #define ExtCtrls_clNameBtnShadow 65239 321 #define ExtCtrls_clNameBtnText 65240 322 #define ExtCtrls_clNameCaptionText 65241 323 #define ExtCtrls_clNameDefault 65242 324 #define ExtCtrls_clNameGrayText 65243 325 #define ExtCtrls_clNameHighlight 65244 326 #define ExtCtrls_clNameHighlightText 65245 327 #define ExtCtrls_clNameInactiveBorder 65246 328 #define ExtCtrls_clNameInactiveCaption 65247 329 #define ExtCtrls_clNameOlive 65248 330 #define ExtCtrls_clNameNavy 65249 331 #define ExtCtrls_clNamePurple 65250 332 #define ExtCtrls_clNameTeal 65251 333 #define ExtCtrls_clNameGray 65252 334 #define ExtCtrls_clNameSilver 65253 335 #define ExtCtrls_clNameRed 65254 336 #define ExtCtrls_clNameLime 65255 337 #define ExtCtrls_clNameYellow 65256 338 #define ExtCtrls_clNameBlue 65257 339 #define ExtCtrls_clNameFuchsia 65258 340 #define ExtCtrls_clNameAqua 65259 341 #define ExtCtrls_clNameWhite 65260 342 #define ExtCtrls_clNameMoneyGreen 65261 343 #define ExtCtrls_clNameSkyBlue 65262 344 #define ExtCtrls_clNameCream 65263 345 #define Consts_SDockedCtlNeedsName 65264 346 #define Consts_SDockTreeRemoveError 65265 347 #define Consts_SDockZoneNotFound 65266 348 #define Consts_SDockZoneHasNoCtl 65267 349 #define Consts_SMultiSelectRequired 65268 350 #define Consts_SSeparator 65269 351 #define Consts_SErrorSettingCount 65270 352 #define Consts_SListBoxMustBeVirtual 65271 353 #define Consts_SNoGetItemEventHandler 65272 354 #define HelpIntfs_hNoTableOfContents 65273 355 #define HelpIntfs_hNothingFound 65274 356 #define HelpIntfs_hNoContext 65275 357 #define HelpIntfs_hNoTopics 65276 358 #define ExtCtrls_clNameBlack 65277 359 #define ExtCtrls_clNameMaroon 65278 360 #define ExtCtrls_clNameGreen 65279 361 #define Consts_SmkcAlt 65280 362 #define Consts_srNone 65281 363 #define Consts_SOutOfRange 65282 364 #define Consts_sAllFilter 65283 365 #define Consts_SInsertLineError 65284 366 #define Consts_SInvalidClipFmt 65285 367 #define Consts_SIconToClipboard 65286 368 #define Consts_SCannotOpenClipboard 65287 369 #define Consts_SInvalidMemoSize 65288 370 #define Consts_SInvalidPrinterOp 65289 371 #define Consts_SNoDefaultPrinter 65290 372 #define Consts_SDuplicateMenus 65291 373 #define Consts_SPictureLabel 65292 374 #define Consts_SPictureDesc 65293 375 #define Consts_SPreviewLabel 65294 376 #define Consts_SCannotOpenAVI 65295 377 #define Consts_SmkcTab 65296 378 #define Consts_SmkcEsc 65297 379 #define Consts_SmkcEnter 65298 380 #define Consts_SmkcSpace 65299 381 #define Consts_SmkcPgUp 65300 382 #define Consts_SmkcPgDn 65301 383 #define Consts_SmkcEnd 65302 384 #define Consts_SmkcHome 65303 385 #define Consts_SmkcLeft 65304 386 #define Consts_SmkcUp 65305 387 #define Consts_SmkcRight 65306 388 #define Consts_SmkcDown 65307 389 #define Consts_SmkcIns 65308 390 #define Consts_SmkcDel 65309 391 #define Consts_SmkcShift 65310 392 #define Consts_SmkcCtrl 65311 393 #define Consts_SMsgDlgWarning 65312 394 #define Consts_SMsgDlgError 65313 395 #define Consts_SMsgDlgInformation 65314 396 #define Consts_SMsgDlgConfirm 65315 397 #define Consts_SMsgDlgYes 65316 398 #define Consts_SMsgDlgNo 65317 399 #define Consts_SMsgDlgOK 65318 400 #define Consts_SMsgDlgCancel 65319 401 #define Consts_SMsgDlgHelp 65320 402 #define Consts_SMsgDlgAbort 65321 403 #define Consts_SMsgDlgRetry 65322 404 #define Consts_SMsgDlgIgnore 65323 405 #define Consts_SMsgDlgAll 65324 406 #define Consts_SMsgDlgNoToAll 65325 407 #define Consts_SMsgDlgYesToAll 65326 408 #define Consts_SmkcBkSp 65327 409 #define Consts_SCancelButton 65328 410 #define Consts_SYesButton 65329 411 #define Consts_SNoButton 65330 412 #define Consts_SHelpButton 65331 413 #define Consts_SCloseButton 65332 414 #define Consts_SIgnoreButton 65333 415 #define Consts_SRetryButton 65334 416 #define Consts_SAbortButton 65335 417 #define Consts_SAllButton 65336 418 #define Consts_SCannotDragForm 65337 419 #define Consts_SVMetafiles 65338 420 #define Consts_SVEnhMetafiles 65339 421 #define Consts_SVIcons 65340 422 #define Consts_SVBitmaps 65341 423 #define Consts_SMaskErr 65342 424 #define Consts_SMaskEditErr 65343 425 #define Consts_SVisibleChanged 65344 426 #define Consts_SCannotShowModal 65345 427 #define Consts_SScrollBarRange 65346 428 #define Consts_SPropertyOutOfRange 65347 429 #define Consts_SMenuIndexError 65348 430 #define Consts_SMenuReinserted 65349 431 #define Consts_SMenuNotFound 65350 432 #define Consts_SNoTimers 65351 433 #define Consts_SNotPrinting 65352 434 #define Consts_SPrinting 65353 435 #define Consts_SInvalidPrinter 65354 436 #define Consts_SDeviceOnPort 65355 437 #define Consts_SGroupIndexTooLow 65356 438 #define Consts_SNoMDIForm 65357 439 #define Consts_SControlParentSetToSelf 65358 440 #define Consts_SOKButton 65359 441 #define Consts_SUnknownExtension 65360 442 #define Consts_SUnknownClipboardFormat 65361 443 #define Consts_SOutOfResources 65362 444 #define Consts_SNoCanvasHandle 65363 445 #define Consts_SInvalidImageSize 65364 446 #define Consts_SInvalidImageList 65365 447 #define Consts_SReplaceImage 65366 448 #define Consts_SImageIndexError 65367 449 #define Consts_SImageReadFail 65368 450 #define Consts_SImageWriteFail 65369 451 #define Consts_SWindowDCError 65370 452 #define Consts_SWindowClass 65371 453 #define Consts_SCannotFocus 65372 454 #define Consts_SParentRequired 65373 455 #define Consts_SParentGivenNotAParent 65374 456 #define Consts_SMDIChildNotVisible 65375 457 #define RTLConsts_STooManyDeleted 65376 458 #define RTLConsts_SUnknownGroup 65377 459 #define RTLConsts_SUnknownProperty 65378 460 #define RTLConsts_SWriteError 65379 461 #define RTLConsts_SThreadCreateError 65380 462 #define RTLConsts_SThreadError 65381 463 #define Consts_SInvalidTabPosition 65382 464 #define Consts_SInvalidTabStyle 65383 465 #define Consts_SInvalidBitmap 65384 466 #define Consts_SInvalidIcon 65385 467 #define Consts_SInvalidMetafile 65386 468 #define Consts_SInvalidPixelFormat 65387 469 #define Consts_SInvalidImage 65388 470 #define Consts_SScanLine 65389 471 #define Consts_SChangeIconSize 65390 472 #define Consts_SOleGraphic 65391 473 #define RTLConsts_SInvalidPropertyType 65392 474 #define RTLConsts_SInvalidPropertyValue 65393 475 #define RTLConsts_SInvalidRegType 65394 476 #define RTLConsts_SInvalidStringGridOp 65395 477 #define RTLConsts_SListCapacityError 65396 478 #define RTLConsts_SListCountError 65397 479 #define RTLConsts_SListIndexError 65398 480 #define RTLConsts_SMemoryStreamError 65399 481 #define RTLConsts_SPropertyException 65400 482 #define RTLConsts_SReadError 65401 483 #define RTLConsts_SReadOnlyProperty 65402 484 #define RTLConsts_SRegGetDataFailed 65403 485 #define RTLConsts_SRegSetDataFailed 65404 486 #define RTLConsts_SResNotFound 65405 487 #define RTLConsts_SSeekNotImplemented 65406 488 #define RTLConsts_SSortedListError 65407 489 #define RTLConsts_SDuplicateItem 65408 490 #define RTLConsts_SDuplicateName 65409 491 #define RTLConsts_SDuplicateString 65410 492 #define RTLConsts_SFCreateErrorEx 65411 493 #define RTLConsts_SFixedColTooBig 65412 494 #define RTLConsts_SFixedRowTooBig 65413 495 #define RTLConsts_SFOpenErrorEx 65414 496 #define RTLConsts_SGridTooLarge 65415 497 #define RTLConsts_SIndexOutOfRange 65416 498 #define RTLConsts_SIniFileWriteError 65417 499 #define RTLConsts_SInvalidImage 65418 500 #define RTLConsts_SInvalidMask 65419 501 #define RTLConsts_SInvalidName 65420 502 #define RTLConsts_SInvalidProperty 65421 503 #define RTLConsts_SInvalidPropertyElement 65422 504 #define RTLConsts_SInvalidPropertyPath 65423 505 #define SysConst_SShortDayNameSat 65424 506 #define SysConst_SLongDayNameSun 65425 507 #define SysConst_SLongDayNameMon 65426 508 #define SysConst_SLongDayNameTue 65427 509 #define SysConst_SLongDayNameWed 65428 510 #define SysConst_SLongDayNameThu 65429 511 #define SysConst_SLongDayNameFri 65430 512 #define SysConst_SLongDayNameSat 65431 513 #define SysConst_SCannotCreateDir 65432 514 #define RTLConsts_SAncestorNotFound 65433 515 #define RTLConsts_SAssignError 65434 516 #define RTLConsts_SBitsIndexError 65435 517 #define RTLConsts_SCantWriteResourceStreamError 65436 518 #define RTLConsts_SCheckSynchronizeError 65437 519 #define RTLConsts_SClassNotFound 65438 520 #define RTLConsts_SDuplicateClass 65439 521 #define SysConst_SLongMonthNameMar 65440 522 #define SysConst_SLongMonthNameApr 65441 523 #define SysConst_SLongMonthNameMay 65442 524 #define SysConst_SLongMonthNameJun 65443 525 #define SysConst_SLongMonthNameJul 65444 526 #define SysConst_SLongMonthNameAug 65445 527 #define SysConst_SLongMonthNameSep 65446 528 #define SysConst_SLongMonthNameOct 65447 529 #define SysConst_SLongMonthNameNov 65448 530 #define SysConst_SLongMonthNameDec 65449 531 #define SysConst_SShortDayNameSun 65450 532 #define SysConst_SShortDayNameMon 65451 533 #define SysConst_SShortDayNameTue 65452 534 #define SysConst_SShortDayNameWed 65453 535 #define SysConst_SShortDayNameThu 65454 536 #define SysConst_SShortDayNameFri 65455 537 #define SysConst_SOSError 65456 538 #define SysConst_SUnkOSError 65457 539 #define SysConst_SShortMonthNameJan 65458 540 #define SysConst_SShortMonthNameFeb 65459 541 #define SysConst_SShortMonthNameMar 65460 542 #define SysConst_SShortMonthNameApr 65461 543 #define SysConst_SShortMonthNameMay 65462 544 #define SysConst_SShortMonthNameJun 65463 545 #define SysConst_SShortMonthNameJul 65464 546 #define SysConst_SShortMonthNameAug 65465 547 #define SysConst_SShortMonthNameSep 65466 548 #define SysConst_SShortMonthNameOct 65467 549 #define SysConst_SShortMonthNameNov 65468 550 #define SysConst_SShortMonthNameDec 65469 551 #define SysConst_SLongMonthNameJan 65470 552 #define SysConst_SLongMonthNameFeb 65471 553 #define SysConst_SVarTypeNotUsableWithPrefix 65472 554 #define SysConst_SVarTypeTooManyCustom 65473 555 #define SysConst_SVarTypeCouldNotConvert 65474 556 #define SysConst_SVarTypeConvertOverflow 65475 557 #define SysConst_SVarOverflow 65476 558 #define SysConst_SVarInvalid 65477 559 #define SysConst_SVarBadType 65478 560 #define SysConst_SVarNotImplemented 65479 561 #define SysConst_SVarUnexpected 65480 562 #define SysConst_SExternalException 65481 563 #define SysConst_SAssertionFailed 65482 564 #define SysConst_SIntfCastError 65483 565 #define SysConst_SSafecallException 65484 566 #define SysConst_SAssertError 65485 567 #define SysConst_SAbstractError 65486 568 #define SysConst_SModuleAccessViolation 65487 569 #define SysConst_SExceptTitle 65488 570 #define SysConst_SInvalidFormat 65489 571 #define SysConst_SArgumentMissing 65490 572 #define SysConst_SDispatchError 65491 573 #define SysConst_SReadAccess 65492 574 #define SysConst_SWriteAccess 65493 575 #define SysConst_SFormatTooLong 65494 576 #define SysConst_SVarArrayCreate 65495 577 #define SysConst_SVarArrayBounds 65496 578 #define SysConst_SVarArrayLocked 65497 579 #define SysConst_SInvalidVarCast 65498 580 #define SysConst_SInvalidVarOp 65499 581 #define SysConst_SInvalidVarNullOp 65500 582 #define SysConst_SInvalidVarOpWithHResultWithPrefix 65501 583 #define SysConst_SVarTypeOutOfRangeWithPrefix 65502 584 #define SysConst_SVarTypeAlreadyUsedWithPrefix 65503 585 #define SysConst_SDivByZero 65504 586 #define SysConst_SRangeError 65505 587 #define SysConst_SIntOverflow 65506 588 #define SysConst_SInvalidOp 65507 589 #define SysConst_SZeroDivide 65508 590 #define SysConst_SOverflow 65509 591 #define SysConst_SUnderflow 65510 592 #define SysConst_SInvalidPointer 65511 593 #define SysConst_SInvalidCast 65512 594 #define SysConst_SAccessViolationArg3 65513 595 #define SysConst_SAccessViolationNoArg 65514 596 #define SysConst_SStackOverflow 65515 597 #define SysConst_SControlC 65516 598 #define SysConst_SPrivilege 65517 599 #define SysConst_SOperationAborted 65518 600 #define SysConst_SException 65519 11 #define IdResourceStrings_RSStackENOBUFS 64928 12 #define IdResourceStrings_RSStackEISCONN 64929 13 #define IdResourceStrings_RSStackENOTCONN 64930 14 #define IdResourceStrings_RSStackESHUTDOWN 64931 15 #define IdResourceStrings_RSStackETOOMANYREFS 64932 16 #define IdResourceStrings_RSStackETIMEDOUT 64933 17 #define IdResourceStrings_RSStackECONNREFUSED 64934 18 #define IdResourceStrings_RSStackELOOP 64935 19 #define IdResourceStrings_RSStackENAMETOOLONG 64936 20 #define IdResourceStrings_RSStackEHOSTDOWN 64937 21 #define IdResourceStrings_RSStackEHOSTUNREACH 64938 22 #define IdResourceStrings_RSStackENOTEMPTY 64939 23 #define IdResourceStrings_RSStackHOST_NOT_FOUND 64940 24 #define JConsts_sChangeJPGSize 64941 25 #define JConsts_sJPEGError 64942 26 #define JConsts_sJPEGImageFile 64943 27 #define IdResourceStrings_RSStackEDESTADDRREQ 64944 28 #define IdResourceStrings_RSStackEMSGSIZE 64945 29 #define IdResourceStrings_RSStackEPROTOTYPE 64946 30 #define IdResourceStrings_RSStackENOPROTOOPT 64947 31 #define IdResourceStrings_RSStackEPROTONOSUPPORT 64948 32 #define IdResourceStrings_RSStackESOCKTNOSUPPORT 64949 33 #define IdResourceStrings_RSStackEOPNOTSUPP 64950 34 #define IdResourceStrings_RSStackEPFNOSUPPORT 64951 35 #define IdResourceStrings_RSStackEAFNOSUPPORT 64952 36 #define IdResourceStrings_RSStackEADDRINUSE 64953 37 #define IdResourceStrings_RSStackEADDRNOTAVAIL 64954 38 #define IdResourceStrings_RSStackENETDOWN 64955 39 #define IdResourceStrings_RSStackENETUNREACH 64956 40 #define IdResourceStrings_RSStackENETRESET 64957 41 #define IdResourceStrings_RSStackECONNABORTED 64958 42 #define IdResourceStrings_RSStackECONNRESET 64959 43 #define IdResourceStrings_RSWinsockInitializationError 64960 44 #define IdResourceStrings_RSSetSizeExceeded 64961 45 #define IdResourceStrings_RSWS2CallError 64962 46 #define IdResourceStrings_RSWS2LoadError 64963 47 #define IdResourceStrings_RSInvalidServiceName 64964 48 #define IdResourceStrings_RSStackError 64965 49 #define IdResourceStrings_RSStackEINTR 64966 50 #define IdResourceStrings_RSStackEBADF 64967 51 #define IdResourceStrings_RSStackEACCES 64968 52 #define IdResourceStrings_RSStackEFAULT 64969 53 #define IdResourceStrings_RSStackEINVAL 64970 54 #define IdResourceStrings_RSStackEMFILE 64971 55 #define IdResourceStrings_RSStackEWOULDBLOCK 64972 56 #define IdResourceStrings_RSStackEINPROGRESS 64973 57 #define IdResourceStrings_RSStackEALREADY 64974 58 #define IdResourceStrings_RSStackENOTSOCK 64975 59 #define pnglang_EPNGMissingMultipleIDATText 64976 60 #define pnglang_EPNGZLIBErrorText 64977 61 #define pnglang_EPNGInvalidPaletteText 64978 62 #define pnglang_EPNGInvalidFileHeaderText 64979 63 #define pnglang_EPNGIHDRNotFirstText 64980 64 #define pnglang_EPNGSizeExceedsText 64981 65 #define pnglang_EPNGUnknownPalEntryText 64982 66 #define pnglang_EPNGUnknownCriticalChunkText 64983 67 #define pnglang_EPNGUnknownCompressionText 64984 68 #define pnglang_EPNGUnknownInterlaceText 64985 69 #define pnglang_EPNGCannotAssignChunkText 64986 70 #define pnglang_EPNGUnexpectedEndText 64987 71 #define pnglang_EPNGNoImageDataText 64988 72 #define pnglang_EPNGCannotChangeSizeText 64989 73 #define pnglang_EPNGOutMemoryText 64990 74 #define pnglang_EPNGHeaderNotPresentText 64991 75 #define DBConsts_SInvalidBcdValue 64992 76 #define DBConsts_SCouldNotParseTimeStamp 64993 77 #define DBConsts_SInvalidSqlTimeStamp 64994 78 #define VDBConsts_SFirstRecord 64995 79 #define VDBConsts_SPriorRecord 64996 80 #define VDBConsts_SNextRecord 64997 81 #define VDBConsts_SLastRecord 64998 82 #define VDBConsts_SInsertRecord 64999 83 #define VDBConsts_SDeleteRecord 65000 84 #define VDBConsts_SEditRecord 65001 85 #define VDBConsts_SPostEdit 65002 86 #define VDBConsts_SCancelEdit 65003 87 #define VDBConsts_SRefreshRecord 65004 88 #define VDBConsts_SRemoteLogin 65005 89 #define pnglang_EPngInvalidCRCText 65006 90 #define pnglang_EPNGInvalidIHDRText 65007 91 #define QConsts_SMimeNotSupportedForIcon 65008 92 #define QConsts_SOpen 65009 93 #define QConsts_SSave 65010 94 #define QConsts_SUnknownImageFormat 65011 95 #define QConsts_SUnableToWrite 65012 96 #define QConsts_SUndo 65013 97 #define QConsts_SRedo 65014 98 #define QConsts_SLine 65015 99 #define QConsts_SCut 65016 100 #define QConsts_SCopy 65017 101 #define QConsts_SPaste 65018 102 #define QConsts_SClear 65019 103 #define QConsts_SSelectAll 65020 104 #define QConsts_SNoAppInLib 65021 105 #define QConsts_SDuplicateApp 65022 106 #define DBConsts_SBcdOverflow 65023 107 #define QConsts_SCannotDragForm 65024 108 #define QConsts_SMsgDlgWarning 65025 109 #define QConsts_SMsgDlgError 65026 110 #define QConsts_SMsgDlgInformation 65027 111 #define QConsts_SMsgDlgConfirm 65028 112 #define QConsts_SUnnamed 65029 113 #define QConsts_SName 65030 114 #define QConsts_SSize 65031 115 #define QConsts_SType 65032 116 #define QConsts_SDate 65033 117 #define QConsts_SAttributes 65034 118 #define QConsts_SDuplicateMenus 65035 119 #define QConsts_SImageIndexError 65036 120 #define QConsts_SInvalidImageDimensions 65037 121 #define QConsts_SInvalidImageDimension 65038 122 #define QConsts_SInvalidMimeSourceStream 65039 123 #define QConsts_SMenuSetFormError 65040 124 #define QConsts_SGroupIndexTooLow 65041 125 #define QConsts_SNoMDIForm 65042 126 #define QConsts_SNotAnMDIForm 65043 127 #define QConsts_SMDIChildNotVisible 65044 128 #define QConsts_SControlParentSetToSelf 65045 129 #define QConsts_SOKButton 65046 130 #define QConsts_SCancelButton 65047 131 #define QConsts_SYesButton 65048 132 #define QConsts_SNoButton 65049 133 #define QConsts_SHelpButton 65050 134 #define QConsts_SCloseButton 65051 135 #define QConsts_SIgnoreButton 65052 136 #define QConsts_SRetryButton 65053 137 #define QConsts_SAbortButton 65054 138 #define QConsts_SAllButton 65055 139 #define QConsts_SmkcDel 65056 140 #define QConsts_SmkcShift 65057 141 #define QConsts_SmkcCtrl 65058 142 #define QConsts_SmkcAlt 65059 143 #define QConsts_SInvalidPixelFormat 65060 144 #define QConsts_SNoCanvasHandle 65061 145 #define QConsts_SInvalidCanvasState 65062 146 #define QConsts_SInvalidImageSize 65063 147 #define QConsts_SInvalidColorDepth 65064 148 #define QConsts_SCannotFocus 65065 149 #define QConsts_SParentRequired 65066 150 #define QConsts_SVisibleChanged 65067 151 #define QConsts_SMenuIndexError 65068 152 #define QConsts_SMenuReinserted 65069 153 #define QConsts_SNoMenuRecursion 65070 154 #define QConsts_SMenuNotFound 65071 155 #define QConsts_SmkcBkSp 65072 156 #define QConsts_SmkcTab 65073 157 #define QConsts_SmkcBackTab 65074 158 #define QConsts_SmkcEsc 65075 159 #define QConsts_SmkcReturn 65076 160 #define QConsts_SmkcEnter 65077 161 #define QConsts_SmkcSpace 65078 162 #define QConsts_SmkcPgUp 65079 163 #define QConsts_SmkcPgDn 65080 164 #define QConsts_SmkcEnd 65081 165 #define QConsts_SmkcHome 65082 166 #define QConsts_SmkcLeft 65083 167 #define QConsts_SmkcUp 65084 168 #define QConsts_SmkcRight 65085 169 #define QConsts_SmkcDown 65086 170 #define QConsts_SmkcIns 65087 171 #define TntSystem_SBufferOverflow 65088 172 #define TntSystem_SInvalidUTF7 65089 173 #define DKLang_SDKLangErrMsg_DuplicatePropValueID 65090 174 #define DKLang_SDKLangErrMsg_ErrorLoadingTran 65091 175 #define DKLang_SDKLangErrMsg_InvalidConstName 65092 176 #define DKLang_SDKLangErrMsg_DuplicateConstName 65093 177 #define DKLang_SDKLangErrMsg_ConstantNotFound 65094 178 #define DKLang_SDKLangErrMsg_LangManagerCalledAtDT 65095 179 #define DKLang_SDKLangErrMsg_StreamVersionTooHigh 65096 180 #define OleConst_SCannotActivate 65097 181 #define OleConst_SNoWindowHandle 65098 182 #define OleConst_SInvalidLicense 65099 183 #define OleConst_SNotLicensed 65100 184 #define OleConst_sNoRunningObject 65101 185 #define QConsts_SInvalidCreateWidget 65102 186 #define QConsts_STooManyMessageBoxButtons 65103 187 #define TeeConst_TeeMsg_FunctionLow 65104 188 #define TeeConst_TeeMsg_FunctionAverage 65105 189 #define TeeConst_TeeMsg_DefaultFontName 65106 190 #define TeeConst_TeeMsg_CheckPointerSize 65107 191 #define TeeConst_TeeMsg_FunctionPeriod 65108 192 #define TeeConst_TeeMsg_PieOther 65109 193 #define TeeConst_TeeMsg_ValuesX 65110 194 #define TeeConst_TeeMsg_ValuesY 65111 195 #define TeeConst_TeeMsg_ValuesPie 65112 196 #define TeeConst_TeeMsg_ValuesBar 65113 197 #define TeeConst_TeeMsg_ValuesAngle 65114 198 #define TeeConst_TeeMsg_ValuesGanttStart 65115 199 #define TeeConst_TeeMsg_ValuesGanttEnd 65116 200 #define TeeConst_TeeMsg_ValuesGanttNextTask 65117 201 #define TeeConst_TeeMsg_ValuesArrowEndX 65118 202 #define TeeConst_TeeMsg_ValuesArrowEndY 65119 203 #define TeeConst_TeeMsg_GanttSample1 65120 204 #define TeeConst_TeeMsg_GanttSample2 65121 205 #define TeeConst_TeeMsg_GanttSample3 65122 206 #define TeeConst_TeeMsg_GanttSample4 65123 207 #define TeeConst_TeeMsg_GanttSample5 65124 208 #define TeeConst_TeeMsg_GanttSample6 65125 209 #define TeeConst_TeeMsg_GanttSample7 65126 210 #define TeeConst_TeeMsg_GanttSample8 65127 211 #define TeeConst_TeeMsg_GanttSample9 65128 212 #define TeeConst_TeeMsg_GanttSample10 65129 213 #define TeeConst_TeeMsg_DefaultFontSize 65130 214 #define TeeConst_TeeMsg_FunctionAdd 65131 215 #define TeeConst_TeeMsg_FunctionSubtract 65132 216 #define TeeConst_TeeMsg_FunctionMultiply 65133 217 #define TeeConst_TeeMsg_FunctionDivide 65134 218 #define TeeConst_TeeMsg_FunctionHigh 65135 219 #define TeeConst_TeeMsg_GalleryHorizBar 65136 220 #define TeeConst_TeeMsg_GalleryPie 65137 221 #define TeeConst_TeeMsg_GalleryFastLine 65138 222 #define TeeConst_TeeMsg_Rotation 65139 223 #define TeeConst_TeeMsg_PieSample1 65140 224 #define TeeConst_TeeMsg_PieSample2 65141 225 #define TeeConst_TeeMsg_PieSample3 65142 226 #define TeeConst_TeeMsg_PieSample4 65143 227 #define TeeConst_TeeMsg_PieSample5 65144 228 #define TeeConst_TeeMsg_PieSample6 65145 229 #define TeeConst_TeeMsg_PieSample7 65146 230 #define TeeConst_TeeMsg_PieSample8 65147 231 #define TeeConst_TeeMsg_GalleryStandard 65148 232 #define TeeConst_TeeMsg_GalleryFunctions 65149 233 #define TeeConst_TeeMsg_GalleryArrow 65150 234 #define TeeConst_TeeMsg_GalleryGantt 65151 235 #define TeeConst_TeeMsg_AxisMaxMin 65152 236 #define TeeConst_TeeMsg_AxisLogBase 65153 237 #define TeeConst_TeeMsg_MaxPointsPerPage 65154 238 #define TeeConst_TeeMsg_3dPercent 65155 239 #define TeeConst_TeeMsg_CircularSeries 65156 240 #define TeeConst_TeeMsg_BarWidthPercent 65157 241 #define TeeConst_TeeMsg_BarOffsetPercent 65158 242 #define TeeConst_TeeMsg_DefaultPercentOf 65159 243 #define TeeConst_TeeMsg_DefPercentFormat 65160 244 #define TeeConst_TeeMsg_DefValueFormat 65161 245 #define TeeConst_TeeMsg_AxisTitle 65162 246 #define TeeConst_TeeMsg_AxisLabels 65163 247 #define TeeConst_TeeMsg_GalleryLine 65164 248 #define TeeConst_TeeMsg_GalleryPoint 65165 249 #define TeeConst_TeeMsg_GalleryArea 65166 250 #define TeeConst_TeeMsg_GalleryBar 65167 251 #define ComConst_SDAXError 65168 252 #define ComConst_SAutomationWarning 65169 253 #define ComConst_SNoCloseActiveServer1 65170 254 #define ComConst_SNoCloseActiveServer2 65171 255 #define TeeConst_TeeMsg_LegendTopPos 65172 256 #define TeeConst_TeeMsg_LegendFirstValue 65173 257 #define TeeConst_TeeMsg_LegendColorWidth 65174 258 #define TeeConst_TeeMsg_SeriesSetDataSource 65175 259 #define TeeConst_TeeMsg_SeriesInvDataSource 65176 260 #define TeeConst_TeeMsg_FillSample 65177 261 #define TeeConst_TeeMsg_Angle 65178 262 #define TeeConst_TeeMsg_AxisLogDateTime 65179 263 #define TeeConst_TeeMsg_AxisLogNotPositive 65180 264 #define TeeConst_TeeMsg_AxisLabelSep 65181 265 #define TeeConst_TeeMsg_AxisIncrementNeg 65182 266 #define TeeConst_TeeMsg_AxisMinMax 65183 267 #define ComStrs_sNeedAllowNone 65184 268 #define ComStrs_sFailSetCalDateTime 65185 269 #define ComStrs_sFailSetCalMaxSelRange 65186 270 #define ComStrs_sFailSetCalMinMaxRange 65187 271 #define ComStrs_sFailsetCalSelRange 65188 272 #define WinHelpViewer_hNoKeyword 65189 273 #define ComConst_SCreateRegKeyError 65190 274 #define ComConst_SOleError 65191 275 #define ComConst_SObjectFactoryMissing 65192 276 #define ComConst_STypeInfoMissing 65193 277 #define ComConst_SBadTypeInfo 65194 278 #define ComConst_SDispIntfMissing 65195 279 #define ComConst_SNoMethod 65196 280 #define ComConst_SVarNotObject 65197 281 #define ComConst_STooManyParams 65198 282 #define ComConst_SDCOMNotInstalled 65199 283 #define ComStrs_sTabFailRetrieve 65200 284 #define ComStrs_sTabFailGetObject 65201 285 #define ComStrs_sTabFailSet 65202 286 #define ComStrs_sTabFailSetObject 65203 287 #define ComStrs_sTabMustBeMultiLine 65204 288 #define ComStrs_sInvalidIndex 65205 289 #define ComStrs_sInsertError 65206 290 #define ComStrs_sInvalidOwner 65207 291 #define ComStrs_sRichEditInsertError 65208 292 #define ComStrs_sRichEditLoadFail 65209 293 #define ComStrs_sRichEditSaveFail 65210 294 #define ComStrs_sUDAssociated 65211 295 #define ComStrs_sPageIndexError 65212 296 #define ComStrs_sInvalidComCtl32 65213 297 #define ComStrs_sDateTimeMax 65214 298 #define ComStrs_sDateTimeMin 65215 299 #define ExtCtrls_clNameInactiveBorder 65216 300 #define ExtCtrls_clNameInactiveCaption 65217 301 #define ExtCtrls_clNameInactiveCaptionText 65218 302 #define ExtCtrls_clNameInfoBk 65219 303 #define ExtCtrls_clNameInfoText 65220 304 #define ExtCtrls_clNameMenu 65221 305 #define ExtCtrls_clNameMenuText 65222 306 #define ExtCtrls_clNameNone 65223 307 #define ExtCtrls_clNameScrollBar 65224 308 #define ExtCtrls_clName3DDkShadow 65225 309 #define ExtCtrls_clName3DLight 65226 310 #define ExtCtrls_clNameWindow 65227 311 #define ExtCtrls_clNameWindowFrame 65228 312 #define ExtCtrls_clNameWindowText 65229 313 #define ComStrs_sTabFailClear 65230 314 #define ComStrs_sTabFailDelete 65231 315 #define ExtCtrls_clNameSkyBlue 65232 316 #define ExtCtrls_clNameCream 65233 317 #define ExtCtrls_clNameMedGray 65234 318 #define ExtCtrls_clNameActiveBorder 65235 319 #define ExtCtrls_clNameActiveCaption 65236 320 #define ExtCtrls_clNameAppWorkSpace 65237 321 #define ExtCtrls_clNameBackground 65238 322 #define ExtCtrls_clNameBtnFace 65239 323 #define ExtCtrls_clNameBtnHighlight 65240 324 #define ExtCtrls_clNameBtnShadow 65241 325 #define ExtCtrls_clNameBtnText 65242 326 #define ExtCtrls_clNameCaptionText 65243 327 #define ExtCtrls_clNameDefault 65244 328 #define ExtCtrls_clNameGrayText 65245 329 #define ExtCtrls_clNameHighlight 65246 330 #define ExtCtrls_clNameHighlightText 65247 331 #define ExtCtrls_clNameMaroon 65248 332 #define ExtCtrls_clNameGreen 65249 333 #define ExtCtrls_clNameOlive 65250 334 #define ExtCtrls_clNameNavy 65251 335 #define ExtCtrls_clNamePurple 65252 336 #define ExtCtrls_clNameTeal 65253 337 #define ExtCtrls_clNameGray 65254 338 #define ExtCtrls_clNameSilver 65255 339 #define ExtCtrls_clNameRed 65256 340 #define ExtCtrls_clNameLime 65257 341 #define ExtCtrls_clNameYellow 65258 342 #define ExtCtrls_clNameBlue 65259 343 #define ExtCtrls_clNameFuchsia 65260 344 #define ExtCtrls_clNameAqua 65261 345 #define ExtCtrls_clNameWhite 65262 346 #define ExtCtrls_clNameMoneyGreen 65263 347 #define Consts_SPreviewLabel 65264 348 #define Consts_SCannotOpenAVI 65265 349 #define Consts_SDockedCtlNeedsName 65266 350 #define Consts_SDockTreeRemoveError 65267 351 #define Consts_SDockZoneNotFound 65268 352 #define Consts_SDockZoneHasNoCtl 65269 353 #define Consts_SMultiSelectRequired 65270 354 #define Consts_SSeparator 65271 355 #define Consts_SErrorSettingCount 65272 356 #define Consts_SListBoxMustBeVirtual 65273 357 #define Consts_SNoGetItemEventHandler 65274 358 #define HelpIntfs_hNoTableOfContents 65275 359 #define HelpIntfs_hNothingFound 65276 360 #define HelpIntfs_hNoContext 65277 361 #define HelpIntfs_hNoTopics 65278 362 #define ExtCtrls_clNameBlack 65279 363 #define Consts_SmkcShift 65280 364 #define Consts_SmkcCtrl 65281 365 #define Consts_SmkcAlt 65282 366 #define Consts_srNone 65283 367 #define Consts_SOutOfRange 65284 368 #define Consts_sAllFilter 65285 369 #define Consts_SInsertLineError 65286 370 #define Consts_SInvalidClipFmt 65287 371 #define Consts_SIconToClipboard 65288 372 #define Consts_SCannotOpenClipboard 65289 373 #define Consts_SInvalidMemoSize 65290 374 #define Consts_SInvalidPrinterOp 65291 375 #define Consts_SNoDefaultPrinter 65292 376 #define Consts_SDuplicateMenus 65293 377 #define Consts_SPictureLabel 65294 378 #define Consts_SPictureDesc 65295 379 #define Consts_SMsgDlgYesToAll 65296 380 #define Consts_SmkcBkSp 65297 381 #define Consts_SmkcTab 65298 382 #define Consts_SmkcEsc 65299 383 #define Consts_SmkcEnter 65300 384 #define Consts_SmkcSpace 65301 385 #define Consts_SmkcPgUp 65302 386 #define Consts_SmkcPgDn 65303 387 #define Consts_SmkcEnd 65304 388 #define Consts_SmkcHome 65305 389 #define Consts_SmkcLeft 65306 390 #define Consts_SmkcUp 65307 391 #define Consts_SmkcRight 65308 392 #define Consts_SmkcDown 65309 393 #define Consts_SmkcIns 65310 394 #define Consts_SmkcDel 65311 395 #define Consts_SMaskErr 65312 396 #define Consts_SMaskEditErr 65313 397 #define Consts_SMsgDlgWarning 65314 398 #define Consts_SMsgDlgError 65315 399 #define Consts_SMsgDlgInformation 65316 400 #define Consts_SMsgDlgConfirm 65317 401 #define Consts_SMsgDlgYes 65318 402 #define Consts_SMsgDlgNo 65319 403 #define Consts_SMsgDlgOK 65320 404 #define Consts_SMsgDlgCancel 65321 405 #define Consts_SMsgDlgHelp 65322 406 #define Consts_SMsgDlgAbort 65323 407 #define Consts_SMsgDlgRetry 65324 408 #define Consts_SMsgDlgIgnore 65325 409 #define Consts_SMsgDlgAll 65326 410 #define Consts_SMsgDlgNoToAll 65327 411 #define Consts_SControlParentSetToSelf 65328 412 #define Consts_SOKButton 65329 413 #define Consts_SCancelButton 65330 414 #define Consts_SYesButton 65331 415 #define Consts_SNoButton 65332 416 #define Consts_SHelpButton 65333 417 #define Consts_SCloseButton 65334 418 #define Consts_SIgnoreButton 65335 419 #define Consts_SRetryButton 65336 420 #define Consts_SAbortButton 65337 421 #define Consts_SAllButton 65338 422 #define Consts_SCannotDragForm 65339 423 #define Consts_SVMetafiles 65340 424 #define Consts_SVEnhMetafiles 65341 425 #define Consts_SVIcons 65342 426 #define Consts_SVBitmaps 65343 427 #define Consts_SMDIChildNotVisible 65344 428 #define Consts_SVisibleChanged 65345 429 #define Consts_SCannotShowModal 65346 430 #define Consts_SScrollBarRange 65347 431 #define Consts_SPropertyOutOfRange 65348 432 #define Consts_SMenuIndexError 65349 433 #define Consts_SMenuReinserted 65350 434 #define Consts_SMenuNotFound 65351 435 #define Consts_SNoTimers 65352 436 #define Consts_SNotPrinting 65353 437 #define Consts_SPrinting 65354 438 #define Consts_SPrinterIndexError 65355 439 #define Consts_SInvalidPrinter 65356 440 #define Consts_SDeviceOnPort 65357 441 #define Consts_SGroupIndexTooLow 65358 442 #define Consts_SNoMDIForm 65359 443 #define Consts_SOleGraphic 65360 444 #define Consts_SUnknownExtension 65361 445 #define Consts_SUnknownClipboardFormat 65362 446 #define Consts_SOutOfResources 65363 447 #define Consts_SNoCanvasHandle 65364 448 #define Consts_SInvalidImageSize 65365 449 #define Consts_SInvalidImageList 65366 450 #define Consts_SReplaceImage 65367 451 #define Consts_SImageIndexError 65368 452 #define Consts_SImageReadFail 65369 453 #define Consts_SImageWriteFail 65370 454 #define Consts_SWindowDCError 65371 455 #define Consts_SWindowClass 65372 456 #define Consts_SCannotFocus 65373 457 #define Consts_SParentRequired 65374 458 #define Consts_SParentGivenNotAParent 65375 459 #define RTLConsts_SSortedListError 65376 460 #define RTLConsts_STooManyDeleted 65377 461 #define RTLConsts_SUnknownGroup 65378 462 #define RTLConsts_SUnknownProperty 65379 463 #define RTLConsts_SWriteError 65380 464 #define RTLConsts_SThreadCreateError 65381 465 #define RTLConsts_SThreadError 65382 466 #define Consts_SInvalidTabPosition 65383 467 #define Consts_SInvalidTabStyle 65384 468 #define Consts_SInvalidBitmap 65385 469 #define Consts_SInvalidIcon 65386 470 #define Consts_SInvalidMetafile 65387 471 #define Consts_SInvalidPixelFormat 65388 472 #define Consts_SInvalidImage 65389 473 #define Consts_SScanLine 65390 474 #define Consts_SChangeIconSize 65391 475 #define RTLConsts_SInvalidPropertyPath 65392 476 #define RTLConsts_SInvalidPropertyType 65393 477 #define RTLConsts_SInvalidPropertyValue 65394 478 #define RTLConsts_SInvalidRegType 65395 479 #define RTLConsts_SInvalidStringGridOp 65396 480 #define RTLConsts_SListCapacityError 65397 481 #define RTLConsts_SListCountError 65398 482 #define RTLConsts_SListIndexError 65399 483 #define RTLConsts_SMemoryStreamError 65400 484 #define RTLConsts_SPropertyException 65401 485 #define RTLConsts_SReadError 65402 486 #define RTLConsts_SReadOnlyProperty 65403 487 #define RTLConsts_SRegGetDataFailed 65404 488 #define RTLConsts_SRegSetDataFailed 65405 489 #define RTLConsts_SResNotFound 65406 490 #define RTLConsts_SSeekNotImplemented 65407 491 #define RTLConsts_SDuplicateClass 65408 492 #define RTLConsts_SDuplicateItem 65409 493 #define RTLConsts_SDuplicateName 65410 494 #define RTLConsts_SDuplicateString 65411 495 #define RTLConsts_SFCreateErrorEx 65412 496 #define RTLConsts_SFixedColTooBig 65413 497 #define RTLConsts_SFixedRowTooBig 65414 498 #define RTLConsts_SFOpenErrorEx 65415 499 #define RTLConsts_SGridTooLarge 65416 500 #define RTLConsts_SIndexOutOfRange 65417 501 #define RTLConsts_SIniFileWriteError 65418 502 #define RTLConsts_SInvalidImage 65419 503 #define RTLConsts_SInvalidMask 65420 504 #define RTLConsts_SInvalidName 65421 505 #define RTLConsts_SInvalidProperty 65422 506 #define RTLConsts_SInvalidPropertyElement 65423 507 #define SysConst_SShortDayNameFri 65424 508 #define SysConst_SShortDayNameSat 65425 509 #define SysConst_SLongDayNameSun 65426 510 #define SysConst_SLongDayNameMon 65427 511 #define SysConst_SLongDayNameTue 65428 512 #define SysConst_SLongDayNameWed 65429 513 #define SysConst_SLongDayNameThu 65430 514 #define SysConst_SLongDayNameFri 65431 515 #define SysConst_SLongDayNameSat 65432 516 #define SysConst_SCannotCreateDir 65433 517 #define RTLConsts_SAncestorNotFound 65434 518 #define RTLConsts_SAssignError 65435 519 #define RTLConsts_SBitsIndexError 65436 520 #define RTLConsts_SCantWriteResourceStreamError 65437 521 #define RTLConsts_SCheckSynchronizeError 65438 522 #define RTLConsts_SClassNotFound 65439 523 #define SysConst_SLongMonthNameFeb 65440 524 #define SysConst_SLongMonthNameMar 65441 525 #define SysConst_SLongMonthNameApr 65442 526 #define SysConst_SLongMonthNameMay 65443 527 #define SysConst_SLongMonthNameJun 65444 528 #define SysConst_SLongMonthNameJul 65445 529 #define SysConst_SLongMonthNameAug 65446 530 #define SysConst_SLongMonthNameSep 65447 531 #define SysConst_SLongMonthNameOct 65448 532 #define SysConst_SLongMonthNameNov 65449 533 #define SysConst_SLongMonthNameDec 65450 534 #define SysConst_SShortDayNameSun 65451 535 #define SysConst_SShortDayNameMon 65452 536 #define SysConst_SShortDayNameTue 65453 537 #define SysConst_SShortDayNameWed 65454 538 #define SysConst_SShortDayNameThu 65455 539 #define SysConst_SModuleAccessViolation 65456 540 #define SysConst_SOSError 65457 541 #define SysConst_SUnkOSError 65458 542 #define SysConst_SShortMonthNameJan 65459 543 #define SysConst_SShortMonthNameFeb 65460 544 #define SysConst_SShortMonthNameMar 65461 545 #define SysConst_SShortMonthNameApr 65462 546 #define SysConst_SShortMonthNameMay 65463 547 #define SysConst_SShortMonthNameJun 65464 548 #define SysConst_SShortMonthNameJul 65465 549 #define SysConst_SShortMonthNameAug 65466 550 #define SysConst_SShortMonthNameSep 65467 551 #define SysConst_SShortMonthNameOct 65468 552 #define SysConst_SShortMonthNameNov 65469 553 #define SysConst_SShortMonthNameDec 65470 554 #define SysConst_SLongMonthNameJan 65471 555 #define SysConst_SVarTypeAlreadyUsedWithPrefix 65472 556 #define SysConst_SVarTypeNotUsableWithPrefix 65473 557 #define SysConst_SVarTypeTooManyCustom 65474 558 #define SysConst_SVarTypeCouldNotConvert 65475 559 #define SysConst_SVarTypeConvertOverflow 65476 560 #define SysConst_SVarOverflow 65477 561 #define SysConst_SVarInvalid 65478 562 #define SysConst_SVarBadType 65479 563 #define SysConst_SVarNotImplemented 65480 564 #define SysConst_SVarUnexpected 65481 565 #define SysConst_SExternalException 65482 566 #define SysConst_SAssertionFailed 65483 567 #define SysConst_SIntfCastError 65484 568 #define SysConst_SSafecallException 65485 569 #define SysConst_SAssertError 65486 570 #define SysConst_SAbstractError 65487 571 #define SysConst_SException 65488 572 #define SysConst_SExceptTitle 65489 573 #define SysConst_SInvalidFormat 65490 574 #define SysConst_SArgumentMissing 65491 575 #define SysConst_SDispatchError 65492 576 #define SysConst_SReadAccess 65493 577 #define SysConst_SWriteAccess 65494 578 #define SysConst_SFormatTooLong 65495 579 #define SysConst_SVarArrayCreate 65496 580 #define SysConst_SVarArrayBounds 65497 581 #define SysConst_SVarArrayLocked 65498 582 #define SysConst_SInvalidVarCast 65499 583 #define SysConst_SInvalidVarOp 65500 584 #define SysConst_SInvalidVarNullOp 65501 585 #define SysConst_SInvalidVarOpWithHResultWithPrefix 65502 586 #define SysConst_SVarTypeOutOfRangeWithPrefix 65503 587 #define SysConst_SInvalidInput 65504 588 #define SysConst_SDivByZero 65505 589 #define SysConst_SRangeError 65506 590 #define SysConst_SIntOverflow 65507 591 #define SysConst_SInvalidOp 65508 592 #define SysConst_SZeroDivide 65509 593 #define SysConst_SOverflow 65510 594 #define SysConst_SUnderflow 65511 595 #define SysConst_SInvalidPointer 65512 596 #define SysConst_SInvalidCast 65513 597 #define SysConst_SAccessViolationArg3 65514 598 #define SysConst_SAccessViolationNoArg 65515 599 #define SysConst_SStackOverflow 65516 600 #define SysConst_SControlC 65517 601 #define SysConst_SPrivilege 65518 602 #define SysConst_SOperationAborted 65519 601 603 #define SysConst_SInvalidInteger 65520 602 604 #define SysConst_SInvalidFloat 65521 … … 604 606 #define SysConst_SInvalidTime 65523 605 607 #define SysConst_SInvalidDateTime 65524 606 #define SysConst_S TimeEncodeError65525607 #define SysConst_S DateEncodeError 65526608 #define SysConst_S OutOfMemory65527609 #define SysConst_S InOutError65528610 #define SysConst_S FileNotFound65529611 #define SysConst_S InvalidFilename65530612 #define SysConst_S TooManyOpenFiles65531613 #define SysConst_S AccessDenied65532614 #define SysConst_S EndOfFile65533615 #define SysConst_S DiskFull65534616 #define SysConst_S InvalidInput65535608 #define SysConst_SInvalidBoolean 65525 609 #define SysConst_STimeEncodeError 65526 610 #define SysConst_SDateEncodeError 65527 611 #define SysConst_SOutOfMemory 65528 612 #define SysConst_SInOutError 65529 613 #define SysConst_SFileNotFound 65530 614 #define SysConst_SInvalidFilename 65531 615 #define SysConst_STooManyOpenFiles 65532 616 #define SysConst_SAccessDenied 65533 617 #define SysConst_SEndOfFile 65534 618 #define SysConst_SDiskFull 65535 617 619 STRINGTABLE 618 620 BEGIN 619 pnglang_EPNGSizeExceedsText, "This \"Portable Network Graphics\" image is not supported because either it's width or height exceeds the maximum size, which is 65535 pixels length." 620 pnglang_EPNGUnknownPalEntryText, "There is no such palette entry." 621 pnglang_EPNGUnknownCriticalChunkText, "This \"Portable Network Graphics\" image contains an unknown critical part which could not be decoded." 622 pnglang_EPNGUnknownCompressionText, "This \"Portable Network Graphics\" image is encoded with an unknown compression scheme which could not be decoded." 623 pnglang_EPNGUnknownInterlaceText, "This \"Portable Network Graphics\" image uses an unknown interlace scheme which could not be decoded." 624 pnglang_EPNGCannotAssignChunkText, "The chunks must be compatible to be assigned." 625 pnglang_EPNGUnexpectedEndText, "This \"Portable Network Graphics\" image is invalid because the decoder found an unexpected end of the file." 626 pnglang_EPNGNoImageDataText, "This \"Portable Network Graphics\" image contains no data." 627 pnglang_EPNGCannotChangeSizeText, "The \"Portable Network Graphics\" image can not be resize by changing width and height properties. Try assigning the image from a bitmap." 628 pnglang_EPNGOutMemoryText, "Some operation could not be performed because the system is out of resources. Close some windows and try again." 629 pnglang_EPNGHeaderNotPresentText, "This operation is not valid because the current image contains no valid header." 630 JConsts_sChangeJPGSize, "Cannot change the size of a JPEG image" 631 JConsts_sJPEGError, "JPEG error #%d" 632 JConsts_sJPEGImageFile, "JPEG Image File" 621 IdResourceStrings_RSStackENOBUFS, "No buffer space available." 622 IdResourceStrings_RSStackEISCONN, "Socket is already connected." 623 IdResourceStrings_RSStackENOTCONN, "Socket is not connected." 624 IdResourceStrings_RSStackESHUTDOWN, "Cannot send or receive after socket is closed." 633 625 IdResourceStrings_RSStackETOOMANYREFS, "Too many references, cannot splice." 634 626 IdResourceStrings_RSStackETIMEDOUT, "Connection timed out." … … 640 632 IdResourceStrings_RSStackENOTEMPTY, "Directory not empty" 641 633 IdResourceStrings_RSStackHOST_NOT_FOUND, "Host not found." 642 pnglang_EPngInvalidCRCText, "This \"Portable Network Graphics\" image is not valid because it contains invalid pieces of data (crc error)"643 pnglang_EPNGInvalidIHDRText, "The \"Portable Network Graphics\" image could not be loaded because one of its main piece of data (ihdr) might be corrupted"644 pnglang_EPNGMissingMultipleIDATText, "This \"Portable Network Graphics\" image is invalid because it has missing image parts."645 pnglang_EPNGZLIBErrorText, "Could not decompress the image because it contains invalid compressed data.\r\n Description:"646 pnglang_EPNGInvalidPaletteText, "The \"Portable Network Graphics\" image contains an invalid palette."647 pnglang_EPNGInvalidFileHeaderText, "The file being readed is not a valid \"Portable Network Graphics\" image because it contains an invalid header. This file may be corruped, try obtaining it again."648 pnglang_EPNGIHDRNotFirstText, "This \"Portable Network Graphics\" image is not supported or it might be invalid.\r\n(IHDR chunk is not the first)"634 JConsts_sChangeJPGSize, "Cannot change the size of a JPEG image" 635 JConsts_sJPEGError, "JPEG error #%d" 636 JConsts_sJPEGImageFile, "JPEG Image File" 637 IdResourceStrings_RSStackEDESTADDRREQ, "Destination address required." 638 IdResourceStrings_RSStackEMSGSIZE, "Message too long." 639 IdResourceStrings_RSStackEPROTOTYPE, "Protocol wrong type for socket." 640 IdResourceStrings_RSStackENOPROTOOPT, "Bad protocol option." 649 641 IdResourceStrings_RSStackEPROTONOSUPPORT, "Protocol not supported." 650 642 IdResourceStrings_RSStackESOCKTNOSUPPORT, "Socket type not supported." … … 659 651 IdResourceStrings_RSStackECONNABORTED, "Software caused connection abort." 660 652 IdResourceStrings_RSStackECONNRESET, "Connection reset by peer." 661 IdResourceStrings_RS StackENOBUFS, "No buffer space available."662 IdResourceStrings_RSS tackEISCONN, "Socket is already connected."663 IdResourceStrings_RS StackENOTCONN, "Socket is not connected."664 IdResourceStrings_RS StackESHUTDOWN, "Cannot send or receive after socket is closed."653 IdResourceStrings_RSWinsockInitializationError, "Winsock Initialization Error." 654 IdResourceStrings_RSSetSizeExceeded, "Set Size Exceeded." 655 IdResourceStrings_RSWS2CallError, "Error on call Winsock2 library function %s" 656 IdResourceStrings_RSWS2LoadError, "Error on loading Winsock2 library (%s)" 665 657 IdResourceStrings_RSInvalidServiceName, "%s is not a valid service." 666 658 IdResourceStrings_RSStackError, "Socket Error # %d\r\n%s" … … 675 667 IdResourceStrings_RSStackEALREADY, "Operation already in progress." 676 668 IdResourceStrings_RSStackENOTSOCK, "Socket operation on non-socket." 677 IdResourceStrings_RSStackEDESTADDRREQ, "Destination address required." 678 IdResourceStrings_RSStackEMSGSIZE, "Message too long." 679 IdResourceStrings_RSStackEPROTOTYPE, "Protocol wrong type for socket." 680 IdResourceStrings_RSStackENOPROTOOPT, "Bad protocol option." 669 pnglang_EPNGMissingMultipleIDATText, "This \"Portable Network Graphics\" image is invalid because it has missing image parts." 670 pnglang_EPNGZLIBErrorText, "Could not decompress the image because it contains invalid compressed data.\r\n Description: " 671 pnglang_EPNGInvalidPaletteText, "The \"Portable Network Graphics\" image contains an invalid palette." 672 pnglang_EPNGInvalidFileHeaderText, "The file being readed is not a valid \"Portable Network Graphics\" image because it contains an invalid header. This file may be corruped, try obtaining it again." 673 pnglang_EPNGIHDRNotFirstText, "This \"Portable Network Graphics\" image is not supported or it might be invalid.\r\n(IHDR chunk is not the first)" 674 pnglang_EPNGSizeExceedsText, "This \"Portable Network Graphics\" image is not supported because either it's width or height exceeds the maximum size, which is 65535 pixels length." 675 pnglang_EPNGUnknownPalEntryText, "There is no such palette entry." 676 pnglang_EPNGUnknownCriticalChunkText, "This \"Portable Network Graphics\" image contains an unknown critical part which could not be decoded." 677 pnglang_EPNGUnknownCompressionText, "This \"Portable Network Graphics\" image is encoded with an unknown compression scheme which could not be decoded." 678 pnglang_EPNGUnknownInterlaceText, "This \"Portable Network Graphics\" image uses an unknown interlace scheme which could not be decoded." 679 pnglang_EPNGCannotAssignChunkText, "The chunks must be compatible to be assigned." 680 pnglang_EPNGUnexpectedEndText, "This \"Portable Network Graphics\" image is invalid because the decoder found an unexpected end of the file." 681 pnglang_EPNGNoImageDataText, "This \"Portable Network Graphics\" image contains no data." 682 pnglang_EPNGCannotChangeSizeText, "The \"Portable Network Graphics\" image can not be resize by changing width and height properties. Try assigning the image from a bitmap." 683 pnglang_EPNGOutMemoryText, "Some operation could not be performed because the system is out of resources. Close some windows and try again." 684 pnglang_EPNGHeaderNotPresentText, "This operation is not valid because the current image contains no valid header." 685 DBConsts_SInvalidBcdValue, "%s is not a valid BCD value" 686 DBConsts_SCouldNotParseTimeStamp, "Could not parse SQL TimeStamp string" 681 687 DBConsts_SInvalidSqlTimeStamp, "Invalid SQL date/time values" 682 688 VDBConsts_SFirstRecord, "First record" … … 691 697 VDBConsts_SRefreshRecord, "Refresh data" 692 698 VDBConsts_SRemoteLogin, "Remote Login" 693 IdResourceStrings_RSWinsockInitializationError, "Winsock Initialization Error."694 IdResourceStrings_RSSetSizeExceeded, "Set Size Exceeded."695 IdResourceStrings_RSWS2CallError, "Error on call Winsock2 library function %s"696 IdResourceStrings_RSWS2LoadError, "Error on loading Winsock2 library (%s)"699 pnglang_EPngInvalidCRCText, "This \"Portable Network Graphics\" image is not valid because it contains invalid pieces of data (crc error)" 700 pnglang_EPNGInvalidIHDRText, "The \"Portable Network Graphics\" image could not be loaded because one of its main piece of data (ihdr) might be corrupted" 701 QConsts_SMimeNotSupportedForIcon, "Mime format not supported for TIcon" 702 QConsts_SOpen, "Open" 697 703 QConsts_SSave, "Save" 698 704 QConsts_SUnknownImageFormat, "Image format not recognized" … … 709 715 QConsts_SDuplicateApp, "Fatal error: Cannot create more than one TApplication instance" 710 716 DBConsts_SBcdOverflow, "BCD overflow" 711 DBConsts_SInvalidBcdValue, "%s is not a valid BCD value"712 DBConsts_SCouldNotParseTimeStamp, "Could not parse SQL TimeStamp string"717 QConsts_SCannotDragForm, "Cannot drag a form" 718 QConsts_SMsgDlgWarning, "Warning" 713 719 QConsts_SMsgDlgError, "Error" 714 720 QConsts_SMsgDlgInformation, "Information" … … 725 731 QConsts_SInvalidImageDimension, "Invalid image dimension" 726 732 QConsts_SInvalidMimeSourceStream, "MimeSource format must have an associated data stream" 727 QConsts_SM imeNotSupportedForIcon, "Mime format not supported for TIcon"728 QConsts_S Open, "Open"733 QConsts_SMenuSetFormError, "TMenu.SetForm: argument must be TCustomForm" 734 QConsts_SGroupIndexTooLow, "GroupIndex cannot be less than a previous menu item's GroupIndex" 729 735 QConsts_SNoMDIForm, "Cannot create form. No MDI forms are currently active" 730 736 QConsts_SNotAnMDIForm, "Invalid MDIParent for class %s" … … 741 747 QConsts_SAbortButton, "Abort" 742 748 QConsts_SAllButton, "&All" 743 QConsts_S CannotDragForm, "Cannot drag a form"744 QConsts_S MsgDlgWarning, "Warning"749 QConsts_SmkcDel, "Del" 750 QConsts_SmkcShift, "Shift+" 745 751 QConsts_SmkcCtrl, "Ctrl+" 746 752 QConsts_SmkcAlt, "Alt+" … … 757 763 QConsts_SNoMenuRecursion, "Menu insertion recursion not allowed" 758 764 QConsts_SMenuNotFound, "Sub-menu is not in menu" 759 QConsts_S MenuSetFormError, "TMenu.SetForm: argument must be TCustomForm"760 QConsts_S GroupIndexTooLow, "GroupIndex cannot be less than a previous menu item's GroupIndex"765 QConsts_SmkcBkSp, "Backspace" 766 QConsts_SmkcTab, "Tab" 761 767 QConsts_SmkcBackTab, "BackTab" 762 768 QConsts_SmkcEsc, "Esc" … … 773 779 QConsts_SmkcDown, "Down" 774 780 QConsts_SmkcIns, "Ins" 775 QConsts_SmkcDel, "Del"776 QConsts_SmkcShift, "Shift+"781 TntSystem_SBufferOverflow, "Buffer overflow" 782 TntSystem_SInvalidUTF7, "Invalid UTF7" 777 783 DKLang_SDKLangErrMsg_DuplicatePropValueID, "Duplicate property value translation ID (%d)" 778 784 DKLang_SDKLangErrMsg_ErrorLoadingTran, "Loading translations failed.\r\nLine %d: %s" … … 789 795 QConsts_SInvalidCreateWidget, "Class %s could not create QT widget" 790 796 QConsts_STooManyMessageBoxButtons, "Too many buttons specified for message box" 791 QConsts_SmkcBkSp, "Backspace"792 QConsts_SmkcTab, "Tab"797 TeeConst_TeeMsg_FunctionLow, "Low" 798 TeeConst_TeeMsg_FunctionAverage, "Average" 793 799 TeeConst_TeeMsg_DefaultFontName, "Arial" 794 800 TeeConst_TeeMsg_CheckPointerSize, "Pointer size must be greater than zero" … … 805 811 TeeConst_TeeMsg_ValuesArrowEndX, "EndX" 806 812 TeeConst_TeeMsg_ValuesArrowEndY, "EndY" 807 T ntSystem_SBufferOverflow, "Buffer overflow"808 T ntSystem_SInvalidUTF7, "Invalid UTF7"813 TeeConst_TeeMsg_GanttSample1, "Design" 814 TeeConst_TeeMsg_GanttSample2, "Prototyping" 809 815 TeeConst_TeeMsg_GanttSample3, "Development" 810 816 TeeConst_TeeMsg_GanttSample4, "Sales" … … 821 827 TeeConst_TeeMsg_FunctionDivide, "Divide" 822 828 TeeConst_TeeMsg_FunctionHigh, "High" 823 TeeConst_TeeMsg_ FunctionLow, "Low"824 TeeConst_TeeMsg_ FunctionAverage, "Average"829 TeeConst_TeeMsg_GalleryHorizBar, "Horiz. Bar" 830 TeeConst_TeeMsg_GalleryPie, "Pie" 825 831 TeeConst_TeeMsg_GalleryFastLine, "Fast Line" 826 832 TeeConst_TeeMsg_Rotation, "Rotation" … … 837 843 TeeConst_TeeMsg_GalleryArrow, "Arrow" 838 844 TeeConst_TeeMsg_GalleryGantt, "Gantt" 839 TeeConst_TeeMsg_ GanttSample1, "Design"840 TeeConst_TeeMsg_ GanttSample2, "Prototyping"845 TeeConst_TeeMsg_AxisMaxMin, "Axis Maximum Value must be >= Minimum" 846 TeeConst_TeeMsg_AxisLogBase, "Axis Logarithmic Base should be >= 2" 841 847 TeeConst_TeeMsg_MaxPointsPerPage, "MaxPointsPerPage must be >= 0" 842 848 TeeConst_TeeMsg_3dPercent, "3D effect percent must be between %d and %d" … … 853 859 TeeConst_TeeMsg_GalleryArea, "Area" 854 860 TeeConst_TeeMsg_GalleryBar, "Bar" 855 TeeConst_TeeMsg_GalleryHorizBar, "Horiz. Bar"856 TeeConst_TeeMsg_GalleryPie, "Pie"861 ComConst_SDAXError, "DAX Error" 862 ComConst_SAutomationWarning, "COM Server Warning" 857 863 ComConst_SNoCloseActiveServer1, "There are still active COM objects in this application. One or more clients may have references to these objects, so manually closing " 858 864 ComConst_SNoCloseActiveServer2, "this application may cause those client application(s) to fail.\r\n\r\nAre you sure you want to close this application?" … … 869 875 TeeConst_TeeMsg_AxisIncrementNeg, "Axis increment must be >= 0" 870 876 TeeConst_TeeMsg_AxisMinMax, "Axis Minimum Value must be <= Maximum" 871 TeeConst_TeeMsg_AxisMaxMin, "Axis Maximum Value must be >= Minimum"872 TeeConst_TeeMsg_AxisLogBase, "Axis Logarithmic Base should be >= 2"877 ComStrs_sNeedAllowNone, "You must be in ShowCheckbox mode to set to this date" 878 ComStrs_sFailSetCalDateTime, "Failed to set calendar date or time" 873 879 ComStrs_sFailSetCalMaxSelRange, "Failed to set maximum selection range" 874 880 ComStrs_sFailSetCalMinMaxRange, "Failed to set calendar min/max range" … … 885 891 ComConst_STooManyParams, "Dispatch methods do not support more than 64 parameters" 886 892 ComConst_SDCOMNotInstalled, "DCOM not installed" 887 Com Const_SDAXError, "DAX Error"888 Com Const_SAutomationWarning, "COM Server Warning"893 ComStrs_sTabFailRetrieve, "Failed to retrieve tab at index %d" 894 ComStrs_sTabFailGetObject, "Failed to get object at index %d" 889 895 ComStrs_sTabFailSet, "Failed to set tab \"%s\" at index %d" 890 896 ComStrs_sTabFailSetObject, "Failed to set object at index %d" … … 901 907 ComStrs_sDateTimeMax, "Date exceeds maximum of %s" 902 908 ComStrs_sDateTimeMin, "Date is less than minimum of %s" 903 ComStrs_sNeedAllowNone, "You must be in ShowCheckbox mode to set to this date"904 ComStrs_sFailSetCalDateTime, "Failed to set calendar date or time"909 ExtCtrls_clNameInactiveBorder, "Inactive Border" 910 ExtCtrls_clNameInactiveCaption, "Inactive Caption" 905 911 ExtCtrls_clNameInactiveCaptionText, "Inactive Caption Text" 906 912 ExtCtrls_clNameInfoBk, "Info Background" … … 917 923 ComStrs_sTabFailClear, "Failed to clear tab control" 918 924 ComStrs_sTabFailDelete, "Failed to delete tab at index %d" 919 ComStrs_sTabFailRetrieve, "Failed to retrieve tab at index %d"920 ComStrs_sTabFailGetObject, "Failed to get object at index %d"925 ExtCtrls_clNameSkyBlue, "Sky Blue" 926 ExtCtrls_clNameCream, "Cream" 921 927 ExtCtrls_clNameMedGray, "Medium Gray" 922 928 ExtCtrls_clNameActiveBorder, "Active Border" … … 933 939 ExtCtrls_clNameHighlight, "Highlight Background" 934 940 ExtCtrls_clNameHighlightText, "Highlight Text" 935 ExtCtrls_clName InactiveBorder, "Inactive Border"936 ExtCtrls_clName InactiveCaption, "Inactive Caption"941 ExtCtrls_clNameMaroon, "Maroon" 942 ExtCtrls_clNameGreen, "Green" 937 943 ExtCtrls_clNameOlive, "Olive" 938 944 ExtCtrls_clNameNavy, "Navy" … … 949 955 ExtCtrls_clNameWhite, "White" 950 956 ExtCtrls_clNameMoneyGreen, "Money Green" 951 ExtCtrls_clNameSkyBlue, "Sky Blue"952 ExtCtrls_clNameCream, "Cream"957 Consts_SPreviewLabel, "Preview" 958 Consts_SCannotOpenAVI, "Cannot open AVI" 953 959 Consts_SDockedCtlNeedsName, "Docked control must have a name" 954 960 Consts_SDockTreeRemoveError, "Error removing control from dock tree" … … 965 971 HelpIntfs_hNoTopics, "No topic-based help system installed" 966 972 ExtCtrls_clNameBlack, "Black" 967 ExtCtrls_clNameMaroon, "Maroon"968 ExtCtrls_clNameGreen, "Green"973 Consts_SmkcShift, "Shift+" 974 Consts_SmkcCtrl, "Ctrl+" 969 975 Consts_SmkcAlt, "Alt+" 970 976 Consts_srNone, "(None)" … … 981 987 Consts_SPictureLabel, "Picture:" 982 988 Consts_SPictureDesc, " (%dx%d)" 983 Consts_S PreviewLabel, "Preview"984 Consts_S CannotOpenAVI, "Cannot open AVI"989 Consts_SMsgDlgYesToAll, "Yes to &All" 990 Consts_SmkcBkSp, "BkSp" 985 991 Consts_SmkcTab, "Tab" 986 992 Consts_SmkcEsc, "Esc" … … 997 1003 Consts_SmkcIns, "Ins" 998 1004 Consts_SmkcDel, "Del" 999 Consts_S mkcShift, "Shift+"1000 Consts_S mkcCtrl, "Ctrl+"1005 Consts_SMaskErr, "Invalid input value" 1006 Consts_SMaskEditErr, "Invalid input value. Use escape key to abandon changes" 1001 1007 Consts_SMsgDlgWarning, "Warning" 1002 1008 Consts_SMsgDlgError, "Error" … … 1013 1019 Consts_SMsgDlgAll, "&All" 1014 1020 Consts_SMsgDlgNoToAll, "N&o to All" 1015 Consts_S MsgDlgYesToAll, "Yes to &All"1016 Consts_S mkcBkSp, "BkSp"1021 Consts_SControlParentSetToSelf, "A control cannot have itself as its parent" 1022 Consts_SOKButton, "OK" 1017 1023 Consts_SCancelButton, "Cancel" 1018 1024 Consts_SYesButton, "&Yes" … … 1029 1035 Consts_SVIcons, "Icons" 1030 1036 Consts_SVBitmaps, "Bitmaps" 1031 Consts_SMaskErr, "Invalid input value" 1032 Consts_SMaskEditErr, "Invalid input value. Use escape key to abandon changes" 1037 Consts_SMDIChildNotVisible, "Cannot hide an MDI Child Form" 1033 1038 Consts_SVisibleChanged, "Cannot change Visible in OnShow or OnHide" 1034 1039 Consts_SCannotShowModal, "Cannot make a visible window modal" … … 1041 1046 Consts_SNotPrinting, "Printer is not currently printing" 1042 1047 Consts_SPrinting, "Printing in progress" 1048 Consts_SPrinterIndexError, "Printer index out of range" 1043 1049 Consts_SInvalidPrinter, "Printer selected is not valid" 1044 1050 Consts_SDeviceOnPort, "%s on %s" 1045 1051 Consts_SGroupIndexTooLow, "GroupIndex cannot be less than a previous menu item's GroupIndex" 1046 1052 Consts_SNoMDIForm, "Cannot create form. No MDI forms are currently active" 1047 Consts_SControlParentSetToSelf, "A control cannot have itself as its parent" 1048 Consts_SOKButton, "OK" 1053 Consts_SOleGraphic, "Invalid operation on TOleGraphic" 1049 1054 Consts_SUnknownExtension, "Unknown picture file extension (.%s)" 1050 1055 Consts_SUnknownClipboardFormat, "Unsupported clipboard format" … … 1062 1067 Consts_SParentRequired, "Control '%s' has no parent window" 1063 1068 Consts_SParentGivenNotAParent, "Parent given is not a parent of '%s'" 1064 Consts_SMDIChildNotVisible, "Cannot hide an MDI Child Form"1069 RTLConsts_SSortedListError, "Operation not allowed on sorted list" 1065 1070 RTLConsts_STooManyDeleted, "Too many rows or columns deleted" 1066 1071 RTLConsts_SUnknownGroup, "%s not in a class registration group" … … 1078 1083 Consts_SScanLine, "Scan line index out of range" 1079 1084 Consts_SChangeIconSize, "Cannot change the size of an icon" 1080 Consts_SOleGraphic, "Invalid operation on TOleGraphic"1085 RTLConsts_SInvalidPropertyPath, "Invalid property path" 1081 1086 RTLConsts_SInvalidPropertyType, "Invalid property type: %s" 1082 1087 RTLConsts_SInvalidPropertyValue, "Invalid property value" … … 1094 1099 RTLConsts_SResNotFound, "Resource %s not found" 1095 1100 RTLConsts_SSeekNotImplemented, "%s.Seek not implemented" 1096 RTLConsts_S SortedListError, "Operation not allowed on sorted list"1101 RTLConsts_SDuplicateClass, "A class named %s already exists" 1097 1102 RTLConsts_SDuplicateItem, "List does not allow duplicates ($0%x)" 1098 1103 RTLConsts_SDuplicateName, "A component named %s already exists" … … 1110 1115 RTLConsts_SInvalidProperty, "Invalid property value" 1111 1116 RTLConsts_SInvalidPropertyElement, "Invalid property element: %s" 1112 RTLConsts_SInvalidPropertyPath, "Invalid property path"1117 SysConst_SShortDayNameFri, "Fri" 1113 1118 SysConst_SShortDayNameSat, "Sat" 1114 1119 SysConst_SLongDayNameSun, "Sunday" … … 1126 1131 RTLConsts_SCheckSynchronizeError, "CheckSynchronize called from thread $%x, which is NOT the main thread" 1127 1132 RTLConsts_SClassNotFound, "Class %s not found" 1128 RTLConsts_SDuplicateClass, "A class named %s already exists"1133 SysConst_SLongMonthNameFeb, "February" 1129 1134 SysConst_SLongMonthNameMar, "March" 1130 1135 SysConst_SLongMonthNameApr, "April" … … 1142 1147 SysConst_SShortDayNameWed, "Wed" 1143 1148 SysConst_SShortDayNameThu, "Thu" 1144 SysConst_S ShortDayNameFri, "Fri"1149 SysConst_SModuleAccessViolation, "Access violation at address %p in module '%s'. %s of address %p" 1145 1150 SysConst_SOSError, "System Error. Code: %d.\r\n%s" 1146 1151 SysConst_SUnkOSError, "A call to an OS function failed" … … 1158 1163 SysConst_SShortMonthNameDec, "Dec" 1159 1164 SysConst_SLongMonthNameJan, "January" 1160 SysConst_S LongMonthNameFeb, "February"1165 SysConst_SVarTypeAlreadyUsedWithPrefix, "Custom variant type (%s%.4x) already used by %s" 1161 1166 SysConst_SVarTypeNotUsableWithPrefix, "Custom variant type (%s%.4x) is not usable" 1162 1167 SysConst_SVarTypeTooManyCustom, "Too many custom variant types have been registered" … … 1174 1179 SysConst_SAssertError, "%s (%s, line %d)" 1175 1180 SysConst_SAbstractError, "Abstract Error" 1176 SysConst_S ModuleAccessViolation, "Access violation at address %p in module '%s'. %s of address %p"1181 SysConst_SException, "Exception %s in module %s at %p.\r\n%s%s\r\n" 1177 1182 SysConst_SExceptTitle, "Application Error" 1178 1183 SysConst_SInvalidFormat, "Format '%s' invalid or incompatible with argument" … … 1190 1195 SysConst_SInvalidVarOpWithHResultWithPrefix, "Invalid variant operation (%s%.8x)\n%s" 1191 1196 SysConst_SVarTypeOutOfRangeWithPrefix, "Custom variant type (%s%.4x) is out of range" 1192 SysConst_S VarTypeAlreadyUsedWithPrefix, "Custom variant type (%s%.4x) already used by %s"1197 SysConst_SInvalidInput, "Invalid numeric input" 1193 1198 SysConst_SDivByZero, "Division by zero" 1194 1199 SysConst_SRangeError, "Range check error" … … 1206 1211 SysConst_SPrivilege, "Privileged instruction" 1207 1212 SysConst_SOperationAborted, "Operation aborted" 1208 SysConst_SException, "Exception %s in module %s at %p.\r\n%s%s\r\n"1209 1213 SysConst_SInvalidInteger, "'%s' is not a valid integer value" 1210 1214 SysConst_SInvalidFloat, "'%s' is not a valid floating point value" … … 1212 1216 SysConst_SInvalidTime, "'%s' is not a valid time" 1213 1217 SysConst_SInvalidDateTime, "'%s' is not a valid date and time" 1218 SysConst_SInvalidBoolean, "'%s' is not a valid boolean value" 1214 1219 SysConst_STimeEncodeError, "Invalid argument to time encode" 1215 1220 SysConst_SDateEncodeError, "Invalid argument to date encode" … … 1222 1227 SysConst_SEndOfFile, "Read beyond end of file" 1223 1228 SysConst_SDiskFull, "Disk full" 1224 SysConst_SInvalidInput, "Invalid numeric input"1225 1229 END 1226 1230 -
cprs/branches/tmg-cprs/CPRS-Chart/CPRSChart.dsk
r698 r729 1 1 [Closed Files] 2 File_0=SourceModule,'P:\vista\tmg-cprs\CPRS-Chart\Options\fOptionsReportsCustom.pas',0,1,676,42,670,0,0 3 File_1=SourceModule,'P:\vista\tmg-cprs\CPRS-Chart\Consults\fEditConsult.pas',0,1,714,1,718,0,0 4 File_2=SourceModule,'P:\vista\tmg-cprs\CPRS-Chart\Consults\fConsults.pas',0,1,4875,1,4882,0,0 5 File_3=SourceModule,'P:\vista\tmg-cprs\CPRS-Chart\fPtSel.pas',0,1,1069,12,1061,0,0 6 File_4=SourceModule,'P:\vista\tmg-cprs\CPRS-Chart\rHTMLTools.pas',0,1,51,17,58,0,0 7 File_5=SourceModule,'P:\vista\tmg-cprs\CPRS-Chart\Templates\mTemplateFieldButton.pas',0,1,104,12,111,0,0 8 File_6=SourceModule,'P:\vista\tmg-cprs\CPRS-Chart\Consults\fODConsult.pas',0,1,1472,38,1360,0,0 9 File_7=SourceModule,'P:\vista\tmg-cprs\CPRS-Chart\fNotePrt.pas',0,1,303,43,310,0,0 10 File_8=SourceModule,'P:\vista\tmg-cprs\CPRS-Chart\fPtSelOptns.pas',0,1,223,15,230,0,0 2 File_0=SourceModule,'P:\Vista\tmg-cprs\CPRS-Lib\ORNet.pas',0,1,345,1,357,0,0 3 File_1=SourceModule,'c:\program files\borland\delphi7\source\rtl\common\classes.pas',0,1,4192,1,4214,0,0 4 File_2=SourceModule,'P:\Vista\tmg-cprs\dklang-package-3.01\DKLang.pas',0,1,826,1,840,0,0 5 File_3=SourceModule,'P:\vista\tmg-cprs\CPRS-Chart\uTMGOptions.pas',0,1,62,19,73,0,0 6 File_4=SourceModule,'P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',0,1,1290,20,1298,0,0 11 7 12 8 [Modules] 13 Module0=P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas 14 Module1=P:\vista\tmg-cprs\CPRS-Chart\fFrame.pas 15 Module2=P:\vista\tmg-cprs\CPRS-Chart\Templates\fTemplateDialog.pas 16 Module3=P:\vista\tmg-cprs\CPRS-Chart\fOptionsNotes.pas 17 Module4=P:\vista\tmg-cprs\CPRS-Chart\TMG_Extra\HTMLEdit\TMGHTML2.pas 18 Module5=P:\vista\tmg-cprs\CPRS-Chart\fDrawers.pas 19 Module6=P:\vista\tmg-cprs\CPRS-Chart\Templates\uTemplateFields.pas 20 Module7=P:\vista\tmg-cprs\CPRS-Chart\Templates\uTemplates.pas 21 Module8=P:\vista\tmg-cprs\CPRS-Chart\uReminders.pas 22 Module9=P:\vista\tmg-cprs\CPRS-Chart\Templates\rTemplates.pas 23 Module10=c:\program files\borland\delphi7\source\vcl\Controls.pas 24 Module11=P:\vista\tmg-cprs\CPRS-Chart\fReports.pas 25 Count=12 9 Module0=P:\vista\tmg-cprs\CPRS-Chart\Templates\uTemplateFields.pas 10 Module1=P:\vista\tmg-cprs\CPRS-Chart\Templates\fTemplateDialog.pas 11 Module2=P:\vista\tmg-cprs\CPRS-Chart\uEvaluate.pas 12 Module3=c:\program files\borland\delphi7\source\rtl\Sys\system.pas 13 Module4=c:\program files\borland\delphi7\source\rtl\Sys\sysutils.pas 14 Module5=c:\program files\borland\delphi7\source\rtl\common\StrUtils.pas 15 Module6=P:\vista\tmg-cprs\CPRS-Chart\Templates\uTemplates.pas 16 Module7=P:\vista\tmg-cprs\CPRS-Chart\Templates\rTemplates.pas 17 Module8=C:\PROGRA~1\VISTA\BDK32\Source\Trpcb.pas 18 Module9=C:\PROGRA~1\VISTA\BDK32\Source\Wsockc.pas 19 Count=10 26 20 EditWindowCount=1 27 21 TypeLibWindowCount=1 28 22 29 [P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas] 30 ModuleType=SourceModule 31 FormState=1 32 FormOnTop=0 33 34 [P:\vista\tmg-cprs\CPRS-Chart\fFrame.pas] 23 [P:\vista\tmg-cprs\CPRS-Chart\Templates\uTemplateFields.pas] 35 24 ModuleType=SourceModule 36 25 FormState=0 … … 39 28 [P:\vista\tmg-cprs\CPRS-Chart\Templates\fTemplateDialog.pas] 40 29 ModuleType=SourceModule 41 FormState= 142 FormOnTop=0 43 44 [P:\vista\tmg-cprs\CPRS-Chart\ fOptionsNotes.pas]45 ModuleType=SourceModule 46 FormState=0 47 FormOnTop=0 48 49 [ P:\vista\tmg-cprs\CPRS-Chart\TMG_Extra\HTMLEdit\TMGHTML2.pas]50 ModuleType=SourceModule 51 FormState=0 52 FormOnTop=0 53 54 [ P:\vista\tmg-cprs\CPRS-Chart\fDrawers.pas]55 ModuleType=SourceModule 56 FormState=0 57 FormOnTop=0 58 59 [ P:\vista\tmg-cprs\CPRS-Chart\Templates\uTemplateFields.pas]30 FormState=0 31 FormOnTop=0 32 33 [P:\vista\tmg-cprs\CPRS-Chart\uEvaluate.pas] 34 ModuleType=SourceModule 35 FormState=0 36 FormOnTop=0 37 38 [c:\program files\borland\delphi7\source\rtl\Sys\system.pas] 39 ModuleType=SourceModule 40 FormState=0 41 FormOnTop=0 42 43 [c:\program files\borland\delphi7\source\rtl\Sys\sysutils.pas] 44 ModuleType=SourceModule 45 FormState=0 46 FormOnTop=0 47 48 [c:\program files\borland\delphi7\source\rtl\common\StrUtils.pas] 60 49 ModuleType=SourceModule 61 50 FormState=0 … … 67 56 FormOnTop=0 68 57 69 [P:\vista\tmg-cprs\CPRS-Chart\uReminders.pas]70 ModuleType=SourceModule71 FormState=072 FormOnTop=073 74 58 [P:\vista\tmg-cprs\CPRS-Chart\Templates\rTemplates.pas] 75 59 ModuleType=SourceModule … … 77 61 FormOnTop=0 78 62 79 [ c:\program files\borland\delphi7\source\vcl\Controls.pas]80 ModuleType=SourceModule 81 FormState=0 82 FormOnTop=0 83 84 [ P:\vista\tmg-cprs\CPRS-Chart\fReports.pas]63 [C:\PROGRA~1\VISTA\BDK32\Source\Trpcb.pas] 64 ModuleType=SourceModule 65 FormState=0 66 FormOnTop=0 67 68 [C:\PROGRA~1\VISTA\BDK32\Source\Wsockc.pas] 85 69 ModuleType=SourceModule 86 70 FormState=0 … … 99 83 FormOnTop=0 100 84 101 [P:\vista\tmg-cprs\CPRS-Chart\fHSplit.pas]102 FormState=0103 FormOnTop=0104 105 [P:\vista\tmg-cprs\CPRS-Chart\fPage.pas]106 FormState=0107 FormOnTop=0108 109 [P:\vista\tmg-cprs\CPRS-Chart\Orders\fODBase.pas]110 FormState=0111 FormOnTop=0112 113 [P:\vista\tmg-cprs\CPRS-Chart\fAutoSz.pas]114 FormState=0115 FormOnTop=0116 117 [P:\vista\tmg-cprs\CPRS-Chart\dShared.pas]118 FormState=0119 FormOnTop=0120 121 85 [EditWindow0] 122 ViewCount=1 2123 CurrentView= 086 ViewCount=10 87 CurrentView=3 124 88 View0=0 125 89 View1=1 … … 132 96 View8=8 133 97 View9=9 134 View10=10135 View11=11136 98 CodeExplorer=CodeExplorer@EditWindow0 137 99 MessageView=MessageView@EditWindow0 … … 139 101 Visible=1 140 102 State=0 141 Left= 3142 Top=1 25143 Width=100 9144 Height= 731145 MaxLeft=-1 36146 MaxTop= 126147 ClientWidth= 1001148 ClientHeight= 697103 Left=7 104 Top=130 105 Width=1005 106 Height=623 107 MaxLeft=-1 108 MaxTop=-1 109 ClientWidth=997 110 ClientHeight=589 149 111 LeftPanelSize=140 150 LeftPanelClients=CodeExplorer@EditWindow0 151 LeftPanelData=000004000 00000008C000000000000000250010000000000000100000000000000000000000001000000008C0000000C000000436F64654578706C6F726572FFFFFFFF112 LeftPanelClients=CodeExplorer@EditWindow0,DockSite1 113 LeftPanelData=00000400010000000C000000436F64654578706C6F7265728C0000000000000002E10100000000000001000000008C00000009000000446F636B536974653101000000000000000000000000FFFFFFFF 152 114 RightPanelSize=0 153 BottomPanelSize= 358154 BottomPanelClients=MessageView@EditWindow0 ,DockSite1155 BottomPanelData=0000040000000000 660100000000000001E90300000000000001000000002A00000000000000010000000266010000000000000200000001E9030000000000000300000000900000000B0000004D6573736167655669657703000000006601000009000000446F636B5369746531020000000000040000000000000200000000000400000000000002000000000004000000000000FFFFFFFF115 BottomPanelSize=105 116 BottomPanelClients=MessageView@EditWindow0 117 BottomPanelData=000004000000000000000000000000000000000000000000000100000000000000000B0000004D65737361676556696577FFFFFFFF 156 118 157 119 [View0] 158 Module=P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas159 CursorX=1160 CursorY=4156161 TopLine=4149162 LeftCol=1163 164 [View1]165 Module=P:\vista\tmg-cprs\CPRS-Chart\fOptionsNotes.pas166 CursorX=1167 CursorY=292168 TopLine=285169 LeftCol=1170 171 [View2]172 Module=P:\vista\tmg-cprs\CPRS-Chart\TMG_Extra\HTMLEdit\TMGHTML2.pas173 CursorX=1174 CursorY=180175 TopLine=173176 LeftCol=1177 178 [View3]179 Module=P:\vista\tmg-cprs\CPRS-Chart\fReports.pas180 CursorX=1181 CursorY=2966182 TopLine=2959183 LeftCol=1184 185 [View4]186 Module=c:\program files\borland\delphi7\source\vcl\Controls.pas187 CursorX=1188 CursorY=6245189 TopLine=6232190 LeftCol=1191 192 [View5]193 120 Module=P:\vista\tmg-cprs\CPRS-Chart\Templates\fTemplateDialog.pas 194 121 CursorX=1 195 CursorY=269 196 TopLine=256 197 LeftCol=1 198 199 [View6] 200 Module=P:\vista\tmg-cprs\CPRS-Chart\fFrame.pas 201 CursorX=1 202 CursorY=3959 203 TopLine=3952 204 LeftCol=1 205 206 [View7] 207 Module=P:\vista\tmg-cprs\CPRS-Chart\Templates\rTemplates.pas 208 CursorX=1 209 CursorY=161 210 TopLine=152 211 LeftCol=1 212 213 [View8] 214 Module=P:\vista\tmg-cprs\CPRS-Chart\uReminders.pas 215 CursorX=1 216 CursorY=4507 217 TopLine=4543 218 LeftCol=1 219 220 [View9] 122 CursorY=281 123 TopLine=269 124 LeftCol=1 125 126 [View1] 221 127 Module=P:\vista\tmg-cprs\CPRS-Chart\Templates\uTemplates.pas 222 128 CursorX=1 223 CursorY=1956 224 TopLine=1949 225 LeftCol=1 226 227 [View10] 129 CursorY=2167 130 TopLine=2157 131 LeftCol=1 132 133 [View2] 134 Module=P:\vista\tmg-cprs\CPRS-Chart\Templates\rTemplates.pas 135 CursorX=25 136 CursorY=103 137 TopLine=90 138 LeftCol=1 139 140 [View3] 228 141 Module=P:\vista\tmg-cprs\CPRS-Chart\Templates\uTemplateFields.pas 229 CursorX=58 230 CursorY=515 231 TopLine=509 232 LeftCol=1 233 234 [View11] 235 Module=P:\vista\tmg-cprs\CPRS-Chart\fDrawers.pas 236 CursorX=29 237 CursorY=208 238 TopLine=202 142 CursorX=26 143 CursorY=1098 144 TopLine=1082 145 LeftCol=1 146 147 [View4] 148 Module=c:\program files\borland\delphi7\source\rtl\common\StrUtils.pas 149 CursorX=1 150 CursorY=264 151 TopLine=250 152 LeftCol=1 153 154 [View5] 155 Module=c:\program files\borland\delphi7\source\rtl\Sys\system.pas 156 CursorX=1 157 CursorY=11719 158 TopLine=11701 159 LeftCol=1 160 161 [View6] 162 Module=c:\program files\borland\delphi7\source\rtl\Sys\sysutils.pas 163 CursorX=1 164 CursorY=10667 165 TopLine=10652 166 LeftCol=1 167 168 [View7] 169 Module=C:\PROGRA~1\VISTA\BDK32\Source\Wsockc.pas 170 CursorX=1 171 CursorY=1479 172 TopLine=1464 173 LeftCol=1 174 175 [View8] 176 Module=C:\PROGRA~1\VISTA\BDK32\Source\Trpcb.pas 177 CursorX=1 178 CursorY=52 179 TopLine=40 180 LeftCol=1 181 182 [View9] 183 Module=P:\vista\tmg-cprs\CPRS-Chart\uEvaluate.pas 184 CursorX=5 185 CursorY=303 186 TopLine=292 239 187 LeftCol=1 240 188 … … 254 202 255 203 [Watches] 256 Count=5 257 Watch0='frmPtSel',256,0,18,1,0,'Watches' 258 Watch1='FRealType',256,0,18,1,0,'Watches' 259 Watch2='FDialog',256,0,18,1,0,'Watches' 260 Watch3='TmpSL.Text',256,0,18,1,0,'Watches' 261 Watch4='SL.text',256,0,18,1,0,'Watches' 204 Count=16 205 Watch0='Txt',256,0,18,1,0,'Watches' 206 Watch1='i',256,0,18,1,0,'Watches' 207 Watch2='NumStr',256,0,18,1,0,'Watches' 208 Watch3='p1',256,0,18,1,0,'Watches' 209 Watch4='SL.Text',256,0,18,1,0,'Watches' 210 Watch5='Temp',256,0,18,1,0,'Watches' 211 Watch6='Txt[i]',256,0,18,1,0,'Watches' 212 Watch7='CloseMatchesNeeded',256,0,18,1,0,'Watches' 213 Watch8='FnObjStr',256,0,18,1,0,'Watches' 214 Watch9='str1',256,0,18,1,0,'Watches' 215 Watch10='st1',256,0,18,1,0,'Watches' 216 Watch11='en1',256,0,18,1,0,'Watches' 217 Watch12='str1',256,0,18,1,0,'Watches' 218 Watch13='val1',256,0,18,1,0,'Watches' 219 Watch14='val2',256,0,18,1,0,'Watches' 220 Watch15='pos2',256,0,18,1,0,'Watches' 262 221 263 222 [WatchWindow] … … 269 228 Left=0 270 229 Top=0 271 Width= 981272 Height= 185273 MaxLeft=-1 274 MaxTop=-1 275 ClientWidth= 981276 ClientHeight= 185230 Width=769 231 Height=407 232 MaxLeft=-1 233 MaxTop=-1 234 ClientWidth=769 235 ClientHeight=407 277 236 TBDockHeight=264 278 237 LRDockWidth=421 … … 280 239 281 240 [Breakpoints] 282 Count=28 283 Breakpoint0='P:\vista\tmg-cprs\CPRS-Chart\rCover.pas',315,'',0,1,'',1,0,0,'',1,'','','' 284 Breakpoint1='P:\vista\tmg-cprs\TMG_Extra\HTMLEdit\EmbeddedED\EmbeddedED.pas',1516,'',0,1,'',1,0,0,'',1,'','','' 285 Breakpoint2='P:\vista\tmg-cprs\TMG_Extra\HTMLEdit\EmbeddedED\EmbeddedED.pas',1540,'',0,1,'',1,0,0,'',1,'','','' 286 Breakpoint3='P:\vista\tmg-cprs\CPRS-Chart\TMG_Extra\fPtDemoEdit.pas',1710,'',0,1,'',1,0,0,'',1,'','','' 287 Breakpoint4='P:\vista\tmg-cprs\CPRS-Chart\TMG_Extra\fPtDemoEdit.pas',1787,'',0,1,'',1,0,0,'',1,'','','' 288 Breakpoint5='P:\vista\tmg-cprs\CPRS-Chart\fDrawers.pas',1068,'',0,1,'',1,0,0,'',1,'','','' 289 Breakpoint6='P:\vista\tmg-cprs\CPRS-Chart\fPtSelOptns.pas',286,'',0,1,'',1,0,0,'',1,'','','' 290 Breakpoint7='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',4424,'',0,1,'',1,0,0,'',1,'','','' 291 Breakpoint8='P:\vista\tmg-cprs\CPRS-Chart\fFrame.pas',3692,'',0,1,'',1,0,0,'',1,'','','' 292 Breakpoint9='P:\vista\tmg-cprs\CPRS-Chart\fFrame.pas',1059,'',0,1,'',1,0,0,'',1,'','','' 293 Breakpoint10='P:\vista\tmg-cprs\CPRS-Chart\fFrame.pas',1076,'',0,1,'',1,0,0,'',1,'','','' 294 Breakpoint11='P:\vista\tmg-cprs\CPRS-Chart\Templates\fTemplateDialog.pas',375,'',0,1,'',1,0,0,'',1,'','','' 295 Breakpoint12='P:\vista\tmg-cprs\CPRS-Chart\Templates\uTemplates.pas',2167,'',0,1,'',1,0,0,'',1,'','','' 296 Breakpoint13='P:\vista\tmg-cprs\CPRS-Chart\fOptionsNotes.pas',292,'',0,1,'',1,0,0,'',1,'','','' 297 Breakpoint14='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',3281,'',0,1,'',1,0,0,'',1,'','','' 298 Breakpoint15='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',3287,'',0,1,'',1,0,0,'',1,'','','' 299 Breakpoint16='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',4423,'',0,1,'',1,0,0,'',1,'','','' 300 Breakpoint17='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',4381,'',0,1,'',1,0,0,'',1,'','','' 301 Breakpoint18='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',4783,'',0,1,'',1,0,0,'',1,'','','' 302 Breakpoint19='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',4803,'',0,1,'',1,0,0,'',1,'','','' 303 Breakpoint20='P:\vista\tmg-cprs\CPRS-Chart\fLabs.pas',2419,'',0,1,'',1,0,0,'',1,'','','' 304 Breakpoint21='P:\vista\tmg-cprs\CPRS-Chart\fReports.pas',2966,'',0,1,'',1,0,0,'',1,'','','' 305 Breakpoint22='P:\vista\tmg-cprs\CPRS-Chart\Consults\fConsults.pas',4882,'',0,1,'',1,0,0,'',1,'','','' 306 Breakpoint23='P:\vista\tmg-cprs\CPRS-Chart\Consults\fEditConsult.pas',718,'',0,1,'',1,0,0,'',1,'','','' 307 Breakpoint24='P:\vista\tmg-cprs\CPRS-Chart\Encounter\fEncounterFrame.pas',846,'',0,1,'',1,0,0,'',1,'','','' 308 Breakpoint25='P:\vista\tmg-cprs\CPRS-Chart\fFrame.pas',3959,'',0,1,'',1,0,0,'',1,'','','' 309 Breakpoint26='P:\vista\tmg-cprs\CPRS-Chart\Templates\rTemplates.pas',161,'',0,1,'',1,0,0,'',1,'','','' 310 Breakpoint27='P:\vista\tmg-cprs\CPRS-Chart\Templates\fTemplateDialog.pas',264,'',0,1,'',1,0,0,'',1,'','','' 241 Count=34 242 Breakpoint0='P:\vista\tmg-cprs\CPRS-Chart\TMG_Extra\fPtDemoEdit.pas',1710,'',0,1,'',1,0,0,'',1,'','','' 243 Breakpoint1='P:\vista\tmg-cprs\CPRS-Chart\TMG_Extra\fPtDemoEdit.pas',1787,'',0,1,'',1,0,0,'',1,'','','' 244 Breakpoint2='P:\vista\tmg-cprs\CPRS-Chart\fDrawers.pas',1068,'',0,1,'',1,0,0,'',1,'','','' 245 Breakpoint3='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',4424,'',0,1,'',1,0,0,'',1,'','','' 246 Breakpoint4='P:\vista\tmg-cprs\CPRS-Chart\fOptionsNotes.pas',291,'',0,1,'',1,0,0,'',1,'','','' 247 Breakpoint5='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',3281,'',0,1,'',1,0,0,'',1,'','','' 248 Breakpoint6='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',3287,'',0,1,'',1,0,0,'',1,'','','' 249 Breakpoint7='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',4423,'',0,1,'',1,0,0,'',1,'','','' 250 Breakpoint8='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',4381,'',0,1,'',1,0,0,'',1,'','','' 251 Breakpoint9='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',4783,'',0,1,'',1,0,0,'',1,'','','' 252 Breakpoint10='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',4803,'',0,1,'',1,0,0,'',1,'','','' 253 Breakpoint11='P:\vista\tmg-cprs\CPRS-Chart\fLabs.pas',2419,'',0,1,'',1,0,0,'',1,'','','' 254 Breakpoint12='P:\vista\tmg-cprs\CPRS-Chart\fReports.pas',2966,'',0,1,'',1,0,0,'',1,'','','' 255 Breakpoint13='P:\vista\tmg-cprs\CPRS-Chart\Consults\fConsults.pas',4882,'',0,1,'',1,0,0,'',1,'','','' 256 Breakpoint14='P:\vista\tmg-cprs\CPRS-Chart\Consults\fEditConsult.pas',718,'',0,1,'',1,0,0,'',1,'','','' 257 Breakpoint15='P:\vista\tmg-cprs\CPRS-Chart\Encounter\fEncounterFrame.pas',846,'',0,1,'',1,0,0,'',1,'','','' 258 Breakpoint16='P:\vista\tmg-cprs\CPRS-Chart\fImages.pas',584,'',0,1,'',1,0,0,'',1,'','','' 259 Breakpoint17='P:\vista\tmg-cprs\CPRS-Chart\fImages.pas',599,'',0,1,'',1,0,0,'',1,'','','' 260 Breakpoint18='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',1298,'',0,1,'',1,0,0,'',1,'','','' 261 Breakpoint19='P:\vista\tmg-cprs\CPRS-Chart\fReview.pas',1350,'',0,1,'',1,0,0,'',1,'','','' 262 Breakpoint20='P:\vista\tmg-cprs\CPRS-Chart\fPtDemo.pas',63,'',0,1,'',1,0,0,'',1,'','','' 263 Breakpoint21='P:\vista\tmg-cprs\CPRS-Chart\rCover.pas',439,'',0,1,'',1,0,0,'',1,'','','' 264 Breakpoint22='P:\vista\tmg-cprs\CPRS-Chart\fVitals.pas',204,'',0,1,'',1,0,0,'',1,'','','' 265 Breakpoint23='P:\vista\tmg-cprs\CPRS-Chart\fFrame.pas',2922,'',0,1,'',1,0,0,'',1,'','','' 266 Breakpoint24='P:\vista\tmg-cprs\CPRS-Chart\fNotes.pas',4550,'',0,1,'',1,0,0,'',1,'','','' 267 Breakpoint25='P:\vista\tmg-cprs\CPRS-Chart\rHTMLTools.pas',163,'',0,1,'',1,0,0,'',1,'','','' 268 Breakpoint26='P:\vista\tmg-cprs\CPRS-Chart\Templates\uTemplates.pas',2545,'',0,1,'',1,0,0,'',1,'','','' 269 Breakpoint27='P:\vista\tmg-cprs\CPRS-Chart\Templates\uTemplates.pas',2842,'',0,1,'',1,0,0,'',1,'','','' 270 Breakpoint28='P:\vista\tmg-cprs\CPRS-Chart\Templates\fTemplateFields.pas',143,'',0,1,'',1,0,0,'',1,'','','' 271 Breakpoint29='P:\vista\tmg-cprs\CPRS-Chart\Templates\fTemplateDialog.pas',281,'',0,1,'',1,0,0,'',1,'','','' 272 Breakpoint30='P:\vista\tmg-cprs\CPRS-Chart\Templates\fTemplateDialog.pas',267,'',0,1,'',1,0,0,'',1,'','','' 273 Breakpoint31='P:\vista\tmg-cprs\CPRS-Chart\Templates\uTemplateFields.pas',1094,'',0,1,'',1,0,0,'',1,'','','' 274 Breakpoint32='P:\vista\tmg-cprs\CPRS-Chart\Templates\uTemplateFields.pas',1138,'',0,1,'',1,0,0,'',1,'','','' 275 Breakpoint33='P:\vista\tmg-cprs\CPRS-Chart\Templates\uTemplateFields.pas',1133,'',0,1,'',1,0,0,'',1,'','','' 311 276 312 277 [AddressBreakpoints] … … 316 281 Create=1 317 282 Visible=1 318 State= 2319 Left= 0320 Top= 0321 Width= 1024283 State=0 284 Left=8 285 Top=7 286 Width=988 322 287 Height=112 323 288 MaxLeft=-1 324 289 MaxTop=-1 325 MaxWidth=1032 326 MaxHeight=112 327 ClientWidth=1024 290 ClientWidth=980 328 291 ClientHeight=78 329 292 … … 364 327 Visible=0 365 328 State=0 366 Left= 78367 Top= 201329 Left=81 330 Top=152 368 331 Width=731 369 332 Height=488 … … 396 359 Left=0 397 360 Top=0 398 Width= 425399 Height= 349400 MaxLeft=-1 401 MaxTop=-1 402 ClientWidth= 425403 ClientHeight= 349361 Width=132 362 Height=440 363 MaxLeft=-1 364 MaxTop=-1 365 ClientWidth=132 366 ClientHeight=440 404 367 TBDockHeight=492 405 368 LRDockWidth=190 406 369 Dockable=1 407 SplitPos= 65370 SplitPos=82 408 371 ArrangeBy=Name 409 SelectedItem= Caption410 ExpandedItems= CalColors,EdgeBorders,Options372 SelectedItem= 373 ExpandedItems=Anchors,CalColors,Constraints,EdgeBorders,Font,Options 411 374 HiddenCategories=Legacy 412 375 … … 415 378 Visible=0 416 379 State=0 417 Left= 20418 Top=2 65419 Width= 737420 Height=3 50421 MaxLeft=-1 422 MaxTop=-1 423 ClientWidth= 729424 ClientHeight=3 24380 Left=1164 381 Top=203 382 Width=539 383 Height=395 384 MaxLeft=-1 385 MaxTop=-1 386 ClientWidth=531 387 ClientHeight=369 425 388 TBDockHeight=197 426 389 LRDockWidth=737 … … 435 398 [CallStackWindow] 436 399 Create=1 437 Visible= 1438 State=0 439 Left= 1226440 Top=1 82441 Width= 338442 Height= 416443 MaxLeft=-1 444 MaxTop=-1 445 ClientWidth= 330446 ClientHeight= 390400 Visible=0 401 State=0 402 Left=357 403 Top=154 404 Width=553 405 Height=521 406 MaxLeft=-1 407 MaxTop=-1 408 ClientWidth=545 409 ClientHeight=495 447 410 TBDockHeight=411 448 411 LRDockWidth=155 … … 475 438 Left=0 476 439 Top=0 477 Width= 425478 Height= 349479 MaxLeft=-1 480 MaxTop=-1 481 ClientWidth= 425482 ClientHeight= 349440 Width=132 441 Height=440 442 MaxLeft=-1 443 MaxTop=-1 444 ClientWidth=132 445 ClientHeight=440 483 446 TBDockHeight=175 484 447 LRDockWidth=108 … … 491 454 Left=0 492 455 Top=0 493 Width= 981494 Height= 185495 MaxLeft=-1 496 MaxTop=-1 497 ClientWidth= 981498 ClientHeight= 185456 Width=769 457 Height=407 458 MaxLeft=-1 459 MaxTop=-1 460 ClientWidth=769 461 ClientHeight=407 499 462 TBDockHeight=291 500 463 LRDockWidth=417 … … 595 558 [CodeExplorer@EditWindow0] 596 559 Create=1 597 Visible= 1560 Visible=0 598 561 State=0 599 562 Left=0 600 563 Top=12 601 564 Width=140 602 Height= 324565 Height=439 603 566 MaxLeft=-1 604 567 MaxTop=-1 605 568 ClientWidth=140 606 ClientHeight= 324607 TBDockHeight=3 24569 ClientHeight=439 570 TBDockHeight=305 608 571 LRDockWidth=140 609 572 Dockable=1 … … 615 578 Left=12 616 579 Top=0 617 Width=98 9618 Height=1 40619 MaxLeft=-1 620 MaxTop=-1 621 ClientWidth=98 9622 ClientHeight=1 40623 TBDockHeight=1 40580 Width=985 581 Height=105 582 MaxLeft=-1 583 MaxTop=-1 584 ClientWidth=985 585 ClientHeight=105 586 TBDockHeight=105 624 587 LRDockWidth=443 625 588 Dockable=1 … … 633 596 Visible=1 634 597 State=0 635 Left=232 636 Top=77 637 Width=441 638 Height=404 639 MaxLeft=-1 640 MaxTop=-1 641 ClientWidth=433 642 ClientHeight=378 643 TBDockHeight=552 598 Left=-803 599 Top=210 600 Width=785 601 Height=462 602 MaxLeft=-1 603 MaxTop=-1 604 ClientWidth=777 605 ClientHeight=436 606 TBDockHeight=233 607 LRDockWidth=283 608 Dockable=1 609 TabPosition=0 610 ActiveTab=Watch List 611 TabDockClients=WatchWindow,DebugLogView 612 613 [DockSite1] 614 DockSiteType=1 615 Create=1 616 Visible=1 617 State=0 618 Left=0 619 Top=12 620 Width=140 621 Height=469 622 MaxLeft=-1 623 MaxTop=-1 624 ClientWidth=140 625 ClientHeight=469 626 TBDockHeight=469 644 627 LRDockWidth=140 645 628 Dockable=1 … … 648 631 TabDockClients=PropertyInspector,ObjectTree 649 632 650 [DockSite1]651 DockSiteType=1652 Create=1653 Visible=1654 State=0655 Left=12656 Top=144657 Width=989658 Height=214659 MaxLeft=-1660 MaxTop=-1661 ClientWidth=989662 ClientHeight=214663 TBDockHeight=214664 LRDockWidth=283665 Dockable=1666 TabPosition=0667 ActiveTab=Watch List668 TabDockClients=WatchWindow,DebugLogView669 -
cprs/branches/tmg-cprs/CPRS-Chart/CPRSChart_TLB.pas
r686 r729 13 13 14 14 // PASTLWTR : 1.2 15 // File generated on 1/22/2010 5:46:21PM from Type Library described below.15 // File generated on 3/29/2010 5:43:06 PM from Type Library described below. 16 16 17 17 // ************************************************************************ // -
cprs/branches/tmg-cprs/CPRS-Chart/Encounter/fPCEBase.dfm
r496 r729 45 45 NumGlyphs = 2 46 46 end 47 object DKLanguageController 2: TDKLanguageController47 object DKLanguageController: TDKLanguageController 48 48 Left = 552 49 49 Top = 48 -
cprs/branches/tmg-cprs/CPRS-Chart/Encounter/fPCEBase.pas
r496 r729 24 24 btnOK: TBitBtn; 25 25 btnCancel: TBitBtn; 26 DKLanguageController 2: TDKLanguageController;26 DKLanguageController: TDKLanguageController; 27 27 procedure FormCreate(Sender: TObject); 28 28 procedure btnCancelClick(Sender: TObject); -
cprs/branches/tmg-cprs/CPRS-Chart/Encounter/fPCEBaseGrid.dfm
r453 r729 46 46 end 47 47 end 48 inherited DKLanguageController 1: TDKLanguageController48 inherited DKLanguageController: TDKLanguageController 49 49 LangData = { 50 50 0E0066726D504345426173654772696401010000000100000007004361707469 -
cprs/branches/tmg-cprs/CPRS-Chart/Encounter/fPCEBaseMain.dfm
r453 r729 163 163 end 164 164 end 165 inherited DKLanguageController 1: TDKLanguageController165 inherited DKLanguageController: TDKLanguageController 166 166 LangData = { 167 167 0E0066726D504345426173654D61696E01010000000100000007004361707469 -
cprs/branches/tmg-cprs/CPRS-Chart/Encounter/fPCELex.dfm
r453 r729 1 1 inherited frmPCELex: TfrmPCELex 2 Left = 6393 Top = 4802 Left = 388 3 Top = 221 4 4 BorderIcons = [] 5 5 BorderStyle = bsDialog -
cprs/branches/tmg-cprs/CPRS-Chart/Options/fOptions.dfm
r541 r729 1 1 object frmOptions: TfrmOptions 2 Left = 3 343 Top = 2292 Left = 321 3 Top = 155 4 4 Width = 435 5 5 Height = 397 … … 87 87 Height = 323 88 88 HelpContext = 9999 89 ActivePage = ts Notes89 ActivePage = tsAppearance 90 90 Align = alClient 91 91 TabOrder = 0 … … 1793 1793 State = cbChecked 1794 1794 TabOrder = 1 1795 OnClick = cbSkinAtStartupClick 1795 1796 end 1796 1797 object btnMoreSkins: TButton -
cprs/branches/tmg-cprs/CPRS-Chart/Options/fOptions.pas
r490 r729 172 172 procedure FormShow(Sender: TObject); 173 173 procedure lbSkinsKeyPress(Sender: TObject; var Key: Char); 174 procedure btnDisableSkinClick(Sender: TObject); //kt added 6/29/07 174 procedure btnDisableSkinClick(Sender: TObject); 175 procedure cbSkinAtStartupClick(Sender: TObject); //kt added 6/29/07 175 176 private 176 177 { Private declarations } … … 209 210 rOptions, rCore, uCore, uOptions, UBACore, fFrame, 210 211 //fTestDialog; 211 212 212 //kt mod 6/29/07 ----- 213 213 ShellAPI, //kt 9/8/08 214 uTMGOptions, //kt 2/10/10 214 215 ORNet, //allows access to RPCBrokerV 215 216 TntForms, TntSystem, TntSysUtils; … … 340 341 341 342 //kt begin modification 6/29/07 --------------- 342 343 343 // Fill cbLanguage with available languages 344 344 // Note: LangManager was populated at form creation of fFrame … … 347 347 cbLanguage.ItemIndex := LangManager.LanguageIndex; 348 348 //kt end modification 6/29/07 --------------- 349 350 349 cbSkinAtStartup.Checked := frmFrame.SkinAtStartup; //kt 9/8/08 351 352 350 end; 353 351 … … 867 865 procedure TfrmOptions.cbLanguageChange(Sender: TObject); //kt added 6/29/07 868 866 var iIndex: Integer; 869 CPRSChartINI: TINIFile;870 867 begin 871 868 iIndex := cbLanguage.ItemIndex; … … 881 878 frmFrame.RenameTabs; //Resets names of tabs to correct translation //kt 882 879 frmFrame.mnuFileRefreshClick(self); //elh 6/23/08 883 CPRSChartINI := TINIFile.Create(ExtractFilePath(ParamStr(0)) + 'CPRSChart.ini'); // Write to INI elh 6/23/08 884 CPRSChartINI.WriteInteger('Options','Language',LangManager.LanguageID); 885 CPRSChartINI.Free; 880 uTMGOptions.WriteInteger('Language',LangManager.LanguageID); 886 881 end; 887 882 … … 945 940 end; 946 941 942 procedure TfrmOptions.cbSkinAtStartupClick(Sender: TObject); 943 begin 944 frmFrame.SkinAtStartup := cbSkinAtStartup.Checked; 945 uTMGOptions.WriteBool('Load Skin At Startup',frmFrame.SkinAtStartup); //kt 9/11/08 946 end; 947 947 948 end. 948 949 -
cprs/branches/tmg-cprs/CPRS-Chart/Options/fOptionsOther.dfm
r667 r729 1 1 object frmOptionsOther: TfrmOptionsOther 2 Left = 5 172 Left = 522 3 3 Top = 143 4 4 Hint = 'Use system default settings' … … 9 9 Caption = 'Other Parameters' 10 10 ClientHeight = 463 11 ClientWidth = 3 9111 ClientWidth = 386 12 12 Color = clBtnFace 13 13 Font.Charset = DEFAULT_CHARSET … … 89 89 Left = 0 90 90 Top = 430 91 Width = 3 9191 Width = 386 92 92 Height = 33 93 93 HelpContext = 9110 … … 99 99 Left = 0 100 100 Top = 0 101 Width = 3 91101 Width = 386 102 102 Height = 2 103 103 Align = alTop -
cprs/branches/tmg-cprs/CPRS-Chart/Options/fOptionsOther.pas
r667 r729 70 70 public 71 71 { Public declarations } 72 procedure SaveTabColors(ColorsList : TStringList); //kt 72 73 end; 73 74 … … 80 81 81 82 procedure DialogOptionsOther(topvalue, leftvalue, fontsize: integer; var actiontype: Integer); 82 procedure SetTabPosition(Position : TTabPosition); 83 procedure SetTabPosition(Position : TTabPosition); //kt 83 84 84 85 implementation … … 87 88 88 89 uses 89 rOptions, uOptions, rCore, rSurgery, uConst, fMeds, fFrame; 90 rOptions, uOptions, rCore, rSurgery, uConst, fMeds, fFrame, 91 uTMGOptions //kt 92 ; 90 93 91 94 procedure DialogOptionsOther(topvalue, leftvalue, fontsize: integer; var actiontype: Integer); … … 124 127 begin 125 128 cboTabColors.Items.Assign(frmFrame.tabPage.Tabs); //kt 8/09 126 //cboTabColors.Items.Assign( uTabColorsList); //kt added8808129 //cboTabColors.Items.Assign(TabColorsList); //kt added8808 127 130 cboTabColors.ItemIndex := 0; //kt 128 131 cboTab.Items.Assign(rpcGetOtherTabs); //kt 129 132 cboTabColorsChange(nil); //kt 130 cbEnableTabColors.Checked := uTabColorsEnabled; //kt 8/09133 cbEnableTabColors.Checked := TabColorsEnabled; //kt 8/09 131 134 //if (cboTab.Items.IndexOf('Surgery') > -1) and (not ShowSurgeryTab) then <-- original line. //kt 8/8/2007 132 135 if (cboTab.Items.IndexOf(DKLangConstW('fOptionsOther_Surgery')) > -1) and (not ShowSurgeryTab) then //kt added 8/8/2007 … … 199 202 procedure TfrmOptionsOther.FormCreate(Sender: TObject); 200 203 begin 201 cbEnableTabColors.checked := uTabColorsEnabled;204 cbEnableTabColors.checked := TabColorsEnabled; 202 205 FStartDT := 0; 203 206 FStopDT := 0; … … 313 316 314 317 procedure SetTabPosition(Position : TTabPosition); 318 //NOTE: Don't make this a member function of TFrmOptionsOther, becuase frmFrame needs 319 // to be able to call it, even if the OtionsOther form is not instantiated. 315 320 //kt added 8/8/08 316 321 begin … … 322 327 tpRight : frmFrame.tabPage.Align := alRight; 323 328 end; {case} 329 uTMGOptions.WriteInteger('Tab Location',integer(frmFrame.tabPage.TabPosition)); 330 end; 331 332 procedure TfrmOptionsOther.SaveTabColors(ColorsList : TStringList); 333 //kt added 8/8/08 Entire function 334 var i : integer; 335 begin 336 for i := 0 to ColorsList.Count-1 do begin 337 uTMGOptions.WriteInteger('Tab '+IntToStr(i)+' Color',longword(ColorsList.Objects[i])); 338 end; 339 uTMGOptions.WriteBool('TAB_COLORS ENABLE',TabColorsEnabled); //kt 8/09 324 340 end; 325 341 … … 345 361 if selIndex < 0 then exit; 346 362 cboTabColors.Items.Objects[selIndex] := pointer(ColorDialog.Color); 347 uTabColorsList.Objects[selIndex] := pointer(ColorDialog.Color); 363 TabColorsList.Objects[selIndex] := pointer(ColorDialog.Color); 364 uTMGOptions.WriteInteger('Tab '+IntToStr(selIndex)+' Color',longword(TabColorsList.Objects[selIndex])); 348 365 end; 349 366 end; … … 352 369 //kt added 353 370 begin 354 uTabColorsEnabled := cbEnableTabColors.Checked; //elh 01/12/10371 TabColorsEnabled := cbEnableTabColors.Checked; //elh 01/12/10 355 372 frmFrame.tabPage.OwnerDraw := cbEnableTabColors.Checked; //elh 01/12/10 356 //cboTabColors.Enabled := uTabColorsEnabled; 357 //lblEditTabColor.Enabled := uTabColorsEnabled; 358 //lblTabColors.Enabled := uTabColorsEnabled; 359 //pnlShowColor.Enabled := uTabColorsEnabled; 373 cboTabColors.Enabled := TabColorsEnabled; 374 lblEditTabColor.Enabled := TabColorsEnabled; 375 lblTabColors.Enabled := TabColorsEnabled; 376 pnlShowColor.Enabled := TabColorsEnabled; 377 uTMGOptions.WriteBool('TAB_COLORS ENABLE',TabColorsEnabled); //kt 3/8/10 360 378 end; 361 379 -
cprs/branches/tmg-cprs/CPRS-Chart/Templates/fTemplateDialog.pas
r698 r729 47 47 FAnswerOpenTag : string; //kt added 12/28/09 48 48 FAnswerCloseTag : string; //kt added 12/28/09 49 NameToObjID : TStringList; //kt added 3/26/10 50 Formulas : TStringList; //kt added 3/26/10 51 TxtObjects : TStringList; //kt added 3/28/10 49 52 procedure SizeFormToCancelBtn(); 50 53 procedure ChkAll(Chk: boolean); … … 81 84 frmTemplateDialog: TfrmTemplateDialog; 82 85 83 const84 HTMLBEGINNINGTAG = '{HTML:'; //kt85 HTMLENDINGTAG = '}'; //kt86 HTMLBEGINNINGTAGLEN = length(HTMLBEGINNINGTAG); //kt87 HTMLENDINGTAGLEN = length(HTMLENDINGTAG); //kt88 89 86 implementation 90 87 … … 153 150 i, j, idx, Indent: integer; 154 151 DlgProps, Txt: string; 152 Temp : string; //kt 153 Changed : boolean; //kt 155 154 DlgIDCounts: TStringList; 156 155 DlgInt: TIntStruc; 157 156 CancelDlg: Boolean; 158 157 CancelMsg: String; 159 160 158 161 159 procedure IncDlgID(var id: string); //Appends an item count in the form of id.0, id.1, id.2, etc … … 221 219 frmTemplateDialog.HTMLAnswerOpenTag := '<I>'; //kt 12/28/09 222 220 //SL.Text := RemoveHTMLTags(SL.Text); //elh 223 AssignFieldIDs(SL); 221 AssignFieldIDs(SL,frmTemplateDialog.NameToObjID); //kt added NameToObjID param 3/26/10 222 HideFormulas(SL,frmTemplateDialog.Formulas); //kt added 3/26/10 223 HideTxtObjects(SL,frmTemplateDialog.TxtObjects); //kt added 3/28/10 224 224 frmTemplateDialog.SL := SL; 225 225 frmTemplateDialog.Index := ''; … … 231 231 repeat 232 232 i := pos(ObjMarker, Txt); 233 if(i > 1) then 234 begin 233 if(i > 1) then begin 235 234 j := pos(DlgPropMarker, Txt); 236 if(j > 0) then 237 begin 235 if(j > 0) then begin 238 236 DlgProps := copy(Txt, j + DlgPropMarkerLen, (i - j - DlgPropMarkerLen)); 239 237 CountDlgProps(DlgProps); 240 end 241 else 242 begin 238 end else begin 243 239 DlgProps := ''; 244 240 j := i; 245 241 end; 246 242 inc(frmTemplateDialog.Count); 247 243 frmTemplateDialog.Index := frmTemplateDialog.Index + … … 249 245 inc(idx,i+ObjMarkerLen-1); 250 246 Indent := StrToIntDef(Piece(DlgProps, ';', 5),0); 251 if(frmTemplateDialog.FirstIndent > Indent) then 247 if(frmTemplateDialog.FirstIndent > Indent) then begin 252 248 frmTemplateDialog.FirstIndent := Indent; 253 end; 254 if(i > 0) then 249 end; 250 end; 251 if(i > 0) then begin 255 252 delete(txt, 1, i + ObjMarkerLen - 1); 253 end; 256 254 until (i = 0); 257 if(frmTemplateDialog.Count > 0) then 258 begin 259 if(frmTemplateDialog.OneOnly) then 260 begin 255 if(frmTemplateDialog.Count > 0) then begin 256 if(frmTemplateDialog.OneOnly) then begin 261 257 frmTemplateDialog.btnNone.Visible := FALSE; 262 258 frmTemplateDialog.btnAll.Visible := FALSE; … … 264 260 frmTemplateDialog.BuildAllControls; 265 261 repeat 266 if (assigned(frmNotes)) and (frmTemplateDialog.HTMLMode) then frmNotes.HTMLEditor.SetMsgActive(False); //kt 2-1-10 267 frmTemplateDialog.ShowModal; 268 if (assigned(frmNotes)) and (frmTemplateDialog.HTMLMode) then frmNotes.HTMLEditor.SetMsgActive(True); //kt 2-1-10 269 if(frmTemplateDialog.ModalResult = mrOK) then begin 270 GetText(SL, TRUE); {TRUE = Include embedded fields} 271 { 272 if uTemplates.bUsingHTMLMode then begin 273 SL.Text := FormatHTMLTags(SL.Text); 274 end else begin 275 SL.Text := RemoveHTMLTags(SL.Text); 276 end; 277 } 278 end else begin 279 if (not PreviewMode) and (not frmTemplateDialog.Silent) and (not uInit.TimedOut) then 280 begin 281 // CancelMsg := 'If you cancel, your changes will not be saved. Are you sure you want to cancel?'; <-- original line. //kt 8/8/2007 282 CancelMsg := DKLangConstW('fTemplateDialog_If_you_cancelx_your_changes_will_not_be_savedx__Are_you_sure_you_want_to_cancelx'); //kt added 8/8/2007 283 // if (InfoBox(CancelMsg, 'Cancel Dialog Processing', MB_YESNO or MB_DEFBUTTON2 or MB_ICONQUESTION) = ID_YES) then <-- original line. //kt 8/8/2007 284 if (InfoBox(CancelMsg, DKLangConstW('fTemplateDialog_Cancel_Dialog_Processing'), MB_YESNO or MB_DEFBUTTON2 or MB_ICONQUESTION) = ID_YES) then //kt added 8/8/2007 285 begin 286 SL.Clear; 287 Result := TRUE; 288 CancelDlg := TRUE; 289 end 290 else 291 CancelDlg := FALSE; 292 end 293 else 294 begin 262 if (assigned(frmNotes)) and (frmTemplateDialog.HTMLMode) then frmNotes.HTMLEditor.SetMsgActive(False); //kt 2-1-10 263 frmTemplateDialog.ShowModal; 264 if (assigned(frmNotes)) and (frmTemplateDialog.HTMLMode) then frmNotes.HTMLEditor.SetMsgActive(True); //kt 2-1-10 265 if(frmTemplateDialog.ModalResult = mrOK) then begin 266 //kt -- begin mod -- 3/27/10 267 Changed := RestoreTransformTxtObjects(SL, frmTemplateDialog.TxtObjects, frmTemplateDialog.NameToObjID); 268 Changed := RestoreTransformFormulas(SL, frmTemplateDialog.Formulas, frmTemplateDialog.NameToObjID) or Changed; 269 if Changed then begin //kt 3/27/10 270 Txt := SL.Text; 271 i := pos(ObjMarker, Txt); 272 if(i > 1) then begin 273 j := pos(DlgPropMarker, Txt); 274 if (j <= 0) then j := i; 275 Temp := frmTemplateDialog.Index; 276 SetPiece(Temp,'~',2,IntToStr(j-1)); 277 frmTemplateDialog.Index := Temp; 278 end; 279 end; 280 //kt -- end mod -- 281 GetText(SL, TRUE); {TRUE = Include embedded fields} 282 { 283 if uTemplates.bUsingHTMLMode then begin 284 SL.Text := FormatHTMLTags(SL.Text); 285 end else begin 286 SL.Text := RemoveHTMLTags(SL.Text); 287 end; 288 } 289 end else begin 290 if (not PreviewMode) and (not frmTemplateDialog.Silent) and (not uInit.TimedOut) then begin 291 // CancelMsg := 'If you cancel, your changes will not be saved. Are you sure you want to cancel?'; <-- original line. //kt 8/8/2007 292 CancelMsg := DKLangConstW('fTemplateDialog_If_you_cancelx_your_changes_will_not_be_savedx__Are_you_sure_you_want_to_cancelx'); //kt added 8/8/2007 293 // if (InfoBox(CancelMsg, 'Cancel Dialog Processing', MB_YESNO or MB_DEFBUTTON2 or MB_ICONQUESTION) = ID_YES) then <-- original line. //kt 8/8/2007 294 if (InfoBox(CancelMsg, DKLangConstW('fTemplateDialog_Cancel_Dialog_Processing'), MB_YESNO or MB_DEFBUTTON2 or MB_ICONQUESTION) = ID_YES) then begin //kt added 8/8/2007 295 295 SL.Clear; 296 296 Result := TRUE; 297 297 CancelDlg := TRUE; 298 end else begin 299 CancelDlg := FALSE; 298 300 end; 299 end; 301 end else begin 302 SL.Clear; 303 Result := TRUE; 304 CancelDlg := TRUE; 305 end; 306 end; 300 307 until CancelDlg or (frmTemplateDialog.ModalResult = mrOK) 301 end 302 else 308 end else begin 303 309 SL.Clear; 310 end; 304 311 finally 305 312 //frmTemplateDialog.Free; v22.11e RV … … 324 331 tempString := Txt; 325 332 //here we will strip out all HTML formatting tags //elh 326 beginning := pos(HTML BEGINNINGTAG, tempString);333 beginning := pos(HTML_BEGIN_TAG, tempString); 327 334 if beginning = 0 then begin 328 335 Result := Txt; … … 331 338 begin 332 339 tempResult := tempResult + Leftstr(tempString,beginning-1); 333 tempString := Rightstr(tempString,length(tempString)-beginning-HTML BEGINNINGTAGLEN);334 ending := pos(HTML ENDINGTAG, tempString);340 tempString := Rightstr(tempString,length(tempString)-beginning-HTML_BEGIN_TAGLEN); 341 ending := pos(HTML_ENDING_TAG, tempString); 335 342 tempString := Rightstr(tempString,length(tempString)-ending); 336 beginning := pos(HTML BEGINNINGTAG, tempString);337 // tempString := Midstr(Txt,i,HTML BEGINNINGTAGLEN);343 beginning := pos(HTML_BEGIN_TAG, tempString); 344 // tempString := Midstr(Txt,i,HTML_BEGIN_TAGLEN); 338 345 end; 339 346 Result := tempResult + tempString; … … 348 355 tempString := Txt; 349 356 //here we will strip out all HTML formatting tags //elh 350 beginning := pos(HTML BEGINNINGTAG, tempString);357 beginning := pos(HTML_BEGIN_TAG, tempString); 351 358 if beginning = 0 then begin 352 359 Result := Txt; … … 355 362 begin 356 363 tempResult := tempResult + Leftstr(tempString,beginning-1); 357 tempString := Rightstr(tempString,length(tempString)-beginning-HTML BEGINNINGTAGLEN+1);358 ending := pos(HTML ENDINGTAG, tempString);364 tempString := Rightstr(tempString,length(tempString)-beginning-HTML_BEGIN_TAGLEN+1); 365 ending := pos(HTML_ENDING_TAG, tempString); 359 366 tempResult := tempResult + Leftstr(tempString,ending-1); 360 367 tempString := Rightstr(tempString,length(tempString)-ending); 361 beginning := pos(HTML BEGINNINGTAG, tempString);362 // tempString := Midstr(Txt,i,HTML BEGINNINGTAGLEN);368 beginning := pos(HTML_BEGIN_TAG, tempString); 369 // tempString := Midstr(Txt,i,HTML_BEGIN_TAGLEN); 363 370 end; 364 371 Result := tempResult + tempString; … … 565 572 end; 566 573 tmp := copy(SL.Text, p1, p2); 567 tmp := RemoveHTMLTags(tmp); 574 tmp := RemoveHTMLTags(tmp); //kt 568 575 if(copy(tmp, length(tmp)-1, 2) = CRLF) then 569 576 delete(tmp, length(tmp)-1, 2); … … 747 754 Entries := TStringList.Create; 748 755 NoTextID := TStringList.Create; 756 NameToObjID := TStringList.Create ; //kt 757 Formulas := TStringList.Create ; //kt 758 TxtObjects := TStringList.Create; //kt added 3/28/10 749 759 FOldHintEvent := Application.OnShowHint; 750 760 Application.OnShowHint := AppShowHint; … … 774 784 Entries.Free; 775 785 BuildIdx.Free; 786 NameToObjID.Free; //kt 787 Formulas.Free; //kt 788 TxtObjects.Free; //kt 776 789 end; 777 790 -
cprs/branches/tmg-cprs/CPRS-Chart/Templates/uTemplateFields.pas
r694 r729 6 6 uses 7 7 Forms, SysUtils, StrUtils, Classes, Dialogs, StdCtrls, ExtCtrls, Controls, Contnrs, 8 Graphics, ORClasses, ComCtrls, ORDtTm ;8 Graphics, ORClasses, ComCtrls, ORDtTm, uEvaluate; 9 9 10 10 type … … 166 166 function GetDialogEntry(AParent: TWinControl; AID, AText: string): TTemplateDialogEntry; 167 167 procedure FreeEntries(SL: TStrings); 168 procedure AssignFieldIDs(var Txt: string); overload; 169 procedure AssignFieldIDs(SL: TStrings); overload; 168 //kt 3/26/10 --> original procedure AssignFieldIDs(var Txt: string); overload; 169 procedure AssignFieldIDs(var Txt: string; NameToObjID : TStringList=nil); overload; //kt 3/26/10 170 //kt 3/26/10 --> original procedure AssignFieldIDs(SL: TStrings); overload; 171 procedure AssignFieldIDs(SL: TStrings; NameToObjID : TStringList=nil); overload; //kt 3/26/10 172 procedure HideFormulas(SL : TStrings; Formulas : TStringList); //kt added 3/26/10 173 procedure HideTxtObjects(SL : TStrings; TxtObjects : TStringList); //kt added 3/28/10 174 //function RestoreTransformFormulas(var Txt : string; Formulas, NameToObjID : TStringList) : boolean; overload; //kt added 3/26/10 175 function RestoreTransformFormulas(SL : TStrings; Formulas, NameToObjID : TStringList) : boolean; {overload; }//kt added 3/26/10 170 176 //kt 12/28/09 originial --> function ResolveTemplateFields(Text: string; AutoWrap: boolean; Hidden: boolean = FALSE; IncludeEmbedded: boolean = FALSE): string; 177 function RestoreTransformTxtObjects(SL : TStrings; TxtObjects, NameToObjID : TStringList) : boolean; 171 178 function ResolveTemplateFields(Text: string; 172 179 AutoWrap: boolean; … … 190 197 procedure ConvertCodes2Text(sl: TStrings; Short: boolean); 191 198 function StripEmbedded(iItems: string): string; 199 function CloseCharPos(OpenChar, CloseChar : char; var Txt : string; StartingPos : integer=1) : integer; //kt added 200 201 type 202 TMGExtension = (tmgeFN,tmgeOBJ); 203 TMGExtMatch = record 204 Signature : string; 205 SigLen : integer; 206 EndTag : char; 207 end; 208 TMGExtArray = array[tmgeFN..tmgeOBJ] of TMGExtMatch; 192 209 193 210 const 194 211 TemplateFieldBeginSignature = '{FLD:'; 195 212 TemplateFieldEndSignature = '}'; 196 HTMLBEGINNINGTAG = '{HTML:'; 197 HTMLENDINGTAG = '}'; 198 HTMLBEGINNINGTAGLEN = length(HTMLBEGINNINGTAG); 199 HTMLENDINGTAGLEN = length(HTMLENDINGTAG); 213 HTML_BEGIN_TAG = '{HTML:'; //kt 214 HTML_ENDING_TAG = '}'; //kt 215 HTML_BEGIN_TAGLEN = length(HTML_BEGIN_TAG); //kt 216 HTML_ENDING_TAGLEN = length(HTML_ENDING_TAG); //kt 217 FN_BEGIN_SIGNATURE = '{FN:'; //kt 218 FN_BEGIN_TAG = '{'; //kt 219 FN_END_TAG = '}'; //kt 220 FN_BEGIN_SIGNATURE_LEN = length(FN_BEGIN_SIGNATURE);//kt 221 FN_END_TAGLEN = length(FN_END_TAG); //kt 222 FN_SHOW_TEXT = '{%_____%-#'; //kt 223 FN_SHOW_TEXT_END = '}'; //kt 224 FN_SHOW_TEXT_LEN = length(FN_SHOW_TEXT); //kt 225 FN_SHOW_TEXT_END_LEN = length(FN_SHOW_TEXT_END);//kt 226 FN_FIELD_TAG = '[FLD:'; //kt 227 FN_FIELD_TAG_LEN = length(FN_FIELD_TAG); //kt 228 FN_OBJ_TAG = '[OBJ:'; //kt 229 FN_OBJ_TAG_LEN = length(FN_OBJ_TAG); //kt 230 FLD_OBJ_SIGNATURE = '{OBJ:'; //kt 231 FLD_OBJ_END_TAG = '}'; //kt 232 FLD_OBJ_SIG_LEN = length(FLD_OBJ_SIGNATURE); //kt 233 OBJ_SHOW_TEXT = '{OBJ%_____%-#'; //kt 234 OBJ_SHOW_TEXT_END = '}'; //kt 235 OBJ_SHOW_TEXT_LEN = length(OBJ_SHOW_TEXT); //kt 236 TMG_MATCH : TMGExtArray = 237 ( (Signature : FN_BEGIN_SIGNATURE; 238 SigLen : FN_BEGIN_SIGNATURE_LEN; 239 EndTag : FN_END_TAG), 240 241 (Signature : FLD_OBJ_SIGNATURE; 242 SigLen : FLD_OBJ_SIG_LEN; 243 EndTag : FLD_OBJ_END_TAG) 244 ); 245 246 200 247 //MissingFieldsTxt = 'One or more required fields must still be entered.'; <-- original line. //kt 8/8/2007 201 248 function MissingFieldsTxt : string; //kt added … … 289 336 uses 290 337 ORFn, rTemplates, ORCtrls, mTemplateFieldButton, dShared, uConst, uCore, rCore, Windows, 338 ORNet, //kt 339 TRPCB, //kt 291 340 DKLang; //kt 292 341 … … 296 345 TemplateFieldSignatureEndLen = length(TemplateFieldEndSignature); 297 346 298 299 347 var 300 348 uTmplFlds: TList = nil; … … 305 353 306 354 uInternalFieldIDCount: integer = 0; 355 uInternalFormulaCount: integer = 0; //kt 356 uInternalTxtObjCount : integer = 0; //kt 307 357 308 358 const … … 416 466 if(uEntries.Count = 0) then 417 467 uInternalFieldIDCount := 0; 418 end; 419 end; 420 421 procedure AssignFieldIDs(var Txt: string); 468 uInternalFormulaCount := 0; //kt 469 uInternalTxtObjCount := 0; //kt 470 end; 471 end; 472 473 //kt original line --> procedure AssignFieldIDs(var Txt: string); 474 procedure AssignFieldIDs(var Txt: string; NameToObjID : TStringList); //kt 422 475 var 423 476 i: integer; 477 p2 : integer; //kt 478 FldName : string; //kt 479 FldID : string; //kt 424 480 425 481 begin 426 482 i := 0; 427 while (i < length(Txt)) do 428 begin 483 while (i < length(Txt)) do begin 429 484 inc(i); 430 if(copy(Txt,i,TemplateFieldSignatureLen) = TemplateFieldBeginSignature) then 431 begin 485 if copy(Txt,i,TemplateFieldSignatureLen) = TemplateFieldBeginSignature then begin 432 486 inc(i,TemplateFieldSignatureLen); 433 if(i < length(Txt)) and (copy(Txt,i,1) <> FieldIDDelim) then 434 begin 487 if(i < length(Txt)) and (copy(Txt,i,1) <> FieldIDDelim) then begin 488 p2 := PosEx(TemplateFieldEndSignature,Txt,i); //kt 489 FldName := ''; //kt 490 if p2 > 0 then FldName := Trim(copy(Txt,i,(p2-i))); //kt 435 491 insert(GetNewFieldID, Txt, i); 436 492 inc(i, FieldIDLen); 437 end; 438 end; 439 end; 440 end; 441 442 procedure AssignFieldIDs(SL: TStrings); 493 if (FldName <> '') and Assigned(NameToObjID) then begin //kt 494 NameToObjID.AddObject(FldName,Pointer(uInternalFieldIDCount)); //kt 495 end; //kt 496 end; 497 end; 498 end; 499 end; 500 501 procedure AssignFieldIDs(SL: TStrings; NameToObjID : TStringList); 443 502 var 444 503 i: integer; … … 449 508 begin 450 509 txt := SL[i]; 451 AssignFieldIDs(txt); 510 //kt AssignFieldIDs(txt); 511 AssignFieldIDs(txt, NameToObjID); //kt 452 512 SL[i] := txt; 453 513 end; 454 514 end; 515 516 function CloseCharPos(OpenChar, CloseChar : char; var Txt : string; StartingPos : integer=1) : integer; 517 //kt added function 518 //Return the position of a closing character, ignoring all intervening nested open and close chars 519 //NOTE: It is expected that StartingPos is pointing to the first opening character. 520 var i : integer; 521 CloseMatchesNeeded : integer; 522 begin 523 Result := 0; 524 CloseMatchesNeeded := 1; 525 for i := StartingPos to Length(Txt) do begin 526 if (Txt[i] = OpenChar) and (i <> StartingPos) then Inc(CloseMatchesNeeded); 527 if Txt[i] = CloseChar then Dec(CloseMatchesNeeded); 528 if CloseMatchesNeeded = 0 then begin 529 Result := i; 530 break; 531 end; 532 end; 533 end; 534 535 536 procedure HideFormulas(SL : TStrings; Formulas : TStringList); 537 //kt added function 538 //NOTE: formulas will not be allowed to use the '}' character 539 var p1,p2 : integer; 540 FnStr : string; 541 SubStrA,SubStrB : string; 542 Txt : String; 543 begin 544 Txt := SL.Text; 545 p1 := Pos(FN_BEGIN_SIGNATURE,Txt); 546 while (p1>0) do begin 547 SubStrA := MidStr(Txt,1,p1-1); 548 p1 := p1 + FN_BEGIN_SIGNATURE_LEN; 549 //p2 := PosEx(FN_END_TAG,Txt,p1); 550 p2 := CloseCharPos(FN_BEGIN_TAG, FN_END_TAG, Txt, p1); 551 SubStrB := MidStr(Txt,p2+1,999); 552 FnStr := MidStr(Txt,p1, (p2-p1)); 553 FnStr := AnsiReplaceText(FnStr,#9,''); 554 FnStr := AnsiReplaceText(FnStr,#10,''); 555 FnStr := AnsiReplaceText(FnStr,#13,''); 556 //FnStr := AnsiReplaceText(FnStr,' ',''); 557 inc(uInternalFormulaCount); 558 Formulas.AddObject(FnStr,Pointer(uInternalFormulaCount)); 559 Txt := SubStrA + FN_SHOW_TEXT + IntToStr(uInternalFormulaCount) + FN_SHOW_TEXT_END + SubStrB; 560 p1 := PosEx(FN_BEGIN_SIGNATURE,Txt,p1); 561 end; 562 SL.Text := Txt; 563 end; 564 565 procedure HideTxtObjects(SL : TStrings; TxtObjects : TStringList); //kt added 3/28/10 566 //kt added function 567 var p1,p2 : integer; 568 FnStr : string; 569 SubStrA,SubStrB : string; 570 Txt : String; 571 begin 572 Txt := SL.Text; 573 p1 := Pos(FLD_OBJ_SIGNATURE,Txt); 574 while (p1>0) do begin 575 SubStrA := MidStr(Txt,1,p1-1); 576 p1 := p1 + FN_OBJ_TAG_LEN; 577 p2 := CloseCharPos(FN_BEGIN_TAG, FN_END_TAG, Txt, p1); 578 SubStrB := MidStr(Txt,p2+1,999); 579 FnStr := MidStr(Txt,p1, (p2-p1)); 580 FnStr := AnsiReplaceText(FnStr,#9,''); 581 FnStr := AnsiReplaceText(FnStr,#10,''); 582 FnStr := AnsiReplaceText(FnStr,#13,''); 583 inc(uInternalTxtObjCount); 584 TxtObjects.AddObject(FnStr,Pointer(uInternalTxtObjCount)); 585 Txt := SubStrA + OBJ_SHOW_TEXT + IntToStr(uInternalTxtObjCount) + OBJ_SHOW_TEXT_END + SubStrB; 586 p1 := PosEx(FLD_OBJ_SIGNATURE,Txt,p1); 587 end; 588 SL.Text := Txt; 589 end; 590 591 function InsideMarkers(var S : string; MarkerCh : char; P : integer) : boolean; 592 //Function returns if position P is inside characters MarkerCh. 593 //e.g. S = 'xxx|xxxxx|xxxxx' MarkerCh='|' 594 // P = 2 ==> result is false 595 // P = 5 ==> result is true 596 // P = 12 ==> result is false 597 598 var p1,p2 : integer; 599 Inside : boolean; 600 begin 601 Inside := false; 602 p1 := Pos(MarkerCh,S); 603 while (p1 > 0) do begin 604 if (p1 >= P) then break; 605 p1 := PosEx(MarkerCh,S,p1+1); 606 if (p1 > 0) and (p1 > P) then Inside := not Inside; 607 end; 608 Result := Inside; 609 end; 610 611 function SubstuteIDs(Txt : string; NameToObjID : TStringList) : string; 612 //kt added function 613 //Prefix any field names with their FldID's, in format of FieldIDDelim+FldID 614 // E.g. [FLD:1:NUM1-16] --> `00001NUM1-16` 615 //Note: Field ID's are started with character FieldIDDelim, and are of a fixed length (FieldIDLen) 616 617 (* Syntax examples: 618 619 {FN:[FLD:1:NUMB1-16]-[FLD:2:NUMB1-16]-[FLD:3:NUMB1-16]}, or 620 {FN:[OBJ:TABLE1]-[FLD:2:NUMB1-16]-[FLD:3:NUMB1-16]}, or 621 {FN:[OBJ:TABLE2("POTASSIUM")]-[FLD:2:NUMB1-16]-[FLD:3:NUMB1-16]}, or 622 {FN:[OBJ:TABLE2([FLD:1:NUMB1-16])]-[FLD:2:NUMB1-16]-[FLD:3:NUMB1-16]} 623 {FN:[OBJ:TABLE2((5+3)/2)]-[FLD:2:NUMB1-16]-[FLD:3:NUMB1-16]} 624 (arbitrary deep nesting) 625 Note: arguments should be round by matching [ ]'s 626 An argument will start with a TYPE (so far, FLD or OBJ) and ':' 627 628 If TYPE is FLD, there will be :number:, with number being same 629 as number in old format (i.e. ...]#2). 630 If number not provided, then default value is 1 631 632 If TYPE is OBJ, then this indicates that the parameter name (e.g. TABLE) is 633 the name of a TIU TEXT object, that will be processed on the server. 634 Parameters should be resolved before passing to the server. 635 *) 636 637 var i,j,p1,p2 : integer; 638 SubStrA,SubStrB, NumStr : string; 639 FldIDNum,CountofSimilar : integer; 640 FldIDNumStr : string; 641 CountOfSimStr : string; 642 Temp,FldName : string; 643 Skip : boolean; 644 begin 645 for i := 0 to NameToObjID.Count-1 do begin 646 CountofSimilar := 0; 647 FldName := NameToObjID.Strings[i]; 648 for j := 0 to i do begin 649 if NameToObjID.Strings[i] = FldName then inc(CountofSimilar); 650 end; 651 CountOfSimStr := IntToStr(CountofSimilar); 652 FldIDNum := Integer(NameToObjID.Objects[i]); 653 FldIDNumStr := IntToStr(FldIDNum); 654 FldIDNumStr := FieldIDDelim + StringOfChar('0', FieldIDLen-1-Length(FldIDNumStr)) + FldIDNumStr; 655 p1 := 1; 656 p1 := PosEx(FldName,Txt,p1); 657 while InsideMarkers(Txt, FieldIDDelim, p1) do begin //Ignore included fieldnames from prior cycle. 658 p2 := PosEx(FieldIDDelim,Txt,p1+1); 659 if p2 >0 then begin 660 p1 := p2+1; 661 p1 := PosEx(FldName,Txt,p1); 662 end else p1 := 999; //error condition. 663 end; 664 while (p1>0) and (p1 < 999) do begin 665 Skip := false; 666 SubStrA := MidStr(Txt,1,p1-1); 667 SubStrB := MidStr(Txt, p1+Length(FldName), 999); 668 if (LeftStr(SubStrB,1)=']') and (Pos(FN_FIELD_TAG,SubStrA) > 0) then begin 669 NumStr := piece(RightStr(SubStrA,7),':',2); 670 SubStrA := LeftStr(SubStrA,Length(SubStrA)-7); 671 p2 := 2; 672 SubStrB := MidStr(SubStrB,p2,999); 673 if NumStr <> CountOfSimStr then begin 674 Skip := true; 675 Inc(p1); 676 end; 677 end else begin 678 Skip := true; 679 Inc(p1); 680 end; 681 if not Skip then begin 682 Txt := SubStrA + FldIDNumStr +FldName + FieldIDDelim; 683 p1 := Length(Txt); 684 Txt := Txt + SubStrB; 685 end; 686 p1 := PosEx(FldName,Txt,p1); 687 end; 688 end; 689 Result := Txt; 690 end; 691 692 693 function RestoreTransformFormulas(SL : TStrings; Formulas, NameToObjID : TStringList) : boolean; 694 //kt added 3/26/10 695 //Returns if any changes made 696 //Replace formula text back in, and change field names into FldID's 697 698 function GetFormula(NumStr : string) : string; 699 //Return formula text based on provided index number of formula 700 var num, i : integer; 701 PtrNum : Pointer; 702 begin 703 Result := ''; 704 try 705 Num := StrToInt(NumStr); 706 PtrNum := Pointer(Num); 707 for i := 0 to Formulas.Count-1 do begin 708 if Formulas.Objects[i] = PtrNum then begin 709 Result := Formulas.Strings[i]; 710 break; 711 end; 712 end; 713 except 714 on EConvertError do Result := '??'; 715 end; 716 end; 717 718 var p1,p2 : integer; 719 count : integer; 720 FnStr : string; 721 Txt : string; 722 SubStrA,SubStrB : string; 723 begin 724 Txt := SL.Text; 725 Result := false; 726 p1 := Pos(FN_SHOW_TEXT,Txt); 727 while (p1>0) do begin 728 SubStrA := MidStr(Txt,1,p1-1); 729 p1 := p1 + FN_SHOW_TEXT_LEN; 730 p2 := PosEx(FN_SHOW_TEXT_END,Txt,p1); 731 SubStrB := MidStr(Txt,p2+1,999); 732 FnStr := MidStr(Txt,p1, (p2-p1)); 733 FnStr := GetFormula(FnStr); 734 FnStr := SubstuteIDs(FnStr,NameToObjID); 735 Txt := SubStrA + FN_BEGIN_SIGNATURE + FnStr + FN_END_TAG + SubStrB; 736 Result := true; 737 p1 := PosEx(FN_SHOW_TEXT,Txt,p1); 738 end; 739 SL.Text := Txt; 740 end; 741 742 { 743 function RestoreTransformFormulas(SL : TStrings; Formulas, NameToObjID : TStringList) : boolean; overload; 744 //kt added 3/26/10 745 //Returns if any changes made 746 var 747 i: integer; 748 Changed : boolean; 749 txt: string; 750 751 begin 752 Result := false; 753 for i := 0 to SL.Count-1 do begin 754 txt := SL[i]; 755 Changed := RestoreTransformFormulas(txt, Formulas, NameToObjID); 756 Result := Result or Changed; 757 SL[i] := txt; 758 end; 759 end; 760 } 761 762 function RestoreTransformTxtObjects(SL : TStrings; TxtObjects, NameToObjID : TStringList) : boolean; 763 //kt added 3/28/10 764 //Returns if any changes made 765 //Replace formula text back in, and change field names into FldID's 766 767 function GetTxtObjects(NumStr : string) : string; 768 //Return TxtObject text based on provided index number of formula 769 var num, i : integer; 770 PtrNum : Pointer; 771 begin 772 Result := ''; 773 try 774 Num := StrToInt(NumStr); 775 PtrNum := Pointer(Num); 776 for i := 0 to TxtObjects.Count-1 do begin 777 if TxtObjects.Objects[i] = PtrNum then begin 778 Result := TxtObjects.Strings[i]; 779 break; 780 end; 781 end; 782 except 783 on EConvertError do Result := '??'; 784 end; 785 end; 786 787 var p1,p2 : integer; 788 count : integer; 789 ObjStr : string; 790 SubStrA,SubStrB : string; 791 Txt : string; 792 begin 793 Txt := SL.Text; 794 Result := false; 795 p1 := Pos(OBJ_SHOW_TEXT,Txt); 796 while (p1>0) do begin 797 SubStrA := MidStr(Txt,1,p1-1); 798 p1 := p1 + OBJ_SHOW_TEXT_LEN; 799 p2 := PosEx(OBJ_SHOW_TEXT_END,Txt,p1); 800 SubStrB := MidStr(Txt,p2+1,999); 801 ObjStr := MidStr(Txt,p1, (p2-p1)); 802 ObjStr := GetTxtObjects(ObjStr); 803 ObjStr := SubstuteIDs(ObjStr,NameToObjID); 804 Txt := SubStrA + FLD_OBJ_SIGNATURE + ObjStr + FLD_OBJ_END_TAG + SubStrB; 805 Result := true; 806 p1 := PosEx(OBJ_SHOW_TEXT,Txt,p1); 807 end; 808 SL.Text := Txt; 809 end; 810 811 812 function GetRPCTIUObj(TIUObjName : string) : string; 813 //kt added entire function 3/28/10 814 //Based on rTemplates.GetTemplateText(BoilerPlate: TStrings); 815 begin 816 TIUObjName := AnsiReplaceText(TIUObjName,'|',''); 817 with RPCBrokerV do begin 818 ClearParameters := True; 819 RemoteProcedure := 'TIU TEMPLATE GETTEXT'; 820 Param[0].PType := literal; 821 Param[0].Value := Patient.DFN; 822 Param[1].PType := literal; 823 Param[1].Value := Encounter.VisitStr; 824 Param[2].PType := list; 825 Param[2].Mult[IntToStr(1)+',0'] := '|' + TIUObjName + '|'; 826 CallBroker; 827 RPCBrokerV.Results.Delete(0); 828 if RPCBrokerV.Results.count > 0 then begin 829 Result := RPCBrokerV.Results.Strings[0]; 830 end else Result := ''; 831 RPCBrokerV.Results.Clear; 832 end; 833 end; 834 835 836 Procedure EvalTIUObjects(var Formula : string); 837 //kt added entire function 3/28/10 838 var p1,p2 : integer; 839 OP1,OP2 : integer; 840 Problem : boolean; 841 SubStrA, SubStrB : string; 842 TIUObj,Argument,s : string; 843 begin 844 p1 := Pos(FN_OBJ_TAG, Formula); 845 while (p1 > 0) do begin 846 p2 := CloseCharPos('[',']',Formula, p1+1); 847 if p2=0 then begin 848 Formula := 'ERROR. Matching "]" not found after ' + FN_OBJ_TAG + '.'; 849 Exit; 850 end; 851 SubStrA := MidStr(Formula,1,p1-1); 852 p1 := p1+FN_OBJ_TAG_LEN; 853 TIUObj := Trim(MidStr(Formula, p1, (p2-p1))); 854 SubStrB := MidStr(Formula,p2+1,999); 855 OP1 := Pos('{',TIUObj); 856 if (OP1 > 0) then begin 857 OP2 := CloseCharPos('{','}', TIUObj, OP1+1); 858 if OP2=0 then begin 859 Formula := 'ERROR. Matching ")" not found after "(".'; 860 Exit; 861 end; 862 Argument := MidStr(TIUObj,OP1+1,(OP2-(OP1+1))); 863 if Pos(FN_OBJ_TAG,Argument)>0 then begin 864 EvalTIUObjects(Argument) 865 end; 866 Problem := false; 867 s := FloatToStr(StringEval(Argument,Problem)); 868 if Problem then begin 869 Formula := 'ERROR evaluating argument: [' + s + '].'; 870 Exit; 871 end else begin 872 Argument := s; 873 end; 874 TIUObj := MidStr(TIUObj,1,OP1-1) + '{' + Argument + '}'; 875 end; 876 TIUObj := GetRPCTIUObj(TIUObj); 877 Formula := SubStrA + TIUObj + SubStrB; 878 p1 := Pos(FN_OBJ_TAG, Formula); 879 end; 880 end; 881 882 455 883 456 884 procedure WordWrapText(var Txt: string; HTMLMode : boolean); … … 561 989 Entry: TTemplateDialogEntry; 562 990 iField, Temp, NewTxt, Fld: string; 563 FoundEntry : boolean;991 FoundEntry,Problem: boolean; 564 992 TmplFld: TTemplateField; 565 993 tempSL : TStringList; 994 SubStrA, SubStrB : string; //kt 995 ExtMode : TMGExtension; //kt 996 TempStr, FnObjStr,Argument : string; //kt 997 FnP1,FnP2,p1,p2 : integer; //kt 566 998 567 999 procedure AddNewTxt; … … 648 1080 end; 649 1081 until(i = 0); 1082 1083 //kt -- begin mod --- Entire section added. 1084 Temp := Result; 1085 for ExtMode := tmgeFN to tmgeOBJ do begin 1086 repeat 1087 i := pos(TMG_MATCH[ExtMode].Signature, Temp); 1088 if(i > 0) then begin 1089 FnP1 := i; 1090 FnP2 := CloseCharPos('{', TMG_MATCH[ExtMode].EndTag, Temp, i); 1091 //FnP2 := Pos(TMG_MATCH[ExtMode].EndTag,Temp); //Should use CloseCharPos function 1092 p1 := FnP1 + TMG_MATCH[ExtMode].SigLen; 1093 FnObjStr := MidStr(Temp, p1, FnP2-p1); 1094 p1 := Pos(FieldIDDelim,FnObjStr); 1095 while (p1 > 0) do begin 1096 SubStrA := MidStr(FnObjStr,1,p1-1); 1097 p2 := PosEx(FieldIDDelim,FnObjStr,p1+1); 1098 Argument := MidStr(FnObjStr,p1+1,(p2-p1)-1); 1099 SubStrB := MidStr(FnObjStr,p2+1,999); 1100 CtrlID := StrToIntDef(MidStr(Argument,1,FieldIDLen-1), 0); 1101 Fld := MidStr(Argument,FieldIDLen,999); 1102 if(CtrlID > 0) then begin 1103 FoundEntry := FALSE; 1104 for j := 0 to uEntries.Count-1 do begin 1105 Entry := TTemplateDialogEntry(uEntries.Objects[j]); 1106 if(assigned(Entry)) then begin 1107 if IncludeEmbedded then 1108 iField := Fld 1109 else 1110 iField := ''; 1111 NewTxt := Entry.GetControlText(CtrlID, FALSE, FoundEntry, AutoWrap, iField); 1112 TmplFld := GetTemplateField(Fld, FALSE); 1113 if (assigned(TmplFld)) and (TmplFld.DateType in DateComboTypes) then {if this is a TORDateBox} 1114 NewTxt := Piece(NewTxt,':',1); {we only want the first piece of NewTxt} 1115 Argument := Trim(NewTxt); 1116 end; 1117 end; 1118 end else Argument := '??'; 1119 FnObjStr := SubStrA + Argument + SubStrB; 1120 p1 := Pos(FieldIDDelim,FnObjStr); 1121 end; 1122 if (ExtMode = tmgeOBJ) then begin 1123 FnObjStr := FN_OBJ_TAG + FnObjStr + ']'; 1124 end; 1125 if (Pos(FN_OBJ_TAG,FnObjStr)>0) then begin 1126 EvalTIUObjects(FnObjStr); 1127 end; 1128 if ExtMode = tmgeFN then begin 1129 Problem := false; 1130 TempStr := AnsiReplaceText(FnObjStr,' ',''); 1131 TempStr := FloatToStr(StringEval(TempStr,Problem)); 1132 if not Problem then FnObjStr := TempStr; 1133 end; 1134 SubStrA := MidStr(Temp,1,FnP1-1); 1135 SubStrB := MidStr(Temp,FnP2+1,999); 1136 if (HTMLMode=true) and (FnObjStr <> '') then begin 1137 FnObjStr := HTMLAnswerOpenTag + FnObjStr + HTMLAnswerCloseTag; 1138 end; 1139 Temp := SubStrA + FnObjStr + SubStrB; 1140 end else begin 1141 if HTMLMode=true then begin 1142 tempSL := TStringList.create; 1143 tempSL.Text := Result; 1144 if tempSL.Count < 3 then begin 1145 Result := HTMLAnswerOpenTag + Result + HTMLAnswerCloseTag; 1146 end; 1147 tempSL.Free; 1148 end; 1149 end; 1150 until(i = 0); 1151 end; 1152 Result := Temp; 1153 //kt -- end mod -- 1154 650 1155 if not AutoWrap then 651 1156 WordWrapText(Result,HTMLMode); … … 660 1165 Temp, NewTxt, FldName: string; 661 1166 FoundEntry: boolean; 1167 SubStrA,SubStrB : string; 662 1168 663 1169 begin … … 2510 3016 end; 2511 3017 3018 function EvaluateFormula(formula : string): string; 3019 begin 3020 //CloseCharPos(OpenChar, CloseChar : char; var Txt : string; StartingPos : integer=1) : integer; 3021 end; 3022 2512 3023 initialization 2513 3024 -
cprs/branches/tmg-cprs/CPRS-Chart/UploadImages.dfm
r453 r729 1 1 object UploadForm: TUploadForm 2 Left = 2243 Top = 1 264 Width = 8002 Left = 170 3 Top = 169 4 Width = 776 5 5 Height = 493 6 6 Caption = 'Upload Images to Server' … … 18 18 OnShow = FormShow 19 19 DesignSize = ( 20 7 9220 768 21 21 459) 22 22 PixelsPerInch = 96 … … 28 28 Height = 229 29 29 AutoSize = True 30 Picture.Data = { 31 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000008500 32 0000E508060000010A2904F000000006624B474400FF00FF00FFA0BDA7930000 33 00097048597300000B1300000B1301009A9C180000000774494D450000000000 34 00000973942E000059374944415478DAEC5D077C8DD71B7EEEBDB937F3668A0C 35 318384182146EDBDA955B4B46A46516A548D9A358A524A51A3AA46112BC42646 36 891D249188C81291BDF7B8F77EFFF37E37374D22914DE29FD7EFF8BE7CE3DCF3 37 3DE739EF79CF7A8F00652082BC177EFFFDF7B8B367CFEA5DB87001919191E8DC 38 B973E376EDDA7D221008F6B27B080D0DC59C39732E9F3E7DBA4F81919C3A758A 39 4B4949414646063B3F83376F82F0C9279FA05BB76E68D6AC19AE5EBD8A3FFFFC 40 133D7B7E8175EBBE17E41B09899D9D5D84BDFD0CE3E3C71D70E5CA7975762983 41 8561EEEEEE271C1C6E62D5AA198DD8DFDE05A644253EE77A730D075CCE75FFC5 42 99AE9CD5A737DE7A27BF484CB38E9B58989DEB618974399791F8073B0DCBBA14 43 F6CE94942A77F24A870BB5383ABAF40B12942892414E769C9595AE128F170970 44 1AE42A287624AA88E8585004E58F09C7848E693260EE3F01D8FE75BDE2A78493 45 6572E991C18893D641421A2360B356C68921AE51C58A64278BC7C6CE148D1B19 46 6267B73F31798835B475F5317FD1515C72FEA7F98BC767DC0B8DE4DF0DF3B927 47 CF3C317EE127D8F864386A37D083545F9FBFF768EF19AC5BFDB9A0D048562FBB 48 CA690993F1752F17AC0E9A85DFFEAD0B59DC25405D1DDFEA7AE1F7DF26161EC9 49 A3474A6055D27AB618426B0E2F366CC2EA39C05F7FCE2C3C929CE213C57109E9 50 404C8A1C297211FE59B60E0E4717142F12CBE6FDFFE0A0804241D9A680502088 51 F3F7B8B4A05891C09E95E65D7CA9CE570A8D64F49DA63C36FFECF3D8CE229A5E 52 EC48742DECDACE73AD798FCED7DB060D4B0C7DEC481F54A448BA76FD823B756A 53 3BA64DBB8073B77EEDCF293875C6D6D3F945506024F6F68FB88C8C68A4A747E3 54 F0E1D1B99EE96CDDF9C72FE77CB9CADEDEFEDDB93368D072EEC48945F8FAEBE3 55 D9910CC220F523C947D2AE5DBB066767676CDEBCF908BBFCC55B919C3B778E6B 56 D3A60D5EBD7A0556CFE0E2C5CBACCA88C7F6ED6B051DD1D1CC6050ED90EFBE1B 57 8F152B5620E656CC4A4F782ECD2F253ABEBEBE89BB77EF66A79A4848C8C08E1D 58 6BB4FCFDFD53629233E17A27067DFB9A6374EDD1DD5DE072BDC8595C14A9C091 59 BC78F182AB56AD1A643219222222D0B46953013B72E9E9E93034348444228158 60 2C161418C94F3FFDC4B17A182D5BB644545414AB87AF4057571775EAD4E10355 61 F2BFFEFA2BACACBA62DEBC2FDFC9133DF672DC82050BE0EAEA4A856E0E5DDCB7 62 6F1FB775EB56F8F9F93D8C8B8B6B53244CDC4FF6E19A0DBB94EBBEA7830D6733 63 D2B3D00ADD34C7F95B157A9E6B610545F296F4D81DD0D879725DAF62E54E2EB1 64 C7930E436BD9BEAB327F672406F5ECF43AFE8638AAD0A932BF3E55619314FCC4 65 AB589164A5841B34C80E37A6088624863C3A5DB2CF29A2E41B895C2EE7844221 66 AFC6A81EB66ADB4727DCFD7272B122494C4CE4B4132390A46980588101AE9E04 67 264E1014CF2A080F0FE7967FD50BDF66C641DF4003B747BDC08891CA54F53E0B 68 3C182110141A49404000E7F0D30CF46B668E4C8936C2EAFC8A14EB54FE5E231D 69 4D3431592102962BDE1989A7A72777EE5820BA367A065DAD3484E92EC5D287CE 70 F8F7A9042E6B3AA143AD2244F2E85102C3549AFDB72B0B53E60BE0B8671DD465 71 3FA05F83224492573CC29515BA2A8C6A528248EA35EFFB07ABCF21E714028E59 72 7341CFAE4C458E8AACF00278D492731EE5A77CAEDD080DDC3D9656A42CCE1141 73 AA494D2D0D3AFFA7BD47C9EC58A959CBA13F3CAD7572C91247E89E6FD53F21F8 74 D185224572EF1EC7A5A5DDE41B4A1A1A1A42A9B9DD608150905E5004F94672F1 75 22C79D3CE90A1F9F8DB871E370AEFBFDD04F6CBBD036E3A6E3CD5FEF3CBF33B7 76 C048FEF987E31C1C2EA07AF5EAD8B5AB55F67D5695722E2E2E68D2A409828383 77 59A53FE86D6DCF3439470FE8335B554B4B0B4E4E4EECAA11BEFF7E3CFFCCBC79 78 F3B8FAF527B288C7E0B7DF7E43C78E1DF3AF3258AB3398455663FEFCA558B264 79 3533765AEC66914DA60624ABD470FCB81B4E9FDCE01A1E15DEAA28B9439C4F44 80 11E5FD57E89F7DF6D990BA75EBAEFAE5975F9A14F6ECFCF9F3DDEEDCB933EDD6 81 AD5B2EA54E88A3A323479CA3E6536060201A366CC81B06642C9035A6A6A6CEAE 82 87E2FAF57368DEBC396AD5AAC59A0FEA484A4A024B30FF5E5858187FFDEEDD30 83 B8B99DC19327DED8BB776B919AD639A5F1E2C58B3DC78C198365CB9661FCF8F1 84 2CC2FB78F9F2056F68181B1B233A5A8DB166914BCD9A3553CF9E3DDBF3F5EBD7 85 3C194C4C4CB072E54AB46FDF9E7F8EE8191696203B73E6C82F2CDE45A5CD5F01 86 B38015BB76ED624D27F47DD7833FFFFC3377E4C81186821BE991F45265CD3FAC 87 24E6BDF645571F5CFC7B13626BEF7867C47D6D5D6160618EC367CD725D5FBE7C 88 39D30E3EC5CE9AF726A54F883D5CAA75D26ADF3CCD53C40C324549A3297942EC 89 7166FCA41683F25E0E723B69C01214F7BE1242558861E240D7C8B56B47645F5C 90 D338E06B4EC89D4F34484B602645C6FB41A48CA57226242D2D8D23CD4942E53A 91 5DA60C6972D626D99D02B3E70F60E8B25DDDD3F358B1B2A5D809898989E10C56 92 F446865006492D63C0D210B01D0E789FC1B694B9D04FB245DF7E713032D4CF4E 93 E8E2554E703AB3CBD6E7C959B7324B0853D39CE2E42CCC3AE4895D636B432CC8 94 80744817449E7C80BF4CD6C04ADC8C190871D0D1D3CF464A85DA81ED27B072E9 95 B35C86668913C23422F7E0D835DC7B650653ED78746C188C2E9F71B8725C0357 96 7587A067F57AD88B38A8EB2A7BE0442C767D3F4F8CEE62837F361DC0AFBFF897 97 4D429E3E7DCA89CC9A2BBF927D6D865CD9A3999EF5E5B51280F6DF89C1D59661 98 CCD4317814D8152F2286E3DAE70638BA7E2776EE082B9B84181AB6D5CDD49049 99 F2BB77CBE56AE4D9E00DA86EA8013D7535E88845D09508F9E3ABA85938B6FA57 100 1C3A90583609799750C323272F22A262A1A96B90CD9193CB5732FB4651FE09C9 101 4FAA7598208D72D95B249BB3D409A1C64F8C660A7FFEE46C683BECC2BD92C453 102 E284F43EDE906BDCD824DF7B9B37DFBAC112D4AD5C12626767A7BF70E1C279CC 103 445C646565037BFB53D40529DA963941AE7A66FAF4BD6009603C40B1CD812225 104 E4C60D8E5BBE7C34D6AF9FCD8F70C9E56A9834C9E1AD0ED5D24891223A758AE3 105 F6EE5D014BCB361838500207077D2426FAE49B90711827D9ABD89B7EECD831FE 106 EFD8D858EA33E15B01999999F873D79F87E4907F59A484CC9933E7AF0D1B368C 107 A31729383868B3C4AC00F50AB3F60AFAF7EF0F66B563D3A64D893B77EED463AF 108 70F5EBD57FB176FDDA86D4F94B42EDC5F8F878FEFDB163C7F24D11D62280B5B5 109 7576CF71A10959B26449FCE8D1A375131212101717C7072B2B2B5CBE7C19E1E1 110 B1D8B8F167FEB9B3677DF1E0C115BC79F9686BF72F27CCE8D0B6053CA23591C8 111 EADE734F2311EE750BDDA50D50A3C613FEF90E1D3A6054FD51935DE1BAA72459 112 23608DAAED03070EFC66D8B0F99831A36F006BBB4C20EAE47C680666881F583C 113 98B9C971C3861387AFC071E3A135E630BF740BB7FE2D338EBC0FA94A48891351 114 D4D67D717A0C0A4D046B6C8F5FB76EDD5EEA9CA771162323A35C2D7BF663D963 115 FE3447A057AF5E7ADF7DF71D0E1D3A94ABB7203C3C1C23468C68ECEDEDFDBC58 116 89D8B8712357D4EE859A356BA0285D16FBF6EDC7962D6B9AB1E83D8A94883D7B 117 F6704F9E3CC1D0A14379BD616B6B0B8542C10F9EDCB871038F1F3F06DDFFFCF3 118 D9484DF5A7C1147E00859EEDDEBD3B2E5EBC8856AD5AE1C71F97A26BD74E3C3A 119 4B971EC4E0C18D7AB0E8AF15393B1A376E7CC9C9C9A97711FA37FE621A727251 120 FA4C18A2BD58D4A92521E6B07DFBF69DA01120FA817EFDC6310E2CA1C19AB1C8 121 31FB82891EAB8D5FAE5DBBD6D8DFFF0D76EDDACAB2C584666ED0900A0DCDE6DB 122 AE2956E92846074B913B6D8A9D089A3A224B8B447EA34D7985A69EA4A50B9077 123 B4AAD889C8DB1B54500F4F5E496196F0C43EFEF9F61AB18A925E0ECB79ADB054 124 9AE6F97B7ED6B5757922AACE4284EA0F91415D6D796CC0AAAC3FF30EB985E5FD 125 91F253DB5D97ABE1C67259511E2DB74418B61DA31B73FF50C27B4944B5035A5C 126 73895982F3283FBD5C37ECEC4570DD252F4A1CA54A846A9612894682F8224B48 127 BF92C453E2448C7FD0E2AD7ED4A080846496109DF79208D5EC28D5542B121AA1 128 2571727295B1B60935B4B9A2C657A244508B3E439CAAB1F8B955B8EADA8205C7 129 A073BA998950AC2D4B08BE1B53EE4864899021924D3C8640F9B6CECA5BAA1251 130 A244A866ECA92453AEECE77261056342879E9F87F8381F7DAF89502580BA8EEC 131 AF0327EFBC82D9B1F1C3435F5E3F59FE8908F3879C25255D2442AA4EEDEC8450 132 DF56DBE6AD1C13435C87967B223267B686585F1DA86F0458B22061A53220066E 133 5D4E60EDC2EF7178EF865C48AD3DF50A2E7F8C1333E3B8C01AB55889C89473DC 134 6C3B2BD81BA623312605B5EAE843475782B0374948F83B109B9628139137AB42 135 BD7D60717FB1DAB163C7E4A54E44623AC7C5EF1A86A3AE3E18DFBA06D40DD4A1 136 9068203E5406FF4F4F62FBF2EF7160CF0665C76C8ECED9C097C0E4A903FAF93D 137 3E7FB1D489884EE138EFEDDF63CFC5EB98D9BF0D6AB431849A8E045E5793913A 138 743D96CE9F8D39EBD6BCF59E518C26264DEA33C8DFEDF2D95227E24D02C7FDFB 139 FB0E5CF0AE83E18D3DD1A865264C6BCA70E6A409F43FB3C79CF9DFA3DDC20DD9 140 CF7F6E03F4EBF537AEFFFE35264E28A344F8C770DCD1DF2E4322CC80589089F6 141 D62F61671584D52786A1D1E7DD31C1BE31EA0F3381EBFD258058CC6A17465A56 142 8A6ECC6C8B09E3CA28115E91CAAE660A198AFF862154793F614C7DA4B5F643A7 143 4E9D50CDBC1A4E3DDACD1221C48DFE06183BBACFA0A067659088BC5371F34AC7 144 D19648ABE90FD464BFCD8AEEB375BF425B4D08B7906F317D781925426A6E572D 145 EF354EA1108C1A3A35A2EF377511947E1BD5990EA1D100A958C882F2E815F61D 146 E68C2CA3441424F6F63BB959ABED95D994357692770C65E1E89E2C11CEE59788 147 F1E37FE766AE999E6B10272E3903023549F6B5E55FB04478976322485493A449 148 F889D2749EC5208582838EB6C656AF874E9EE59A88D248E9C745760758DE1535 149 F44D999059E2B84A950896009B1893F6CFB2FE543CF93454F45E13C112606462 150 F3E95B4B18DE35C3AD4C136158BF9FE6D833492905DDDFDD3B433339F87E5A51 151 E32B191236361269AC66BFC4818F1C57AE1C927D797D8BD76BD9E1BE5C8CFB29 152 AF5C43CB3C11E3C68DEB396AD4A8653D7AF4E8387FBE37366D6A561BF678B56D 153 DB84EC6716D4761BCACC3BC7E27E53911241F3FB3FFB2C861F7CA1BECA75EB62 154 69565F27ADDA767EA24CB4553D575C048A9D8851A3E2F9A983D4533B7DBA1B9F 155 0876EB76717FB05489509D87869E8599D9C042134163645248B9BBB6776F7F37 156 F7BB364F1F3FF5F13DE2DBF774E8E980122762DE3C0B3C7D7A0B3D7BF6C4FCF9 157 7E0526E2E1C3879C542AE5FBBF939393F99E609ACB7FFBF66DBE7777D1A245C5 158 9FC73572E4C82DFAFA3FCC68D62C0863C674032D0458BA34385722E8ABF7615F 159 465774959C4B3E97EEEEEECE6C8F47FC8F76E9D285667EF2133B6FDEBC996B16 160 E83B1371E5CA15AE6BD7AEFCE81E75A87FFFBD0F56ACA88B949438EA78E73BDD 161 69D6E8881123A6B9B9B9EDA8833AA65DC7750DFDE9A79FF8F769650775B8538F 162 FFF5EBD7A16F698B864612F4EEDD9B06E78A96086767678E7AEBE92B2811B4C6 163 9112A4ADAD4D431098366D1A8E1C398BE87697B17BF0BFD9BDF6D3304DB3E7C9 164 9E29D4A3DFB5EB22961597F0F2E54D585858F0631EBFFCF20B1A356A54B444FC 165 F9E79FFC920A1AEBA4C4A4A6A6A26DDBB6F8F9E7B50CD2DB2C4B9269581B3366 166 EC42AFAEA6DD1DCF395E0BD6698C8E0DABA1B1A90E965D49C565B770748AD8C3 167 4A5443D5645C1A01483B75EA9466713831947DD1491A78A184DCBE7D170B16CC 168 A32FC1B66D37F1C5174DBDD8D74D1A81118FD7F9AFE355B45C2E879E9E1ECBCE 169 87484AAA83BE7D75F0C30F3FC82E1EBDF8672BB4FAC119CEF9F66B16A574580C 170 1830E0F5E79F8FC3E9D34E387E7CFF41766D0A0BB9EA8EAFF095C6D093435323 171 2363F1FDAC59D7EBA5D6BB540DD57614F4C3C54D844A08C6D4C21EA2C41CC081 172 22575EC54D44B94955222A54222A8A9419185F7EF9A53E53B05BFAF7EFFF1569 173 68316B986B6A6AF281D686D3F8EEDEBD7BA91A597CE7CE1D1A3C2A744CA63CE2 174 2C7330366DDAC4D9DBDBF3CA9D26B4D0B02D29739A0043336CD4D4D4F8EB7913 175 4E812A7B030303BE668A8E8E66B593067C7C9C11121282B28E9355B149E7CE9D 176 FB81AADA720363F1E2C55CAF5EBD7823232D2D8D3F9221DAA041037EE1205526 177 54FDD2641D4A2C55429450EA0FA5590052A92E3FE07EE3C66D766E0C73F35A10 178 0AE351D671D6AFDF8C5DBB8DAD5B57BE35505F66607CF6D967BB585360728B16 179 2DF884938F05CA3DFA18320128D0C790954EB946FE16683A43EDDAB5A1A3A3C3 180 E72C1DC906219932E56766C7FA80A6DD95659C4D9BD2CC8575ECD9E5ADD9A547 181 E502461E3163AD8269CC8A9BBF64C912319917F431A74F9F86B7B73733479AC2 182 D1F1383F2985684E1F20146AC1CAAA0D8E1EDD12E6E7E747B3A3688E18ADEB8D 183 2BC7380B95F2A84D686CB069BD7AF5763113B9E58001C370F2E4455CBC7838DD 184 D7D7973A9028D02AABE80F1CE77B01235B76EEDCC991D54B663B0BF9CE10AC08 185 71961A8C80788ECBF932971599AA314BE77A4957A1AFAB035698716D736FD49B 186 1052AC04E58D934EF4938B17679FD6563491FEAD0925650A46C3860D0B1D2677 187 D92D463233C9154CE3BBDD7989F947EA96F4E77891410C973F0448CFE48A1567 188 B983F1A144B3D1B006A9CF4FF8B2A41779CE4251A5D281C14BB3AFB4E17E20B9 189 F411E5968A01863DDC7AF4B0AC8D84ABD59D27D72D7C6D92CD081D781E4BFAB8 190 C0B0C76BABDE4616392F59C8F5FD9D47F9597E88E47C1830ECF1CFE031D6EFAC 191 1293C232A319532C1953E23F4E30EC11387DFA27B58BF38AB77764FCFD05BA2D 192 93029EF87F3460642D119BC64E69FD863071A0EBE065CB06E6FBEC8A1567213D 193 6B771FCAEA9063FF12040A6C4F08777D8062CC7CABB060E4112163897CF3E6AF 194 F2BD396BD6010283C67CCEA00493DE2A1B18025D0BBB36ACF93D1D9C40FAF65D 195 2E9135BEB62504972F132A0A181552AAC0C821E50606A7147E49091D739EFF77 196 E420A7252772E5F171920293FB8F9E9621D43B10590E46D5070323232383A30E 197 DC7C81624126073F1F52463E8114CAE38557C0295681A606F8C26DEB379FCB35 198 4467DFE516AAD280919C9CCC512F542E10B8FF00C809828C539E7B33759992CA 199 428AF23867E92707E50AE177C59DC75DE1C0888B8BE3A8BB0EB35AFF77518B31 200 C55013306020E9A903521634C44A249233D94BA9D8A1BB1C9DDBD982FC25FD79 201 6A26BE9CF42D3419A8F28C4C286432C833E998C91F29BC7E93805F7EEC5B719C 202 F7E5279191919C9151350866B7865338CBE91AA118A5554709862181C18E462C 203 D82E01BCD640119E84370E9E3835643F3AB46F81973781D397BFC7EF1B16F3FE 204 1C48F22B5ECB579D426AD7A1480AF4C7A31DB39B9BE92678BD6B56EF07012324 205 248433303683632D1D248A25B85ED3028332436092C608A12B81B68E185A8C29 206 12290384E5707ABA0229C9329C1979185D7AB645182B32C7CE29C13034D0577E 207 3CF776F1DAFFE715C832658C2D725E09870547C0F9E1454B9F872702504C1BA5 208 DCC078F5EA15A757BD1682FE9802A1408E0507FF85B59936BEE9D998FF5B0439 209 F49B9941DAA21664B1C988BCF706B1A10A9CAA311B1D5BDB20D10358B5672606 210 DBCF85B6AE5EA1BFD7A7913E42D9E75F39770C471DF70DF2776B73BE20C70AEF 211 1D0C5F5F5F4E6A6A8987BFAF83887D3C01B0C1E13CAAE969634ABF36A8D95402 212 75A918867535A0A92EC38BDB69F07F21C16D8BCFD0A9550308FC80AF367F0FFD 213 2F1643A4A39F1DAF9A90C3969E1C3BE6FE3DDD042162DF00E74EFC8393E7FF66 214 60B4AF38603C7FFE9CD336B786D36FC718100A44A5EBC3501C072D512AACEB45 215 424B5B81865649D0D0542036460D1CA3FA43F71AB8AC31009D5BD586340498B7 216 E31B8C5DB1163A06FAB9E27EE6118ECD1B5C580B47C8CF6FA6E3FD1D03911201 217 381EFC1B4ECEFF542C30DCDDDD390DF3A67CB94ECBE41091988984543914DC7F 218 55A92247B5AAC8AA76CD0D34797D601E0BF49A591FE936AFC06929F5A19AD66D 219 A640F5942050D2B38020B9F96D03707180C39E3DB878E3D820FF6715080C5757 220 574E62D1325F7B4291D7D6E0FE7B46F5B71553B45D4633300C1918A2ACCAA119 221 B078E262A4A6A7425D431DA9B254A4CA539190A18EF1753643C2CCB303BF6FC7 222 E53BA70705552430A4E676B426B94D117E23FB7E2D8BFA831B5859C037F4397C 223 C3BCA1D04D41865924A09EB5EC8426F7D29819334FD64CFF12C35BB586BA4800 224 0963876BF0749E5927D7FE861B8FCE572C304A22DF4CDFCBFDB0723CCF90ABCF 225 CE22332D9DFC7033052C6047E43AE63CE714D5203669C7B3EAD4EA0DB8E371A5 226 F2833169D20E6ECECFDFE42E32398A11E57C4858240C8D8CF9F3BC76071D4FAF 227 5A8387DED718189D2A37185F7FBD85A37918D4AA553950A0D62D5D5309B56F52 228 64E9D016ABBFF5BEEA39775F9701AF9E77B858A9C12896D419A781C07DC59A4F 229 58985418307AEC0EA8EFFCB0EE8FD885F14579BE38CBE42B0D180C842ED0ED79 230 E3852232FB5AF0F5846F1928DBDEFDE60896F66365DA3FFAC1C06020183210A2 231 8546053E9276C5C16F0D0365E5FB4AD37B078381D08C81E06669A95FE47776ED 232 72FD9D8132E3A30243AF565383F8BE1EB97AAD162EEC9DEFB33FFF7CF9AD6BDA 233 67EDFA2487B85E45398DA57C886222C80A349094B971E3E87C1F9A3BF71F489D 234 5AD2AE214E393E9E43651851A3C5AC3B76DC829FDF0EFCF5D71A7E36AF4824E2 235 27B3D294455A0B32678EB7CA7D1D2D4EB943A36AEF8A53F74CAB0109618F2EE2 236 3D8DAA951918B76F73DCFEFD4AC7ED3FFE38819FA86A6A6A0A7373737EF62FB9 237 C2A2455339C02893855315128CAB57C901BD128CE5CBA7E0DA3517B8B8F83346 238 D8C2C8A85DF673E509C6088C503785A9622BB6667E50309C9C388E3CA44447DF 239 6566F103F4EDDB9D853E78F8D0859FD74D1E1E4B0AC6A7F8542BA541CAE038AD 240 B849FD07F7EF4EF3C995EE2BE5D981F67C717575E5A756D3961CB4F88C587962 241 F9894E1EF028D26F951918C78E71DC952BAEFCF2BD39733EC74F3F3D61C5C598 242 9F0C4F4BB8BEFDD6BDA460080E1D3AA4204F94E4698EE4F8F1E3C8394045B387 243 6BD4A8C1AF6124106892BDCA9DF3C891238B3C57B444607CFDF5D7436D6C6C36 244 0F1F3EBC16AD39A346D5B1631A2C214A30860D6BC78A8916FEFCB32DB977E6E7 245 806FDA948CB8B8A70808F827EDE1C36BDD593477F3C6BB60EE822B2BD6ACE849 246 E7BFFDE68FB66DF511187899CF79F29A497B4050B874E912BF44CDD1D1915F75 247 E0EFEFCF4FA22720484F797A7AF25BFA91AEEAD9B367D983F1CB2FBF700C00DE 248 D71F79C3A3F9DA04828AA6274F1AB11A45A9334C4D397E5520E5240D2451A0D6 249 27AD08D8B56B171F478F1E3D70E7CE3DDCBC79870179307B9EA63DECD5EEE2AE 250 B116B43A855984CDAF6652AD25CD11B7B56D0D4BCB0E7C5ADCDC9C317AF450DC 251 BF7F9FF7F7B069D3267EA58193742EBED0718291249DF75F4A3559B796DDF6C4 252 237E72998241D3945BB76E9DBDFC818EAA736B6B6B7E3904AD15218068F1E8FE 253 FDFBF9EBB4E0F4CC1927762D8651B90E4BA016634B2CCBE9160C3C17686848B0 254 61C3027E09C4722C17DCC00DB1B8AED8A6C3980EEB6BD5AFD35364DA1C63FBD8 255 E2F033C03B34157EE149C87C7E0E92206706F6E7A85DBB375253B7D3C2551E70 256 5A86416CA18D1F4906D41990BD7B5759161311A3E892EEDDBB2F9A3B77AE9836 257 A7222054C0A89640D0C655B4042235550E1D1D03383B5F62B5CA7F4B3DCE9E7D 258 C95F8F8E8EC0BA7513931E3CB87BD50846B3AEB95D0B54B1283A31196A9A7A48 259 9601FE093A18D8103C18CF8362502DFC1A84C9699048E86375E1E1F10F56AFFE 260 82F74A4999C08A87ECC2D90B6E6951698F9AA0C9D15EE87583815C2443AD340A 261 949FE9DFA04183AD23468C683771E2447E0904150563E31A4C815930C5495BB5 262 E8333DE185BD7B57A4797979DD90C96464673BB04093BEB313F90DBED1BFA77E 263 EF9B375A6FFAE9EAEBD658B06881E5902143F825A82F5FFA31BDC3F11FEFE3E3 264 C5E28EA4F528B290D721D91FAD010DD7A22CD42C2F30F213AA3F87346AD4E897 265 C0C0400FC6962BECEF032CD052F82279C7CB299FE013D334F5B4710CA001FAB1 266 FA8E8DD068EF199C892DE334971B18955AAAC0C8215560E4902A30B2A40A882C 267 293720860E1DBAA54B972E332E5FBEFCC7F9F3E7A9ABAE54AB90CB2BCE320762 268 CC98317C1B8599DE7C1B85D696AA965692794C56E1D1A3471FB8BBBB7FF7E0C1 269 8322ED4F511E7196391093264DD267A6EE962FBEF8E2AB3E7DFAE0E0C183B4DB 270 2DB50AA9E1F656A2C9F822A1E63B2DBE5DBB762D7DC4A2A74F9FAE4796CD511E 271 71962B1034E9845A8AD4E8F9F7DF7F797FE93366CCA0BD0CF9A6B26A7DFABB12 272 4DADD6706A5364C6F12B92C78D1B87B28E9359B7C79C9C9CBE4611BC7B940808 273 DACE98DA1CB41E9D12418D304A08B501A83D429D27D457F1AE447B7905B1069C 274 36BBF798B54B2EA14F9FEE28CB38CF9FBFCA1A6C4DB06AD5AC73313131030BFB 275 A61201C194153FC357B50E9D7A8FA8D54A6BD1A965481F41FB8D504B95068855 276 0BF5FF9B082B8093D379763F91E5B602AD5A7D023BBBBA28CB387BF51ACCEEE9 277 E1BBEF86DD624CE95C2E4030EA72D457403945FD05AA162905EA5BA08E156A25 278 060404F01FA2DACBC0C1E1384B64326B56D76239763E3BBE050B76C3C4240965 279 1D27B57E478F6E597E404C9B368D9B3E7D3A5F9E2931DBB76FE73B62A8A32667 280 5F0675F4FCFDF7DF34AB8FEFCB50519B8EAADD6A487EFDF50A53728B51D6710A 281 042274EEAC7782FDF959B900C184265C0E66D5DA96B973E7EAD5AB578FCF41DA 282 4082B641275F589470BA76F7AE2B9E3D7BCC0F01E44C34E57E9D3A8D597130C0 283 89133BC86301ED1712CCE21C578671DE80D20BC2E9C23EA8B47604F95B6A636B 284 6BBB63FCF8F18D060C18C0E79A8787075FF591BF2EB95C9751F6103F304494A6 285 72DEA9D34856BC4E323BE0CE7D56D6A937E72F166896AEAC9CE22C54CACAA0A2 286 A964F54C4D4D57313A8F24AF04E4A68B3EC0D5350C3B762C46A346AD99E6AF07 287 47C73D513E3E3EE4A782FC54D3E857DC7B8CB3DC81C829C6ACEE1F6F6565B5EC 288 D75F7FD57AFD5A84DDBB97E2C50BAF675151513400FC370BB4E3797176502C8F 289 38CB1D0895E8EC3E7C3A71DFEFEB79C5161E1EDE985D7B5E01E32C77201018CF 290 71B7CE1CE4BD2315D5F5C28788B35C81703FDC80D3D46F88CCD47070F20CD88C 291 706FC12E3FAD6871960A081AFFE8FDB9FD5B117039FE4EBE6A87C6FD77339D9D 292 81C4F830444B87BC33CECB4776A1ACE324A9AB27D88CB777BC293B20684CE35D 293 D242B214D69D270099E948888BC639B7F6EF7C9EAAC077C5999E29436BCD9F60 294 D3B5E871928C1E3DBA48C3822502A2286E619C7E8E8544DB189C80838E3A878E 295 F6A59B23C2B1A4EE5F920C5363DD62C5C9F448F9019125A645B83F3FC7DFA4D4 296 D615F24EAE0D9DF28AA486DDA08C374F7B28273617394ED573E506C48711AB09 297 52BC28DAD6AFC5914A078466FD7EDAA9BE173E52BF38254BF7C73183B7A4A263 298 3DB47A9277F3A8E2CEE8AFF040F4D81DD006BA3D6F3A3BFBEDC62ECC2CEC79CD 299 8643CC537D1C6990F9E3610403A1260321C82D43E9473EEA56CA7406C6F60F91 300 960F39B9BD2F03E142B028578B997B7139BA1B03E3E6FF05100C04330642489A 301 6EBED327335D4E0511182EC58DB75201C140D0A5650E3AA662B5773C263B7DC8 302 9B3648EFF55102C140A8C14008AC555757AD28CFFFB5E7C97A06C6FCA23C5B69 303 809036196ADA66897BA8B5B571B1DEDBB6EDDE2106C697C57AA90203C1FBC51A 304 34C82EFB42CE2D31F38A6A8B4C955C9FCAAD104B046B63FD5DCB7481DC870042 305 A06B62D78613621AFB455D0838F5390FCC0BDC15F5D736A1AC3EE59EB266266D 306 784CF6C203719ADAF69898FB65BA38EE4300C16FCDA31BAFABC329328410880C 307 7FF4A8FDA2A0475737F53F0F88668393F3AB851808190C04F28A546EEB3D3E48 308 F5499BACADF46D1C59D0FD25F5BD68BBA0C98921AE51C588B67202D175270A04 309 E2C6149C6207FB8F1E883CDE16F3A6E1BDE8840A014445942A20B2A40A882CA9 310 02224BAA80C892720162C7DD0CEE9B4FC4F9B891CCED6252AEE020932B8FBFEC 311 B88BA000EF374F9E3AF77AF9B8F58BB2EE8AFB20406CFD3799FBB693D63B9FE1 312 5DAEE4F07BB77CF569887A0C46D09FBFBCB8F3E8CAA0E0E71DFCDE2718E502C4 313 6FCE71DCCCEE05BB73CB0B02F99D59F1D3714475F90CE1AC75A1FBCFAA170F3C 314 FE7DAF60940B109B2E4470B3FAE6DFDCCE0F0472D4F3D3927FF0BBD568202A8A 315 5C2FE2D35747BC1FB9DDE913E27FF535DE8373E2720162C39937DCDC41E6F982 316 90EDA5280708AAF3677781D414A583519F8053D8BA737DFFD8E07B97F01E16D7 317 970B10EB4F0472F38665396E0F533A62E7DDBD09045941880C69AD5C20E40426 318 84BDE27CFE38B6EC5AFBDE7C77970B106B0EFB700B3F6F006C9E00047A208D15 319 050DEA9C2387A2069A809E06A0CF8EDA62A56FBBB44C20912987D854780D3987 320 8857C0A5330E50E8ABA389AD1D6B8DCB955E5565322878EFAAB26C4FABAF83E3 321 F76D583AA0480E7FDE3B10ABF67B723F7ED518583B923122000B0238AC6D2002 322 8CB494415F43E9729640D1A80EC4BDE141404C2A3CFA9E46543070F1E46174EA 323 6486FEBD3BF3D391559257C7B8B1F3BDF376DEF1B8EFDCDFD5F5588937472817 324 2056FCF9945B3AA139B89F4742101E8029EE02EC6C29508240AE66F5B3DCCD1A 325 48D9B55640F02DA43C0E41D4E350C4AC73475C0870D6E120BA76B5C805447E8A 326 F67A0470F239FB1087CD779EBBDF293118E502C4B21D0FB825535AE344131BC4 327 7979E14EE716F8AA5934CC03C408F38D859E8106F459D0D195408395998C7439 328 1213D2111F970ED9B160248503A7FFD98F1E3D6A650351506D738A81C05E4178 329 1A607366DD9D972F5C4B0446B900B1648B0BB7785A7B5CE9DE1A892F9FE34CBD 330 7A68D930153677A2785FBB3A5231B4987ED032D283282395FF405A5A9D9C2C43 331 FABE40A44702270EEC43EFDE75D08F0101A65CF30381CEF7EFB9ACD4194C8F44 332 872B70FAFA1F5F89CC1B1CF3BDB035FD8303B170E30D6EC98C2E883E3A8795FD 333 57587BD68FA9800CAC1D5E8BE9470E228102428908EAF5CDA1608A32D92F0A19 334 9C04990A095E0F3906590CCBE53FFF449FFE96E8DBAB33AB32846FD52CF9D536 335 2E8E8C8D1B7B1DD0D33798E579F758B17C7A970B10F3D75EE17E9CD513C14756 336 4011F71A318929587FFA113A3630C4C87675D96729A0AE2F81D4AA3AB4AD4D11 337 FB2818E11EF10C0C75C40EDD09411C7078D72E282C6BC0DAAE5D2E65999F1826 338 A7C0CECE1C0FCE038BD7F570904AF5A6793F3855AC1DE9CA0588EF579EE716CD 339 ED079F239B58EE86F23E76B7395D457D23630CEED030DBFBB2E92726306A5A0D 340 0197DE202250A164C5B09FA196041CDAFE07AAB5AD0BDB8E1D0B052235281EB6 341 8D4CE1761958F073050262F612476EE182C1703BF42732622389D8D87BE11AE2 342 9252B070544F563464A8DD5203C6563AD0D2057B2695E5268798380D687C368F 343 9F4F7F74C336389BDB40A36967A622FE03E2D3FA0A0CAC9FFBF722BDA251D7C2 344 18CFAF013FACAA40407CB7E01837FFC7CF70F7E071A4C546E3558C0E7C220D98 345 7EC840F77AFED0D74D87449D43DB01E0D9E2F35888A76E06C8648C301E315109 346 C42F5B11D2A229CC5AE7064225766640BB1AC08429E7505B5303CB16F480DF2D 347 60EE8A0A04C4B7730E71F3978D86F3812B488989650A4D88880C63D4D00881A6 348 3015B6361110308BB259F378DEF68E8D11C1C7571F4FFD6AC27C18B33D580D71 349 74FD26F8D7F4C3B8A95B9832CC80584D233BFE495F9F600832038D99EBE44F76 350 4013632CFEB61D82EF01B396766740E8570C20A6CDFC9B9BB7622C5C6FFAE0E5 351 9357BC4E20054945826A0C03AD4458D70A85916E2AAAE925415723197F5CE985 352 88244334FDA20B848C110E6B37C2217115BA4CED827B17AE2339FC94D2CD34FF 353 F1C22C20C09FF7AFA38545E39A21DC1598F963050262CAD43DDCBC5513B3FDE0 354 C6A4C8109190995DD5C973F8C7CD3E67C1584F9D8126849031C2E1E7F538F1F2 355 67D8CDB0C27D97FB30ABDB1DA16F7ECBFA7811CF041528FD9995FEC388068877 356 6399309F01A1574180983CF90F6EEECF53DE72109CD319703628799C07D3B988 357 8058BD168E2FD641661BC73B66516FA48E914347228315931466409D7BF23B2B 358 55CA465B3F9D14CCED5F03695E2C13E61210420684F3870762C2846DDCDCB5D3 359 0AF492FC2E102888597058B51A675E6E804C334E994A0360E2B71371D7E32E86 360 F718CE3B212750923393218DEC8D7E2D4642E1C3F4C7EC0A04C4F8F1BFF3CB21 361 4B232B57FE84736F981D228DA3D915BC18D81A30E32B16C3C775C3E41EFD5057 362 571D1256445E7A594266D81FA2409609332A1010BA16766D0BDC1F2C8F088502 363 9142C151C70BD7A583DD10350D292E3E61B6B29A0C99E651904B9395CBDC48A8 364 E288628C3110C16DD346A8AB0979205E785A2245AF1FB458E36BECF4EE0EBA15 365 05885C73218A21974E6C8FD4346D08A7D71BA02E16425B4B0DDAAC75AACE14A2 366 84773FAF0C04803A9D8B9440BCF2AE8F4CC301300803C64C6140081910DE1501 367 88128A878707A769DE0449F2285C77BDF99FDB79F61F21AAFC5B90E5925E5971 368 A8D1B9D10028586D63C23EFDF3491F01106E6E6E9C7A8D66B96A9B9CCA35839D 369 C85992159C205F455B2B011831BE2B0342AD7203F1F8F1634EDDA2C55BB58D22 370 EB3C352313990C19353549BEB54D835460D8D8AE0E0206C49BCA0CC4A3478F38 371 B1855DBEB99D21E777A7C3AB57C130AD61C13323D7D0007BD6260318FCE54700 372 C4575F6DE6541B13A83629A02301A092E8A438E8B326AB284F434CB589C1E397 373 FF1E12AA4966067B5EFAF01D332515CB16FDFF508D60703987321439073614A4 374 235865C165E41CFF52D0F2374E20D750973CD211088EBABA3AA5545A208A2A52 375 AB116A892F8EC9518643819514886192C417CD646539405C7180F846EF480FBB 376 A7739C27D70D291488869F354AF46952A673282A0610F6B8A7F589B86D3BED5A 377 B49DB70903E39D3EA474EA0F9724F99EA0C51E1F51D1B047804537DD3AAA3FAD 378 84C6A1CEA3FCCC4B11632504C21EFE2D069AD5CD7BD93055EB2E03A3F085DF1F 379 0510F638DE6BA4E5F0826E2BA2E1CA8A491F564C8A6518552E20EC7168F4B8A6 380 A30B7B2CFC35330512AE6A31300A75B156F980B087B7BDBD9D55511FF7F38B8B 381 6060746460BCFC7880B047DCAC599D0ADF34348F787884A43D98A3DF26F18DAB 382 C7C7008430EF8624056D5B439277EB1AE959BB3D42B58C1FE2833CCAC53DF4FB 383 0442A055DBCE544D2EB0E5149CBA402090CE7B6CB1BFA087D7B77C7D5F00C136 384 D6984A04B522845C58825EDA13787A96D8C552450142F57BFC6FEA9834ABB6C2 385 B74978410F2EB77A719A9367DA2785BBAB16AF548EBD7B54D2B265CB6EB367CF 386 6ED9A4499316161616CD84426153F2253767CE26D64CEE0D27A741AB43434397 387 49CDED0CD6BE6A5EE02A9E05B5DDDEEB72A6320162F1E26D2B4343CD178B4435 388 F1C51752D4ABA7916B1323DA8763F2E4A568D8702E8E1DEB456E157BEA5AB4D3 389 49E87FB7401B417ACE6EBF4020995DA936715FB060CB9A57AFAA2D944A1BE2AB 390 AFF4F9DD578C8D8D79378BC406DA4266C2841F7301011B1BE8C66BB4E0140253 391 C6F83CE9287F9D502E40FCF0C39635AF5F2B811837AE1AE2E39F83BC16D7AE5D 392 9B77C7FAE6CD1BCC9FBF393710A5F02B576181F8FEFB2D6BDEBC510231614275 393 C86441D9DB5951F1A062D2BDFB988F1F883973B6AC090D55023170A0115EBF76 394 86BBBB1B828234F9EDACE8BA4ACA0B881998210E4398D006361945DD70A4CC81 395 98356BCB9AF0702510798536298A8870E6CFCB8211EC23D53CE129F287BF5C6A 396 251D92A696D6A37987E603AD1B595BD08E4DA4989FDC7B722EFE79FC91A67E4D 397 8F6DC2A6224D332C132066CEDCB226325209046D56646B5B0BA3470FE727813D 398 7FFE1C6969363874E8971203D1C7B24FB378CDF8296DBBB5ED66DDD8BA51DFBE 399 7D791FDA39F7F422AFE9D4EB4D1E939F3E7D8AC0C040787B7927367BD0CC7017 400 7615EAE5B44C80F8F6DB2D6BA2A395404C9C6882274FC2989E88839E5E18BF9F 401 979F9F3E366E9C5B22203A36EA38E95FCF7F77D339B987DEB871237F7DEEDCB9 402 7C2047C10438B98926E57CF3E64D5E2F91EF3B722C7EFAF4E922B97A2C1320A6 403 4DDBB226365609C4ECD9F53169D26974EAA485B1636DD0A851239C381188DF7F 404 5F542220C68F1B1F3F61E2045DDAD84C250E0E0ED91B979130030DC3870FE795 405 F2A953A77857D124870F1FA6BFDF0F10A3478F1E52AD5AD32D9191B56B1210FD 406 FAC9B173E71B0C19521353A6B4E2AB4F27A710ECD9F353A140304547E55FA63A 407 6F8CC6225F5BDFDB7FEFFFBB15D92494DBBD7AF522FFF8FC4793F35FF2994D3B 408 BBAD5FBF1EB76EDDC2AA55AB788FC85465EFDBB78F65C289F20162C28409BCA3 409 7F06C057E4B79ACAE5C58B4F58E202F8DAC1D63618376EE860CC186B74ED2A45 410 747434AE5E8DC581032BA1A969C112FBE7F9D4D4D4A17981E8877E62C77447FE 411 9A9B5B3CEEDF8FC5A041EAD8B2654B6AFFFEFD35A9585CBB768D55C3DD798FC8 412 54E45C5C5CD0B8716366CD7EC1BB9A27F7F2C49C4F3FFD9437E276EEDC49BEB2 413 CB16886DDBB6C58D1C39524FE5D73EE7B0DCE5CBEE387EFC150FC4C8915AE8D1 414 A311CF04A2E9A3478FD0A2450B3EA194836469D2076CDAB4C9813DF39DBFBF7F 415 7622EBEBD7DFAE5D4B7BDCD8AFC76AD2866494B32AA1DDDB68D343F2864CFEAF 416 09102F2F2FFE83AF5EBDCA170FB97E4DF8DCBDCC17C7A953A71288C49EB20582 417 7D14471B0C92536EFA989C605CB9F20C8E8EC1FC735A5AB79821558D77F14EA0 418 D18667B42302F9B9276AD35E7D34AD88DE7376BE8DBFFEFA63576464E414D5EF 419 0CC000692422EB476B474F115B88076BEB689BB66BD70E4D9BF6E7EF87860642 420 228963BA68369E3D7BC68A9D13EEDDBB87C41A7D7137BD253ABD5EC25BB5F3E6 421 CDC3EA55ABE3AE9DBC66158BD888C2BEAF48408C1D3BB6C7C48913AFAAB6B4A3 422 8FA0FDFAC87A5481419B8DD191763AA09D0DC87137FD4D5B445CB87081D52CDF 423 22393999D1FB364C4CEAE2C0F90D5044EA203C3CA840DFF6433154FF95ED2B97 424 619F0D6BFCFAF56B9E016DDA9085DA95D50A51AC7678C8D71854548819B4ED04 425 6D89D9B973677EAFC1E5CB96C7F83BF8377888878536DC8ACA08357777F7CCBC 426 DBD8D139696F2A9794E3748D3E9E729E1CFACF9C3993FFF873E72E314D6E0A33 427 B39A8C05973160C018A62BAE60D8B0C9AC6DD23E1B88711827094738576D70B5 428 E59FF4FE649186715DB46AD5061ABA46B8ECABE0F7F87BFDD213DA4197C0C5C6 429 B2DF5DC6326033AE5FBFC4FBD4272125F9DD77DFF17FCFF876464CD8D9B03205 430 82AAA2EC0D0F73869C9B1F52EE10283E3E3EFC1677128936B321FC1910A7F838 431 BA76ED4A9341F0C71F8EAC756ACD8A912E7AF634BED8C9B8D3B2D1CB466F69D2 432 D2AEEDFD10211A5B99A27D6D7D9CF64E431B0B2DA4CB910D845F583282C263D1 433 21E904CCA42D18BB42F9CC209D44C550D9AEE9CEEB8DA9E3A65E6C236B33AA28 434 DBDD15A7D668D1AA55ABBF5811694EB4CB09840A8CCB972FF3BAC1C5E53EBFB7 435 1FED75B163C786EC08EEDFF76126B7067FEFC8915F9946DFE1151E1E7E76DA98 436 6906537E9832998A1A15ADB06419AC2C4CDE0222EEB517AA45DD66AC6BC23ED8 437 8A150311DAB70F44FDFAF579C38A8AE096DFB68405F905B958C1EA9608A2134F 438 F134B8281F57DCEA9326FA59B03A7D7D9F3E7D462E5CB8902F932A308805E4E4 439 FFDE3D4F2C5B3687AFF36917C8458B16B3323B99DFC474F3E6EFD298D9EDCCAA 440 60D5868761ED1BB75F77F0ECC11FB27F845986A47BC832146AB3667D5428A2C2 441 DE3045A9C9AE1BF00004051DC1EAD5CB19A047F0D38A9FB23F3E094927876048 442 4451DB18250522A71831E53491558DCB56AF5EADB56EDD3AFEC349513D7CF89A 443 DFED445BDB80DFEC8372FFCA95133E212121B4332CED72F00079F6C56985566D 444 C30DC397C8257293A6CD9B363F78F0A0F845A0172C8C6BB39A86FCF7E9F2C1D7 445 F732CBFD60B8DC7629F5C79715102A21B7009DADADADB775EBD6AD1ED9FF4F9E 446 C4E3C58B27CC14DE92F6F2E5CB3B4CB952EE1F449EED2EF30A6D8A1A8D683556 447 7DEAEA4ED4F5FA76B17D752BF3A6CC423CCEF4CAA630AF271ECE4DD1F4A118E2 448 58D6E4BE5EDA8F2F6B2054426B7D1B9A9B9B6F65CACB322020E016945B5EDE61 449 21A9B89151FFC25DDC6D196316B39E194BC1F551FFD7E118FE948155ECED33DF 450 371039855A3DB4F6B2D48956B1A4A47B877F68202A9D54019125554064491510 451 595205449654019125554054C95B52458A2A794B2A3C293EFFFCF33A1CC70DD3 452 D1D1E9DAAC59B341D4154C5DB42626267C570CCDC2A0EEDB274F9EE0C1830789 453 CF9E3DBB101D1D7D232626E694BBBB3BCDCB2977975E95299D45910A418A71E3 454 C6D9CAE5F2EE666666432C2D2D3BD12E86D46D4E42BD34B44C878055050238E7 455 397598520F110D80AA7A8BE89CEED33DCA085F5FDFD09B376F9E0D0B0BBBEEEA 456 EA4ABB2016BB1D5F59D2595A796FA4B0B7B7EFAA5028863130BBD4A953A79995 457 95153F084403B7D4034E3B443310F8BF49D873FCB05ECB962DF991AD92824DE3 458 2BD4E54F477A56D5234F99F8F26508CB88DBD49DF8E2F6EDDB376532D9E956AD 459 5A65B0E73EADE8E9649A8676B8ACDCD32ED7AD5BC71178A44E691C5705127D3C 460 9DEBE9E9F1A303D44B4F40508F3D81A572925A1E6047448859DC5288443E7076 461 76E6DFA37EE4CA904E1A0A0E0808C4A9538EAC3ABA3731363696FAC58BDD31F8 462 4149F1DB6FBF714D9B36E541A0713255A0910D1A35A58900346C4C7FAB3CE5AA 463 826AFB749A1E42994699A27A96868E296368A081E2A640E714373D47259ADE89 464 8D4D62D7687C4202A95487819EC04ADE33787BBF44787804ACAD5BB0CCA0C907 465 0254F4741A1898B0B4AA432251C7D3A77770F4E86E1A3F5CC25E2A93DD8CDE1B 466 29962E5DCA1110545AC8002370090415E8745D9511744EC3F0B48FB66A488C4A 467 0DDDCBE95A396FA6E4BD47471A31F6F27A0E4F4F2F848484424747CAE24FE733 468 223A3A9605E5D4E8214326A3468D7A080CBC8D8A9ECEDAB5AD9876D164A4D080 469 8BCB39FCF5D70622C57276FB5AA522C5B66DDB38DA2D9EE6452D5AB4881F3DA7 470 41643737371E1032DAA8FE26559AB794AA3282328726B75A5B5BF3A58EA60F50 471 A04CA10CA1997D34972228288865960E2B4D4230A39057CB142F4D61A070E8D0 472 A1B7D2F7F5D73FA27E7D5BA6922FA032A453225192E2F2E5434C0B2F74669A66 473 15BB7DA35291828994C90456FAC63103AE61FBF6EDB53A76ECC8AB6415A074A4 474 190504184D81A0E90F54BF93EACDAF94D2D1D3D3137171F1AC5EBD8F6AD5AAF1 475 93EDA8DECF09AEAA6ECF0B36A9DF3A759AB08CD345B76E4359020D71F1E27E56 476 6F1F4F974AB5396644AA75EAD449AD22A6F3DAB5A32CAE4B49AF5EF907858787 477 D3802391A24893022A122972FE26CD21A341C316B56BD71EC1546F075602EBD0 478 84834F3EF98457A92A154E80B2763C3FBD8CB654A7924A5355689B65BAF7F4A9 479 0733BC043877CEA150B0294E06207BAE0141CD322982B5281C939806088A8989 480 0960F76908FB190B0F590804EF5C109A153C9D01500EBE96D982D10AD14FC17F 481 39A0C3426D56477765E07FCAD46F1B06BE56870E1D78754DC04E9A34899FA431 482 70E040667879E3EEDDBBF0F30B42DFBE5FE0EFBF7F792B520D0D6D66A5F760AD 483 083366AC79B066DDCD3402362222C29FC5471D466E2C3C66C18705DA8792764C 484 E33E8274964A2A0A29F24B17F92A236D62C54ADB0066F00DA95EBD7ACDFEFDFB 485 8BFBF5EBC7D7BF54A2EEDD7BCAD46A6DA66A37A0458B6E0C602D96110F59A9BD 486 93C68CAF50066E0033FE5425EB3E0BB4EA98D697A69601B095259DC5FEA8CA22 487 D44E231779B47F7B1B56D7FF2D93731033238D8C416ACF5337725C5C5C20BB7F 488 184AA3CB0BCA9245C096CB849C4A9CCE02A532912297ECDCB993EB32F82B6444 489 F8F233C1A91EA78E1D763CCA6ECF4211A6AC57A5337FA9D4A4E8F3B93D24C9A1 490 D95DCF34AD9F351F8FB0DBB35141C0AE2CE9CC29EF9514045059C4D3A5E65998 491 B4DE087DDE3AFF4F52623D717F7F37BCD45CF53E3FEB83A773CA9429455ACC53 492 5479EFA4A0D54BA595B83BBD60D66206F48DF459A33143F9153A5224BEF6C3C3 493 331BD1E873D752C54F25B934E9546D649774BF0FCC5BCE2CB77492D06A91B2D6 494 3AEF9D14D43B585A99F48903AAD76B0D750D09B3E8D578DB3C339343465A126E 495 9DBD8C1BF1D34A153F2DEE2A4D3AE58C14C9E90A4CEBE8889A0DEDA0A1593EE9 496 24298FAAE87DDB146491CFCF3A96588EFE20F83C23F3BF0F10907B65A1F23C23 497 83C3D8DFB81BA504889A998DB2CE9F43D92F500C114020D6D0D838493244579C 498 0C8950C6BB7D2E8774AA84E258574671555E43138513EB831A7092FE1B8512BF 499 6B3DD35263926411016F901656D06499FF6F43F3FF55A4D643F513BD9B27BCEF 500 4D714B2A55A4780FC2FB7D4ED75643E03ED21615662E664152458AF720E4035B 501 BD9ABE7A944BADE4CAA02DAA4891253D7607D47776B55D05457C6A8FD6013F16 502 C5CF775185FC818B0DD4DFC4DC6F9054458A4A208C0C96CE0FEB1EEAD1C3B2ED 503 DDE420FE1AF93C7776F65BCDC8B1A530BFE74511DE37BA316B77DC3D56557D54 504 646164E8C2C8B08F91A1CE0B45FEDE4A791FF08C1CD8856DA5FFC5110CEB6315 505 9E1024FF77A46064B06164706264A81BA359A4CD4D1486A95AF71939E63072DC 506 FBD0E97F1FF27F430A46064346865D8C0CC38546258A224D110D4F468ED3AC5A 507 D9FEBEF609F810F2D1938291C18891610B23C330939A5A1AA58F51B9670223C7 508 76468EEFDFC7BE09EF5B3E5A523032346364706064B0B2B4D42F97DFA03D2418 509 391CB20CD272DD47E27DCA47470AC3FAFD3463BA5F08EDDDBBA15EE3C626EFE5 510 37694F0D468E7BD27376331502B597C9C1F78B395652B1E463238550AF5653BD 511 F8BE1EEFF486F8AE7D430A92BCFB89E427B4C788823531D4D4321EC60779D00C 512 EB0ADF27919F7C6CA410C0C646AC95A461A426472DF6A721A7A019D81CADF113 513 0884429D84018FF6AF5C39A4D8112F59E2489B48DC0787EB0281C08B53289220 514 10643531695F055AECCBC5C844084AD1496326A96799EED9F67E41FC384590E7 515 4822D43169669834D83D7CE3C642F7DF7A4BE6CEFD8734C16946AEBF3985CC25 516 29DC9DB4515E4DC0E539564AF95849919F08A5E6768689035D23B76D9B50EC97 517 A74FDF4BA4A07D77FE66E17662886B7EA4F828E4FF8A14BA16EDF4DFB5C75061 518 C2EF4124171C859AF85E42F05D9A925F458A2AF9FF902A5254C95B52458A2A79 519 4BAA4851256F491529AAE42DA954A4D8F950C1996A2BC0D1EE43723A2AB762A2 520 BF39B99C05C57F7FABEED1764D59CF720A7225A47C4EF9B722C73D3A571E8343 521 93E8BD7D1B960E18FFA1BFF94348A522C5B6DBA9DCD4F6EABC8BA0D208F52C31 522 7E3082288FD97F67859F7E76C2E01F06E192D32BF85E3AF9F2CEBD8B4B39485C 523 33C51921E1EEED532BC394BAD248A522C5961B89DCD40E4A97822591C2C8C0A9 524 48B1FA143A4D1E8ACB2F8124F26513EC8FF4EB0E2FEE3CBABA4C28123ECE140B 525 3E6A72542A526CBE1CCD4DEDA2DC93AD38525432F081DD5BB5FC286C468DC2A5 526 302081912221134895033AC13E30B97BF8C583A7379609A1EEAAD0978484B8DA 527 A57D6CE4A854A4F8F56C28F74D773DDE3B4C5184CBCAE4A29241757E70EF15F6 528 0E976563704A1B855C1BB2101BC1213D2312C72FEC5B23E4C44E72F54CCFA817 529 2EE4D4B4528F77E4944A458A5F1C5F73537B1AE4DA8B333F519181CB43007921 530 64C8753D9FE742FC80000F2030E40436EF5C7B92D1603F7BCAE5631B07A954A4 531 58EBE0C74DED538DDF4C914471751F84177701B27C76D25217019A6240434D79 532 A455DF742E1129CFE9281202420138912632D54D94ACC994430E2D648AABE191 533 CC0606369DA0C99E2562840702AFBC009F8063F87DF7BA8F7670AC529162F521 534 6F6E5A7F13DEB5312F6B47026101D9F72FA4A6A19FA6069FD13C11B4C4CA231F 535 D4946450114545122206EF2380E56906331CD2991191C6426A261FB61BAD4497 536 76B63C29A25E036F9E03CF5E1C45E09BFBF87C787FB46DD50CFA7AD2EC1691CA 537 9B6ECE73A5C6519E93DF8A9C7F6FF8E31EBA7FD90647379C787CF7B1D3547591 538 EE4B23B590C41B376E14BAFD7A7949A522C54FFB3CB86903CD7847EA241C2385 539 208B14A1CCDC5BE9AB8679AD235137D3283721B4B288A021CE4D16BD9A80CD72 540 96F92180E772251988142999D9A4F85D6F053A31525046C6BD6155C80BE0C9B3 541 7F101CF61863460E44BB36B630D0D7E5DD25E795A218B82BD69C469F998371D5 542 93FDECAB0024DE3E77E781EB95A93A02F557526964F2872047A522C5F25DAEDC 543 B4213551CDD898073569E16028DEF8F1F77E095347B84C80BA351230CB541B3A 544 EA5AD9991FFC221AF1C1091089045067E450675A43D7A63A44EC5C2416F2BE23 545 E4AFE3911E9D82B4D834A43372A4A5CA90CA8E17C71F438FBE9FF01998C45A23 546 E1AC99FAC0F50042A2DC0A2445715A3B2B571E47ABB19FE1E22B650B875A3BE2 547 D7BED0BF7FEACE63AFDB1F841C958A144BB7DDE3A60EAB0D2363531EE8534D6D 548 10FFDC8BBF176C6E8C807AE6FC79F7163190EC0DE309A0A94924104183C84041 549 5D7514418D1182FC620B854A8FFC72665364B22A248385F434DA864186CB934F 550 F2A4A00C4C8B645508E3E0EDBB7F233CD6E32D5214B7E94BC7554BFF4148F7D1 551 38C9B4105252942139993F9AA584A363FCDD3BAEBEB7BF11AA19BCF2EDD72009 552 CBCBBFF95BA948F1E3E65BDCB411F56058DD5C59728F4D07625FB18F50F0D325 553 A71D7CCD3F57A39A02ADEA0931C8CA0442BAC7B287EE0B9909C99F6B6B40AD46 554 75C0C080E59402F2A010C8C262999D494FA8B1A31A7B8B9D7322FC6DBA1A1DDA 555 34E73358160D44B3DAEAFACDBD884AF0E249F10991428F19BE448AAC164E61AD 556 98BCD77D1E327346A6B497337306762DE0F529EC3BB2FD17B158DD51A0AEFFCC 557 F7FEC1449A135A9E38572A522CF8E51A376D547D1898D4E4018D705804456CB0 558 92142CDBCEB8BEC64DEF08FED93696EAB0AD6988E6350DB2EE93FDA9C87E566C 559 A005F5BAA62C5407979A8124CF60C8654C5BA473488E48E309A18008C7CDE7A3 560 639B267CE691FBD3F840E0D2D53D781CE48E569D7BA3AE551368EA304333A74D 561 C1E5EEB4E0F29CE477AFA13687BA9686D984215329E019E01F741CFB8EFE7154 562 5D5DE3804422B9E7FDA0796C797796552A52CC5B7D919B3EC61AFA26B5F912F7 563 EAF05A64C686666536C78735C7AF23392D03350DA5A8C63442BF56F5602455CF 564 A12D980E900860D0D81842567D901F2A4D0B3D08991D1AEB1983D8C054A4C42B 565 B235C6450B7B746ED388D7006A494C3B05014EE776C223FC395AF7EC837A8D9B 566 424B9ABFA1595CE1C213D0AEA5520B46B2DF79C58C4F6F3F071C38BED3415DA2 567 7640A2AE7DB78A147964EEB233DCB4B136D033ADC793C2FBF076A4C744646736 568 895020C7CBE060686B48988D294275A6DAE9BE80AF3A00096BB14A34C1372195 569 D739A8EB8A6164ADC3CE85087E9686C4380112E3457C7572BBD617E8DCBA215F 570 7A35A8CA0F064E386EC7517F7FA0C540546FD41CF54C7430D012A8AFA72CF711 571 A9C0BF6F84A8A9C3A1AD69D1357D825F2C6CEA9BF0BF15432D1D6FC0DDEB300E 572 9DDA53458A8264D68F27B9E9E39A426A569F2F4DAEFF1C425A4C149FB1A42D48 573 19DFF5AB06EF703DFEF97A4689B0AB19C134465A76D5A16B08D46D2E84B6911A 574 DF9FA16D20525A86329932B08A3C219AC3730F6DBC0A96E2499D7EE8D2DA92FF 575 3D216B1D0898D972E4E8565C0D7F05E38E03A1D3D0166ADABAB9AB8F7C442A01 576 BEB6056AEAE67F9F8CDB972EA168DAC88227456228AB427C80474F0FE2C899BF 577 AA485190CC9C77849B36D11652732B3E936E1D3C8B94D898ECAA8348119BA605 578 FF386388840A9868C6439F156F43F5C46C6D221229A02395A39E753A6B857090 579 8815A86E96095F1F4D3CF7D265CD5035A4A48959C688F8EAC3A75E7B746D5587 580 CF28F62AD44380FD077F837BF26B34EE3310359ADA42435A3829489213D35848 581 475A5A267C9E85E1A5FB1B44BE8953DE64EF0F686682E5DF77E67F2B85994611 582 ACF97BF7E17E1C3BB78F91425C458AFC64FAAC03DC747B3B689B37E22970E9C0 583 4D24C524E631249504C96E69F05584F27ACDEA715097C8209566B2A6A852AD4B 584 C472585B4681CCCAD414213C7C4DE1156486E8245D76450D6F2C6DD0AD754D3E 585 A3D498A690B266E99EBDBFC2D1FF0FA41B4562F6B73BD0ADDD4878F8FF8B0317 586 9763C5A4D3108B7470F8B43F6EDF0F25279F4CF9C81146758A6A1E8848F4DF47 587 A9C8C4EE0DA8AF8BC553ECF8DFCA8C622D1D5643DD70D9879317F75791A220F9 588 66FA5E6EFA37ADA15D43D91AC8CC54C0F5FA7304FA2620334396A37591BBA5A1 589 224B4DA328D46219490FF036054853C8D0AC7620D4982D42D54844BC1EDC5ED7 590 434CB20EA21442E8741805A9A658490A9615462C4BB6EFD880D33E7F20D32C1A 591 228B0C98DA18E3B5D76B7E1697483400F2B4C559E80AFF23424E4D921F2998F4 592 AF21C6A22F95462DC714486C2070D5F94F385E3D54458A82C4DE7E27377DFA27 593 D0ACD12CBBBD5F509FC05B1D47787BC4942BA42F216FDCACA681196B81FCB665 594 1DCEBCD80D19A221AF9304CE48A6DCE5833C553023D6BC86395AB46981D088E6 595 48483665EF2A90986286A8B896E0146A4A22E443967E0699983FA40EFFFBA278 596 D6FC652D90F31777C1C9F98883BA989142AB8A146FC9A4493BB869D3DA42A366 597 8B777710E5C858A0F46450BD2761A1761AF0CB863538E7BE17320D460A75460A 598 0D460A2DF6320DD692AB332B96A91211268F980C6D2D6D642A3291A1C8805C21 599 67F1C89126E3E013D515818C2499ECC5349914E9725DF4538FC7DCDED5F9DF13 600 27331B8419B58E4E7FE0FC75070711238596969C91A253152972CAF8F1BFF39A 601 42BDA65DA164C87B5DA6500E9E96840CBC099BA5291AB0FC5FBD66252E7AFC0D 602 9976162984B2DC4892D6680434AEDF98D9313571E9DE2574B4ED889E6D7AE6FA 603 1E7E0495FD9371329E2CDAE1CDD1B6F117D9BF2D643685C3F16DB874EB441529 604 0A92AFBFDEC215B4F92B5DA740927323D8B2929C71923D7225701F647AB190E9 605 B022AD96557DE414FA9BA69292FB12EA643507460FEA88AF3A748295A919442C 606 0E11439F3F0A95E71EEEF590A2DF375B9B69304D71E81FD6FCBD73AA8A140589 607 566D3BB3B7FC4E949508595C8AFFC614BA75FCF454BF5EF5A06168C1AB8A0741 608 D7E01A749D278448CCB486A6005AFA4248B48510D27C1D96ABBCA77E2835123D 609 47C7B69656D0D5D2407D132511E89A9A8A08007F54132AC9E1E369890C83FED9 610 9A4B8F355EFEFA7B13AEDD7572506386A6968C91C2BB8A141F4CA6CDFC9B9B3E 611 A515B4CC1BF3A536559E8C53AF37F019CA672C5FBAB34A7B564957CBFA9BEE11 612 4154CFF2199F43331009FE7BFF3FA2F87AB6859A49BBECEAC398354B77EDDA88 613 1B0FCF5591A222C894A97BB8E953DB40AB46D302ED0EAE08F608D5689C20FF77 614 E579E2C8FB8C056B96FEBE7D3D6EB99E67A45063A44015293EA44C9EFC076FD4 615 6A58342F7C526F8E266FCECC4E494B4706B3703534680193B0C8645085FACC5C 616 D9B8692DEEB85DAC224545900913B6294951B365919ABE5C3EDA432693233C22 617 12EA9A5AAC69AA933DE7A23032A89E69C49AB7EBD6AFC63D8F2B3C29E48C146F 618 AA48F1E144D9FC1D0BE5BEB3259794B43478FBBF44BD9AB5A1A3A9C3CFF42AAA 619 D0B673E757FE8487CFAF39A809192950458A0F2ED5EB77F2CD3525A6C42D5C0E 620 72D66611709C5C983DBFBB2822908B45A2688944F2404D207294A9693C0D7C6A 621 5BEE3B0C5591E21D62D36164375609FC77A1C45367952F66C8390D914894496B 622 CF8A1217B3433808B80C3591309613A8851BABDB24DCB8B1BCDC27F05691E27D 623 4BB3AFB4E17E80B60F28D77996A5912A5214203D760734769E5CD7AB2CE3D4B1 624 1E5A5DA2A79556D17708AA22450E614468E3FCB0EEEE1E3D2C1BB23FD39D9DFD 625 F66779EACF288BF8351B0E314F158B13E0798C3536AB3445851646869A8C0C47 626 1819DABB6584E6BAD75C6296C0C8B19091E30F468ED2976E3B7B115C77957A0B 627 AAF294FF6B523032F4CDD20C16C1A2B8773DCA59C8F50318392660176E7EE874 628 97B7FC5F928291C18C91E13C23836D9A6E66715ECDD448103B3372AC62E470F9 629 D0DF515EF27F450A46065D46863F181946E8988A4BE6234929B2A4B0CC78468E 630 27AC5AF98C552BF11FFADBCA52FE2F48C1C850839161072343BF5A75754B4386 631 B7242820219991631B23C7CF8C1C71A58FF1C3CB474D0A6993A1A689ED4FDD63 632 64A86D6D6D5CAEBFE5ED1D499AE3ACCE95164B93029EF87FE86F2F8D7CACA410 633 1AD4B393C6F6748D1B34C8AEC087ACAC748B11A5525EBC4878E77D27275799CE 634 F996AB996DEA209608FD63FD5D2BC506B539E5632585C0D0B0AD54269635E244 635 E8C6B2A411FB5269D6F70A20E02489031EF75BB66C60B1235EB1E22C6DF110CA 636 E20C62F1C48013501F862AD369CA252D44792E90E3BA5AA6DAF39898FB89A822 637 458511216C6CD40C437534645A42354E91C10F4F72F24CA1404D433F71C08317 638 6BD78E2876A40B161C23529CA77D3F3891F01E274B8B1388C4D9FD1702A144A1 639 96A290C59825A5C1D393C6292A6CCF6541F2D190C2CECEAEAB5C2E579B387155 640 9DF0F0C03AD6D66DF53332526BDFBB77DEF3E6CD53FB5F30618F51A751F60E41 641 9B377F55ECDF9935EBC047BF43508522C5175FD877B5B5FD7A76545482A1BEBE 642 792D8522B396A56528BA77EF063D3D11323232F88167994C3950989999C9BB00 643 C8194422113EFD740A1A369CCB3F9398E8834B97BEBD1C1313B31CCA290A3215 644 29DE656F1424CC6620529C62D0FDFD31BA4B24A950A458B870CB9AA143672CDC 645 B4E930A4D286FC351F9F8DAC1EFF0975EA4810171707A60D909090C013233E3E 646 1E29292950575787582C86A9A9299A376F8EFEFD27E622C5C58BD36FC5C6C62E 647 627F3E602193B737B498BDA160F686806BCCEC029D22624143D949EC792F8190 648 D90C2995D366284C2A1429E6CFDFB266F0E0190BB76ECD4D8A55AB56A3664D11 649 CBE0445E3BD091C8408188616060C0BB6626AF79B6B6B6E8D367DCBB48512683 650 5B1FB3542852CC9BB765CDA0413316EED8919B143FFFBC16868669BC96888E8E 651 E6894164484E4EE6B5848E8E0EBB6FC83B5DB5B2B262D5CD982A5294422A1429 652 E6CEDDB266C080190B77EFCE4D8AF5EBD7C3D2522BDB6650D90F515189F0F5F5 653 E583BF7F305EBD8A4144441CB4B46AC2CC4CD9DCAC2245F1A5429162F6EC2D6B 654 FAF59BB1F0AFBFFE23C5EBD70EFC515DDD089A9A3559865B3062681539CE8A4C 655 8A1998210E4318DF54F68297DC139E1CBB26F4B0F218AC1028AC64229985469A 656 C65DFD54FD9BA210515824223963180B4C61AA3082916C3996978B2D53A148F1 657 DD775BD6F4E93363E18103FF9122A7646444333BE2355253835966BF60D58590 658 D91152F6AC0E6F642627774064A498D72E1FA2FA6099248A46B490323A09498A 659 084470833008B71ADCEA2C17C8ADD325E94D32459956ED3AB533D3D5D36DA432 660 8CAB57AF0E131313DCBA750B5E5E5E4CEBBDDD4B4ED562D3A64D616E6E8EB367 661 CFE2FCB9F349990199F67D82FB38B2DF4D2DCBEFA850A4983163CB9A9E3D672C 662 3C7224B7A69830613C3A7532E06D070D0D0DDEAE78FDFA35020202909696C6AA 663 0A331E2C777731AE5D8B7FEFA4188DD1D2B85E711BA7CE9C3A998CE0860D1BF2 664 69A5AE11A9549AED609E48F0E6CD1B0405053163B84FF682653AD27B540DD2B7 665 51EB4AD5CA2282D077D2B99696161F48DAB46983870F1FE2CE993BEBD4A1BEF1 666 0DDE4496D5F75428524C9FBE654DF7EE33161E3FFE1F294243CF62F5EAE9484F 667 4FC7D4A9E779C3B24D1B115AB6E4B2C9404772E2EEE414C24A51E87B25453FF4 668 13CBBAC9CE9DBF7CBE57DE7B3E3E3EF8F7DF7FF963525212828383D1A0410358 669 5858B0D654CD5CCFB2F4E1E9D3A7D97F77EBD68D3F3E79F2042121217C1F0D35 670 BB69AF13221A698E8B172FC2D1D1F1087B6C360B6165F54D158A1453A76E59D3 671 A5CB8C85A74FE726C5C2855FF3C06CDB16C493A26B57293EFDB4463619A83592 672 9A9A8A0B17223E88A698346912B771E3465E7B9116080F0FE733DDD2D292D70E 673 24F3E7CF67ADA2EE05C641196D676757E00637442C3F3FBF5CD7F6EFDF8F9327 674 4F7E1CA4183B76AC2D538FDD19105D9B356B36C8DADA1A2D5AB46075AA0F5393 675 6D70EE5C6E52F4EB67CB97B43B770CF9FE88E1C3EB60E448CB6C3250A03E8B7F 676 FF4D66CFA4979A14E3304E22EB231BDF7E60FB712289E813BA46C6ADB3B388A9 677 F514C832521E65248786C505DD7A244D965E8DAC16B9F9FAADEBAD3C3C3CF8F7 678 A9EE2762D0DF3D7B2A1D955CB87081D76A4416777777D6728AE2494DDFD3B871 679 63BE5575E5CA156CDDBA35DB7620A1E75C5D5D59D53A03BD7AF5E2E324AD41B2 680 67CF1E1C3F7EBCF29082951E5B56570E6325A56B93264D3A513D4B814A427E0E 681 47E878F9B23B23453B5CBA949B145F7ED983DF0DE8E8D164065835F4EF5F9D81 682 AB964D06AA5AA8FEBE71E3055EBEF462469B8807BA56AD5ABC866175750C53CD 683 5718C0DBBCBDBDEFA2F0653DA24F077D1AD8A3670F0B465A3E930A1322EDE5CB 684 97F9DF1B356A14DF64F6F4F4645AAD2B7FFFEAD5AB7C665201B0B1B1C1962D5B 685 D0A14387ECCC9F3E7D3A6F74920D11181898BD7D05D918841B6944EA8B61058A 686 B74B48B66DFB5F7B571F13751DC61F84FB5DBC1DC89B2390372145A3D4C62014 687 7459935CCEDACAC8B955BA9A2D6BAD65FD53CB517FD5D6CBB2E56CAED2360D7A 688 997F50B93185A252385E8E40E082E00095E0C7C17172489CD0E7F3BD8E0E11D7 689 1F99F7C73DDB77BFBB1FDCEFE5FB7C9ECFF3799E1F7CEF43292B2BF37F50E066 690 674893F1F1F10A00BE205868151AEFCF2A2B5BC5E15887889C0B8AD2D26764F5 691 EA04397DFAB49C3D7B564D1C273D3D3D5D0038955238782E0A51461F238F628D 692 830E63B47130F2E80CE675523D947C2D54FF16CEFFD5F7922339899076496E71 693 AF1E8E1ADE341339B3C2146D4AD78C5A1401979D9DAD8047477B9D3832E290B6 694 36CFC2F156EB39090A9A92E2E27BC56EB7CF3205AB0D3A94F3C4EB3C71E28402 695 3501CE865C6456BE7C95F4BC68572664C7F9B7A5ABB5111A6AAD343434C88103 696 07144372BE90B2DCE55F94974FCBF48B7E0B8ADDBB77AF86931A394974069F4F 697 F0068870B6A25976D1699C085F30D0F8BAAAEA17A40EE6CE1A38D825A9A9A94A 698 98656666CE71BCF7359D4F70789736E2849ACDE639CE67DB9B0EE3FBF6F60EB1 699 D92EE2BA82A4A5C582895E0727FE010AFEF414D2CBEBB88C9AEBDDDFD3F27408 700 00A259C4121124410980FC6DBAA6AF352C373C57585468B2582C8ABD342D1442 701 300F80BD07E08E9BFDFCC58BBFE13A0701927C3973E68C141414A839A260A466 702 E067C97AB72E5D26553D69121B362139B13D00599BE4E6E62A70838167AB9937 703 4ADFB0377DD974285AA2DFAE933ABB5F8202B499BB61C3865A0A26828280F005 704 87EF3E3A342E2E4E450ECB37EEF33E05BDDEBA56DC7A9DCF31343424EBD7AF57 705 9A84CE67F4373559B07F04E708C3B1A3D5C2219191D150EFA1D0186352D6542A 706 395B97CA54C59D2A7A8F1C799F9A633F6EE1D442F7C61E44ABB486B0FFB04496 707 04FDBEE2F7C757E5AD2A4CCE4CBE2B440B59C9E3184C0962D7D2642A3C49CE77 708 9865DAD12FCEEE3A718E0C8101C7E1CC2CA4A207719D99EA984EE7102A921F01 709 9E703976EC880A82C1C14180E79FFF3DA1EE20B3B024DDB56B970A2C8A52DA6B 710 AFBE666F296BF9106CF69EDF828276F8F0E119526A7979B9ECDDBB7716140B81 711 C3BB8F0EE79693909494A42682EFABABABE5F8F1E3EAD8743E69D4EB7C46A6CD 712 D60B8A36C0F926E5FCCE4E2BA2AE4DD2D296CAFEFD6FC937DF7C27B5B5D51068 713 6654006F62FF5A80E31615CDDC9E3AF5851C3C58AA4001C757D3F1EC1C46A444 714 C48F858D3DB079FBE6CD89A989B9A62853B2166E025385496242AC042D4E9656 715 7D91840278390922A9D148174840F5F0E7F0F8B40C8D4DCAD8C49467EB72ABAD 716 03EF279DC31275C92AB70721B55CBA8834BB0E4CAA2B46B4D96C4A909231C884 717 4C274C519B3679341553A5B74F41F0946C2FB960EC321E02637DE0D7A0C8CFCF 718 BF0B37F019C4D92AD22359C3FB3710BEE0F0BEBE1E9BB0C3C72D73AFB7240B09 719 3128876ADA3F8E2D2D7DF99AD7929797275BB73E846BB80F298B5F46A7CD7E86 720 E76B6EFE11F9FC237765E5B75F874BF85BFB5EDAF7E49E97F63C4B7A2648ED8E 721 4B727E32426C4EA35CBE7259524D7F4A7A74A8244619A55377FD6B50CC8CEB12 722 377E4E62277B24642618C05A8BB112A9CF0456F8558A8AC61408D8BCE2BDFB1A 723 B51985267B18353535EE93DF9FD49D0EE77987EEE8C6355BB324EBF362296EFF 724 2F5BDE37AAFAE0C26F5C4A3F05630DD0BE13D4988F1C1FC64E1C358297197C81 725 723538A8E6B92D2C2C042BFC8AC8B9A2A2A7B6F66708B373323A7AEDE060E9B6 726 71E37DF8DCA3385EA83AA6D95C095638EEEEEEEED0512E76213F530D76639CC5 727 687A441E19E85FD9FFC1275F7FF294EFB1F815DA4C751C5E307379E5F1E91069 728 774688668C9C030A4BFF844CE95D123CDA25D37FBA10F53C3F7E4108CA5B308C 729 2A4D5AAD9548259A6CDB76BF4A9FB48181011508151515EEC68646E5FC117DA4 730 074CA0A7484A9B494CCD17E44267866438EE903B26DF9577276F84F3FECF3E05 731 BB32311859109DC51919190FA37A48414A30901E2920BD937EF4E85161294876 732 2028E8E4868666FC2C0C6068467A89C784E663720D481D7C74EE82904D458E5E 733 0431E690C6C66AA9AB3B892AA56300259D6D7474B417E7E5F81983CD04B684F9 734 ADC3734AD39DB233B637BEF789E0ECE03D5BB66E4935C0585612C0D43F6C4641 735 332927721F452107414C47BB5C1388FC315C031740D3FE0681675B5F5F01EA1F 736 0573DDAF34114B575453EE7A73FD4D73BE3F80E26A239B50312DC1588312F131 737 50E5DDD00CF1D40E454545A8105A54095A525202766842D426FD4DFF4625223D 738 00A802B556436374E9C8B3DD00400F8ED72F9E4615FBC62CD5B81EC4BFEE64B2 739 CA80AE88E894CE183828265882B545B268B1C3E858155310F3CAC1430763A879 740 3E1ED82709EE65B22D790F74CF97E20B02ABB505515FE1D0872E38507185BBC6 741 5DA313AE093B9CDFEB2FCE5FC8FCAACD2DE4564FDA59861CBB11A2F351B0CA4A 742 680AC3F2E5D948213D00C00FA82C0674D4FD7D2833F9389169C0221E00F035FF 743 3CEE863D097D415E884049BAA62FBAEFF1C5CB16DFB3BD647BF28E1D3B0CEFBC 744 F31E447195DED1D27E6EEAF25477BAA49B0D62F80900E88F93B8CB8332684893 745 B4C9644976FB8BF317327F03C5B5AE8F5F6CCECED09D182B30748C46F1A403A6 746 809B36C15E46E993BE7838FF56243F57A444DA0AA46018C2CFAF971BB89EF93B 747 280276132C008A80CDB300280236CF02A008D83C0B802260F32C008A80CDB3BF 748 000A42C0ADF7B459210000000049454E44AE426082} 30 749 end 31 750 object Label1: TLabel … … 110 829 Left = 120 111 830 Top = 136 112 Width = 1 53831 Width = 145 113 832 Height = 41 114 833 Caption = '&Pick Image(s)' … … 578 1297 end 579 1298 object ClearImagesButton: TBitBtn 580 Left = 40 01299 Left = 408 581 1300 Top = 136 582 Width = 731301 Width = 65 583 1302 Height = 41 584 1303 Caption = 'C&lear' … … 633 1352 end 634 1353 object PickOtherButton: TBitBtn 635 Left = 2 801354 Left = 272 636 1355 Top = 136 637 Width = 1 131356 Width = 129 638 1357 Height = 41 639 1358 Caption = 'Pick &Other' … … 740 1459 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF} 741 1460 end 742 object Panel1: TPanel1461 object pnlIEHolder: TPanel 743 1462 Left = 480 744 1463 Top = 16 745 Width = 3051464 Width = 281 746 1465 Height = 433 747 1466 Anchors = [akLeft, akTop, akRight, akBottom] … … 751 1470 Left = 1 752 1471 Top = 1 753 Width = 3031472 Width = 279 754 1473 Height = 431 755 1474 Align = alClient 756 1475 TabOrder = 0 757 1476 ControlData = { 758 4C000000 511F00008C2C000000000000000000000000000000000000000000001477 4C000000D61C00008C2C00000000000000000000000000000000000000000000 759 1478 000000004C000000000000000000000001000000E0D057007335CF11AE690800 760 1479 2B2E126208000000000000004C0000000114020000000000C000000000000046 … … 768 1487 Width = 125 769 1488 Height = 20 770 Caption = ' Move Files to Server'1489 Caption = '&Move Files to Server' 771 1490 Checked = True 772 1491 State = cbChecked … … 784 1503 object OpenDialog: TOpenPictureDialog 785 1504 Options = [ofHideReadOnly, ofAllowMultiSelect, ofEnableSizing] 786 Left = 80 787 Top = 24 1505 Left = 64 1506 Top = 8 1507 end 1508 object PolTimer: TTimer 1509 Interval = 5000 1510 OnTimer = PolTimerTimer 1511 Left = 24 1512 Top = 48 788 1513 end 789 1514 object DKLanguageController1: TDKLanguageController 790 Left = 384791 Top = 2321515 Left = 64 1516 Top = 48 792 1517 LangData = { 793 0A0055706C6F6164466F726D010100000001000000070043617074696F6E011 61518 0A0055706C6F6164466F726D010100000001000000070043617074696F6E0117 794 1519 0000000600496D61676531000006004C6162656C310101000000020000000700 795 1520 43617074696F6E0006004C6162656C3201010000000300000007004361707469 … … 806 1531 6573546F55706C6F61644C697374000008004E6F74654564697400000F005069 807 1532 636B4F74686572427574746F6E01010000000D000000070043617074696F6E00 808 0 60050616E656C3100000A0057656242726F7773657200000C004D6F76654368809 6 5636B426F7801010000000E000000070043617074696F6E000E004F70656E46810 696C654469616C6F6701010000000F000000060046696C746572000A004F7065811 6E4469616C6F670001050000000C005069637475726550616E656C00000C0050812 6963747572654C6162656C00000D0050726576696577427574746F6E01010000813 0010000000040048696E74000A005061696E7450616E656C000008005061696E814 74426F780000}1533 0B00706E6C4945486F6C64657200000A0057656242726F7773657200000C004D 1534 6F7665436865636B426F7801010000000E000000070043617074696F6E000E00 1535 4F70656E46696C654469616C6F6701010000000F000000060046696C74657200 1536 0A004F70656E4469616C6F670001050000000C005069637475726550616E656C 1537 00000C00506963747572654C6162656C00000D0050726576696577427574746F 1538 6E010100000010000000040048696E74000A005061696E7450616E656C000008 1539 005061696E74426F7800000800506F6C54696D65720000} 815 1540 end 816 1541 end -
cprs/branches/tmg-cprs/CPRS-Chart/UploadImages.pas
r453 r729 7 7 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 8 8 Dialogs, StdCtrls, Buttons, ExtCtrls, pngimage, ExtDlgs, OleCtrls, 9 uCore, 9 10 SHDocVw, DKLang; 10 11 11 12 type 12 TUploadImageInfo = class 13 14 TImageInfo = class 13 15 private 14 16 public 15 TIUIEN : int64; //IEN in file# 892516 DFN : AnsiString; 17 UploadDUZ : int64; 17 TIUIEN : int64; //IEN in file# 8925 18 DFN : AnsiString; //IEN in Patient File (#2) 19 UploadDUZ : int64; //IEN in NEW PERSON file 18 20 ThumbFPathName : AnsiString; // local file path name 19 ImageFPathName : AnsiString; 21 ImageFPathName : AnsiString; // local file path name 20 22 ServerPath : AnsiString; 21 23 ServerFName : AnsiString; … … 25 27 ImageDateTime : AnsiString; 26 28 UploadDateTime: AnsiString; 27 ObjectType : Integer; //pointer to file 2005.02 28 ProcName : String[10]; //server limit is 10 chars. 29 //AcquisitionSite 30 pLongDesc : TStrings; 31 published 32 end; 29 ObjectType : int64; //pointer to file 2005.02 30 ProcName : String[10]; //server limit is 10 chars. 31 pLongDesc : TStrings; //Won't be owned by this list 32 procedure Assign(Source : TImageInfo); 33 procedure Clear; 34 end; 35 36 TAutoUploadNote = class 37 private 38 public 39 TIUIEN : int64; //IEN in file# 8925 40 ErrMsg : AnsiString; 41 NoteTitle : AnsiString; //Title of note to be associated with image 42 Patient : TPatient; 43 ImageInfo : TImageInfo; 44 Location : AnsiString; //Location that image if from 45 DOS : AnsiString; //Date of service 46 Provider : AnsiString; 47 CurNoteImages: TStringList; 48 UploadError : Boolean; 49 procedure SetDFN(var ChartNum,Location,FName,LName,MName,DOB,Sex : string); 50 Procedure SetInfo(var DOS,Provider,Location,Title : string); 51 function SameAs(OtherNote: TAutoUploadNote): boolean; 52 procedure MakeNewBlankNote(DFN,DOS,Provider,Location,Title : string); 53 procedure InitFrom(OtherNote: TAutoUploadNote); 54 function IsValid : boolean; 55 procedure Clear; 56 constructor Create(); 57 destructor Destroy; override; 58 end; 59 60 33 61 34 62 … … 54 82 NoteEdit: TEdit; 55 83 PickOtherButton: TBitBtn; 56 Panel1: TPanel;84 pnlIEHolder: TPanel; 57 85 WebBrowser: TWebBrowser; 58 86 Label6: TLabel; 59 87 MoveCheckBox: TCheckBox; 88 PolTimer: TTimer; 60 89 DKLanguageController1: TDKLanguageController; 61 90 procedure UploadButtonClick(Sender: TObject); … … 69 98 procedure PickOtherButtonClick(Sender: TObject); 70 99 procedure FormRefresh(Sender: TObject); 71 100 procedure PolTimerTimer(Sender: TObject); 72 101 private 73 102 { Private declarations } 74 103 Bitmap : TBitmap; 75 104 Picture : TPicture; 76 function MakeThumbNail(Info: TUploadImageInfo): boolean; 105 FScanDir : String; 106 function MakeThumbNail(Info: TImageInfo): boolean; 77 107 78 108 procedure LoadNotesEdit(); 79 109 //procedure LoadNotesList(); 80 function UploadFile(Info: T UploadImageInfo): boolean;110 function UploadFile(Info: TImageInfo; DelOrig : boolean): boolean; 81 111 procedure UploadChosenFiles(); 82 112 function ProcessOneLine(Line : string) : string; 113 function ProcessOneFile(FileName : string) : boolean; 114 procedure ScanAndHandleImgTxt; 115 procedure ScanAndHandleImages; 116 procedure DecodeImgTxt(Line : string; out ChartNum, Location, 117 FName, LName, MName, Sex, DOB, DOS, Provider, 118 Title : string; FilePaths : TStrings); 119 function EncodeImgTxt(ChartNum, Location, FName, LName, MName, Sex, DOB, 120 DOS, Provider, Title : string; FilePaths : TStrings) : AnsiString; 121 procedure FinishDocument(UploadNote : TAutoUploadNote); 83 122 public 84 123 { Public declarations } 124 procedure SetScanDir(NewDir : string); 125 published 126 property ScanDir : String read FScanDir write SetScanDir; 85 127 end; 86 128 … … 95 137 StrUtils, //for MidStr etc. 96 138 ORFn, //for PIECE etc. 97 uCore, // for User.DUZ etc98 139 Trpcb, //for .PType enum 99 140 fImages, //for upload/download files etc. 100 141 //Targa, //for TGA graphic save 101 ORNet //for RPCBrokerV 142 ORNet, //for RPCBrokerV 143 rTIU, 144 uTMGOptions 102 145 ; 103 146 … … 105 148 // DefShortDesc = '(Short Image Description)'; <-- original line. //kt 8/7/2007 106 149 150 type 151 TFileInfo = class 152 private 153 public 154 SrcRec : TSearchRec; 155 STimeStamp : String; 156 SBarCode : String; 157 FPath : String; 158 MetaFileName : String; 159 MetaFileExists : boolean; 160 BatchCount : integer; 161 procedure Assign(Source: TFileInfo); 162 procedure Clear; 163 end; 164 107 165 var 108 166 DefShortDesc : string; //kt 167 PolInterval : integer; 168 AutoUploadNote : TAutoUploadNote; 169 109 170 110 171 procedure SetupVars; … … 115 176 //------------------------------------------------------------------------- 116 177 //------------------------------------------------------------------------- 117 function TUploadForm.MakeThumbNail(Info: TUploadImageInfo) : boolean; 178 179 function NumPieces(const s: string; ADelim : Char) : integer; 180 var List : TStringList; 181 begin 182 List := TStringList.Create; 183 PiecesToList(S, ADelim, List); 184 Result := List.Count; 185 end; 186 187 //------------------------------------------------------------------------- 188 //------------------------------------------------------------------------- 189 procedure TFileInfo.Assign(Source: TFileInfo); 190 begin 191 SrcRec := Source.SrcRec; 192 STimeStamp := Source.STimeStamp; 193 SBarCode := Source.SBarCode; 194 FPath := Source.FPath; 195 BatchCount := Source.BatchCount; 196 MetaFileName := Source.MetaFileName; 197 MetaFileExists := Source.MetaFileExists; 198 end; 199 200 procedure TFileInfo.Clear; 201 begin 202 //SrcRec := ... //Note sure how to clear this. Will leave as is... 203 STimeStamp := ''; 204 SBarCode := ''; 205 FPath := ''; 206 BatchCount := 0; 207 MetaFileName := ''; 208 MetaFileExists := false; 209 end; 210 211 //------------------------------------------------------------------------- 212 //------------------------------------------------------------------------- 213 procedure TImageInfo.Assign(Source : TImageInfo); 214 begin 215 TIUIEN := Source.TIUIEN; 216 DFN := Source.DFN; 217 UploadDUZ := Source.UploadDUZ; 218 ThumbFPathName := Source.ThumbFPathName; 219 ImageFPathName := Source.ImageFPathName; 220 ServerPath := Source.ServerPath; 221 ServerFName := Source.ServerFName; 222 ServerThumbFName := Source.ServerThumbFName; 223 ShortDesc := Source.ShortDesc; 224 Extension := Source.Extension; 225 ImageDateTime := Source.ImageDateTime; 226 UploadDateTime := Source.UploadDateTime; 227 ObjectType := Source.ObjectType; 228 ProcName := Source.ProcName; 229 pLongDesc := Source.pLongDesc; //this is only a pointer to object owned elsewhere 230 end; 231 232 procedure TImageInfo.Clear; 233 begin 234 TIUIEN := 0; 235 DFN := ''; 236 UploadDUZ := 0; 237 ThumbFPathName := ''; 238 ImageFPathName := ''; 239 ServerPath := ''; 240 ServerFName := ''; 241 ServerThumbFName := ''; 242 ShortDesc := ''; 243 Extension := ''; 244 ImageDateTime := ''; 245 UploadDateTime:= ''; 246 ObjectType :=0; 247 ProcName := ''; 248 pLongDesc := nil 249 end; 250 251 //------------------------------------------------------------------------- 252 //------------------------------------------------------------------------- 253 procedure TAutoUploadNote.SetDFN(var ChartNum,Location,FName,LName,MName,DOB,Sex : string); 254 var RPCResult : AnsiString; 255 PMS : AnsiString; 256 begin 257 //Notice: ChartNum, and PMS are optional. If PMS is 1,2,or 3, then ChartNum 258 // is used to look up patient. Otherwise a lookup is based on just 259 // Name, DOB, Sex. 260 // To NOT use ChartNum, just set the values to '' 261 // 262 //Note: If LName is in form: `12345, then LName is used for DFN, and call 263 // to server for lookup is bypassed, and the values for FName,DOB etc 264 // are ignored 265 266 if MidStr(LName,1,1)='`' then begin 267 Self.Patient.DFN := MidStr(LName,2,999); 268 end else begin 269 //**NOTE**: site-specific code 270 if Location ='Laughlin_Office' then PMS :='2' 271 else if Location ='Peds_Office' then PMS :='3' 272 else PMS := ''; //default 273 274 RPCBrokerV.ClearParameters := true; 275 RPCBrokerV.remoteprocedure := 'TMG GET DFN'; 276 RPCBrokerV.param[0].value := ChartNum; RPCBrokerV.param[0].ptype := literal; 277 RPCBrokerV.param[1].value := PMS; RPCBrokerV.Param[1].ptype := literal; 278 RPCBrokerV.param[2].value := FName; RPCBrokerV.Param[2].ptype := literal; 279 RPCBrokerV.param[3].value := LName; RPCBrokerV.Param[3].ptype := literal; 280 RPCBrokerV.param[4].value := MName; RPCBrokerV.Param[4].ptype := literal; 281 RPCBrokerV.param[5].value := DOB; RPCBrokerV.Param[5].ptype := literal; 282 RPCBrokerV.param[6].value := Sex; RPCBrokerV.Param[6].ptype := literal; 283 RPCBrokerV.Call; 284 RPCResult := RPCBrokerV.Results[0]; //returns: success: DFN; or error: -1^ErrMsg 285 if piece(RPCResult,'^',1) <> '-1' then begin 286 self.Patient.DFN := RPCResult; 287 end else begin 288 self.Patient.DFN := ''; 289 end; 290 end; 291 end; 292 293 Procedure TAutoUploadNote.SetInfo(var DOS,Provider,Location,Title : string); 294 //Just loads values into structure. No validation done. 295 begin 296 Self.DOS := DOS; 297 Self.Provider := Provider; 298 Self.Location := Location; 299 Self.NoteTitle := Title; 300 end; 301 302 procedure TAutoUploadNote.InitFrom(OtherNote: TAutoUploadNote); 303 //Will create a blank note for itself. 304 begin 305 Patient.Assign(OtherNote.Patient); 306 ImageInfo.Assign(OtherNote.ImageInfo); 307 Location := OtherNote.Location; 308 DOS := OtherNote.DOS; 309 Provider := OtherNote.Provider; 310 NoteTitle := OtherNote.NoteTitle; 311 CurNoteImages.Assign(OtherNote.CurNoteImages); 312 MakeNewBlankNote(Patient.DFN,DOS,Provider,Location,NoteTitle); 313 end; 314 315 procedure TAutoUploadNote.MakeNewBlankNote(DFN,DOS,Provider,Location,Title : string); 316 var RPCResult : string; 317 begin 318 RPCResult := ''; 319 Self.ErrMsg := ''; //default to no error messages 320 321 RPCBrokerV.ClearParameters := true; 322 RPCBrokerV.remoteprocedure := 'TMG GET BLANK TIU DOCUMENT'; 323 RPCBrokerV.param[0].value := DFN; RPCBrokerV.param[0].ptype := literal; 324 RPCBrokerV.param[1].value := Provider; RPCBrokerV.Param[1].ptype := literal; 325 RPCBrokerV.param[2].value := Location; RPCBrokerV.Param[2].ptype := literal; 326 RPCBrokerV.param[3].value := DOS; RPCBrokerV.Param[3].ptype := literal; 327 RPCBrokerV.param[4].value := Title; RPCBrokerV.Param[4].ptype := literal; 328 RPCBrokerV.Call; 329 RPCResult := RPCBrokerV.Results[0]; 330 try 331 TIUIEN := StrToInt64(Piece(RPCResult,'^',1)); //returns: success: TIU IEN; or error: -1 332 except 333 on E: EConvertError do begin 334 Self.ErrMsg := 'WHILE CREATING BLANK NOTE FOR UPLOAD, ' + 335 'ERROR CONVERTING: ' + RPCBrokerV.Results[0] + ' to document record #.'; 336 TIUIEN := -1; 337 end 338 end; 339 If TIUIEN <> -1 then begin 340 Self.Patient.DFN := DFN; 341 Self.Provider := Provider; 342 Self.Location := Location; 343 Self.DOS := DOS; 344 end else begin 345 Self.ErrMsg := 'FAILED TO CREATE A BLANK NOTE FOR UPLOAD' + 346 ' ' + Piece(RPCResult,'^',2); 347 Self.UploadError := true; 348 end; 349 end; 350 351 function TAutoUploadNote.IsValid : boolean; 352 begin 353 Result := true; //default to success. 354 if (Patient.DFN='') {or (TIUIEN < 1)} or (ErrMsg <> '') or (NoteTitle = '') 355 or (Location = '') or (DOS = '') or (Provider = '') then begin 356 Result := false 357 end; 358 end; 359 360 procedure TAutoUploadNote.Clear; 361 begin 362 TIUIEN := 0; 363 if Patient <> nil then Patient.Clear; 364 if ImageInfo <> nil then ImageInfo.Clear; 365 Location := ''; 366 DOS := ''; 367 Provider := ''; 368 NoteTitle := ''; 369 UploadError := False; 370 if CurNoteImages <> nil then CurNoteImages.Clear; 371 end; 372 373 function TAutoUploadNote.SameAs(OtherNote: TAutoUploadNote): boolean; 374 begin 375 Result := true; 376 if (OtherNote = nil) or (OtherNote.Patient = nil) 377 or (Patient.DFN <> OtherNote.Patient.DFN) 378 or (DOS <> OtherNote.DOS) 379 or (Provider <> OtherNote.Provider) 380 or (Location <> OtherNote.Location) 381 or (NoteTitle <> OtherNote.NoteTitle) then begin 382 Result := false; 383 end; 384 end; 385 386 constructor TAutoUploadNote.Create; 387 begin 388 Self.TIUIEN := 0; 389 Self.Patient := TPatient.Create; 390 Self.CurNoteImages := TStringList.Create; 391 Self.ImageInfo := TImageInfo.Create; 392 Self.Clear; 393 end; 394 395 destructor TAutoUploadNote.Destroy; 396 begin 397 self.patient.free; 398 Self.CurNoteImages.Free; 399 Self.ImageInfo.Free; 400 end; 401 402 //------------------------------------------------------------------------- 403 //------------------------------------------------------------------------- 404 function TUploadForm.MakeThumbNail(Info: TImageInfo) : boolean; 118 405 //This takes Info.ImageFPathName and creates a 64x64 .bmp file with 119 406 //this same name, and saves in cache directory. … … 141 428 142 429 143 function TUploadForm.UploadFile(Info: T UploadImageInfo): boolean;430 function TUploadForm.UploadFile(Info: TImageInfo; DelOrig : boolean): boolean; 144 431 //result: true if success, false if failure 145 432 var … … 196 483 Info.ServerPath := Piece(RPCResult,'^',2); 197 484 Info.ServerFName := Piece(RPCResult,'^',3); 198 result := frmImages.UploadFile(Info.ImageFPathName,Info.ServerPath,Info.ServerFName );485 result := frmImages.UploadFile(Info.ImageFPathName,Info.ServerPath,Info.ServerFName,1,1); 199 486 if result=false then begin 200 487 // ErrorMsg :='Error uploading image to server'; <-- original line. //kt 8/7/2007 … … 227 514 if result then begin 228 515 if MakeThumbNail(Info) then begin; 229 result := frmImages.UploadFile(Info.ThumbFPathName,Info.ServerPath,Info.ServerThumbFName );516 result := frmImages.UploadFile(Info.ThumbFPathName,Info.ServerPath,Info.ServerThumbFName,1,1); 230 517 if result=false then begin 231 518 // ErrorMsg :='Error sending thumbnail image to server.'; <-- original line. //kt 8/7/2007 … … 234 521 end; 235 522 end; 523 if DelOrig=true then begin 524 DeleteFile(Info.ImageFPathName); 525 end; 236 526 end; 237 527 end; … … 243 533 procedure TUploadForm.UploadChosenFiles(); 244 534 var i : integer; 245 Info: T UploadImageInfo;246 247 begin 248 SetupVars; 249 Info := T UploadImageInfo.Create();535 Info: TImageInfo; 536 537 begin 538 SetupVars; 539 Info := TImageInfo.Create(); 250 540 Info.pLongDesc := nil; 251 541 … … 269 559 Info.Extension := MidStr(Info.Extension,2,17); //remove '.' 270 560 271 if not UploadFile(Info ) then begin //Upload function passes back filename info in Info class561 if not UploadFile(Info,MoveCheckBox.Checked) then begin //Upload function passes back filename info in Info class 272 562 //Application.MessageBox('Error uploading image file!','Error'); 273 563 end; … … 376 666 Bitmap.Width := 64; 377 667 Picture := TPicture.Create; 668 669 AutoUploadNote := TAutoUploadNote.Create; 670 FScanDir := uTMGOptions.ReadString('Pol Directory','??'); 671 if FScanDir='??' then begin 672 FScanDir := ExtractFileDir(Application.ExeName); 673 uTMGOptions.WriteString('Pol Directory',FScanDir); 674 end; 675 PolInterval := uTMGOptions.ReadInteger('Pol Interval (milliseconds)',0); 676 if PolInterval=0 then begin 677 PolInterval := 60000; 678 uTMGOptions.WriteInteger('Pol Interval (milliseconds)',PolInterval); 679 end; 680 end; 681 682 procedure TUploadForm.SetScanDir(NewDir : string); 683 begin 684 if DirectoryExists(NewDir) then begin 685 FScanDir := NewDir; 686 uTMGOptions.WriteString('Pol Directory',FScanDir); 687 end; 378 688 end; 379 689 … … 412 722 end; 413 723 724 procedure TUploadForm.DecodeImgTxt(Line : string; out ChartNum, Location, 725 FName, LName, MName, Sex, DOB, DOS, Provider, 726 Title : string; FilePaths : TStrings); 727 //format of line is as follows: 728 //ChartNum^Location^FName^LName^MName^Sex^DOB^DOS^Provider^Title^FilePath(s) 729 //NOTE: To provide patient IEN instead of FName etc, use this format: 730 // ^Location^^`1234567^^^^DOS^Provider^Title^FilePath(s) 731 // i.e. `IEN (note ` is not an appostrophy (')) 732 // `IEN in place of LName, and leave blank: ChartNum,FName,FName,Sex,DOB 733 734 var Files: String; 735 FileName : String; 736 num,i : integer; 737 begin 738 if Pos('}',Line)>0 then begin 739 Line := Piece(Line,'}',2); //If error message is present, still allow parse. 740 end; 741 ChartNum := Piece(Line,'^',1); 742 Location := Piece(Line,'^',2); 743 FName := Piece(Line,'^',3); 744 LName := Piece(Line,'^',4); 745 MName := Piece(Line,'^',5); 746 Sex := Piece(Line,'^',6); 747 DOB := Piece(Line,'^',7); 748 DOS := Piece(Line,'^',8); 749 Provider := Piece(Line,'^',9); 750 Title := Piece(Line,'^',10); 751 Files := Piece(Line,'^',11); //may be list of multiple files separated by ; 752 if Pos(';',Files)>0 then begin 753 num := NumPieces(Files,';'); 754 for i := 1 to num do begin 755 FileName := piece(files,';',i); 756 if FileName <> '' then FilePaths.Add(FileName); 757 end; 758 end else begin 759 FilePaths.Add(Files); 760 end; 761 762 end; 763 764 function TUploadForm.EncodeImgTxt(ChartNum, Location, FName, LName, MName, Sex, DOB, 765 DOS, Provider, Title : string; FilePaths : TStrings) : AnsiString; 766 //format of line is as follows: 767 //ChartNum^Location^FName^LName^MName^Sex^DOB^DOS^Provider^Title^FilePath(s) 768 //NOTE: To provide patient IEN instead of FName etc, use this format: 769 // ^Location^^`1234567^^^^DOS^Provider^Title^FilePath(s) 770 // i.e. `IEN (note ` is not an appostrophy (')) 771 // `IEN in place of LName, and leave blank: ChartNum,FName,FName,Sex,DOB 772 var i : integer; 773 begin 774 Result := ChartNum + '^' + Location + '^' + FName + '^' + LName + '^' + 775 MName + '^' + Sex + '^' + DOB + '^' + DOS + '@01:00' + '^' + Provider + '^' + 776 Title + '^'; //added time of 1:00 elh 7/8/08 777 for i:= 0 to FilePaths.Count-1 do begin 778 Result := Result + FilePaths.Strings[i]; 779 if i <> FilePaths.Count-1 then Result := Result + ';'; 780 end; 781 end; 782 783 784 procedure TUploadForm.FinishDocument(UploadNote : TAutoUploadNote); 785 var Text : TStringList; 786 ErrMsg : String; 787 RPCResult : String; 788 i : integer; 789 oneImage: string; 790 //TIUIEN : int64; 791 792 begin 793 if (UploadNote.TIUIEN>0) and (UploadNote.CurNoteImages.Count>0) 794 and (UploadNote.UploadError = False) then begin 795 //Add text for note: "See scanned image" -- 796 // or later, some HTML code to show note in CPRS directly.... 797 Text := TStringList.Create; 798 Text.Add('<!DOCTYPE HTML PUBLIC>'); 799 Text.Add('<html>'); 800 Text.Add('<head>'); 801 Text.Add('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'); 802 Text.Add('<title>VistA HTML Note</title>'); 803 Text.Add('</head>'); 804 Text.Add('<body>'); 805 Text.Add('<p>'); 806 Text.Add('Note created automatically from imported media.'); 807 Text.Add('<p>'); 808 for i := 0 to UploadNote.CurNoteImages.Count-1 do begin 809 // note: $CPRSDIR$ will be replaced at runtime with directory of CPRS 810 // This will be done as page is passed to TWebBrowser (in rHTMLTools) 811 oneImage := '$CPRSDIR$\Cache\' + UploadNote.CurNoteImages.Strings[i]; 812 //oneImage := CacheDir + '\' + CurNoteImages.Strings[i]; 813 Text.Add('<img WIDTH=640 src="'+oneImage+'">'); 814 Text.Add('<p>'); 815 end; 816 //Text.Add('<small>'); 817 //Text.Add('If images don''t display, first view them in IMAGES tab.<br>'); 818 //Text.Add('Then return here, click on note and press [F5] key to refresh.'); 819 //Text.Add('</small>'); 820 //Text.Add('<p>'); 821 Text.Add('</body>'); 822 Text.Add('</html>'); 823 Text.Add(' '); 824 rTIU.SetText(ErrMsg,Text,UploadNote.TIUIEN,1); //1=commit data, do actual save. 825 Text.Free; 826 //Here I autosign -- later make this optional? 827 RPCBrokerV.ClearParameters := true; 828 RPCBrokerV.remoteprocedure := 'TMG AUTOSIGN TIU DOCUMENT'; 829 RPCBrokerV.param[0].value := IntToStr(UploadNote.TIUIEN); 830 RPCBrokerV.param[0].ptype := literal; 831 RPCBrokerV.Call; 832 RPCResult := RPCBrokerV.Results[0]; //returns: error: -1; success=1 833 if RPCResult='-1' then begin 834 MessageDlg('Unable to set status for scanned document to SIGNED',mtError,[mbOK],0); 835 end; 836 UploadNote.TIUIEN := 0; 837 end; 838 UploadNote.Clear; 839 end; 840 841 842 function TUploadForm.ProcessOneLine(Line : string) : string; 843 //Returns: if success, ''; if failure, returns reason 844 845 //format of line is as follows: 846 //ChartNum^Location^FName^LName^MName^Sex^DOB^DOS^Provider^Title^FilePath(s) 847 //NOTE: To provide patient IEN instead of FName etc, use this format: 848 // ^Location^^`1234567^^^^DOS^Provider^Title^FilePath(s) 849 // i.e. `IEN (note ` is not an appostrophy (')) 850 // `IEN in place of LName, and leave blank: ChartNum,FName,FName,Sex,DOB 851 852 var 853 ChartNum,FName,LName,MName,Sex,DOB : String; 854 DOS,Provider,Title : String; 855 ThisNote : TAutoUploadNote; 856 FilePaths : TStringList; 857 i : integer; 858 Location : string; 859 860 begin 861 Result := ''; //default to success for function 862 ThisNote := TAutoUploadNote.Create; 863 FilePaths := TStringList.Create(); 864 DecodeImgTxt(Line, ChartNum, Location, FName, LName, MName, Sex, DOB, DOS, Provider, Title, FilePaths); 865 866 ThisNote.SetDFN(ChartNum,Location,FName,LName,MName,DOB,Sex); 867 ThisNote.SetInfo(DOS,Provider,Location,Title); 868 if Pos('//Failed',Line)>0 then ThisNote.UploadError := true; 869 if ThisNote.IsValid then begin //A note can be 'Valid' and still have an 'UploadError' 870 if ThisNote.SameAs(AutoUploadNote)= false then begin 871 ThisNote.TIUIEN := AutoUploadNote.TIUIEN; 872 FinishDocument(AutoUploadNote); // Close and clear any existing note 873 AutoUploadNote.InitFrom(ThisNote); 874 Result := AutoUploadNote.ErrMsg; //'' if no error 875 end; 876 if ThisNote.UploadError then AutoUploadNote.UploadError := true; 877 if (AutoUploadNote.UploadError=false) then for i := 0 to FilePaths.Count-1 do begin 878 AutoUploadNote.ImageInfo.pLongDesc := nil; 879 //Load up info record with data for upload 880 AutoUploadNote.ImageInfo.ShortDesc := 'Scanned document'; 881 AutoUploadNote.ImageInfo.UploadDUZ := User.DUZ; 882 AutoUploadNote.ImageInfo.ObjectType := 1; //type 1 is Still Image (jpg). OK to use with .bmp?? 883 AutoUploadNote.ImageInfo.ProcName := 'Scanned'; //max length is 10 characters 884 AutoUploadNote.ImageInfo.ImageDateTime := DOS; 885 AutoUploadNote.ImageInfo.TIUIEN := AutoUploadNote.TIUIEN; 886 AutoUploadNote.ImageInfo.UploadDateTime := 'NOW'; 887 AutoUploadNote.ImageInfo.DFN := AutoUploadNote.Patient.DFN; 888 AutoUploadNote.ImageInfo.ImageFPathName := FilePaths.Strings[i]; 889 AutoUploadNote.ImageInfo.Extension := ExtractFileExt(AutoUploadNote.ImageInfo.ImageFPathName); //includes '.' 890 AutoUploadNote.ImageInfo.Extension := MidStr(AutoUploadNote.ImageInfo.Extension,2,17); //remove '.' 891 if not UploadFile(AutoUploadNote.ImageInfo,true) then begin //Upload function passes back filename info in Info class 892 Result := 'ERROR UPLOADING IMAGE FILE'; 893 end; 894 AutoUploadNote.CurNoteImages.Add(AutoUploadNote.ImageInfo.ServerFName); 895 end else begin 896 If Result='' then Result := '(Error found in earlier file entry in batch)'; 897 end; 898 end else begin 899 Result := 'NOTE INFO INVALID (Probably: PATIENT NOT FOUND)'; 900 end; 901 FilePaths.Free; 902 ThisNote.Free; 903 end; 904 905 906 function TUploadForm.ProcessOneFile(FileName : string) : boolean; 907 //This will process image(s) indicated in textfile FileName 908 //After uploading image to server, textfile and specified images are deleted 909 //Returns Success 910 //Note: To upload multiple images into one document, one may add multiple 911 // lines to the ImgTxt text file. As long as the info is the same 912 // (i.e. same provider, patient, note type, DOS etc) then they 913 // will be appended to current note. 914 // OR, add multiple image file names to one line. 915 // -- the problem with multiple images on one line is that errors 916 // can not be reported for just one image. It will be ONE for any/all 917 // OR, if the next file in process-order is still has the same info as 918 // the prior file, then it will be appended. 919 var 920 Lines : TStringList; 921 i : integer; 922 ResultStr : string; 923 OneLine : string; 924 begin 925 Result := true; //default is Success=true 926 Lines := TStringList.Create; 927 Lines.LoadFromFile(FileName); 928 //FinishDocument(AutoUploadNote); //will save and clear any old data. 929 for i := 0 to Lines.Count-1 do begin 930 OneLine := Lines.Strings[i]; 931 ResultStr := ProcessOneLine(OneLine); //Even process with //failed markeers (to preserve batches) 932 if Pos('//Failed',OneLine)> 0 then begin //If we already have //Failed, don't duplicate another Error Msg 933 Result := false; //prevent deletion of file containing //Failed// 934 end else begin 935 if ResultStr <> '' then begin 936 Lines.Strings[i] := '//Failed: '+ResultStr+'}'+Lines.Strings[i]; 937 Lines.SaveToFile(FileName); 938 Result := false; 939 end; 940 end; 941 end; 942 //Temp, for debugging 943 //Lines.SaveToFile(ChangeFileExt(FileName,'.imgtxt-bak')); 944 //end temp 945 Lines.free; 946 end; 947 948 949 procedure TUploadForm.ScanAndHandleImgTxt; 950 var 951 FoundFile : string; 952 Found : TSearchRec; 953 FilesList : TStringList; 954 i : integer; 955 result : boolean; 956 begin 957 //NOTE: Later I may make this spawn a separate thread, so that 958 // user doesn't encounter sudden unresponsiveness of CPRS 959 //I can use BeginThread, then EndTread 960 //Issues: ProcessOneFile would probably have to be a function 961 // not in a class/object... 962 963 FilesList := TStringList.Create; 964 965 //scan for new *.ImgTxt file 966 //FindFirst may not have correct order, so collect all names and then sort. 967 if FindFirst(FScanDir+'*.imgtxt',faAnyFile,Found)=0 then repeat 968 FilesList.Add(FScanDir+Found.Name); 969 until FindNext(Found) <> 0; 970 FindClose(Found); 971 FilesList.Sort; //puts filenames in alphanumeric order 972 973 //Now process images in correct order. 974 for i := 0 to FilesList.Count-1 do begin 975 FoundFile := FilesList.Strings[i]; 976 if ProcessOneFile(FoundFile) = true then begin {process *.imgtxt file} 977 DeleteFile(FoundFile); 978 FoundFile := ChangeFileExt(FoundFile,'.barcode.txt'); 979 DeleteFile(FoundFile); 980 end; //Note: it is OK to continue, to get other non-error notes afterwards. 981 end; 982 FinishDocument(AutoUploadNote); // Close and clear any existing note 983 FilesList.Free 984 end; 985 986 987 procedure TUploadForm.ScanAndHandleImages; 988 (* Overview of mechanism of action of automatically uploading images. 989 ================================================================= 990 -- For an image to be uploaded, it must first be positively identified. 991 This can occur 1 of two ways: 992 -- the image contains a datamatrix barcode. 993 -- the image is part of a batch, and the first image of the batch 994 contains a barcode for the entire batch. 995 -- At our site, the scanner program automatically names the files numerically 996 so that sorting on the name will put them in proper order when working 997 with batches. 998 -- The decoding of the barcode requires a special program. I was not 999 able to find a way to run this on the Windows client. I found the 1000 libdmtx that does this automatically. It currently is on unix only. 1001 It was too complicated for me to compile it for windows. I initially 1002 wanted everything to run through the RPC broker. This involved 1003 uploading the image to the linux server, running the decoder on the 1004 server, then passing the result back. The code for this is still avail 1005 in this CPRS code. However, the process was too slow and I had to 1006 come up with something faster. So the following arrangement was setup 1007 -- scanned images are stored in a folder that was shared by both the 1008 windows network (and thus is available to CPRS), and the linux server. 1009 -- At our site, we used a copier/scanner unit that created only TIFF 1010 files. These are not the needed format for the barcode decoder, so... 1011 -- a cron job runs on the linux server that converts the .tif files 1012 to .png. Here is that script: 1013 <removed due to frequent changes...> 1014 --------------------------------- 1015 -- Next the .png files must be checked for a barcode. Another cron 1016 task scans a directory for .png files and creates a metafile for 1017 the file giving its barcode reading, or a marker that there is 1018 no barcode available for that image. The file name format is: 1019 *.barcode.txt, with the * coorelating to filename of the image. 1020 -- The decoding process can take some time (up to several minutes 1021 per image. 1022 -- A flag file named barcodeRead.working.txt is created when the 1023 script is run, and deleted when done. So if this file is present 1024 then the decoding process is not complete. 1025 -- if a *.barcode.txt file is present, then no attempts will be made 1026 to decode the image a second time. 1027 -- CPRS still contains code to upload an image to look for a barcode. 1028 At this site, only png's will contain barcodes, so I have commented 1029 out support for automatically uploading other file formats. 1030 -- Here is the unix bash script that decodes the barcodes. It is 1031 launched by cron: 1032 --------------------------------- 1033 <removed due to frequent changes...> 1034 --------------------------------- 1035 -- After the *.png images are available, and no flag files are present 1036 to indicate that the server is working with the files, then the images 1037 are processed, using the barcode metafiles. This is triggered by a 1038 timer in CPRS. It essentially converts imagename + barcode data --> 1039 --> *.imgtxt. 1040 -- For each *.png image, there will be a *.imgtxt metafile created. This 1041 will contain information needed by the server, in a special format for 1042 the RPC calls. When an *.imgtxt file is present, this is a flag that 1043 the image is ready to be uploaded. 1044 -- A timer in CPRS scans for *.imgtxt files. When found, it uploads the 1045 image to the server and creates a container progress note for displaying 1046 it in CPRS. 1047 *) 1048 1049 procedure ScanOneImageType(ImageType : string); 1050 //Scan directory for all instances of images of type ImageType 1051 //For each one, create a metadata file (if not already present) 1052 1053 //Note: Batch mode only works for a batch of file ALL OF THE SAME TYPE. 1054 //I.e. There can't be a batch of .jpg, then .gif, then .bmp. This is 1055 //because a scanner, if it is scanning a stack of documents for a given 1056 //patient will produce all files in the same ImageType 1057 1058 function DeltaMins(CurrentTime,PriorTime : TDateTime) : integer; 1059 //Return ABSOLUTE difference in minutes between Current <--> Prior. 1060 //NOTE: if value is > 1440, then 1440 is returned 1061 var DeltaDays,FracDays : double; 1062 begin 1063 DeltaDays := abs(CurrentTime-PriorTime); 1064 FracDays := DeltaDays - Round(DeltaDays); 1065 if DeltaDays>1 then FracDays := 1; 1066 Result := Round((60*24)*FracDays); 1067 end; 1068 1069 var 1070 FoundFile : string; 1071 MetaFilename : string; 1072 Found : TSearchRec; 1073 BarCodeData : AnsiString; 1074 DFN,DOS,AuthIEN,LocIEN,NoteTypeIEN : string; 1075 OneLine : string; 1076 FilePaths : TStringList; 1077 AllFiles : TStringList; 1078 OutFileLines : TStringList; 1079 BatchS : string; 1080 tempCount : integer; 1081 BatchFInfo : TFileInfo; 1082 LastFileTimeStamp,CurFileTimeStamp : TDateTime; 1083 DeltaMinutes : integer; 1084 pFInfo : TFileInfo; 1085 i : integer; 1086 Label AbortPoint; 1087 1088 const 1089 ALLOWED_TIME_GAP = 2; //time in minutes 1090 1091 begin 1092 FilePaths := TStringList.Create; 1093 OutFileLines := TStringList.Create; 1094 AllFiles := TStringList.Create; 1095 BatchFInfo := TFileInfo.Create; 1096 1097 //NOTE: Later I may make this spawn a separate thread, so that 1098 // user doesn't encounter sudden unresponsiveness of CPRS 1099 //I can use BeginThread, then EndTread 1100 //Issues: ProcessOneFile would probably have to be a function 1101 // not in a class/object... 1102 1103 //scan for all instances *.ImageType Image file 1104 //Store info for processesing after loop 1105 //Do this as a separate step, so files can be processed in proper order 1106 if FindFirst(FScanDir+'*.'+ImageType,faAnyFile,Found)=0 then repeat 1107 FoundFile := FScanDir+Found.Name; 1108 if FileExists(ChangeFileExt(FoundFile,'.imgtxt')) then continue; 1109 MetaFilename := ChangeFileExt(FoundFile,'.barcode.txt'); 1110 pFInfo := TFileInfo.Create; //will be owned by AllFiles 1111 pFInfo.MetaFileName := MetaFilename; 1112 pFInfo.FPath := FoundFile; 1113 pFInfo.SrcRec := Found; 1114 pFInfo.STimeStamp := FloatToStr(FileDateToDateTime(Found.Time)); 1115 pFInfo.MetaFileExists := FileExists(MetaFilename); 1116 pFInfo.SBarCode := ''; //default to empty. 1117 pFInfo.BatchCount := 0; 1118 if pFInfo.MetaFileExists = false then begin 1119 //Call server via RPC to decode Barcode 1120 //This is too slow and buggy. Will remove for now... 1121 //BarCodeData := frmImages.DecodeBarcode(FoundFile,ImageType); 1122 //pFInfo.SBarCode := BarCodeData; 1123 pFInfo.SBarCode := ''; 1124 //Here I could optionally create a Metafile for processing below. 1125 end; 1126 if pFInfo.MetaFileExists then begin //Retest in case RPC changed status. 1127 if FileExists(FScanDir+'barcodeRead.working.txt') then goto AbortPoint; 1128 OutFileLines.LoadFromFile(pFInfo.MetaFileName); 1129 if OutFileLines.Count>0 then begin 1130 pFInfo.SBarCode := OutFileLines.Strings[0]; 1131 //convert 'No Barcode message into an empty string, to match existing code. 1132 if Pos('//',pFInfo.SBarCode)=1 then pFInfo.SBarCode := ''; 1133 if NumPieces(pFInfo.SBarCode,'-') <> 8 then pFInfo.SBarCode := ''; 1134 end else begin 1135 pFInfo.MetaFileExists := false; //set empty file to Non-existence status 1136 end; 1137 end; 1138 AllFiles.AddObject(pFInfo.FPath,pFInfo); //Store filename, to allow sorting on this. 1139 until FindNext(Found) <> 0; 1140 AllFiles.Sort; // Sort on timestamp --> put in ascending alpha filename order 1141 1142 //-------- Now, process files in name order ------------ 1143 LastFileTimeStamp := 0; 1144 BatchFInfo.BatchCount := 0; 1145 for i := 0 to AllFiles.Count-1 do begin 1146 pFInfo := TFileInfo(AllFiles.Objects[i]); 1147 if pFInfo.MetaFileExists = false then continue; 1148 CurFileTimeStamp := FileDateToDateTime(pFInfo.SrcRec.Time); 1149 DeltaMinutes := DeltaMins(CurFileTimeStamp,LastFileTimeStamp); 1150 // *.barcode.txt file exists at this point 1151 if pFInfo.SBarCode <> '' then begin //Found a new barcode 1152 LastFileTimeStamp := CurFileTimeStamp; 1153 //Note: The expected format of barcode must be same as that 1154 // created by TfrmPtLabelPrint.PrintButtonClick: 1155 // 70685-12-31-2008-73-6-1302-0 1156 // PtIEN-DateOfService-AuthorIEN-LocIEN-NoteTypeIEN-BatchFlag 1157 // THUS there should be 8 pieces in the string. 1158 DFN := piece(pFInfo.SBarCode,'-',1); 1159 DOS := pieces(pFInfo.SBarCode,'-',2,4); 1160 AuthIEN := piece(pFInfo.SBarCode,'-',5); 1161 LocIEN := piece(pFInfo.SBarCode,'-',6); 1162 NoteTypeIEN := piece(pFInfo.SBarCode,'-',7); 1163 BatchS := piece(pFInfo.SBarCode,'-',8); 1164 if BatchS = '*' then begin 1165 pFInfo.BatchCount := 9999 1166 end else begin 1167 try 1168 pFInfo.BatchCount := StrToInt(BatchS); 1169 except 1170 on E:EConvertError do begin 1171 pFInfo.BatchCount := 1; 1172 end; 1173 end; 1174 end; 1175 //BatchFInfo.SBarCode := pFInfo.SBarCode; 1176 end else if (BatchFInfo.BatchCount > 0) then begin 1177 if (DeltaMinutes > ALLOWED_TIME_GAP) then begin 1178 pFInfo.Clear; 1179 BatchFInfo.Clear; 1180 end else begin 1181 //Apply barcode from last image onto this one (from same batch) 1182 pFInfo.SBarCode := BatchFInfo.SBarCode; 1183 end; 1184 end; 1185 if pFInfo.SBarCode <> '' then begin 1186 //Success --> write out ImgTxt file... 1187 FilePaths.Add(pFInfo.FPath); 1188 OneLine := EncodeImgTxt('', '`'+LocIEN,'', '`'+DFN, '', '', '', 1189 DOS,'`'+AuthIEN, '`'+NoteTypeIEN, FilePaths); 1190 if pFInfo.BatchCount>0 then begin 1191 //A BATCH marker has been found on current barcode. This means that 1192 //Batchmode should be turned on. This will apply current barcode 1193 //data to any subsequent images, providing there is not a gap in 1194 //time > ALLOWED_TIME_GAP 1195 BatchFInfo.Assign(pFInfo); //reset Batch info to current 1196 end; 1197 //Decrease use count of Batch Info 1198 Dec(BatchFInfo.BatchCount); 1199 end else begin 1200 OneLine := ''; 1201 end; 1202 OutFileLines.Clear; 1203 if OneLine <> '' then begin 1204 OutFileLines.Add(OneLine); 1205 OutFileLines.SaveToFile(ChangeFileExt(pFInfo.FPath,'.imgtxt')); 1206 end; 1207 FilePaths.Clear; 1208 OutFileLines.Clear; 1209 LastFileTimeStamp := CurFileTimeStamp; 1210 end; 1211 AbortPoint: 1212 FindClose(Found); 1213 BatchFInfo.Free; 1214 FilePaths.Free; 1215 for i := 0 to AllFiles.Count-1 do begin //free owned objects 1216 pFInfo := TFileInfo(AllFiles.Objects[i]); 1217 pFInfo.Free; 1218 end; 1219 AllFiles.Free; 1220 OutFileLines.Free; 1221 end; 1222 1223 var flag1Filename,flag2Filename : string; 1224 begin 1225 flag1Filename := FScanDir+'barcodeRead.working.txt'; 1226 flag2Filename := FScanDir+'convertTif2Png.working.txt'; 1227 //if linux server is in middle of a conversion or barcode decode, then skip. 1228 if (FileExists(flag1Filename)=false) and (FileExists(flag2Filename)=false) then begin 1229 (* Remove {}'s to be able to have jpg's etc that contain barcodes 1230 In our site, only png's will have barcodes, and thus these are the 1231 only images that can be uploaded automatically. Uploading jpg's, bmp's 1232 etc to look for (nonexistent) barcodes will just waste time and bandwidth. *) 1233 { 1234 ScanOneImageType('jpg'); 1235 ScanOneImageType('jpeg'); 1236 ScanOneImageType('gif'); 1237 ScanOneImageType('bmp'); 1238 } 1239 //ScanOneImageType('tif'); {Tiff was not showing up in IE for some reason} 1240 //ScanOneImageType('tiff'); {Tiff was not showing up in IE for some reason} 1241 ScanOneImageType('png'); 1242 end; 1243 end; 1244 1245 procedure TUploadForm.PolTimerTimer(Sender: TObject); 1246 begin 1247 PolTimer.Enabled := false; 1248 try 1249 if Assigned(frmImages) and frmImages.AutoScanUpload.Checked then begin 1250 ScanAndHandleImages; //create metadata for images (if not done already) 1251 ScanAndHandleImgTxt; //process upload file, based on metadata 1252 end; 1253 finally 1254 PolTimer.Enabled := true; 1255 PolTimer.Interval := PolInterval; 1256 end; 1257 end; 1258 1259 1260 414 1261 end. -
cprs/branches/tmg-cprs/CPRS-Chart/fFrame.dfm
r667 r729 1 1 object frmFrame: TfrmFrame 2 Left = 1 643 Top = 1932 Left = 1140 3 Top = 281 4 4 Width = 684 5 5 Height = 487 … … 756 756 OnClick = mnuFilePrintClick 757 757 end 758 object PrintLabels1: TMenuItem 759 Caption = 'Print Labels...' 760 OnClick = PrintLabels1Click 761 end 758 762 object mnuFileExit: TMenuItem 759 763 Caption = 'E&xit' … … 1056 1060 Top = 66 1057 1061 LangData = { 1058 080066726D4672616D65010100000001000000070043617074696F6E017 400001062 080066726D4672616D65010100000001000000070043617074696F6E01750000 1059 1063 001400706E6C4E6F50617469656E7453656C6563746564010100000002000000 1060 1064 070043617074696F6E001200706E6C50617469656E7453656C65637465640000 … … 1158 1162 65727452656E6577010100000059000000070043617074696F6E000900417070 1159 1163 4576656E7473000010004564697444656D6F677261706869637301010000005A 1160 000000070043617074696F6E00} 1164 000000070043617074696F6E000C005072696E744C6162656C73310101000000 1165 5B000000070043617074696F6E00} 1161 1166 end 1162 1167 end -
cprs/branches/tmg-cprs/CPRS-Chart/fFrame.pas
r694 r729 143 143 DKLanguageController1: TDKLanguageController; 144 144 EditDemographics: TMenuItem; 145 PrintLabels1: TMenuItem; 145 146 procedure tabPageChange(Sender: TObject); 146 147 procedure FormCreate(Sender: TObject); … … 231 232 Shift: TShiftState; X, Y: Integer); 232 233 procedure pnlFlagClick(Sender: TObject); 234 procedure mnuViewDemoClick(Sender: TObject); 233 235 procedure mnuFilePrintSelectedItemsClick(Sender: TObject); 234 236 procedure mnuAlertRenewClick(Sender: TObject); … … 255 257 procedure tabPageDrawTab(Control: TCustomTabControl; TabIndex: Integer; 256 258 const Rect: TRect; Active: Boolean); 259 procedure PrintLabels1Click(Sender: TObject); 257 260 private 258 261 //kt Begin Mod (change Consts to Vars) 7/17/2007 … … 324 327 procedure ClearPatient; 325 328 procedure ChangeFont(NewFontSize: Integer); 326 procedure LoadTabColors( INIFile : TIniFile;ColorsList : TStringList); //kt added 8/8/08327 procedure SaveTabColors( INIFile : TIniFile;ColorsList : TStringList);329 procedure LoadTabColors(ColorsList : TStringList); //kt added 8/8/08 330 procedure SaveTabColors(ColorsList : TStringList); 328 331 //procedure CreateTab(var AnInstance: TObject; AClass: TClass; ATabID: integer; ALabel: string); 329 332 procedure CreateTab(ATabID: integer; ALabel: string); … … 407 410 frmFrame: TfrmFrame; 408 411 uTabList: TStringList; 409 uTabColorsList : TStringList; //kt added 8/8/08410 uTabColorsEnabled : Boolean; //kt 8/09412 TabColorsList : TStringList; //kt added 8/8/08 413 TabColorsEnabled : Boolean; //kt 8/09 411 414 uRemoteType : string; 412 415 FlaggedPTList: TStringList; … … 440 443 fAlertForward, UBAGlobals, fBAOptionsDiagnoses, UBACore, fOrdersSign, uVitals, fOrdersRenew, uFormMonitor, 441 444 fImages //kt 8/19/05 445 , uTMGOptions //kt 2/10/10 442 446 {$IFDEF CCOWBROKER} 443 447 , CCOW_const 444 448 {$ENDIF} 445 449 , fPtDemoEdit 446 , fOptionsOther ;450 , fOptionsOther, fPtLabelPrint; 447 451 448 452 var // RV 05/11/04 … … 747 751 tempS : string; //kt 748 752 i : integer; //kt added 6/29/07 749 CPRSChartINI: TINIFile; //elh 6/23/08750 753 tempPosition : TTabPosition; //kt 751 754 begin … … 831 834 Application.OnDeActivate := AppDeActivated; 832 835 836 User := TUser.Create; 837 833 838 // load language ini settings //elh added 834 CPRSChartINI := TINIFile.Create(ExtractFilePath(ParamStr(0)) + 'CPRSChart.ini'); // Read from INI elh 6/23/08 835 LangManager.LanguageID := CPRSChartINI.ReadInteger('Options','Language',1033); 836 tempPosition := TTabPosition(CPRSChartINI.ReadInteger('TAB_POSITION','Tab Location',0)); 839 LangManager.LanguageID := uTMGOptions.ReadInteger('Language',1033); 840 tempPosition := TTabPosition(uTMGOptions.ReadInteger('Tab Location',0)); 837 841 if tempPosition > tpRight then tempPosition := tpBottom; 838 842 fOptionsOther.SetTabPosition(tempPosition); … … 841 845 {$ENDIF} 842 846 SkinChanged := false; 843 SkinAtStartup := CPRSChartINI.ReadBool('Skin','LoadAt Startup',false);844 CurrentSkinFile := CPRSChartINI.ReadString('Skin','Default Skin','TMG_Extra\Skins\ICQ_Longhorn_v.1.2.ipz');847 SkinAtStartup := uTMGOptions.ReadBool('Load Skin At Startup',false); 848 CurrentSkinFile := uTMGOptions.ReadString('Default Skin','TMG_Extra\Skins\ICQ_Longhorn_v.1.2.ipz'); 845 849 if SkinAtStartup then ActivateCurrentSkin; 846 850 //kt -- end mod -- … … 851 855 // create initial core objects 852 856 FCreateProgress := FCP_OBJECTS; 853 User := TUser.Create;857 //User := TUser.Create; moved elh 2/12/10 854 858 855 859 // make sure we're using the matching server version … … 937 941 RemoteReports := TRemoteReportList.Create; 938 942 uTabList := TStringList.Create; 939 uTabColorsList := TStringList.Create; //kt added 8/8/08943 TabColorsList := TStringList.Create; //kt added 8/8/08 940 944 FlaggedPTList := TStringList.Create; 941 945 HasFlag := False; … … 970 974 //kt original line --> CreateTab(CT_COVER, 'Cover Sheet'); 971 975 976 //kt original line --> CreateTab(CT_IMAGES, 'Images'); 977 CreateTab(CT_IMAGES, DKLangConstW('fFrame_Images')); //kt 978 SetATabVisibility(CT_IMAGES, uTMGOptions.ReadBool('EnableImages',false)); 979 972 980 for i := CT_WEBTAB1 to CT_LAST_WEBTAB do begin 973 981 CreateTab(i, IntToStr(i-CT_WEBTAB1+1)); //kt 974 982 SetATabVisibility(i, false); //kt hide until activated by RPC 975 983 end; 976 //kt replace later... CreateTab(CT_IMAGES, 'Images'); //kt 8/19/05 977 LoadTabColors( CPRSChartINI,uTabColorsList); //kt added 8/8/08978 TabPage.OwnerDraw := uTabColorsEnabled;984 985 LoadTabColors(TabColorsList); //kt added 8/8/08 986 TabPage.OwnerDraw := TabColorsEnabled; 979 987 ShowHideChartTabMenus(mnuViewChart); 980 988 // We defer calling LoadUserPreferences to UMInitiate, so that the font sizing … … 1013 1021 // if WindowState = wsMinimized then WindowState := wsNormal; 1014 1022 SetFormMonitoring(true); 1015 CPRSChartINI.Free; //kt added 8/8/081016 1023 end; 1017 1024 … … 1226 1233 procedure TfrmFrame.FormDestroy(Sender: TObject); 1227 1234 { free core objects used by CPRS } 1228 var1229 CPRSChartINI: TINIFile; //kt 8/8/081230 1231 1235 begin 1232 1236 Application.OnActivate := FOldActivate; … … 1235 1239 uTabList.Free; 1236 1240 //kt --- 8/8/08 start mod --- 1237 CPRSChartINI := TINIFile.Create(ExtractFilePath(ParamStr(0)) + 'CPRSChart.ini'); 1238 CPRSChartINI.WriteInteger('Options','Language',LangManager.LanguageID); 1239 SaveTabColors(CPRSChartINI,uTabColorsList); 1240 uTabColorsList.Free; 1241 CPRSChartINI.WriteInteger('TAB_POSITION','Tab Location',integer(tabPage.TabPosition)); 1242 CPRSChartINI.WriteBool('Skin','Load At Startup',SkinAtStartup); //kt 9/11/08 1241 //kt uTMGOptions.WriteInteger('Language',LangManager.LanguageID); 1242 //ktSaveTabColors(TabColorsList); 1243 TabColorsList.Free; 1244 //kt uTMGOptions.WriteInteger('Tab Location',integer(tabPage.TabPosition)); 1245 //kt uTMGOptions.WriteBool('Load Skin At Startup',SkinAtStartup); //kt 9/11/08 1243 1246 //kt --- end mod --- 1244 1247 … … 1568 1571 //kt -- start addition 1569 1572 //below taken out 6/29/07 to achieve compile. Fix later... 1570 //if NewForm.Name = frmImages.Name then frmImages.Align := alClient 1571 // else frmImages.Align := alNone; 1573 if Assigned (frmImages) and (NewForm.Name = frmImages.Name) then begin 1574 frmImages.Align := alClient; 1575 end else begin 1576 frmImages.Align := alNone; 1577 end; 1572 1578 //kt -- end addition 1573 1579 NewForm.BringToFront; // to cause tab switch to happen immediately … … 1591 1597 TabID : integer; //kt added. 1592 1598 begin 1593 1594 1599 if (not User.IsReportsOnly) then 1595 1600 begin … … 1609 1614 CT_REPORTS: SwitchToPage(frmReports); 1610 1615 CT_WEBTAB1..CT_LAST_WEBTAB: SwitchToPage(frmWebTabs[TabID-CT_WEBTAB1]); //kt added 8/6/08 1611 //ktCT_IMAGES: SwitchToPage(frmImages); //kt 8/19/051616 CT_IMAGES: SwitchToPage(frmImages); //kt 8/19/05 1612 1617 end; {case} 1613 1618 end 1614 1619 else // Reports Only tab. 1615 1620 SwitchToPage(frmReports); 1616 1617 1621 end; 1618 1622 … … 3796 3800 frmWebTabs[ATabID-CT_WEBTAB1] := TempFrmWebTab 3797 3801 end; //kt 6/6/08 3798 3799 { //kt replace later 3800 CT_IMAGES : begin //kt 8/19/05 3801 frmImages := TfrmImages.Create(Self); //kt 8/19/05 3802 frmImages.Parent := pnlPage; //kt 8/19/05 3803 end; //kt 8/19/05 3804 } //kt 3802 CT_IMAGES : begin //kt 8/19/05, 3/8/10 3803 frmImages := TfrmImages.Create(Self); //kt 8/19/05, 3/8/10 3804 frmImages.Parent := pnlPage; //kt 8/19/05, 3/8/10 3805 end; //kt 8/19/05, 3/8/10 3805 3806 else 3806 3807 Exit; … … 3817 3818 tabPage.Tabs.Add(ALabel); 3818 3819 end; 3819 uTabColorsList.Add(IntToStr(ATabID)); //will put colors in later... //kt3820 {if uTabColorsList.IndexOf(ALabel) < 0 then //kt added 8/8/083821 uTabColorsList.Add(ALabel); //will put colors in later... //kt }3822 end; 3823 3824 procedure TfrmFrame.LoadTabColors( INIFile : TIniFile;ColorsList : TStringList);3820 TabColorsList.Add(IntToStr(ATabID)); //will put colors in later... //kt 3821 {if TabColorsList.IndexOf(ALabel) < 0 then //kt added 8/8/08 3822 TabColorsList.Add(ALabel); //will put colors in later... //kt } 3823 end; 3824 3825 procedure TfrmFrame.LoadTabColors(ColorsList : TStringList); 3825 3826 //kt added 8/8/08 Entire function 3826 3827 var i : integer; 3827 3828 sValue : string; 3828 3829 value : longword; 3830 DefColor : integer; 3831 const 3832 DEF_COLORS : array[0..11] of integer = 3833 (255, 3834 33023, 3835 16711935, 3836 65280, 3837 65535, 3838 65535, 3839 8388736, 3840 16776960, 3841 16512, 3842 65535, 3843 65535, 3844 65535 ); 3829 3845 begin 3830 3846 value :=0; 3831 uTabColorsEnabled := INIFile.ReadBool('TAB_COLORS','ENABLE',true);3847 TabColorsEnabled := uTMGOptions.ReadBool('TAB_COLORS ENABLE',true); 3832 3848 for i := 0 to ColorsList.Count-1 do begin 3833 //sValue := INIFile.ReadString('TAB_COLORS',ColorsList.Strings[i],IntToStr($00FFFF)); 3834 sValue := INIFile.ReadString('TAB_COLORS','Tab '+IntToStr(i),IntToStr($00FFFF)); 3849 if i <= 11 then DefColor := DEF_COLORS[i] 3850 else DefColor := ($00FFFF); 3851 sValue := uTMGOptions.ReadString('Tab '+IntToStr(i)+' Color',inttostr(DefColor)); 3835 3852 try 3836 3853 value := StrToInt(sValue) … … 3842 3859 end; 3843 3860 3844 procedure TfrmFrame.SaveTabColors( INIFile : TIniFile;ColorsList : TStringList);3861 procedure TfrmFrame.SaveTabColors(ColorsList : TStringList); 3845 3862 //kt added 8/8/08 Entire function 3846 3863 var i : integer; 3847 3864 begin 3848 3865 for i := 0 to ColorsList.Count-1 do begin 3849 //INIFile.WriteInteger('TAB_COLORS',ColorsList.Strings[i],longword(ColorsList.Objects[i])); 3850 INIFile.WriteInteger('TAB_COLORS','Tab '+IntToStr(i),longword(ColorsList.Objects[i])); 3851 end; 3852 INIFile.WriteBool('TAB_COLORS','ENABLE',uTabColorsEnabled); //kt 8/09 3866 uTMGOptions.WriteInteger('Tab '+IntToStr(i)+' Color',longword(ColorsList.Objects[i])); 3867 end; 3868 uTMGOptions.WriteBool('TAB_COLORS ENABLE',TabColorsEnabled); //kt 8/09 3853 3869 end; 3854 3870 … … 4016 4032 procedure TfrmFrame.pnlPatientClick(Sender: TObject); 4017 4033 begin 4018 ViewInfo(mnuViewDemo); 4034 //ViewInfo(mnuViewDemo); 4035 mnuViewDemoClick(Self); 4019 4036 end; 4020 4037 … … 4977 4994 color : TColor; 4978 4995 begin 4979 if uTabColorsEnabled then begin4996 if TabColorsEnabled then begin 4980 4997 ALabel := TTabControl(Control).Tabs[TabIndex]; 4981 4998 { 4982 colorIndex := uTabColorsList.IndexOf(ALabel);4999 colorIndex := TabColorsList.IndexOf(ALabel); 4983 5000 if colorIndex < 0 then color := clYellow 4984 else color := TColor( uTabColorsList.Objects[colorIndex]);5001 else color := TColor(TabColorsList.Objects[colorIndex]); 4985 5002 } 4986 color := TColor( uTabColorsList.Objects[TabIndex]);5003 color := TColor(TabColorsList.Objects[TabIndex]); 4987 5004 DrawTab(Control,TabIndex,Rect,color,Active); 4988 5005 end else begin 4989 5006 //this isn't working... This is not what I want. Fix later... 4990 //For now, uTabColorsEnabled should always be TRUE.5007 //For now, TabColorsEnabled should always be TRUE. 4991 5008 //Control.Canvas.FillRect(Rect); //elh we will try to alter the OwnerDraw property here 4992 //TabPage.OwnerDraw := uTabColorsEnabled;5009 //TabPage.OwnerDraw := TabColorsEnabled; 4993 5010 end; 4994 5011 end; … … 5108 5125 end; 5109 5126 5110 initialization 5127 procedure TfrmFrame.PrintLabels1Click(Sender: TObject); 5128 begin 5129 if frmPtLabelPrint <> nil then begin 5130 frmPtLabelPrint.PrepDialog(Patient); 5131 frmPtLabelPrint.ShowModal; 5132 end; 5133 end; 5134 5135 procedure TfrmFrame.mnuViewDemoClick(Sender: TObject); 5136 { displays patient inquiry report (which optionally allows new patient to be selected) } 5137 var 5138 SelectNew: Boolean; 5139 begin 5140 StatusText(TX_PTINQ); 5141 PatientInquiry(SelectNew); 5142 if Assigned(FLastPage) then 5143 FLastPage.FocusFirstControl; 5144 StatusText(''); 5145 if SelectNew then mnuFileOpenClick(mnuViewDemo); 5146 end; 5147 5148 initialization 5111 5149 5112 5150 finalization -
cprs/branches/tmg-cprs/CPRS-Chart/fImages.dfm
r453 r729 1 1 inherited frmImages: TfrmImages 2 Left = 1603 Top = 704 Width = 7 115 Height = 5 282 Left = 228 3 Top = 119 4 Width = 781 5 Height = 565 6 6 HelpContext = 5000 7 7 Caption = 'Images Page' … … 14 14 TextHeight = 13 15 15 inherited shpPageBottom: TShape 16 Top = 46917 Width = 7 0316 Top = 506 17 Width = 773 18 18 end 19 object Splitter1: TSplitter [1]19 object HorizSplitter: TSplitter [1] 20 20 Left = 0 21 21 Top = 77 22 Width = 7 0322 Width = 773 23 23 Height = 3 24 24 Cursor = crVSplit 25 Align = al Bottom25 Align = alTop 26 26 MinSize = 1 27 27 end 28 object Panel1: TPanel [2]28 object pnlTop: TPanel [2] 29 29 Left = 0 30 30 Top = 0 31 Width = 7 0331 Width = 773 32 32 Height = 77 33 Align = al Client33 Align = alTop 34 34 BevelOuter = bvNone 35 35 TabOrder = 0 36 36 object ButtonPanel: TPanel 37 Left = 53037 Left = 600 38 38 Top = 0 39 39 Width = 173 … … 52 52 Anchors = [akTop, akRight] 53 53 Caption = 'Upload Images' 54 Enabled = False 54 55 TabOrder = 0 55 56 OnClick = UploadImagesButtonClick … … 278 279 Left = 0 279 280 Top = 0 280 Width = 530281 Width = 600 281 282 Height = 77 282 283 Align = alClient … … 303 304 Left = 241 304 305 Top = 0 305 Width = 289306 Width = 359 306 307 Height = 77 307 308 Align = alClient … … 318 319 end 319 320 end 320 object Panel2: TPanel [3]321 object pnlBottom: TPanel [3] 321 322 Left = 0 322 323 Top = 80 323 Width = 703 324 Height = 389 325 Align = alBottom 326 Anchors = [akLeft, akTop, akRight, akBottom] 324 Width = 773 325 Height = 426 326 Align = alClient 327 327 BevelOuter = bvNone 328 328 TabOrder = 1 … … 331 331 Top = 0 332 332 Width = 80 333 Height = 389333 Height = 426 334 334 Align = alLeft 335 335 Images = ThumbsImageList … … 347 347 Left = 80 348 348 Top = 0 349 Width = 6 23350 Height = 389349 Width = 693 350 Height = 426 351 351 Align = alClient 352 352 TabOrder = 1 353 353 ControlData = { 354 4C000000 64400000342800000000000000000000000000000000000000000000354 4C000000A0470000072C00000000000000000000000000000000000000000000 355 355 000000004C000000000000000000000001000000E0D057007335CF11AE690800 356 356 2B2E126208000000000000004C0000000114020000000000C000000000000046 … … 362 362 LangData = { 363 363 090066726D496D61676573010200000001000000070043617074696F6E020000 364 00080048656C7046696C6501220000000D0073687050616765426F74746F6D00 365 00090053706C6974746572310000060050616E656C3100000B00427574746F6E 366 50616E656C0000120055706C6F6164496D61676573427574746F6E0101000000 367 03000000070043617074696F6E000A004D656D6F7350616E656C000009005370 368 6C6974746572320000100043757272656E74496D6167654D656D6F00000F0043 369 757272656E744E6F74654D656D6F0000060050616E656C3200000A0054616243 370 6F6E74726F6C00000A0057656242726F77736572000008006D6E754E6F746573 371 000007006D6E7556696577010100000004000000070043617074696F6E000C00 372 6D6E75566965774368617274010100000005000000070043617074696F6E000D 373 006D6E754368617274436F766572010100000006000000070043617074696F6E 374 000D006D6E75436861727450726F627301010000000700000007004361707469 375 6F6E000C006D6E7543686172744D656473010100000008000000070043617074 376 696F6E000E006D6E7543686172744F7264657273010100000009000000070043 377 617074696F6E000D006D6E7543686172744E6F74657301010000000A00000007 378 0043617074696F6E000D006D6E75436861727443736C747301010000000B0000 379 00070043617074696F6E000F006D6E7543686172745375726765727901010000 380 000C000000070043617074696F6E000E006D6E754368617274444353756D6D01 381 010000000D000000070043617074696F6E000C006D6E7543686172744C616273 382 01010000000E000000070043617074696F6E000F006D6E754368617274526570 383 6F72747301010000000F000000070043617074696F6E0002005A3300000D006D 384 6E7549636F6E4C6567656E64010100000010000000070043617074696F6E0006 385 006D6E75416374010100000011000000070043617074696F6E00150055706C6F 386 6164496D616765734D6E75416374696F6E010100000012000000070043617074 387 696F6E000A006D6E754F7074696F6E7301010000001300000007004361707469 388 6F6E0002004E3300000D0074696D4C6F6164496D6167657300000F005468756D 389 6273496D6167654C697374000011004F70656E506963747572654469616C6F67 390 0001050000000C005069637475726550616E656C00000C00506963747572654C 391 6162656C00000D0050726576696577427574746F6E0101000000140000000400 392 48696E74000A005061696E7450616E656C000008005061696E74426F780000} 364 00080048656C7046696C6501250000000D0073687050616765426F74746F6D00 365 000D00486F72697A53706C697474657200000600706E6C546F7000000B004275 366 74746F6E50616E656C0000120055706C6F6164496D61676573427574746F6E01 367 0100000003000000070043617074696F6E000A004D656D6F7350616E656C0000 368 090053706C6974746572320000100043757272656E74496D6167654D656D6F00 369 000F0043757272656E744E6F74654D656D6F00000900706E6C426F74746F6D00 370 000A00546162436F6E74726F6C00000A0057656242726F77736572000008006D 371 6E754E6F746573000007006D6E75566965770101000000040000000700436170 372 74696F6E000C006D6E7556696577436861727401010000000500000007004361 373 7074696F6E000D006D6E754368617274436F7665720101000000060000000700 374 43617074696F6E000D006D6E75436861727450726F6273010100000007000000 375 070043617074696F6E000C006D6E7543686172744D6564730101000000080000 376 00070043617074696F6E000E006D6E7543686172744F72646572730101000000 377 09000000070043617074696F6E000D006D6E7543686172744E6F746573010100 378 00000A000000070043617074696F6E000D006D6E75436861727443736C747301 379 010000000B000000070043617074696F6E000F006D6E75436861727453757267 380 65727901010000000C000000070043617074696F6E000E006D6E754368617274 381 444353756D6D01010000000D000000070043617074696F6E000C006D6E754368 382 6172744C61627301010000000E000000070043617074696F6E000F006D6E7543 383 686172745265706F72747301010000000F000000070043617074696F6E000200 384 5A3300000D006D6E7549636F6E4C6567656E6401010000001000000007004361 385 7074696F6E0006006D6E75416374010100000011000000070043617074696F6E 386 00150055706C6F6164496D616765734D6E75416374696F6E0101000000120000 387 00070043617074696F6E000A006D6E754F7074696F6E73010100000013000000 388 070043617074696F6E0002004E3300000D0074696D4C6F6164496D6167657300 389 000F005468756D6273496D6167654C697374000011004F70656E506963747572 390 654469616C6F670001050000000C005069637475726550616E656C00000C0050 391 6963747572654C6162656C00000D0050726576696577427574746F6E01010000 392 0014000000040048696E74000A005061696E7450616E656C000008005061696E 393 74426F7800000E004175746F5363616E55706C6F616401010000001500000007 394 0043617074696F6E000E005069636B5363616E466F6C64657201010000001600 395 0000070043617074696F6E000A004F70656E4469616C6F670000} 393 396 end 394 397 object mnuNotes: TMainMenu … … 482 485 object N3: TMenuItem 483 486 Caption = '-' 487 end 488 object AutoScanUpload: TMenuItem 489 Caption = '&Enable Auto-Scan/Upload' 490 OnClick = EnableAutoScanUploadClick 491 end 492 object PickScanFolder: TMenuItem 493 Caption = '&Pick Scan Folder' 494 OnClick = PickScanFolderClick 484 495 end 485 496 end … … 6845 6856 Top = 16 6846 6857 end 6858 object OpenDialog: TOpenDialog 6859 DefaultExt = '*.*' 6860 Filter = '*.*' 6861 Options = [ofPathMustExist, ofCreatePrompt, ofEnableSizing] 6862 Left = 64 6863 Top = 16 6864 end 6847 6865 end -
cprs/branches/tmg-cprs/CPRS-Chart/fImages.pas
r612 r729 64 64 ThumbsImageList: TImageList; 65 65 CurrentNoteMemo: TMemo; 66 Panel1: TPanel;67 Splitter1: TSplitter;66 pnlTop: TPanel; 67 HorizSplitter: TSplitter; 68 68 Splitter2: TSplitter; 69 69 UploadImagesButton: TBitBtn; … … 73 73 MemosPanel: TPanel; 74 74 UploadImagesMnuAction: TMenuItem; 75 Panel2: TPanel;75 pnlBottom: TPanel; 76 76 TabControl: TTabControl; 77 77 WebBrowser: TWebBrowser; 78 AutoScanUpload: TMenuItem; 79 PickScanFolder: TMenuItem; 80 OpenDialog: TOpenDialog; 78 81 procedure mnuChartTabClick(Sender: TObject); 79 82 procedure mnuActNewClick(Sender: TObject); … … 89 92 var ImageIndex: Integer); 90 93 procedure TabControlResize(Sender: TObject); 94 procedure EnableAutoScanUploadClick(Sender: TObject); 95 procedure PickScanFolderClick(Sender: TObject); 91 96 private 92 97 ImageInfoList : TList; … … 94 99 CurImageToLoad : integer; 95 100 InTimerFn : Boolean; 101 DropBoxDir : string; 102 UseDropBox : boolean; 96 103 procedure EnsureImageListLoaded(); 97 104 procedure ClearImageList(); … … 102 109 procedure UpdateNoteInfoMemo(); 103 110 procedure UpdateImageInfoMemo(Rec: TImageInfo); 111 function FileSize(fileName : wideString) : Int64; 104 112 public 105 113 CacheDir : AnsiString; … … 107 115 function Decode(input: AnsiString) : AnsiString; 108 116 function Encode(input: AnsiString) : AnsiString; 109 function DownloadFile(FPath,FName,LocalSaveFNamePath: AnsiString): boolean; 110 function UploadFile(LocalFNamePath,FPath,FName: AnsiString): boolean; 117 function DownloadFileViaDropbox(FPath,FName,LocalSaveFNamePath: AnsiString;CurrentImage,TotalImages: Integer): boolean; 118 function DownloadFile(FPath,FName,LocalSaveFNamePath: AnsiString;CurrentImage,TotalImages: Integer): boolean; 119 function UploadFileViaDropBox(LocalFNamePath,FPath,FName: AnsiString;CurrentImage,TotalImages: Integer): boolean; 120 function UploadFile(LocalFNamePath,FPath,FName: AnsiString;CurrentImage,TotalImages: Integer): boolean; 111 121 procedure SplitLinuxFilePath(FullPathName : AnsiString; 112 122 var Path : AnsiString; … … 114 124 procedure GetImageList(); 115 125 procedure NewNoteSelected(EditIsActive : boolean); 126 function CreateBarcode(MsgStr: AnsiString; ImageType: AnsiString): AnsiString; 127 function DecodeBarcode(LocalFNamePath,ImageType: AnsiString): AnsiString; 116 128 published 117 129 end; … … 134 146 mshtml, {//kt added 5-2-05} 135 147 UploadImages, {//kt added 9/25/05} 136 UPloadProgress, {//kt 10-1-05} 137 rHTMLTools, fNotes; {//kt added 5-27-05 for IsHTMLDocument} 148 //ImageTransferForm, {//kt 10-1-05} 149 uTMGOptions, //kt 3/10/10 150 rHTMLTools, fNotes, frmImageTransferProgress; {//kt added 5-27-05 for IsHTMLDocument} 138 151 139 152 … … 146 159 if CurImageToLoad <> -1 then begin //-1 means RPC-> no avail images. 147 160 if CurImageToLoad < ImageInfoList.Count then begin 161 ImageTransferForm.ProgressMsg.Caption := 'Downloading Images'; 162 //if ImageTransferForm.Visible = false then begin 163 // ImageTransferForm.Show; 164 //end; 148 165 DownloadToCache(CurImageToLoad); //Only load 1 image per timer firing. 149 166 SetupTab(CurImageToLoad); … … 153 170 end else begin 154 171 timLoadImages.Enabled := false; 172 //ImageTransferForm.ProgressBar.Position := 100; 173 //Sleep(1000); 174 //ImageTransferForm.Hide; 155 175 end; 156 176 end; … … 193 213 NullImageName := ExtractFilePath(ParamStr(0)) + 'images\blank.htm'; 194 214 if not DirectoryExists(CacheDir) then ForceDirectories(CacheDir); 215 216 UseDropBox := uTMGOptions.ReadBool('Use dropbox directory for transfers',false); 217 DropBoxDir := uTMGOptions.ReadString('Dropbox directory','??'); 218 if DropBoxDir='??' then begin //just on first run. 219 uTMGOptions.WriteBool('Use dropbox directory for transfers',false); 220 uTMGOptions.WriteString('Dropbox directory',''); 221 end; 222 AutoScanUpload.Checked := uTMGOptions.ReadBool('Scan Enabled',false); 195 223 end; 196 224 … … 206 234 var 207 235 TIUIEN : AnsiString; 208 236 209 237 begin 210 238 inherited; … … 396 424 try 397 425 TIUIEN := IntToStr(frmNotes.lstNotes.ItemID); 398 StatusText('Retrieving images information...'); 399 CallV('MAG3 CPRS TIU NOTE', [TIUIEN]); 400 for i:=0 to (RPCBrokerV.Results.Count-1) do begin 401 s :=RPCBrokerV.Results[i]; 402 if i=0 then begin 403 if piece(s,'^',1)='0' then break //i.e. abort due to error signal 404 else continue; //ignore rest of header (record #0) 405 end; 406 Rec := TImageInfo.Create; // ImageInfoList will own this. 407 Rec.LongDesc := nil; 408 Rec.TabIndex := -1; 409 Rec.TabImageIndex := 0; 410 s2 := piece(s,'^',2); if s2='' then s2 := '0'; //IEN 411 Rec.IEN := StrToInt(s2); 412 ImageFPathName := piece(s,'^',3); //Image FullPath and name 413 ThumbnailFPathName := piece(s,'^',4); //Abstract FullPath and Name 414 Rec.ShortDesc := piece(s,'^',5); //SHORT DESCRIPTION field 415 s2 := piece(s,'^',6); if s2='' then s2 := '0'; //PROCEDURE/ EXAM DATE/TIME field 416 Rec.DateTime := s2; 417 s2 := piece(s,'^',7); if s2='' then s2 := '0'; //OBJECT TYPE 418 Rec.ImageType := StrToInt(s2); 419 Rec.ProcName := piece(s,'^',8); //PROCEDURE field 420 Rec.DisplayDate := piece(s,'^',9); //Procedure Date in Display format 421 s2 := piece(s,'^',10); if s2='' then s2 := '0'; //PARENT DATA FILE image pointer 422 Rec.ParentDataFileIEN := StrToInt(s2); 423 Rec.AbsType := piece(s,'^',11)[1]; //the ABSTYPE : 'M' magnetic 'W' worm 'O' offline 424 Rec.Accessibility := piece(s,'^',12)[1]; //Image accessibility 'A' accessable or 'O' offline 425 s2 := piece(s,'^',13); if s2='' then s2 := '0'; //Dicom Series number 426 Rec.DicomSeriesNum := StrToInt(s2); 427 s2 := piece(s,'^',14); if s2='' then s2 := '0'; //Dicom Image Number 428 Rec.DicomImageNum := StrToInt(s2); 429 s2 := piece(s,'^',15); if s2='' then s2 := '0'; //Count of images in the group, or 1 if a single image 430 Rec.GroupCount := StrToInt(s2); 431 432 SplitLinuxFilePath(ImageFPathName,ServerPathName,ServerFName); 433 Rec.ServerPathName := ServerPathName; 434 Rec.ServerFName := ServerFName; 435 Rec.CacheFName := CacheDir + '\' + ServerFName; 436 SplitLinuxFilePath(ThumbnailFPathName,ServerPathName,ServerFName); 437 Rec.ServerThumbPathName := ServerPathName; 438 Rec.ServerThumbFName := ServerFName; 439 Rec.CacheThumbFName := CacheDir + '\' + ServerFName; 440 ImageInfoList.Add(Rec); // ImageInfoList will own Rec. 441 end; 442 for i:= 0 to ImageInfoList.Count-1 do begin 443 Rec := TImageInfo(ImageInfoList.Items[i]); 444 ImageIEN := Rec.IEN; 445 CallV('TMG GET IMAGE LONG DESCRIPTION', [ImageIEN]); 446 for j:=0 to (RPCBrokerV.Results.Count-1) do begin 447 if (j>0) then begin 448 if Rec.LongDesc = nil then Rec.LongDesc := TStringList.Create; 449 Rec.LongDesc.Add(RPCBrokerV.Results.Strings[j]); 450 end else begin 451 if RPCBrokerV.Results[j]='' then break; 452 end; 453 end; 454 end; 426 455 427 except 456 428 //Error occurs after note is signed, and frmNotes.lstNotes.ItemID is "inaccessible" 457 429 on E: Exception do exit; 458 430 end; 431 //----MOVED 432 StatusText('Retrieving images information...'); 433 CallV('MAG3 CPRS TIU NOTE', [TIUIEN]); 434 for i:=0 to (RPCBrokerV.Results.Count-1) do begin 435 s :=RPCBrokerV.Results[i]; 436 if i=0 then begin 437 if piece(s,'^',1)='0' then break //i.e. abort due to error signal 438 else continue; //ignore rest of header (record #0) 439 end; 440 if Pos('-1~',s)>0 then continue; //abort if error signal. 441 Rec := TImageInfo.Create; // ImageInfoList will own this. 442 Rec.LongDesc := nil; 443 Rec.TabIndex := -1; 444 Rec.TabImageIndex := 0; 445 s2 := piece(s,'^',2); if s2='' then s2 := '0'; //IEN 446 Rec.IEN := StrToInt(s2); 447 ImageFPathName := piece(s,'^',3); //Image FullPath and name 448 ThumbnailFPathName := piece(s,'^',4); //Abstract FullPath and Name 449 Rec.ShortDesc := piece(s,'^',5); //SHORT DESCRIPTION field 450 s2 := piece(s,'^',6); if s2='' then s2 := '0'; //PROCEDURE/ EXAM DATE/TIME field 451 Rec.DateTime := s2; 452 s2 := piece(s,'^',7); if s2='' then s2 := '0'; //OBJECT TYPE 453 Rec.ImageType := StrToInt(s2); 454 Rec.ProcName := piece(s,'^',8); //PROCEDURE field 455 Rec.DisplayDate := piece(s,'^',9); //Procedure Date in Display format 456 s2 := piece(s,'^',10); if s2='' then s2 := '0'; //PARENT DATA FILE image pointer 457 Rec.ParentDataFileIEN := StrToInt(s2); 458 Rec.AbsType := piece(s,'^',11)[1]; //the ABSTYPE : 'M' magnetic 'W' worm 'O' offline 459 s2 := piece(s,'^',12); if s2='' then s2 :='O'; 460 Rec.Accessibility := s2[1]; //Image accessibility 'A' accessable or 'O' offline 461 s2 := piece(s,'^',13); if s2='' then s2 := '0'; //Dicom Series number 462 Rec.DicomSeriesNum := StrToInt(s2); 463 s2 := piece(s,'^',14); if s2='' then s2 := '0'; //Dicom Image Number 464 Rec.DicomImageNum := StrToInt(s2); 465 s2 := piece(s,'^',15); if s2='' then s2 := '0'; //Count of images in the group, or 1 if a single image 466 Rec.GroupCount := StrToInt(s2); 467 468 SplitLinuxFilePath(ImageFPathName,ServerPathName,ServerFName); 469 Rec.ServerPathName := ServerPathName; 470 Rec.ServerFName := ServerFName; 471 Rec.CacheFName := CacheDir + '\' + ServerFName; 472 SplitLinuxFilePath(ThumbnailFPathName,ServerPathName,ServerFName); 473 Rec.ServerThumbPathName := ServerPathName; 474 Rec.ServerThumbFName := ServerFName; 475 Rec.CacheThumbFName := CacheDir + '\' + ServerFName; 476 ImageInfoList.Add(Rec); // ImageInfoList will own Rec. 477 end; 478 for i:= 0 to ImageInfoList.Count-1 do begin 479 Rec := TImageInfo(ImageInfoList.Items[i]); 480 ImageIEN := Rec.IEN; 481 CallV('TMG GET IMAGE LONG DESCRIPTION', [ImageIEN]); 482 for j:=0 to (RPCBrokerV.Results.Count-1) do begin 483 if (j>0) then begin 484 if Rec.LongDesc = nil then Rec.LongDesc := TStringList.Create; 485 Rec.LongDesc.Add(RPCBrokerV.Results.Strings[j]); 486 end else begin 487 if RPCBrokerV.Results[j]='' then break; 488 end; 489 end; 490 end; 491 //----END MOVED 459 492 StatusText(''); 460 493 end; … … 473 506 ServerPathName := Rec.ServerPathName; 474 507 if not FileExists(Rec.CacheFName) then begin 475 DownloadFile(ServerPathName,ServerFName,Rec.CacheFName );508 DownloadFile(ServerPathName,ServerFName,Rec.CacheFName,(ImageIndex*2)-1,ImageInfoList.Count*2); 476 509 end; 477 510 ServerFName := Rec.ServerThumbFName; 478 511 ServerPathName := Rec.ServerThumbPathName; 479 512 if not FileExists(Rec.CacheThumbFName) then begin 480 DownloadFile(ServerPathName,ServerFName,Rec.CacheThumbFName );513 DownloadFile(ServerPathName,ServerFName,Rec.CacheThumbFName,ImageIndex*2,ImageInfoList.Count*2); 481 514 end; 482 515 Application.ProcessMessages; … … 502 535 503 536 504 function TfrmImages.UploadFile(LocalFNamePath,FPath,FName: AnsiString): boolean; 537 function TfrmImages.UploadFileViaDropBox(LocalFNamePath,FPath,FName: AnsiString;CurrentImage,TotalImages: Integer): boolean; 538 var 539 DropboxFile : AnsiString; 540 begin 541 //First copy LocalFileNamePath --> DropBox\FileName 542 DropboxFile := ExcludeTrailingBackslash(DropboxDir) + '\' + FName; 543 if CopyFile(pchar(LocalFNamePath),pchar(DropboxFile),false)=false then begin 544 MessageDlg('Dropbox file transfer failed. Code='+InttoStr(GetLastError), 545 mtError,[mbOK],0); 546 result := false; 547 exit; 548 end; 549 550 // CallV('TMG UPLOAD FILE DROPBOX', ...); 551 RPCBrokerV.ClearParameters := true; 552 RPCBrokerV.remoteprocedure := 'TMG UPLOAD FILE DROPBOX'; 553 RPCBrokerV.param[0].PType := literal; 554 RPCBrokerV.param[0].Value := FPath; 555 RPCBrokerV.Param[1].PType := literal; 556 RPCBrokerV.Param[1].Value := FName; 557 RPCBrokerV.Param[2].PType := literal; 558 RPCBrokerV.Param[2].Value := '1'; //see comments in UploadFile re '1' hardcoding 559 560 RPCBrokerV.Call; //Move file into dropbox. 561 Result := (Piece(RPCBrokerV.Results[0],'^',1)='1'); //1=success, 0=failure 562 end; 563 564 565 function TfrmImages.UploadFile(LocalFNamePath,FPath,FName: AnsiString;CurrentImage,TotalImages: Integer): boolean; 505 566 const 506 567 RefreshInterval = 500; … … 523 584 result := false; //default of failure 524 585 if not FileExists(LocalFNamePath) then exit; 586 if UseDropBox then begin 587 Result := UploadFileViaDropBox(LocalFNamePath,FPath,FName,CurrentImage,TotalImages); 588 exit; 589 end; 525 590 try 526 591 InFile := TFileStream.Create(LocalFNamePath,fmOpenRead or fmShareCompat); … … 529 594 // the RPC call, and I can't make a progress bar change during that... 530 595 // (or I could, but I'm not going to change the RPC broker...) 531 UploadProgressForm.setMax(InFile.Size);532 // UploadProgressForm.ResetStartTime;533 UploadProgressForm.ProgressMsg.Caption := 'Prepairing to upload...';534 UploadProgressForm.Show;596 ImageTransferForm.setMax(InFile.Size); 597 //ImageTransferForm.ResetStartTime; 598 ImageTransferForm.ProgressMsg.Caption := 'Preparing to upload...'; 599 ImageTransferForm.Show; 535 600 totalReadCount := 0; 536 601 except … … 567 632 LocalOutFile.Write(Buffer,ReadCount); //for local copy 568 633 totalReadCount := totalReadCount + ReadCount; 569 UploadProgressForm.updateProgress(totalReadCount);634 ImageTransferForm.updateProgress(totalReadCount); 570 635 OneLine := ''; 571 636 if ReadCount > 0 then begin … … 588 653 SavedCursor := Screen.Cursor; 589 654 Screen.Cursor := crHourGlass; 590 UploadProgressForm.ProgressMsg.Caption := 'Uploading file to server...';655 ImageTransferForm.ProgressMsg.Caption := 'Uploading file to server...'; 591 656 Application.ProcessMessages; 592 657 … … 595 660 RPCResult := RPCBrokerV.Results[0]; 596 661 result := (Piece(RPCResult,'^',1)='1'); 597 UploadProgressForm.Hide;662 ImageTransferForm.Hide; 598 663 if result=false then begin 599 664 Application.MessageBox('Error uploading file','Error'); … … 606 671 607 672 608 function TfrmImages.DownloadFile(FPath,FName,LocalSaveFNamePath: AnsiString): boolean; 673 function TfrmImages.DownloadFileViaDropbox(FPath,FName,LocalSaveFNamePath: AnsiString;CurrentImage,TotalImages: Integer): boolean; 674 var 675 DropboxFile : AnsiString; 676 CurrentFileSize : Integer; 677 begin 678 // CallV('TMG DOWNLOAD FILE DROPBOX', ...); 679 RPCBrokerV.ClearParameters := true; 680 RPCBrokerV.remoteprocedure := 'TMG DOWNLOAD FILE DROPBOX'; 681 RPCBrokerV.param[0].PType := literal; 682 RPCBrokerV.param[0].Value := FPath; 683 RPCBrokerV.Param[1].PType := literal; 684 RPCBrokerV.Param[1].Value := FName; 685 RPCBrokerV.Param[2].PType := literal; 686 RPCBrokerV.Param[2].Value := '1'; //see comments in UploadFile re '1' hardcoding 687 688 RPCBrokerV.Call; //Move file into dropbox. 689 Result := (Piece(RPCBrokerV.Results[0],'^',1)='1'); //1=success, 0=failure 690 CurrentFileSize := strtoint(Piece(RPCBrokerV.Results[0],'^',3)); //Piece 3 = file size 691 692 if Result=true then begin 693 DropboxFile := ExcludeTrailingBackslash(DropboxDir) + '\' + FName; 694 if ImageTransferForm.visible = False then ImageTransferForm.show; 695 while FileSize(DropboxFile) <> CurrentFileSize do sleep(1000); //elh 696 ImageTransferForm.ProgressBar.Max := TotalImages; //elh 697 ImageTransferForm.ProgressBar.Position := CurrentImage+2; //elh 698 if TotalImages = (CurrentImage+2) then begin 699 Sleep(1000); 700 ImageTransferForm.hide; 701 end; 702 //Now move DropBox\FileName --> LocalFileNamePath 703 if MoveFile(pchar(DropboxFile),pchar(LocalSaveFNamePath))=false then begin 704 MessageDlg('Dropbox file transfer failed. Code='+InttoStr(GetLastError), 705 mtError,[mbOK],0); 706 end; 707 end; 708 end; 709 710 711 function TfrmImages.DownloadFile(FPath,FName,LocalSaveFNamePath: AnsiString;CurrentImage,TotalImages: Integer): boolean; 609 712 var 610 713 i,count : integer; … … 621 724 if FileExists(LocalSaveFNamePath) then begin 622 725 DeleteFile(LocalSaveFNamePath); 726 end; 727 if UseDropBox then begin 728 Result := DownloadFileViaDropBox(FPath,FName,LocalSaveFNamePath,CurrentImage,TotalImages); 729 exit; 623 730 end; 624 731 Result := true; //default to success; … … 916 1023 end; 917 1024 1025 function TfrmImages.CreateBarcode(MsgStr: AnsiString; ImageType: AnsiString): AnsiString; 1026 //Create a local barcode file, in .png format, from MsgStr 1027 //ImageType is optional, default ='png'. It should NOT contain '.' 1028 //Returns file path on local client of new barcode image. 1029 //Note: this function is not related to uploading or downloading images 1030 // to the server for attaching to progress notes. It is included 1031 // in this unit because the functionality used is nearly identical to 1032 // the other code. 1033 function UniqueFName : AnsiString; 1034 var FName,tempFName : AnsiString; 1035 count : integer; 1036 begin 1037 FName := 'Barcode-Image'; 1038 count := 0; 1039 repeat 1040 tempFName := CacheDir + '\' + FName + '.' + ImageType; 1041 FName := FName + '1'; 1042 count := count+1; 1043 until (fileExists(tempFName)=false) or (count> 32); 1044 result := tempFName; 1045 end; 1046 1047 var 1048 i,count : integer; 1049 j : word; 1050 OutFile : TFileStream; 1051 s : AnsiString; 1052 Buffer : array[0..1024] of byte; 1053 LocalSaveFNamePath : AnsiString; 1054 1055 begin 1056 StatusText('Getting Barcode...'); 1057 LocalSaveFNamePath := UniqueFName; 1058 Result := LocalSaveFNamePath; //default to success; 1059 1060 // CallV('TMG BARCODE ENCODE', [MsgStr]); 1061 RPCBrokerV.ClearParameters := true; 1062 RPCBrokerV.remoteprocedure := 'TMG BARCODE ENCODE'; 1063 RPCBrokerV.param[0].Value := MsgStr; 1064 RPCBrokerV.param[0].PType := literal; 1065 RPCBrokerV.Param[1].Value := '.X'; //<-- is this needed or used? 1066 RPCBrokerV.Param[1].PType := list; 1067 RPCBrokerV.Param[1].Mult['"IMAGE TYPE"'] := ImageType; 1068 RPCBrokerV.Call; 1069 1070 Application.ProcessMessages; 1071 //Note:RPCBrokerV.Results[0]=1 if successful load, =0 if failure 1072 if (RPCBrokerV.Results.Count>0) and (RPCBrokerV.Results[0]='1') then begin 1073 OutFile := TFileStream.Create(LocalSaveFNamePath,fmCreate); 1074 for i:=1 to (RPCBrokerV.Results.Count-1) do begin 1075 s :=Decode(RPCBrokerV.Results[i]); 1076 count := Length(s); 1077 if count>1024 then begin 1078 Result := ''; //failure of load. 1079 break; 1080 end; 1081 for j := 1 to count do Buffer[j-1] := ord(s[j]); 1082 OutFile.Write(Buffer,count); 1083 end; 1084 OutFile.Free; 1085 end else begin 1086 result := ''; 1087 end; 1088 StatusText(''); 1089 end; 1090 1091 1092 function TfrmImages.DecodeBarcode(LocalFNamePath,ImageType: AnsiString): AnsiString; 1093 //Decode data from barcode on image, or return '' if none 1094 //Note: if I could find a cost-effective way of decoding this on client side, 1095 // then that code be done here in the function, instead of uploading image 1096 // to the server for decoding. 1097 const 1098 RefreshInterval = 500; 1099 BlockSize = 512; 1100 1101 var 1102 ReadCount : Word; 1103 ParamIndex : LongWord; 1104 j : word; 1105 InFile : TFileStream; 1106 Buffer : array[0..1024] of byte; 1107 RefreshCountdown : integer; 1108 OneLine : AnsiString; 1109 RPCResult : AnsiString; 1110 SavedCursor : TCursor; 1111 totalReadCount : integer; 1112 begin 1113 result := ''; //default of failure 1114 if not FileExists(LocalFNamePath) then exit; 1115 try 1116 InFile := TFileStream.Create(LocalFNamePath,fmOpenRead or fmShareCompat); 1117 //Note: I may well cut this out. Most of the delay occurs during 1118 // the RPC call, and I can't make a progress bar change during that... 1119 // (or I could, but I'm not going to change the RPC broker...) 1120 ImageTransferForm.setMax(InFile.Size); 1121 //ImageTransferForm.ResetStartTime; 1122 ImageTransferForm.ProgressMsg.Caption := 'Preparing to upload...'; 1123 ImageTransferForm.Show; 1124 totalReadCount := 0; 1125 except 1126 // catch failure here... on eError... 1127 exit; 1128 end; 1129 1130 StatusText('Checking image for barcodes...'); 1131 Application.ProcessMessages; 1132 1133 RPCBrokerV.ClearParameters := true; 1134 RPCBrokerV.Param.Clear; 1135 RPCBrokerV.Param[0].PType := list; 1136 ParamIndex := 0; 1137 RefreshCountdown := RefreshInterval; 1138 //Put image data into parameter 0 (ARRAY parameter of RPC on server side) 1139 repeat 1140 ReadCount := InFile.Read(Buffer,BlockSize); 1141 OneLine := ''; 1142 totalReadCount := totalReadCount + ReadCount; 1143 ImageTransferForm.updateProgress(totalReadCount); 1144 if ReadCount > 0 then begin 1145 SetLength(OneLine,ReadCount); 1146 for j := 1 to ReadCount do OneLine[j] := char(Buffer[j-1]); 1147 RPCBrokerV.Param[0].Mult[IntToStr(ParamIndex)] := Encode(OneLine); 1148 Inc(ParamIndex); 1149 Dec(RefreshCountdown); 1150 if RefreshCountdown < 1 then begin 1151 Application.ProcessMessages; 1152 RefreshCountdown := RefreshInterval; 1153 end; 1154 end; 1155 until (ReadCount < BlockSize); 1156 RPCBrokerV.Param[1].PType := literal; 1157 RPCBrokerV.Param[1].Value := ImageType; 1158 1159 RPCBrokerV.remoteprocedure := 'TMG BARCODE DECODE'; 1160 1161 SavedCursor := Screen.Cursor; 1162 Screen.Cursor := crHourGlass; 1163 ImageTransferForm.ProgressMsg.Caption := 'Uploading file to server...'; 1164 Application.ProcessMessages; 1165 1166 CallBroker; //this is the slow step, pass to server and get response. 1167 1168 Screen.Cursor := SavedCursor; 1169 ImageTransferForm.Hide; 1170 //Get result: 1^DecodedMessage, or 0^Error Message 1171 RPCResult := RPCBrokerV.Results[0]; 1172 if Piece(RPCResult,'^',1)='0' then begin 1173 MessageDlg(Piece(RPCResult,'^',2),mtError,[mbOK],0); 1174 end else begin 1175 result := Piece(RPCResult,'^',2); 1176 end; 1177 1178 InFile.Free; 1179 StatusText(''); 1180 end; 1181 1182 1183 procedure TfrmImages.EnableAutoScanUploadClick(Sender: TObject); 1184 begin 1185 inherited; 1186 AutoScanUpload.Checked := not AutoScanUpload.Checked; 1187 uTMGOptions.WriteBool('Scan Enabled',AutoScanUpload.Checked); 1188 end; 1189 1190 1191 procedure TfrmImages.PickScanFolderClick(Sender: TObject); 1192 var 1193 CurScanDir : string; 1194 begin 1195 inherited; 1196 CurScanDir := UploadForm.ScanDir; 1197 OpenDialog.InitialDir := CurScanDir; 1198 MessageDlg('Please pick ANY file in the desired directory.',mtInformation,[mbOK],0); 1199 if OpenDialog.Execute then begin 1200 UploadForm.SetScanDir(ExtractFilePath(OpenDialog.FileName)); 1201 end; 1202 AutoScanUpload.Checked := true; 1203 end; 1204 1205 function TfrmImages.FileSize(fileName : wideString) : Int64; 1206 var 1207 sr : TSearchRec; 1208 begin 1209 if FindFirst(fileName, faAnyFile, sr ) = 0 then 1210 result := Int64(sr.FindData.nFileSizeHigh) shl Int64(32) + Int64(sr.FindData.nFileSizeLow) 1211 else 1212 result := -1; 1213 1214 FindClose(sr) ; 1215 end; 1216 918 1217 initialization 919 1218 //put init code here -
cprs/branches/tmg-cprs/CPRS-Chart/fNotes.pas
r686 r729 399 399 //fImages, {//kt added 9-20-05} 400 400 fOptionsNotes, //kt 8/09 401 rHTMLTools ; {//kt added 5-27-05 for IsHTMLDocument}401 rHTMLTools, fImages; {//kt added 5-27-05 for IsHTMLDocument} 402 402 403 403 const … … 1745 1745 //kt 8/09 memNote.Repaint; 1746 1746 NotifyOtherApps(NAE_REPORT, 'TIU^' + lstNotes.ItemID); 1747 //kt RESTORE LATER...frmImages.NewNoteSelected(Editing); //kt 9/051747 frmImages.NewNoteSelected(Editing); //kt 9/05 1748 1748 DisplayPCE; //kt 5-31-05 (move down from above) 1749 1749 BroadcastImages(Note); //kt 8/09 … … 4548 4548 begin 4549 4549 with frmNotes do begin 4550 //ScanForSubs(MemNote.Lines);4550 4551 4551 pnlHtmlViewer.Visible := true; 4552 4552 //memNote.Visible := false; -
cprs/branches/tmg-cprs/CPRS-Chart/fPtDemo.dfm
r453 r729 1 1 object frmPtDemo: TfrmPtDemo 2 Left = 1693 Top = 3204 Width = 5902 Left = 285 3 Top = 185 4 Width = 613 5 5 Height = 300 6 6 BorderIcons = [biSystemMenu] … … 34 34 Left = 0 35 35 Top = 0 36 Width = 58236 Width = 605 37 37 Height = 229 38 38 Align = alClient … … 58 58 Left = 0 59 59 Top = 229 60 Width = 58260 Width = 605 61 61 Height = 37 62 62 Align = alBottom … … 70 70 Caption = 'Select New Patient' 71 71 TabOrder = 0 72 WordWrap = True 72 73 OnClick = cmdNewPtClick 73 74 end … … 97 98 Width = 145 98 99 Height = 21 100 BiDiMode = bdRightToLeftNoAlign 99 101 Caption = '&Edit Patient Demographics' 102 ParentBiDiMode = False 100 103 TabOrder = 3 104 WordWrap = True 101 105 OnClick = EditaPtButtonClick 102 106 end -
cprs/branches/tmg-cprs/CPRS-Chart/fReview.dfm
r453 r729 1 1 object frmReview: TfrmReview 2 Left = 3593 Top = 1372 Left = -681 3 Top = 207 4 4 AutoScroll = False 5 5 BorderIcons = [biMaximize] … … 322 322 end 323 323 end 324 object TMGAutoPrintCKBox: TCheckBox 325 Left = 443 326 Top = 435 327 Width = 142 328 Height = 17 329 Anchors = [akRight, akBottom] 330 Caption = 'Print note(s) after signing' 331 Checked = True 332 State = cbChecked 333 TabOrder = 9 334 end 324 335 object poBACopyPaste: TPopupMenu 325 336 Left = 384 … … 351 362 Top = 248 352 363 LangData = { 353 090066726D526576696577010100000001000000070043617074696F6E011 900364 090066726D526576696577010100000001000000070043617074696F6E011A00 354 365 00000B006C61446961676E6F736973010100000002000000070043617074696F 355 366 6E000C00706E6C5369676E6174757265000009006C626C4553436F6465010100 … … 392 403 6173746531010100000024000000070043617074696F6E000A00446961676E6F 393 404 73697331010100000025000000070043617074696F6E00050045786974310101 394 00000026000000070043617074696F6E00} 405 00000026000000070043617074696F6E001100544D474175746F5072696E7443 406 4B426F78010100000027000000070043617074696F6E00} 395 407 end 396 408 end -
cprs/branches/tmg-cprs/CPRS-Chart/fReview.pas
r453 r729 41 41 lblSig: TStaticText; 42 42 DKLanguageController1: TDKLanguageController; 43 TMGAutoPrintCKBox: TCheckBox; 43 44 procedure FormCreate(Sender: TObject); 44 45 procedure lstReviewDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); … … 104 105 procedure SetCheckBoxStatus(thisOrderID: string); 105 106 function GetCheckBoxStatus(sourceOrderID : string) : string; overload; 106 function GetCheckBoxStatus(gridItemIndex : smallint) : string; overload; 107 function GetCheckBoxStatus(gridItemIndex : smallint) : string; overload; 107 108 function GetNonNilItemCount : integer; //CQ5172 108 109 end; … … 163 164 //TX_NO_DX = 'A Diagnosis must be selected prior to signing any of the following order types:' <-- original line. //kt 8/7/2007 164 165 // + CRLF + 'Outpatient Lab,Radiology, Outpatient Medications, Prosthetics.'; <-- original line. //kt 8/7/2007 165 166 DONT_SIGN = 'Don''t Sign'; //kt 166 167 var 167 168 TXT_ENCNT : string; //kt … … 867 868 868 869 procedure TfrmReview.txtESCodeChange(Sender: TObject); 869 begin 870 if(not pnlSignature.Visible) then 870 var HasDocToSign, ShowAutoPrint : boolean; //kt 871 i : integer; //kt 872 begin 873 //kt --- Begin Mod --- 874 ShowAutoPrint := false; //kt Only show when button caption = 'Sign' 875 HasDocToSign := false; 876 for i := 0 to lstReview.Items.Count - 1 do begin 877 if lstReview.Items.Objects[i] = nil then continue; 878 if (TChangeItem(lstReview.Items.Objects[i]).ItemType = CH_DOC) and (lstReview.Checked[i]) then begin 879 HasDocToSign := true; 880 break; 881 end; 882 end; 883 //kt --- End Mod --- 884 885 if(not pnlSignature.Visible) then begin 886 cmdOK.Caption := 'OK'; 887 end else begin 888 if Length(txtESCode.Text) > 0 then begin 889 cmdOK.Caption := 'Sign'; 890 if HasDocToSign then ShowAutoPrint := true; //kt 891 end else begin 892 //kt if FCouldSign then cmdOK.Caption := 'Don''t Sign' else cmdOK.Caption := 'OK'; 893 if FCouldSign then begin 894 //cmdOK.Caption := DONT_SIGN 895 cmdOK.Caption := DKLangConstW('fReview_Donxxt_Sign') 896 end else begin 897 cmdOK.Caption := 'OK'; //kt added 8/7/2007 898 end; 899 { Original Line 900 if(not pnlSignature.Visible) then 871 901 cmdOK.Caption := 'OK' 872 902 else … … 876 906 // if FCouldSign then cmdOK.Caption := 'Don''t Sign' else cmdOK.Caption := 'OK'; <-- original line. //kt 8/7/2007 877 907 if FCouldSign then cmdOK.Caption := DKLangConstW('fReview_Donxxt_Sign') else cmdOK.Caption := 'OK'; //kt added 8/7/2007 908 } 878 909 end; 879 910 end; 911 TMGAutoPrintCKBox.Visible := ShowAutoPrint; //kt 880 912 end; 881 913 … … 1315 1347 // PrintNote(StrToInt(ChangeItem.ID), ChangeItem.Text); 1316 1348 //end; 1349 if TMGAutoPrintCKBox.Visible and TMGAutoPrintCKBox.Checked then begin 1350 PrintNote(StrToInt(ChangeItem.ID), ChangeItem.Text); 1351 end; 1317 1352 {--- End K. Toppenberg's modificaton //kt --} 1318 1353 end else frmNotes.SaveSignItem(ChangeItem.ID, ''); -
cprs/branches/tmg-cprs/CPRS-Chart/fVitals.pas
r453 r729 177 177 GMV_FName, 178 178 GMV_LibName: String; 179 //kt start ------------- 180 aDFN, aLocation, 181 DateStart, DateStop, 182 aSignature, 183 aContextIn,aContextOut, 184 aName,anInfo, 185 aDynamicParameter {HospitolName^Vital Type Abbreviation} :String; 186 //kt end ------------------ 187 179 188 begin 180 189 { Availble Forms: … … 192 201 begin 193 202 @VLPtVitals := GetProcAddress(VitalsDLLHandle,PChar(GMV_FName)); 194 if assigned(VLPtVitals) then 203 if assigned(VLPtVitals) then begin 195 204 VLPtVitals(RPCBrokerV,Patient.DFN,FloatToStr(Encounter.Location), 196 205 getVitalsStartDate(),FormatDateTime('mm/dd/yy',Now), … … 200 209 frmFrame.lblPtSSN.Caption + ' ' + frmFrame.lblPtAge.Caption, 201 210 Encounter.LocationName +U+ VitalType) 202 e lse211 end else 203 212 // MessageDLG('Can''t find function "'+GMV_FName+'".',mtError,[mbok],0); <-- original line. //kt 8/17/2007 204 213 MessageDLG(DKLangConstW('fVitals_Canxxt_find_function_x')+GMV_FName+'".',mtError,[mbok],0); //kt added 8/17/2007 -
cprs/branches/tmg-cprs/CPRS-Chart/rHTMLTools.pas
r686 r729 37 37 procedure RestoreIEPrinting; 38 38 function ExtractDateOfNote(Lines : TStringList) : string; 39 Procedure ScanForSubs(Lines : TStrings); 39 40 40 41 implementation … … 46 47 fTMGPrintingAnimation, 47 48 ExtCtrls, 49 uTemplateFields, 48 50 fTemplateDialog, 49 51 StrUtils; … … 160 162 161 163 try 164 rHTMLTools.ScanForSubs(Lines); //Added to correct Printing issue elh 162 165 frmNotes.SetDisplayToHTMLvsText([vmView,vmHTML],Lines); //ActivateHtmlViewer(Lines); 163 166 if frmNotes.HtmlViewer.WaitForDocComplete = false then begin … … 280 283 //Ensure images are downloaded before passing page to web browser 281 284 frmImages.timLoadImagesTimer(nil); 285 //NOTE: This often doesn't get the job completed before passing to browser 286 // ?? check for completion? 282 287 end; 283 288 end; … … 297 302 or (Pos('<HTML>',Line) > 0) 298 303 or (Pos('<BR>',Line) > 0) 299 or (Pos( fTemplateDialog.HTMLBEGINNINGTAG,Line) > 0)304 or (Pos(HTML_BEGIN_TAG,Line) > 0) 300 305 or (Pos('<P>',Line) > 0) 301 306 or (Pos('&NBSP',Line) > 0) -
cprs/branches/tmg-cprs/CPRS-Chart/uConst.pas
r453 r729 53 53 CT_WEBTAB2 = 13; // chart tab - web browser //kt added 54 54 CT_WEBTAB3 = 14; // chart tab - web browser //kt added 55 CT_IMAGES = 15; // chart tab - images //kt added 55 56 //kt Option: add more CT_WEBTAB#'s here. But set CT_LAST_WEBTAB= to last one... 56 57 CT_LAST_WEBTAB = CT_WEBTAB3; // Last web chart tab //kt added -
cprs/branches/tmg-cprs/CPRS-Chart/uCore.pas
r453 r729 108 108 public 109 109 procedure Clear; 110 procedure Assign(Source : TPatient); //kt added 1/8/08 110 111 property DFN: string read FDFN write SetDFN; //*DFN* 111 112 property ICN: string read FICN; … … 687 688 end; 688 689 690 procedure TPatient.Assign(Source : TPatient); //kt added 1/8/08 691 begin 692 DFN := Source.DFN; 693 {Note: other properties are read only, determined by DFN} 694 end; 695 689 696 function TPatient.GetDateDied: TFMDateTime; 690 697 begin
Note:
See TracChangeset
for help on using the changeset viewer.