j'ai les mêmes craintes que toi je suis toujours D7 D2006 mais la version ne me dérange pas trop ...
tien je viens juste d'écrire la version unicode de Fileexists
1 2 3 4 5 6 7 8 9 10 11 12 13
| function Fileexists(const FileName: Widestring): boolean;
var
Handle: THandle;
FindData: TWin32FindDataW;
begin
Result :=false;
Handle := Windows.FindFirstFileW(PWideChar(FileName), FindData);
if (Handle <> DWORD(-1)) then
begin
Windows.FindClose(Handle);
Result:=(FindData.dwFileAttributes and 16 )=0;
end;
end; |
Il peut aussi utiliser TWideStrings disponible depuis D2006 ...
Par prudence PAnsiChar au lieu de PChar, ...
pas de souci même avec Pointer(Buffer)^
Question con : Stream.Size est supérieur à Zéro ?
Pas de problème
1 2 3 4 5 6 7 8 9 10
| function GetFileContenent(const Filename :string):AnsiString;
begin
with TFilestream.Create(Filename,fmopenread)do
try
SetLength(Result,Size);
Read(Pointer(Result)^,Size);
finally
Free;
end;
end; |
exemple
S:=GetFileContenent('c:\R.txt');
Partager