[ Foro de Pascal ]

Problema con al variable string

27-Jan-2014 02:44
Invitado (aurquiel)
4 Respuestas

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.



27-Jan-2014 15:54
Luis Torres (+18)

¿Por qué utilizas read para leer la cadena en vez de usar readln? Prueba con el readln y vez si te resulta.


27-Jan-2014 21:03
Nacho Cabanes (+83)

Coincido con Luis: deberías usar "ReadLn" en vez de "Read" cuando leas de teclado o de fichero de texto.


28-Jan-2014 00:03
aurquiel aurquiel

Hola soy yo aurquiel, me he registrado me ha funcionado muchas gracias.


28-Jan-2014 00:18
Nacho Cabanes (+83)

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.)