diz que posicione no arquivo CadCli na primeira posicao.Eof(CadCLI)Esta funcao testa se a posicao atual esta no final do arquivo ou em ingles End Of File Nome do Arquivo: CadCli Indice Registros Seek(CadCli,0) 1o posicao 0 Dados 1 Dados 2 Dados EOF(CadCli) 3 Dados FileSize(CadCli) 4 Em branco Este procedure usa estes comandos mostrados acima para executar a sua funcao de busca de um dado do registro igual da variavel.Analizando o codigo de programa deste procedure encontramos logo no inicio:ExisteCli:=FalseA intencao desta variavel ser falsa e pelo fato de se nao for encontrado algo na procura ela ira manter esse valor, atribuido a ela, se no decorrer da busca for encontrado algo, esta variavel ira ser re atribuida com o valor verdadeiro.seek(CadCLI,0);Esta linha simplesmente ira posicionar o ponteiro no primeiro registro do arquivo, que se encontra o indice 0 por assim dizer.Esta operacao e realizada afim de iniciar abusca apartir do primeiro item.While not Eof(CadCLI) doEsta linha e a principal responsavel pela busca, Enquanto nao for final de arquivo do arquivo CadCli faca.Toda vez que se fizer uma leitura e esta leitura nao representar o final de arquivo esta condicao se mantera em um loop ate que o ultimo registro do arquivo seja encontrado.Read(CadCli,Cli2);Neste instante e feita a leitura do registro conforme a sua posicao e o conteudo que esta ativo, isto e apontado e colocado em uma variavel rascunho para posteriores verificacao.IF Cli1.NomeCLI = Cli2.NomeCli thenNesta linha e realizada a verificacao se o conteudo da variavel rascunho Cli1.nomeCli especificado antes da chamada deste procedure for igual a variavel rascunho que contem os dados atuais do registro apontado Cli2.NomeCli.Se em alguma comparacao for encontrado valores iquais na comparacao e atribuido a ExisteCli:=True , desta forma, indicando que existe o cliente.ProgramaProcedure ExisteCliente; begin ExisteCli:=False; seek(CadCLI,0); While not Eof(CadCLI) do begin Read(CadCli,Cli2); IF Cli1.NomeCLI = Cli2.NomeCli then Begin ExisteCli:=True; End; end; end;5.7 PROCEDURE IncluirCliObjetivoO objetivo a ser alcancado por este procedure e incluir um novo registro no arquivo, sendo que caso haja algum registro marcado para exclusao este novo registro deve ser colocado na posicao do registro marcado.SolucaoA solucao para este problema pode ser resumido nas partes marcados do programa que de forma simplificada e grosseira mostramos logo abaixo.repeat While not Eof(CadCLI) and (sai<>1) do if Cli1.Marca= '*'then if marcado >=1 then Seek(CadCli,Marcado); Write(CadCli,Cli1); else Seek(CadCli,FileSize(CadCli)); Write(CadCli,Cli1); Until T<>1;Em primeiro lugar devemos entender oque desejamos fazer.Em primeiro devemos saber se existe registros marcados.Depois, se existir devemos colocar o novo registro em sua posicao, senao colocar no final do registro.Analisando as partes:While not Eof(CadCLI) and (sai<>1) do if Cli1.Marca= '*'thenPodemos ler da sequinte forma, enquanto nao for final de arquivo e a variavel que sair for diferente de 1 faca.Se No registro rascunha em uma devida posicao encontrar Cli1.Marca= ' *', significa que existe registros marcados, no corpo do programa tera recursos que capturarao a posicao do marcado.if marcado >=1 then Seek(CadCli,Marcado); Write(CadCli,Cli1); else Seek(CadCli,FileSize(CadCli)); Write(CadCli,Cli1);Se foi encontrado algum registro marcado um contador sera acrescido de forma a indicar que existe arquivo marcado quando a variavel marcado estiver contendo valores maiores ou igual a 1.Se