函数都是从Tw_ocr32.dll里调出来的!
TW_Start(0,5,0,0);
TW_CallBackAddress(ProgressStart,ProgressEnd, 0, ProgressStart); //////
TW_RecogFile(PChar('E:\TemOCR.bmp'), PChar('E:\TemOCR.TXT'), 0);
TW_End;
在delphi里用上面四行代码就可以实现中文OCR了;但没显是进度条!它SDK文档是这样说的:这组回调函数用来在用户程序中显示识别进度,要求必须在同一个EXE或DLL模块中,系统通过Tw_Start中的HApplicationInstance参数来寻找该模块。函数成功返回TRUE,失败返回FALSE,返回FALSE将终止识别过程。 ERRCODE WINAPI TW_CallBackAddress(long Thocr_Callback_ProgressStart, long Thocr_Callback_ProgressFinish, long Thocr_Callback_ProgressSetStage, long Thocr_Callback_ProgressSetPerc);〖功能〗 如果Tw_Start中的HApplicationInstance参数为0,则可以通过本函数设置回调 函数的地址,主要用在VB中,因为VB的EXE文件无法导出(export)函数。
〖参数〗 四个参数分别为下边四个回调函数的地址。〖返回值〗ERRCODE 错误代码BOOL PASCAL EXPORT Thocr_Callback_ProgressStart (void);
BOOL PASCAL EXPORT Thocr_Callback_ProgressFinish (void);
BOOL PASCAL EXPORT Thocr_Callback_ProgressSetStage(WORD wStageNumber, LPSTR lpStageName);我怎样用TW_CallBackAddress??
TW_Start(0,5,0,0);
TW_CallBackAddress(ProgressStart,ProgressEnd, 0, ProgressStart); //////
TW_RecogFile(PChar('E:\TemOCR.bmp'), PChar('E:\TemOCR.TXT'), 0);
TW_End;
在delphi里用上面四行代码就可以实现中文OCR了;但没显是进度条!它SDK文档是这样说的:这组回调函数用来在用户程序中显示识别进度,要求必须在同一个EXE或DLL模块中,系统通过Tw_Start中的HApplicationInstance参数来寻找该模块。函数成功返回TRUE,失败返回FALSE,返回FALSE将终止识别过程。 ERRCODE WINAPI TW_CallBackAddress(long Thocr_Callback_ProgressStart, long Thocr_Callback_ProgressFinish, long Thocr_Callback_ProgressSetStage, long Thocr_Callback_ProgressSetPerc);〖功能〗 如果Tw_Start中的HApplicationInstance参数为0,则可以通过本函数设置回调 函数的地址,主要用在VB中,因为VB的EXE文件无法导出(export)函数。
〖参数〗 四个参数分别为下边四个回调函数的地址。〖返回值〗ERRCODE 错误代码BOOL PASCAL EXPORT Thocr_Callback_ProgressStart (void);
BOOL PASCAL EXPORT Thocr_Callback_ProgressFinish (void);
BOOL PASCAL EXPORT Thocr_Callback_ProgressSetStage(WORD wStageNumber, LPSTR lpStageName);我怎样用TW_CallBackAddress??
解决方案 »
- 在Delph中如何Byte转化Sring
- 如何控制DBGRID查询后的行宽度呀?
- 在一个form里,不能使用另一个form里的组件吗?
- SOS!第一次做报表,难啊!
- 请问一下,如何在Delphi程序中实现SQL SERVER 2000中的备份\恢复数据库的操作,高分!!我用ADOCOmmand实现过,但不太好用,有没有好的方法呀
- 没想道今年的硕士研究生复试国家线这么低,我政治考了43没想到接到复试通知了,高兴,为了我半年的辛苦,也为了我能顺利通过复试,散分!
- 请各路英雄相助!!!如何控制stringgrid中的输入?????????
- 那两个问题解决了再问一个SQL语句方面的
- 关于field的问题.
- 急~帮我看看这个函数
- 如何调用动态库中的创建的组件对象(比如TSocketConnection实例)
- 一道送分题! 在线等待!!!!!!!!!!!
---------
Public Declare Function TW_CallBackAddress Lib "tw_ocr32.dll" (ByVal start As Long, ByVal finish As Long, ByVal stage As Long, ByVal percent As Long) As Long
---------
Function ProgressStart() As Long
ProgressForm.Show
ProgressForm.Label1 = "正在调识别库"
DoEvents
ProgressStart = 1
End FunctionFunction ProgressEnd() As Long
Unload ProgressForm
ProgressEnd = 1
End FunctionFunction ProgressSetStage(ByVal wStageNumber As Integer, ByRef Name As Byte) As Long
Dim StageName As Variant
StageName = Array("读取图象", 版面分析, "倾斜校正", "识别", "后处理")
' Select Case wStageNumber
' Case 0
ProgressForm.Label1 = "正在" & StageName(wStageNumber)
ProgressSetStage = 1
End FunctionFunction ProgressSetPerc(ByVal percent As Integer) As Long
ProgressForm.Label2 = percent & "%"
ProgressForm.ProgressBar1.Value = percent
ProgressSetPerc = 1
End Function
---------------------
TW_CallBackAddress(AddressOf Progress.ProgressStart, AddressOf Progress.ProgressEnd, AddressOf Progress.ProgressSetStage, AddressOf Progress.ProgressSetPerc)
--------------------
在Delphi应该怎样写??
function Thocr_Callback_ProgressStart(): Integer;
begin
......
end;function Thocr_Callback_ProgressFinish(): Integer;
begin
......
end;function Thocr_Callback_ProgressSetStage(wStageNumber: Word; lpStageName: PChar): Integer;
begin
......
end;function Thocr_Callback_ProgressSetPerc(percent: Smallint): Integer;
begin
......
end;