Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Delphi - Problema con AppendStr in Delphi XE
Forum - Delphi - Problema con AppendStr in Delphi XE

Avatar
Mario84 (Normal User)
Newbie


Messaggi: 8
Iscritto: 24/11/2014

Segnala al moderatore
Postato alle 21:48
Lunedì, 24/11/2014
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.


Codice sorgente - presumibilmente Delphi

  1. Function THome.File_Size(S_File:String):String;
  2. Var
  3.   L_Size:LongInt;
  4.   P_Char:PChar;
  5. begin
  6.  AppendStr(s_file,chr(0));
  7.  p_char:=@s_file[1];
  8.  try
  9.    l_size := CreateFile(p_char,GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
  10.    Result := IntToStr(GetFileSize(l_size,nil));
  11.    CloseHandle(l_size);
  12.  except end;
  13. end;


Per favore se qualcuno riesce a risolvere questo piccolo mio problema potrebbe pure descrivermi i vari passaggi.

PM Quote
Avatar
Goblin (Member)
Expert


Messaggi: 375
Iscritto: 02/02/2011

Segnala al moderatore
Postato alle 8:57
Martedì, 25/11/2014
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:
Codice sorgente - presumibilmente Delphi

  1. Function File_Size(S_File:String):String;
  2. Var
  3.   L_Size:LongInt;
  4.   P_Char:PChar;
  5. begin
  6.  S_file := S_File + chr(0);
  7.  p_char:=@s_file[1];
  8.  try
  9.    l_size := CreateFile(p_char,GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
  10.    Result := IntToStr(GetFileSize(l_size,nil));
  11.    CloseHandle(l_size);
  12.  except end;
  13. end;



dovrebbe funzionare




Ibis redibis non morieris in bello
PM Quote
Avatar
Mario84 (Normal User)
Newbie


Messaggi: 8
Iscritto: 24/11/2014

Segnala al moderatore
Postato alle 13:28
Venerdì, 28/11/2014
Grazie Mille Globin, funziona cosi grazie.

PM Quote