ADA - String

 
Vista:

String

Publicado por Nuria (22 intervenciones) el 10/04/2001 18:32:12
Hola a todos

Llevo días intentando obtener líneas en lugar de caracteres, el problema es que por ejemplo tengo una variable "var" declarada como String de 1 a 20, y cuando escribo un linea de digamos.. 3 palabras hay que seguir escribiendo aunque sean espacios en blanco sino no deja de leer. He intentado que lea una línea mientras no sea end_of_line, pero entonces lee una linea y en el siguiente get no lo hace.

Si alguien a entendido lo que quiero decir(que lo dudo) y me puede ayudar le estaría muy agradecida

Saludos

Nuria Ruiz
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:String

Publicado por fernand0 (1 intervención) el 11/04/2001 16:58:39
Usa get_line:
procedure Get_Line(File : in File_Type;
Item : out String;
Last : out Natural);

Ejemplo:
-- Leyendo por lineas, utilizando cadenas de tamaño fijo.

with Ada.Text_IO;
use Ada.Text_IO;

procedure leerLineas is
f:File_type;
cad:string(1..500);
tam:integer range 0..500; -- Empieza en 0. La cadena puede estar vacía.
-- Es un error frecuente olvidar esto.
(p25 of 31)
begin
open(f,In_File,"datos.txt");
while not(End_Of_File(f)) loop
get_line(f,cad,tam);
put(cad(1..tam));
end loop;
close(f);
end leerLineas;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:String

Publicado por Nuria (22 intervenciones) el 11/04/2001 17:07:07
Muchísimas gracias por la ayuda, ya me estaba volviendo loca.
De todas formas lo que yo intento hacer es coger una línea introducida por el teclado y despues guardarla en un fichero directo, pero voy a mirar si lo puedo arreglar con la información que me has dado.

Gracias de nuevo,

Nuria Ruiz
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:String

Publicado por Nuria (22 intervenciones) el 11/04/2001 18:37:55
Hola de nuevo

He conseguido introducir lineas en un fichero directo, ahora el problema que tengo es que al hacer la visualización, al ser el rango del string de 1 a 500, en la pantalla puedo ver la línea que guarde en el fichero mas 450 caracteres sin sentido.

Siento ser tan pesada pero tengo que hacer una práctica con ficheros y estoy un poco perdida.

Gracias

Nuria Ruiz
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:String

Publicado por fernand0 (10 intervenciones) el 12/04/2001 10:30:36
Hola,

para eso están las 'rebanadas' (slices): en el ejemplo había:
put(cad(1..tam));
Que decía que de la cadena sólo se escribiera desde el caracter 1 al tam
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:String

Publicado por Nuria (22 intervenciones) el 12/04/2001 18:50:40
Es cierto, no me había fijado.

Muchas Gracias

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar