首先我相信这对于汇编高手一定是小问题。只是转换的不太具体。希望有人能帮帮我。
asm读文件的代码
............
StreamInProc proc hFile:DWORD,pBuffer:DWORD, NumBytes:DWORD, pBytesRead:DWORD
    invoke ReadFile,hFile,pBuffer,NumBytes,pBytesRead,0
    xor eax,1
    ret
StreamInProc endp
...........................
invoke CreateFile,addr FileName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0
                    .if eax!=INVALID_HANDLE_VALUE
                        mov hFile,eax
                        mov editstream.dwCookie,eax
                        mov editstream.pfnCallback,offset StreamInProc
                        invoke SendMessage,hwndRichEdit,EM_STREAMIN,SF_TEXT,addr editstream
                        invoke SendMessage,hwndRichEdit,EM_SETMODIFY,FALSE,0
                        invoke CloseHandle,hFile
                        mov FileOpened,TRUE
                    .else
                        invoke MessageBox,hWnd,addr OpenFileFail,addr AppName,MB_OK or MB_ICONERROR
                    .endif


我把它转成DELPHI代码时速度还是不快。这是为什么。用的是一样的EDITSTREAM。(首先当然不是DELPHI的问题),还是那里没有弄好。

下面我把DELPHI的部分代码写出来。请大家指点。
FUNCTION streaminproc(hfile:dword;pbuffer:pchar;numbytes:dword;var pbytesread:dword):longint;stdcall;
begin
 readfile(hfile,pbuffer^,numbytes,pbytesread,0);
result:=0;
end;
...............


editstream.dwcookie:=hfile;
editstream.pfncallback:=@streaminproc;
.........................
主要代友就是这样,可以读取文件,但速度还是不快。这是为什么。希望DELPHI和汇编高手指点指点我。
万分感谢。在线等