📄 orchiddyn.pas
字号:
lvx_GetContrast : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetHue : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetHue : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetSaturation : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetSaturation : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_GetChromaAvailable : function (hLvxTask: ThLvxTask): LongBool; stdcall;
lvx_GetImageMaxWidth : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_GetImageMaxHeight : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_GetFramesPerSec : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_GetLiveWidth : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_GetLiveHeight : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetTimeout : procedure(hLvxTask: ThLvxTask; iTimeout: integer); stdcall;
lvx_GetTimeout : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_GetTimeoutExpired : function (hLvxTask: ThLvxTask): LongBool; stdcall;
lvx_GetGrabbing : function (hLvxTask: ThLvxTask): LongBool; stdcall;
lvx_GetLastImage : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_GetNumberOfCameras : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetExternalTrigger : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetExternalTrigger : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetFlowCheckDelay : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetFlowCheckDelay : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetFieldStart : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetFieldStart : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetFieldAcquisition : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetFieldAcquisition : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetAdcUpperLevel : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetAdcUpperLevel : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetAdcLowerLevel : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetAdcLowerLevel : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetShutterTime : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetShutterTime : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetCameraRestartDelay : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetCameraRestartDelay : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetFlashMode : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetFlashMode : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetFlashEnable : procedure(hLvxTask: ThLvxTask; bEnable: LongBool); stdcall;
lvx_GetFlashEnable : function (hLvxTask: ThLvxTask): LongBool; stdcall;
lvx_SetFlashStart : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetFlashStart : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetFlashEnd : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetFlashEnd : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetFlashWindowStart : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetFlashWindowStart : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetFlashWindowEnd : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetFlashWindowEnd : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetFlashWidth : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetFlashWidth : function (hLvxTask: ThLvxTask): integer; stdcall;
// Displaying images
lvx_SetDisplayImageIndex : procedure(hLvxTask: ThLvxTask; iImageIndex: integer); stdcall;
lvx_GetDisplayImageIndex : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_DisplayImage : procedure(hLvxTask: ThLvxTask; hWindow: HWND; iImageIndex: integer); stdcall;
lvx_DisplayImageEx : procedure(hLvxTask: ThLvxTask; hWindow: HWND; hDevCtx: HDC; iImageIndex: integer); stdcall;
lvx_SetImageDisplayStretch : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
lvx_GetImageDisplayStretch : function (hLvxTask: ThLvxTask): LongBool; stdcall;
lvx_SetTileImages : procedure(hLvxTask: ThLvxTask; bTile: LongBool); stdcall;
lvx_GetTileImages : function (hLvxTask: ThLvxTask): LongBool; stdcall;
lvx_SetDisplayWindow : procedure(hLvxTask: ThLvxTask; hWindow: HWND); stdcall;
lvx_GetDisplayWindow : function (hLvxTask: ThLvxTask): HWND ; stdcall;
// Getting images
lvx_SetImageIndex : procedure(hLvxTask: ThLvxTask; iImageIndex: integer); stdcall;
lvx_GetImageIndex : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_GetImageBitmapInfo : function (hLvxTask: ThLvxTask): PBitmapInfo; stdcall;
lvx_GetImageBitmapData : function (hLvxTask: ThLvxTask): PByte; stdcall;
lvx_CopyImageToClipboard : procedure(hLvxTask: ThLvxTask); stdcall;
lvx_SaveImageToBmpFile : procedure(hLvxTask: ThLvxTask; szFileName: PAnsiChar); stdcall;
lvx_SaveImageToJpgFile : procedure(hLvxTask: ThLvxTask; szFileName: PAnsiChar; iQuality: integer); stdcall;
lvx_SaveImageToTifFile : procedure(hLvxTask: ThLvxTask; szFileName: PAnsiChar; iOptions: integer); stdcall;
lvx_SaveImageToAviFile : procedure(hLvxTask: ThLvxTask; iImageIndex: integer; iOptions: integer; iReserved: integer); stdcall;
lvx_SetCaptureToAvi : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
lvx_GetCaptureToAvi : function (hLvxTask: ThLvxTask): LongBool; stdcall;
lvx_OpenAviFile : procedure(hLvxTask: ThLvxTask; pszName: PAnsiChar; iOptions: integer; iReserved: integer); stdcall;
lvx_CloseAviFile : procedure(hLvxTask: ThLvxTask; iReserved: integer); stdcall;
lvx_SetAviInterFrameDelay : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetAviInterFrameDelay : function (hLvxTask: ThLvxTask): integer; stdcall;
// Saving and loading settings
lvx_SaveSettings : procedure(hLvxTask: ThLvxTask; szId: PAnsiChar; szFileName: PAnsiChar); stdcall;
lvx_LoadSettings : function (hLvxTask: ThLvxTask; szId: PAnsiChar; szFileName: PAnsiChar): LongBool; stdcall;
lvx_SaveAviSettings : procedure(hLvxTask: ThLvxTask; szId: PAnsiChar; szFileName: PAnsiChar); stdcall;
lvx_LoadAviSettings : function (hLvxTask: ThLvxTask; szId: PAnsiChar; szFileName: PAnsiChar): LongBool; stdcall;
// Dialog boxes
lvx_DisplayConnectionDialog : function (hLvxTask: ThLvxTask; hWindow: HWND): LongBool; stdcall;
lvx_DisplayLiveSettingsDialog : function (hLvxTask: ThLvxTask; hWindow: HWND): LongBool; stdcall;
lvx_DisplaySnapSettingsDialog : function (hLvxTask: ThLvxTask; hWindow: HWND): LongBool; stdcall;
lvx_DisplayInitialSettingsDialog: procedure(hLvxTask: ThLvxTask; hWindow: HWND); stdcall;
lvx_DisplayRunTimeSettingsDialog: procedure(hLvxTask: ThLvxTask; hWindow: HWND); stdcall;
lvx_DisplayAviSettingsDialog : function (hLvxTask: ThLvxTask; hWindow: HWND): LongBool; stdcall;
// Querying info
lvx_QueryGrabberName : procedure(hLvxTask: ThLvxTask; iGrabberNumber: integer; szName: PAnsiChar; iMaxLen: integer); stdcall;
lvx_QueryCameraName : procedure(hLvxTask: ThLvxTask; iGrabberNumber: integer; iCameraNumber: integer; szName: PAnsiChar; iMaxLen: integer); stdcall;
lvx_QueryConnectorName : procedure(hLvxTask: ThLvxTask; iGrabberNumber: integer; iCameraNumber: integer; iConnectorNumber: integer;
szName: PAnsiChar; iMaxLen: integer); stdcall;
// Notifying functions
lvx_SetNotifyCallBack : procedure(hLvxTask: ThLvxTask; iCallBackType: integer; iParam1: integer; iParam2: integer); stdcall;
// Extended commands
lvx_Command : function (hLvxTask: ThLvxTask; pszCommand: PAnsiChar): integer; stdcall;
lvx_CommandStr : procedure(hLvxTask: ThLvxTask; pszCommand: PAnsiChar; pszReturnStr: PAnsiChar; iMaxLen: integer); stdcall;
lvx_CommandInt : function (hLvxTask: ThLvxTask; iCommand: integer; iParam1: integer;
iParam2: integer; iParam3: integer): integer; stdcall;
// Preprocessing
lvx_SetPreprocessing : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
lvx_GetPreprocessing : function (hLvxTask: ThLvxTask): LongBool; stdcall;
// Optocoupler IO
lvx_GetOptoInput : function (hLvxTask: ThLvxTask; iMask: integer; bBuffered: LongBool): integer; stdcall;
lvx_WaitOptoInput : function (hLvxTask: ThLvxTask; iMask: integer; bWaitForAll: LongBool; iTimeout: integer; iReserved: integer): integer; stdcall;
lvx_SetOptoOutput : procedure(hLvxTask: ThLvxTask; iMask: integer); stdcall;
// new in version 1.10
lvx_GetImageRealBitsPerPixel : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_GetImageRealWidth : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_GetImageRealHeight : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_CancelGrab : procedure(hLvxTask: ThLvxTask); stdcall;
lvx_GetLastSubsequence : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_GetCurrentImage : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_GetCurrentSubsequence : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_Uninitialize : procedure(hLvxTask: ThLvxTask); stdcall;
// Preprocessor functions
lvx_SetOwnerTask : procedure(hLvxTask: ThLvxTask; hLvxOwnerTask: ThLvxTask); stdcall;
lvx_ClearFilterList : procedure(hLvxTask: ThLvxTask); stdcall;
lvx_AddFilter : procedure(hLvxTask: ThLvxTask; pszFilter:PAnsiChar); stdcall;
lvx_ClearFilterRectList : procedure(hLvxTask: ThLvxTask); stdcall;
lvx_AddFilterRect : procedure(hLvxTask: ThLvxTask; iLeft: integer; iTop: integer; iRight: integer; iBottom: integer); stdcall;
lvx_PreprocessImage : procedure(hLvxTask: ThLvxTask; iImageIndex: integer; bPutBack: LongBool); stdcall;
// Preprocessor overlay functions
lvx_CreateOverlay : function (hLvxTask: ThLvxTask; iWidth: integer; iHeight: integer): integer; stdcall;
lvx_DeleteOverlay : procedure(hLvxTask: ThLvxTask; hOverlay: integer); stdcall;
lvx_SetOverlayOffset : procedure(hLvxTask: ThLvxTask; hOverlay: integer; iXOffset: integer; iYOffset: integer); stdcall;
lvx_GetOverlayDc : function (hLvxTask: ThLvxTask; hOverlay: integer): HDC; stdcall;
lvx_ReleaseOverlayDc : procedure(hLvxTask: ThLvxTask; hOverlay: integer); stdcall;
lvx_WipeOverlay : procedure(hLvxTask: ThLvxTask; hOverlay: integer; iColor: integer); stdcall;
lvx_SetOverlayTransparentColor : procedure(hLvxTask: ThLvxTask; hOverlay: integer; iColor: integer); stdcall;
lvx_SetOverlayTextParams : procedure(hLvxTask: ThLvxTask; hOverlay: integer; pszFont: PAnsiChar; iSize: integer;
iColor: integer; iOutlineColor: integer; iAttributes: integer); stdcall;
lvx_WriteTextToOverlay : procedure(hLvxTask: ThLvxTask; hOverlay: integer; pszText: PAnsiChar;
iXOffset: integer; iYOffset: integer); stdcall;
lvx_PutBitmapToOverlay : procedure(hLvxTask: ThLvxTask; hOverlay: integer; BitmapInfo: PBitmapInfo;
BitmapData: PByte; iXOffset: integer; iYOffset: integer); stdcall;
lvx_PutBitmapToOverlayFromBmpFile: procedure(hLvxTask: ThLvxTask; hOverlay: integer; pszFileName: PAnsiChar;
iXOffset: integer; iYOffset: integer); stdcall;
lvx_SetOverlayVisible : procedure(hLvxTask: ThLvxTask; hOverlay: integer; bVisible: LongBool); stdcall;
lvx_GetOverlayVisible : function (hLvxTask: ThLvxTask; hOverlay: integer): LongBool; stdcall;
lvx_FlipOverlay : procedure(hLvxTask: ThLvxTask; hOverlay: integer); stdcall;
lvx_SetInitialParam : procedure(hLvxTask: ThLvxTask;
pszParamName: PAnsiChar; iValue: integer); stdcall;
lvx_GetInitialParam : function (hLvxTask: ThLvxTask;
pszParamName: PAnsiChar): integer; stdcall;
lvx_SetRunParam : procedure(hLvxTask: ThLvxTask;
pszParamName: PAnsiChar; iValue: integer); stdcall;
lvx_GetRunParam : function (hLvxTask: ThLvxTask;
pszParamName: PAnsiChar): integer; stdcall;
lvx_GetCapability : function (hLvxTask: ThLvxTask;
pszCapName: PAnsiChar): integer; stdcall;
// COM Control functions
lvx_DisplayCameraCommDialog : procedure (hLvxTask: ThLvxTask; hWindow: HWND;
pszFileName: PAnsiChar); stdcall;
lvx_InitForCameraComm : procedure (hLvxTask: ThLvxTask; iConnector: integer); stdcall;
lvx_CameraCommOpen : procedure (hLvxTask: ThLvxTask; iConnector: integer); stdcall;
lvx_CameraCommSetParam : procedure (hLvxTask: ThLvxTask; iConnector: integer;
iBaudRate: integer; iParity: integer;
iByteSize: integer; iStopBit: integer); stdcall;
lvx_CameraCommSend : procedure (hLvxTask: ThLvxTask; iConnector: integer;
pszCommand: PAnsiChar; iCommandLen: integer;
pszResponse: PAnsiChar; iMaxResponseLen: integer;
iTimeout: integer; iEndOfTransmissionChar: integer); stdcall;
lvx_CameraCommSendEx : function (hLvxTask: ThLvxTask; iConnector: integer;
pszCommand: PAnsiChar; iCommandLen: integer;
pszResponse: PAnsiChar; iMaxResponseLen: integer;
iTimeout: integer; iEndOfTransmissionChar: integer): integer; stdcall;
lvx_CameraCommClose : procedure (hLvxTask: ThLvxTask; iConnector: integer); stdcall;
// General Purpose I/O
lvx_GetGPInput : function (hLvxTask: ThLvxTask; iMask: integer): integer; stdcall;
lvx_SetGPOutput : procedure (hLvxTask: ThLvxTask; iMask: integer); stdcall;
lvx_GetGain : function (hLvxTask: ThLvxTask; iGainType: integer): integer; stdcall;
lvx_SetGain : procedure (hLvxTask: ThLvxTask; iGain: integer; iGainType: integer); stdcall;
lvx_GetExposure : function (hLvxTask: ThLvxTask; iFlags: integer): integer; stdcall;
lvx_SetExposure : procedure (hLvxTask: ThLvxTask; iMicroseconds: integer; iFlags: integer); stdcall;
lvx_GetBlackLevel : function (hLvxTask: ThLvxTask; iFlags: integer): integer; stdcall;
lvx_SetBlackLevel : procedure (hLvxTask: ThLvxTask; iLevel: integer; iFlags: integer); stdcall;
function OrchidLoaded : boolean;
//------------------------------------------------------------------------------
implementation
uses SysUtils;
const OrchidDllFn = 'Orchid.dll';
var hOrchidDll: THandle;
function OrchidLoaded : boolean;
var IsOk: boolean;
procedure GetFn(var ProcVar : pointer; const ProcName : string);
begin
ProcVar:=GetProcAddress(hOrchidDll, pchar(ProcName));
if ProcVar=nil then IsOk:=false;
end;
begin
if hOrchidDll<>0 then
begin
result:=true;
exit;
end;
hOrchidDll:=LoadLibrary(OrchidDllFn);;
if hOrchidDll<>0 then
begin
IsOk:=true;
GetFn(@lvx_SetLoadWindowEnable ,'lvx_SetLoadWindowEnable');
GetFn(@lvx_GetLoadWindowEnable ,'lvx_GetLoadWindowEnable');
GetFn(@lvx_LoadDlls ,'lvx_LoadDlls');
GetFn(@lvx_GetVersion ,'lvx_GetVersion');
GetFn(@lvx_GetLastStatus ,'lvx_GetLastStatus');
GetFn(@lvx_GetLastStatusShortMsg ,'lvx_GetLastStatusShortMsg');
GetFn(@lvx_GetLastStatusLongMsg ,'lvx_GetLastStatusLongMsg');
GetFn(@lvx_OpenTask ,'lvx_OpenTask');
GetFn(@lvx_CloseTask ,'lvx_CloseTask');
GetFn(@lvx_GetTaskStatus ,'lvx_GetTaskStatus');
GetFn(@lvx_GetTaskStatusShortMsg ,'lvx_GetTaskStatusShortMsg');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -