Boas pessoal, então é assim eu tou a fazer um programa em pascal para avaliação de nota, o programa consiste em uma base de dados para uma oficina. Mas como nem tudo na vida são rosas estou com um grande problema e nao sei mesmo o que fazer lol... No programa existe uma opção que é a de criar um novo cliente, nessa opção metemos os dados e ele deveria de guardar esses mesmo dados num ficheiro, coisa que nao acontece e eu nao sei porque, vou colocar aqui parte do código onde eu penso que esteja o erro, se conseguirem ajudar agradecia thkz! PS: o programa corre bem, utilizava o turbo pascal e agora o free pascal (caso desaconselhem digam ) program oficina; uses crt; type cliente = RECORD Nome : string; Idade : integer; Morada : string; Contacto : longint; Modelo : string; {do carro} Marca : string; {do carro} revisao : string; matricula : string; BI : string; NIF : string; chasis : string; end; var opcao : char; info_cliente,backup : file of cliente; password, nome_cliente : string; cliaux : cliente; {esta função aqui para quem nao percebe, o que faz é criar o ficheiro caso ele nao exista, se existir simplesmente o abre para leitura. talvez esteja aqui o erro?¿} function Ini : integer; begin clrscr; assign(info_cliente,'C:\cliente.bin'); {$I-} reset(info_cliente); {$I+} if IOResult <> 0 THEN begin rewrite(info_cliente); close(info_cliente); end; end; procedure novo; {criar novo cliente} var fileaux : text; path,mat,ext : string; begin clrscr; reset(info_cliente); {aqui pede os dados para a criação de um novo cliente} Writeln('Insira o nome do cliente'); readln(cliaux.nome); writeln('Insira a idade do cliente'); readln(cliaux.idade); writeln('Insira a morada do cliente'); readln(cliaux.morada); writeln('Insira o contacto do cliente'); readln(cliaux.contacto); writeln('Insira o número de BI'); readln(cliaux.bi); writeln('Insira o número de NIF'); readln(cliaux.nif); writeln('Insira a data de revisão do veículo em dd/mm/aa'); readln(cliaux.revisao); writeln('Insira a marca do veículo do cliente'); readln(cliaux.marca); writeln('Insira o modelo do veículo do cliente'); readln(cliaux.modelo); writeln('Insira a matricula do veículo no formato XX-XX-XX'); readln(cliaux.matricula); writeln('Insira o número de chasis do veículo'); readln(cliaux.chasis); {esta variavel path é apenas para criar o nome do caminho do ficheiro} path:='C:\Rep\'; mat:=cliaux.matricula; ext:='.txt'; path:=path+mat+ext; {este fileaux é para criar um ficheiro de texto onde se escreve as reparações do carro, nao tá aqui essa parte do código, mas isto também nao deve ser o problema} assign(Fileaux,path); rewrite(Fileaux); {cria o ficheiro de texto} close(Fileaux); {isto aqui supostamente deveria passar os dados da variavel cliaux para o ficheiro do tipo cliente..} while not eof(info_cliente) do begin write(info_cliente,cliaux); close(info_cliente); end; end;