[ Foro de Pascal ]
Hola llevo un par de horas haciendo un programa que me llene unos archivos de texto, todo parece funcionar muy bien, excepto cuando tengo que agregar información tipo string a los textos, la primera variable string se agrega a mi texto pero despues el programa no ejecuta nunca mas la orden read(n) y no puedo agregar mas valores string, caso contrario todo los valores integer los puedo añadir a los archivos de texto sin problemas, si cambio n:string; a n;real; el programa me deja introduzir los valores. Aqui el codigo:
Program nel;
Uses crt;
Var
texto,texto2,texto3,texto4,texto5,texto6,texto7:Text;
x,num:integer;
id:LongInt;
n:ShortString;
Begin
assign(texto, '/home/trojan/Documentos/Base/nombre.txt');
assign(texto2, '/home/trojan/Documentos/Base/ape.txt');
assign(texto3, '/home/trojan/Documentos/Base/id.txt');
assign(texto4, '/home/trojan/Documentos/Base/edad.txt');
assign(texto5, '/home/trojan/Documentos/Base/sexo.txt');
assign(texto6, '/home/trojan/Documentos/Base/ocupacion.txt');
assign(texto7, '/home/trojan/Documentos/Base/telefono.txt');
clrscr;
write('Welcome to the dark side of the force, where the knowleged is infinite power.');
Readln;
write('What should we do master, choose 1 to add information or');
Readln;
write('choose 2 for search information croos the galaxy,');
Readln;
write('let the force guide your path. Insert 1 or 2= ');
Read(x);
writeln;
Case x of
1:Begin
Writeln('Welcome to Ditaris, the bigest data base in the system A-49:');
Readln;
Writeln('Ditaris only can index personal information, lets begin.');
Writeln;
//First name
Begin
write('Introduce the first name: ');
read(n);
Append(texto);
WriteLn(texto,n);
close(texto);
End;
//Last name
Begin
write('Introduce the last name: ');
read(n);
Append(texto2);
WriteLn(texto2,n);
close(texto2);
End;
//id
Begin
write('Introduce the id: ');
read(id);
Append(texto3);
WriteLn(texto3,id);
close(texto3);
End;
//Age
Begin
write('Introduce the age: ');
read(num);
Append(texto4);
WriteLn(texto4,num);
close(texto4);
End;
//Gender
Begin
write('Introduce the gender: ');
read(n);
Append(texto5);
WriteLn(texto5,n);
close(texto5);
End;
Readln;
End;
2:Writeln('Enter the first name of your target master:');
//Under construction
End;
End.
¿Por qué utilizas read para leer la cadena en vez de usar readln? Prueba con el readln y vez si te resulta.
Coincido con Luis: deberías usar "ReadLn" en vez de "Read" cuando leas de teclado o de fichero de texto.
Hola soy yo aurquiel, me he registrado me ha funcionado muchas gracias.
De nada, para eso estamos. Duro con ello! ;-)
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)