Oppure

Loading
24/11/14 20:48
Mario84
Salve a tutti, e da un paio di giorni che provo a risolvere questo problema ma niente da fare, spero che qualcuno di voi possa aiutarmi a risolvere questo problema. Posto qui la funzione completa.


 Function THome.File_Size(S_File:String):String;
Var
  L_Size:LongInt;
  P_Char:PChar;
begin
 AppendStr(s_file,chr(0));
 p_char:=@s_file[1];
 try
   l_size := CreateFile(p_char,GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
   Result := IntToStr(GetFileSize(l_size,nil));
   CloseHandle(l_size);
 except end;
end;

Per favore se qualcuno riesce a risolvere questo piccolo mio problema potrebbe pure descrivermi i vari passaggi.
aaa
25/11/14 7:57
Goblin
vediamo se ho capito ...

Dal sito Embarcadero:
SysUtils.AppendStr
This method is deprecated, and as such, is hard-coded to use AnsiString and no UnicodeString overload is available.
Replace calls like this:
AppendStr(String1, String2);
with code like this:
String1 := String1 + String2;
Or, better yet, use the new TStringBuilder class to concatenate strings.

dunque:
Function File_Size(S_File:String):String;
Var
  L_Size:LongInt;
  P_Char:PChar;
begin
 S_file := S_File + chr(0);
 p_char:=@s_file[1];
 try
   l_size := CreateFile(p_char,GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
   Result := IntToStr(GetFileSize(l_size,nil));
   CloseHandle(l_size);
 except end;
end;


dovrebbe funzionare


Ibis redibis non morieris in bello
28/11/14 12:28
Mario84
Grazie Mille Globin, funziona cosi grazie.
aaa