j'ai cette fonction dans Delphi 2009/2010lecture de pages web/unicode
Il retourne ordures, maintenant si je change le char, les types PChar à AnsiChar, PAnsiChar il renvoie le texte mais tout le texte unicode étranger est ordures. il me conduire banane J'ai essayé toutes sortes de choses pendant 2 jours maintenant je pensais que j'understoff cette merde unicode mais je suppose que je ne aide s'il vous plaît merci Philippe 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;
J'ai utilisé ce code avec succès, mais je changer la mémoire tampon à un tableau dynamique déclaré tampon: tarray; puis SetLength (buffer, C_BufferSize). De plus, j'ai ajouté un paramètre entier var à zéro avant la boucle et incrémenté avec bufferLen après chaque appel à InternetReadFile. Le permet de connaître la taille du fichier téléchargé. –
MarkAurelius