Ver Mensaje Individual
  #7  
Antiguo 09-11-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Veo que, en efecto, hay algún problema cuando se usa la rutina con un nombre que de por sí es corto. Intenta con esta función:

Código Delphi [-]
function GetShortName(const FileName: String): String;
var
  ShortName: PChar;
  Size: Cardinal;

begin
  Size := GetShortPathName(PChar(FileName), nil, 0);

  if Size > 0 then
  begin
    GetMem(ShortName, Size);
    GetShortPathName(PChar(FileName), ShortName, Size);
    Result := ShortName;
    FreeMem(ShortName);
  end
  else
    Result := FileName;
end;

// Saludos
Responder Con Cita