Ver Mensaje Individual
  #1  
Antiguo 22-02-2015
JuanOrtega JuanOrtega is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 130
Reputación: 13
JuanOrtega Va por buen camino
Reducir lineas de codigo

Hola estoy haciendo un codigo basandome en un manual de lectura de todo tipo de archivos y estoy tratando de optimizar el codigo porque me han quedado muchas lineas de codigo , el codigo es este :

Código Delphi [-]
function read_file(archivo: String): AnsiString;
var
  F: File;
  contenido: AnsiString;
  limite: Integer;
  leyendo: Integer;
  tipo: Byte;
begin

  Result := '';
  tipo := FileMode;
  FileMode := 0;
  AssignFile(F, archivo);
  Reset(F, 1);

  if (IOResult = 0) then
  begin
    limite := Filelimite(F);
    while (limite > 1024) do
    begin
      SetLength(contenido, 1024);
      BlockRead(F, contenido[1], 1024, leyendo);
      Result := Result + contenido;
      Dec(limite, leyendo);
    end;
    SetLength(contenido, limite);
    BlockRead(F, contenido[1], limite);
    Result := Result + contenido;
    CloseFile(F);
  end;

  FileMode := tipo;
end;

El tema es que no quiero usar classes porque ya hice un codigo que funciona perfecto pero como es una aplicacion consola hace que el programa pese mas de lo habitual :

Código Delphi [-]

uses Classes;

function read_file(const FileName: String): AnsiString;
var
  Stream: TFileStream;
begin
  Stream := TFileStream.Create(FileName, fmOpenRead);
  try
    SetLength(Result, Stream.Size);        
    Stream.ReadBuffer(Pointer(Result)^, Stream.Size);
   finally
     Stream.Free;
   end;
 end;

Ya reduci las lineas de codigo del codigo inicial lo mas que puede , ¿ Hay alguna forma de reducir mas el codigo inicial sin tener que usar Classes ?

Última edición por JuanOrtega fecha: 22-02-2015 a las 17:12:07.
Responder Con Cita