Ver Mensaje Individual
  #7  
Antiguo 28-11-2011
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 Nicolás.

Estuve mirando el código e indudablemente el por qué de ese comportamiento se encuentra en el evento OnActivate, más exáctamente en este código:
Código Delphi [-]
 ...
   // contar palabras
    for I := 1 to Length(RichEdit1.Text) do
      if pos(RichEdit1.Text[i],'')> 0 then
        Inc(c);
    barradeestado.Panels[2].Text:= IntToStr(c);
    // contar caracteres
    barradeestado.Panels[3].Text := 'Letras: '+ IntToStr(NroCaracteres(RichEdit1));
  ...
Esas dos, no són taréas rápidas si se trata con archivos muy grandes.

Para probar lo que te comento, sólo encerra entre llaves las líneas como en el siguiente codigo y ejecutalo:
Código Delphi [-]
procedure TForm1.FormActivate(Sender: TObject);
var
  i: Integer;
begin
  barradeestado.Panels[0].Text := Format('Fila: %d Columna: %d',
    [RichEdit1.CaretPos.y+1, RichEdit1.CaretPos.X+1]);
 //lineas
  barradeestado.Panels[1].Text :=  IntToStr(RichEdit1.Lines.Count);
 {
  // contar palabras
  for I := 1 to Length(RichEdit1.Text) do
    if pos(RichEdit1.Text[i],'')> 0 then
      Inc(c);
  barradeestado.Panels[2].Text:= IntToStr(c);
  // contar caracteres
  barradeestado.Panels[3].Text := 'Letras: '+ IntToStr(NroCaracteres(RichEdit1));
  }
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 28-11-2011 a las 23:03:34.
Responder Con Cita