Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-11-2005
ber ber is offline
Miembro
 
Registrado: nov 2005
Posts: 12
Poder: 0
ber Va por buen camino
Question capacidad del componente Memo

hola a todos, alguien sabe la capacidad que tiene el componente Memo, lo que pasa es que quiero leer un archivo .txt pero este tiene un peso aprox de 2 Mb, me marca un error y no se si es por eso o porque. Les agradesco el sacarme de esta duda.

Salu2
Responder Con Cita
  #2  
Antiguo 21-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Si no dices el error que "te saca"... en fin. Yo creo que el Memo no tiene un "límite" más allá de las características de la memoria RAM del sistema del usuario. En todo caso, ya digo... ¡a ver si dices qué error te encuentras!
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 21-11-2005
ber ber is offline
Miembro
 
Registrado: nov 2005
Posts: 12
Poder: 0
ber Va por buen camino
Post

Antes que nada gracias por molestarte en contestar la pregunta, el error que sale al mmomemnto de leer el archivo es el siguiente "Proyect Proyect.exe raised exception class ElnOutError with message 'Invalid numeric input'. Process stoped. Use step or Run to continue" bueno creo que en si, el error me lo da porque el archivo que quiero leer son numeros, pero no estoyy seguro por eso pregunto. nuevamente gracias.

Saludos cordiales
Responder Con Cita
  #4  
Antiguo 21-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

La verdad que a mí tampoco me queda muy claro el problema. Posiblemente sea porque desconozca el contexto de lo que estás tratando de llevar a cabo. En la ayuda de Delphi, si buscas la cadena "Invalid numeric input" verás que te aparecen dos resultados. En uno de ellos, concretamente, en "I/O errors" puede leerse lo siguiente, que habría que tener en cuenta, acaso:


Cita:
Empezado por Ayuda de Delphi
In Delphi, I/O errors cause an exception to be thrown if the particular statement was compiled in the {$I+} state with I/O checking on. (If the application does not include the SysUtils unit, the exception causes the application to terminate). In the {$I-} state, the program continues to execute, and the error is reported by the IOResult function.
Pero, lo que me llama más la atención es la descripción del propio error de que estamos hablando:


Cita:
Empezado por Ayuda de Delphi
Invalid numeric format

Reported by Read or Readln if a numeric value read from a text file does not conform to the proper numeric format.
O sea, que no entiendo muy bien qué está ocurriendo, pero, me da en la nariz que si haces uso de las clases "TStrings" o "TFileStream" no tendrás el problema que ahora tienes. No sé... no estoy seguro... podrías probar a ver. Tampoco estaría demás que copiaras aquí algo del código fuente del contexto en que se produce el error, es decir, por ejemplo, estás cargando el contenido del archivo, pero, ¿qué haces con el mismo? ¿Lo asignas a alguna variable? ¿Lo...? Un poco de código puede ayudar.

Por mi parte estaba a punto de terminar este "ejemplo" de uso de la clase "TStrings" para lo que te es menester. Échale un vistazo, por si te sirve de algo. En cualquier caso, creo que, el error que te aparece no tiene que ver con la capacidad del "Memo", sino que tiene que ver con otro problema. Y, hablando del Memo... si lo que quieres es cargar el archivo en el "TMemo", directamente, puesto que este cuenta con una propiedad "Lines" de tipo "TStrings", precisamente, podrías emplear su método "LoadFromFile", como he dicho más arriba.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
resourcestring
  rsLineas = 'Línea: %D/%D'+#13#10+'Contenido: %S';
var
  i: integer;
  temporal: TStrings;
begin
  temporal := TStringList.Create;
  try
    temporal.LoadFromFile('C:\archivo.txt');

    { Aquí ya tienes en la variable temporal
      el contenido de "archivo.txt", de tal
      manera que podrías acceder al mismo
      línea por línea, como por ejemplo se
      hace a continuación. }

    for i := 0 to temporal.Count-1 do
    begin
      ShowMessage(Format(rsLineas, [i, temporal.Count, temporal[i]]));
    end;

  finally
    temporal.Free;
  end;
end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 21-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Me doy cuenta de que en mi anterior mensaje he mezclado un tanto las respuestas para este Hilo y para este otro Hilo... Espero, aún así, que puedas sacar algo en claro. Si no es así avisa, por favor.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 21-11-2005
ber ber is offline
Miembro
 
Registrado: nov 2005
Posts: 12
Poder: 0
ber Va por buen camino
Post Gracias

Lo que dices de los hilos pues si la verdad es que al principio no supe donde encajaba mi pregunta y la puse aqui, ya despues me di cuenta que existia la de varios y pues hice una pregunta parecida alla, disculpas por eso.

Muchas gracias por tu ayuda.

Saludos
Responder Con Cita
  #7  
Antiguo 21-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,


Cita:
Empezado por ber
Lo que dices de los hilos pues si la verdad es que al principio no supe donde encajaba mi pregunta y la puse aqui, ya despues me di cuenta que existia la de varios y pues hice una pregunta parecida alla (...)
Bueno. Te recuerdo que, como usuario registrado de estos Foros que eres, puedes no solamente editar tus mensajes, sino incluso borrarlos. Cuando te equivoques, ya sabes que puedes hacer una de estas cosas, sencillamente. Por mi parte voy a mover este Hilo a otro lugar, pues el apartado "Gráficos" no me parece el más oportuno para el mismo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #8  
Antiguo 21-11-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por si acaso sirve de algo: Tengo probado que los TMemo no funcionan bien cuando se les introduce "bastante" texto, pero todos los problemas se resuelven usando un TRichEdit. (Si es texto plano, ponle la propiedad PlainText a true).

Esto es suponiendo que ese sea tu problema.
Responder Con Cita
  #9  
Antiguo 22-11-2005
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
solo un apunte para la rapidez de la insercin del texto an un Memo, ademas de los conocidos beginupdate y endupdate:

Código:
Memo1.SelStart := Memo1.GetTextLen;
Memo1.SelText := Stringlist.Text;
__________________
¿Microsoft? No, gracias..
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 05:13:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi