http://www.xcar.com.cn/bbs/viewthread.php?tid=11953480&extra=page%3D1里面有验证码,需登陆。第一问题需要知道怎么读取到验证码并保存到本地硬盘,100分
第二问题如何读取里面的数字。100分

解决方案 »

  1.   

    不知道你是不是指的这个图片下载ocr:
    {$R *.dfm}
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    WB.Go('http://reg.xcar.com.cn/');
    end;procedure TForm1.Button2Click(Sender: TObject);
    VAR
    JPG,STR:STRING;
    begin
       JPG:= WB.OleObject.DOCUMENT.ALL.ITEM('chk_img').SRC;
       wb.GetCachedFileFromURL(JPG, str);
       copyfile(pchar(str),pchar('4.PNG'),false);
       就完成了 
      

  2.   

    function   TForm1.GetURLFile(strURL:string;strFileName:string):boolean;     //保存图片   
      var   
              ms:TMemoryStream;   
      begin   
              ms:=TMemoryStream.Create;   
              Result:=true;   
              IdHTTP1.Disconnect;   
              try   
                      IdHTTP1.Get(strURL,ms);   
                      ms.Position:=0;   
                      ms.SaveToFile(strFileName);   
              except   
                      Result:=false;   
              end;   
              ms.Free;   
      end;   
        
      procedure   TForm1.bsSkinButton8Click(Sender:   TObject);   
      begin   
            GetURLFile('http://61.152.248.132/pass9/gd.php','1.bmp');   
      end;   
      

  3.   

    function TForm1.GetURLFile(strURL:string;strFileName:string):boolean; //保存图片   
      var   
      ms:TMemoryStream;   
      begin   
      ms:=TMemoryStream.Create;   
      Result:=true;   
      IdHTTP1.Disconnect;   
      try   
      IdHTTP1.Get(strURL,ms);   
      ms.Position:=0;   
      ms.SaveToFile(strFileName);   
      except   
      Result:=false;   
      end;   
      ms.Free;   
      end;   
        
      procedure TForm1.bsSkinButton8Click(Sender: TObject);   
      begin   
      GetURLFile(http://www.xcar.com.cn/bbs/viewthread.php?tid=11953480&extra=page%3D1','1.bmp');   
      end; 
      

  4.   

    需要用到OCR,只识别数字和字母网上有免费的开发包
      

  5.   

    各位,请继续,什么是OCR,这个图片很简单且只有数字,谁提供段例程怎么读取图片数字。100大洋立刻送上。
    另外楼上两位贴程序的大牛,这100分你们已经到手,等我试好了就给。多谢多谢。
      

  6.   

    哈哈三個文件,兩句話就完成了!自己去下載:'AspriseOCR.dll'implementation{$R *.dfm}
    function OCR(ImgFileName:PChar;imgType:Integer):PChar; cdecl; external 'AspriseOCR.dll';接上面
       copyfile(pchar(str),pchar('4.PNG'),false);
       SLEEP(5000);
       EDIT1.Text:=(StrPas(OCR(PChar('4.PNG'),-1)));
      

  7.   

    我使用的是webbrowser,不能用idhttp,不可视的用起来多难受而且验证码图片不能访问第二遍
      

  8.   

    WB.OleObject.document.parentWindow.execScript('gp()','JavaScript'); 取得新的pic
      

  9.   

    WB是哪个类?WB.OleObject.document.parentWindow.execScript('gp()','JavaScript'); 取得新的pic这行是什么意思,我用webbrowse load进页面之后,就希望读取本页面的验证码。取得新的pic没有意义,两张图片必须要同步才好
      

  10.   

    猜想是webbrowser的简写。呵呵。另外能否提供一个ocr的下载地址。这样大大你就是150分的大功臣
      

  11.   

    自己百度一下就行了http://files.cnblogs.com/mozui/AspriseOCR.zip
      

  12.   

    大大,,你这句就编不通过wb.GetCachedFileFromURL(JPG, str);另外你贴的那段程序。copy执行了之后是什么结果呢。有什么句柄可以交给ocr调用?帮人帮到底,把ocr的程序一起贴出来吧
      

  13.   

    wb 指:EmbeddedWB 有功能更強的為什麼還用webbrowserimplementation{$R *.dfm}
    function OCR(ImgFileName:PChar;imgType:Integer):PChar; cdecl; external 'AspriseOCR.dll';procedure TForm1.Button1Click(Sender: TObject);
    begin
    WB.Go('http://reg.xcar.com.cn/');
    end;procedure TForm1.Button2Click(Sender: TObject);
    VAR
    JPG,STR:STRING;
    begin
       //WB.OleObject.document.parentWindow.execScript('gp()','JavaScript');   JPG:= WB.OleObject.DOCUMENT.ALL.ITEM('chk_img').SRC;
       //WB.GO(JPG);
       wb.GetCachedFileFromURL(JPG, str);   copyfile(pchar(str),pchar('4.PNG'),false);
       SLEEP(5000);前面複製需要時間
       EDIT1.Text:=(StrPas(OCR(PChar('4.PNG'),-1)));
       
    end;
      

  14.   

    谢谢,感觉你就是能帮我搞定问题的大牛三个弱问题。。
    - dll怎么安装进来
    - embededwb怎么调用。他的页面可以象webbrowser一样网页可见的吗
    - 你程序里那个4.png哪里出来的
      

  15.   

    一 :DLL不用安裝,放到同目錄直接調用
    function OCR(ImgFileName:PChar;imgType:Integer):PChar; cdecl; external 'AspriseOCR.dll';二:embededwb,就是WEBBRowser的擴充,建議多百度,如果還要問自己不要寫程序了三:默認情況下WEbbrowser以后都會有臨時文件,從臨時里COPY建議:下載安裝 embededwb2005,上面的代碼就能通過。
      

  16.   

    不解,临时文件文件都命名为4.png?
      

  17.   

    看你也不是新手,怎麼你不看代碼的啊。問這麼低級的問題copyfile 函數隨便給取的一名而已真正的文件地址是 wb.GetCachedFileFromURL(JPG, str); 中的STr
      

  18.   

    你是不是學生啊?有問題就可以直接問老師?我TMD的連個老師都沒有,什麼都得靠一雙手解決
      

  19.   

    欧。知道了。多谢。。我用了这段代码,,不报错了,但读出来的是空格,郁闷鸟。function OCR(imgname:pchar;i:integer):PChar;stdcall;external 'AspriseOCR.dll';
    {$R *.dfm}
    procedure TForm1.Button1Click(Sender: TObject);
    var
    vcode:PChar;
    s:string;
    begin
    //try
      //GetMem(Vcode,1024);
      //Vcode:= OCR('e:\demo\test.gif',-1);
      Vcode:= OCR('test.gif',-1);
      move(vcode,s,length(vcode));
      Edit1.Text := s;
      //freemem(vcode,1024);
    //except
    //end;
    end;
      

  20.   

    自己再測試吧,難度大的是破不了的把那解的圖放到同目錄(或者指定全目錄),這里是4.png,就行了。
    EDIT1.Text:=(StrPas(OCR(PChar('4.PNG'),-1)));