Ver Mensaje Individual
  #3  
Antiguo 23-02-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Teniendo en cuenta que la cantidad de líneas no es relevante al rendimiento del programa, se me ocurre que si Filelimite(F) devuelve el tamaño total de un archivo, no es necesario utilizarlo. Solo harías el while, comprobando que los bytes leídos son mas que 0.
Obviamente puedes quitar las líneas en blanco que dejas en la función.
También puedes poner todo en una gran línea.

En cuanto a optimización, el establecer la longitud de la cadena, puedes hacerlo solo una vez, pues todas las lecturas posteriores serán iguales.
Código Delphi [-]
    limite := Filelimite(F);
    SetLength(contenido, 1024);
    while (limite > 1024) do
    begin
      BlockRead(F, contenido[1], 1024, leyendo);
      Result := Result + contenido;
      Dec(limite, leyendo);
    end;
Responder Con Cita