delphi验证码识别控件【AspriseOCR】源码及其下载
2007/12/07 16:07
- unit Unit1;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, ExtCtrls, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
- IdTCPClient, IdHTTP,IdMultipartFormData, IdCookieManager;
-
- type
- TForm1 = class(TForm)
- Button1: TButton;
- Edit1: TEdit;
- IdHTTP1: TIdHTTP;
- Memo1: TMemo;
- IdCookie1: TIdCookieManager;
- Memo2: TMemo;
- procedure Button1Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.dfm}
-
- function OCR(imgname:string;i:integer):PChar;stdcall;
- external 'AspriseOCR.dll';
-
- procedure TForm1.Button1Click(Sender: TObject);
- var
- Vcode:PChar;
- Filename:string;
- VcodeStr:string;
- VcodePic:TFileStream;
- Htmlcode:string;
- params:tidmultipartformdatastream;
- begin
- Filename:='Vcode.png';
- VcodePic:=TFileStream.Create(Filename, fmCreate);
- idhttp1.AllowCookies:=true;
- idhttp1.HandleRedirects:=true;
- idhttp1.ConnectTimeout:=30000;
- Idhttp1.CookieManager:=idcookie1;
- IdHTTP1.Get('http:///image.php',VcodePic);
- idcookie1.
- VcodePic.Free;
- try
- Vcode:=OCR(Filename,-1);
- finally
- VcodeStr := VcodeStr+Vcode;
- VcodeStr := StringReplace(VcodeStr, 'O','0', [rfIgnoreCase]);
- Edit1.Text := VcodeStr;
- params:=tidmultipartformdatastream.Create;
- params.AddFormField('COOKIEusername','coozu');
- params.AddFormField('COOKIEpass','pass');
- params.AddFormField('verify',VcodeStr);
- params.AddFormField('loginsubmit','Login');
- Htmlcode:=idhttp1.Post('http:///index.php',params);
- memo1.Clear;
- memo1.Lines.Add(htmlcode);
- end;
- end;
-
- end.
|
|