我有德爾福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