Ver Mensaje Individual
  #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
Reputación: 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