Ver Mensaje Individual
  #2  
Antiguo 11-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola kirkhelek.

Hay varias cosas para rever...

.- No entiendo para que declarás los procedimientos: p_cargar_datos1 y p_cargar_datos2.
A primera vista me parecían similares, a la segunda ví que son idénticos. Uno de los dos
es necesariamente redundante.

.- En la línea:
Código Delphi [-]
   self.Close;
¿ Quien es Self ? De la forma en que están declarados los procedimientos, no parecen tener un objeto asociado.


.- No sé que realiza f_CuantosRegistros, pero te aseguro hace disonancia con la línea en que declarás:
Código Delphi [-]
var
 fFichero: TextFile;
por que un archivo de texto no está estructurado en registros.


.- Por último, no necesitás utilizar la instrucción Application.ProcessMessages.

Así que sacando las líneas de comentarios, el ejemplo quedaría así:
Código Delphi [-]
procedure TForm1.CargarDatos(sRuta:string);
var
  fFichero: TextFile;
  sCadena: string;
begin
  with TStringList.Create do
  try
    LoadFromFile(sRuta);
    progreso.Max:= Count;
  finally
    Free;
  end;
  progreso.Position:=0;
  progreso.Min:=0;
  progreso.Step:= 10;  // Para: progreso.StepIt
  try
    AssignFile(fFichero,sRuta);
    Reset(fFichero);
  except
    Close;
    Exit;
  end;
  label1.Caption:='Cargando datos...';
  while not eof(fFichero) do
  begin
    Readln(fFichero, sCadena);
    progreso.StepIt;
  end;
  closeFile(fFichero);
  Self.close; // Self esta asociado a Form1, se cierra
end;

Ejemplo de llamada:
Código Delphi [-]
  CargarDatos('C:\PRUEBA.TXT');

Nota: TStringList lo uso para obtener el número de líneas de forma sencilla (hay mejores métodos), pero para el ejemplo sirve.

Espero haberte ayudado.

Saludos.

Última edición por ecfisa fecha: 11-08-2010 a las 15:42:14.
Responder Con Cita