rascunho no fichario, em nosso programa em nosso arquivo Write(CadCli,Cli1) como no fichario normal. Esta ficha tem que estar no lugar de onde foi tirada. Em nosso programa forcamos para que isso aconteca usando IND.ProgramaProcedure AlteraCli; begin Repeat WriteLn('Digite o nome do Cliente'); ClrEol; ReadLn(Aux); ind:=0; seek(CadCLI,0); t:=1; While not Eof(CadCLI) and (t = 1) do begin Read(CadCli,Cli1); If (Aux=Cli1.NomeCLI) and (Cli1.Marca <> '*') then BEGIN WriteLn('Cliente Encontrado'); MostraCli; WriteLN; CamposCli; ExisteCliente; if ExisteCli=False then begin WriteLN('Finalizou'); seek(CadCLI,IND); Write(CadCli,Cli1); t:=2; end else Begin WriteLn('Cliente j Cadastrado, Anulada a operacao'); end; END; ind:=ind+1; end; Write('Deseja Alterar mais arquivos (S/N)'); SimNao; Until T<>1; end;5.9 PROCEDURE ExcluiCli;ObjetivoMarcar registros para exclusao.SolucaoO procedure ExcluirCli e analogo ao Alteracliente, mais iremos alterar apenas um campo que e de uso interno e o usuario nao tera acesso. Este procedure encontrando o cliente a ser excluido, grava o conteudo anterior, so que desta vez coloca o caracter * no campo Marca do registro. Como se pode ver os comandos logo abaixo:Cli1.Marca:= '*';seek(CadCLI,IND);Write(CadCli,Cli1);ProgramaProcedure ExcluiCli; begin Repeat writeln; WriteLn('Digite o nome do Cliente a ser excluido'); ClrEol; ReadLn(Aux); ind:=1; seek(CadCLI,0); t:=1; While not Eof(CadCLI) and (t = 1) do begin Read(CadCli,Cli1); If (Aux=Cli1.NomeCLI) and (Cli1.Marca <> '*') then BEGIN WriteLn('Cliente Encontrado'); MostraCli; Cli1.Marca:= '*'; WriteLN('Finalizada a exclusao'); seek(CadCLI,IND); Write(CadCli,Cli1); t:=2; END; Ind:=ind+1; end; Write('Deseja Excluir mais arquivos (S/N)'); SimNao; Until T<>1; end; 5.10 Procedure MostrarCli;ObjetivoO objetivo deste e mostrar os dados de um cliente existente na tela.Solucao ReadLn(Aux); ind:=1; seek(CadCLI,0); t:=1; While not Eof(CadCLI) and (t = 1) do If Aux=Cli1.NomeCLI then MostraCli;Este procedure e util na consulta de algum cliente em que apenas queremos dar uma olhada em seus dados. Quando pedimos o nome a ser procurado, e realizada a busca, e ao encontrar o cliente e mostrado o seu conteudo na tela usando o procedure MostraCli. O metodo de busca consiste em pedir a variavel auxiliar a ser procurada, definir o indice, colocar o ponteiro no registro numero 0 do arquivo, atribuir a variavel de teste um valor que permite este entrar no While, e dentro do while, e realizada a busca ate que nao seja final de arquivo, e a variavel teste seja igual a 1.ProgramaProcedure MostrarCli; begin Repeat writeln; WriteLn('Digite o nome do Cliente a ser Consultado'); ClrEol; ReadLn(Aux); ind:=1; seek(CadCLI,0); t:=1; While not Eof(CadCLI) and (t = 1) do begin Read(CadCli,Cli1); If Aux=Cli1.NomeCLI then BEGIN WriteLn('Cliente Encontrado'); MostraCli; Write('Marca:'); WriteLN(Cli1.Marca); WriteLN; WriteLN('Finalizada a Mostragem'); t:=2; END; Ind:=ind+1; end; Write('Deseja Consultar mais registros (S/N)'); SimNao; Until T<>1; end; 5.11 PROCEDURE FinalCli;ObjetivoO objetivo deste procedure e finalizar o programa.SolucaoA solucao deste compreende em fornecer a variavel necessaria para a saida do loop do menu, bem como realizar o fechamento do arquivo aberto no inicio do programa para ser utilizado.ProgramaProcedure FinalCli; begin FimCli:=True; ClrScr; Close(CadCLI); end;5.12 PROCEDURE IniciaCli;Objetivo.O objetivo deste procedure e realizar a abertura dos arquivos necessarios no programa, e iniciar a variavel que sera responsavel em manter o menu em loop ate que se deseje sair dele.Solucao.ok:=testa_arquivo(1);If ok then Assign (CadCli,ArqCliente); Reset(CadCLI);else Assign (CadCli,ArqCliente); Rewrite(CadCLI);FimCli:=False;Logo no inicio e atribuido o valor da funcao Testa_arquivo. Com o valor capturado