Pessoal, estou fazendo um cadastro que salva os dados em um record, e 
depois armazena isso em um arquivo.
Estou tendo dois problemas, se alguém puder me ajudar agradeceria muito.

Problema 1, hora ele salva, hora ele não salva. atualmente ele esta no 
estagio, não salva.
Problema 2, quando salva, e eu mando exibir o que esta salvo, ele entra 
em loop no* while (not EOF(basededados)) do*

Segue abaixo o código utilizado,
Desde já muitíssimo agradecido.

Abraços,

Fernando dos Santos Sousa
-----------------------------------------------------------------------------------
program Programa;
uses crt;
type
    cadastro=record
    IDAluno    : integer;
    ra              : integer;
    nome         : string[30];
    idade         : integer;
    datanasc    : string[10];
    rg              : string[11];
    cpf            : string[11];
    endereco   : string[50];
    numero      : integer;
    bairro        : string[25];
    cidade       : string[30];
    uf              : string[2];
    telefone     : string[10];
    celular       : string[10];
    IDnotas     : integer;
    IDFaltas    : integer;
    IDTurma   : integer;
    IDMaterias: integer;
    IDcurso     : integer;
end;
    arqcad = file of cadastro;
var
basedados : arqcad;
reg: cadastro;

procedure menu;
var escolha:integer;
begin
   
writeln('-------------------------------------------------------------------------------');
   writeln('CADASTRAR->');
   writeln('   1  | Cadastrar Alunos');
   writeln('   11 | Visualizar Cadastros de Alunos');
   writeln('   2  | Cadastrar Cursos');
   writeln('   3  | Cadastrar Turmas');
   writeln('   4  | Cadastrar Materias');
   writeln('   5  | Cadastrar Funcionarios');
   writeln('   6  | Cadastrar Professores');
   writeln('   ---------------------------');
   writeln('   7  | Sair');
   read(escolha);
   clrscr;
     case escolha of
      1: begin
              assign(basedados,'database.dat'); {associando nome interno 
com nome externo}
              reset(basedados); {abrindo arquivo para leitura}
            writeln('CADASTRO DE ALUNO');
            
writeln('-------------------------------------------------------------------------------');
            writeln('Entre com o ID:');
            readln(reg.IDAluno);
            writeln('Entre com o RA:');
            readln(reg.ra);
            writeln('Entre com o Nome:');
            readln(reg.nome);
            writeln('Entre com a Idade:');
            readln(reg.idade);
            writeln('Entre com Data de Nascimento:');
            readln(reg.datanasc);
            writeln('Entre com o RG:');
            readln(reg.rg);
            writeln('Entre com o CPF:');
            readln(reg.cpf);
            writeln('Entre com o End.:');
            readln(reg.endereco);
            writeln('Entre com o N:');
            readln(reg.numero);
            writeln('Entre com o Bairro:');
            readln(reg.bairro);
            writeln('Entre com a Cidade:');
            readln(reg.cidade);
            writeln('Entre com a UF:');
            readln(reg.uf);
            writeln('Entre com o Telefone:');
            readln(reg.telefone);
            writeln('Entre com o Celular:');
            readln(reg.celular);
            writeln('Entre com o ID da Nota:');
            readln(reg.IDNotas);
            writeln('Entre com o ID da Falta:');
            readln(reg.IDFaltas);
            writeln('Entre com o ID da Turma');
            readln(reg.IDTurma);
            writeln('Entre com o ID da Materia:');
            readln(reg.IDMaterias);
            writeln('Entre com o ID do Curso:');
            readln(reg.IDCurso);
            write(basedados,reg);
            close(basedados);
            menu;
         end;
      2: begin
            writeln('OPCAO EM CONSTRUCAO');
            menu;
         end;
      3: begin
            writeln('OPCAO EM CONSTRUCAO');
            menu;
         end;
      4: begin
            writeln('OPCAO EM CONSTRUCAO');
            menu;
         end;
      5: begin
            writeln('OPCAO EM CONSTRUCAO');
            menu;
         end;
      6: begin
            writeln('OPCAO EM CONSTRUCAO');
            menu;
         end;
      7: begin
            exit;
         end;
      11: begin
          assign(basedados,'database.dat'); {associando nome interno com 
nome externo}
          reset(basedados); {abrindo arquivo para leitura}
          read(basedados,reg);
          //writeln('Alunos Cadastrados: ',filesize(basedados));
            while (not EOF(basedados)) do
               begin
                 writeln('CADASTRO DO ALUNO NUMERO: ',reg.IDAluno);
                 
writeln('-------------------------------------------------------------------------------');
                 writeln('Nome: ',reg.nome,'                             
RA: ',reg.ra);
                 writeln('Idade: ',reg.idade,'                           
Data de Nascimento: ',reg.datanasc);
                 writeln('RG: ',reg.rg,'                                 
CPF: ',reg.cpf);
                 writeln('End.: ',reg.endereco,', N :',reg.numero,'      
Bairro: ',reg.bairro);
                 writeln('Cidade: ',reg.cidade,' - UF: ',reg.uf);
                 writeln('Telefone: ',reg.telefone,'                     
Celular: ',reg.celular);
                 writeln('ID Nota: ',reg.IDNotas,'   ID Falta: 
',reg.IDFaltas,'   ID Turma: ',reg.IDTurma,'   ID Materia: 
',reg.IDMaterias,'   ID Curso: ',reg.IDCurso);
                 
writeln('-------------------------------------------------------------------------------');
               end;
            readkey;
            close(basedados);
            menu;
          end
      else
          begin
            writeln('ESCOLHA UMA OPCAO ENTRE 1 E 7 ou 11');
            menu;
          end;
      end;
end;

//INICIA O PROGRAMA PRINCIPAL
begin
writeln('-------------------------------------------------------------------------------');
writeln('PARTICIPANTES:                              3 BACHARELADO 
SISTEMA DE INFORMACAO');
writeln('FERNANDO DOS SANTOS SOUSA');
writeln('ISAMARA CRISTINA');
writeln('JOYCE DE CARLO GOMES E SANTOS');
writeln('-------------------------------------------------------------------------------');
writeln('');
writeln('------------------PRESSIONE UMA TECLA PARA INICIAR O 
PROGRAMA------------------');
readln();
clrscr;
menu;
//fim do programa
end.



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a