我有德尔福2009年/ 2010阅读网页/ Unicode的
这个功能它返回的垃圾,现在如果我改变焦炭,PChar类型类型ANSIChar一致,Pansichar它返回的文本,但所有外国Unicode文本是垃圾。它把我的香蕉 我一直在尝试2天所有类的东西,现在 我想我understoff这个unicode废话,但我想我不 请帮助 感谢 菲利普Watel
function GetInetFileAsString(const fileURL: string): string;
const
C_BufferSize = 1024;
var
sAppName: string;
hSession,
hURL: HInternet;
Buffer: array[0..C_BufferSize] of Char;
BufferLen: DWORD;
strPageContent: string;
strTemp: string;
begin
Result := '';
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil,
nil, 0);
try
hURL := InternetOpenURL(hSession, PChar(fileURL), nil, 0, 0, 0);
try
strPageContent := '';
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
SetString(strTemp, PChar(@buffer), BufferLen div SizeOf(Char));
strPageContent := strPageContent + strTemp;
until BufferLen = 0;
Result := strPageContent;
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end
end;
我使用的代码成功,但我改变缓冲区动态数组声明缓冲:在tarray;然后SetLength(缓冲区,C_BufferSize)。另外,我在每次调用InternetReadFile之后,在循环之前将var整型参数设置为零,并使用bufferLen递增。让我知道下载文件的大小。 –
MarkAurelius
2015-10-27 01:56:48