Ir ao conteúdo
  • Cadastre-se

Procedure alterar dados


Arthur2010

Posts recomendados

Olá amigos, estou com um probleminha em uma das procedures do meu programinha, é o procedimento para alterar dados no arquivo binário, eu digito o

código para pesquisar mas ele nunca acha o mesmo na lista, aqui está a procedure:

PROCEDURE alterar_dados;
{procedimento para alterar dados}
VAR
opcao:char;
codPesq :String;
i,y:integer;

BEGIN
RESET(arquivo);

BEGIN

gotoxy(1,10); write('Quer alterar qual produto? ');
readln(codPesq);
y:=0;
BEGIN
seek(arquivo,0);
while not eof(arquivo) do
BEGIN
read(arquivo,ficha);
if upcase(codPesq) = ficha.rescod then
BEGIN
clrscr;
SEEK(arquivo,FILEPOS(arquivo)-1);
gotoxy(15,5); writeln('Escolha uma opcao para alterar');
writeln;
gotoxy(15,8); writeln('1-Codigo ',ficha.rescod) ;
gotoxy(15,9); writeln('2-Descricao ',ficha.desc) ;
gotoxy(15,10); writeln('3-Quantidade ',ficha.qtd) ;
gotoxy(15,11); writeln('4-Data De Entrada ',ficha.dat_ent) ;
gotoxy(15,20); writeln('Qual opcao quer alterar?');
gotoxy (41,20); readln(opcao);

if opcao='1' then
BEGIN
gotoxy(5,4); writeln('Novo Codigo: ');
gotoxy(18,4); readln(ficha.rescod); ficha.rescod:=UPCASE (ficha.rescod);
END;

if opcao='2' then
BEGIN
gotoxy(5,4); writeln('Nova Descricao: ');
gotoxy(18,4); readln(ficha.desc); ficha.desc:=UPCASE (ficha.desc);
END;

if opcao='3' then
BEGIN
gotoxy(5,4); writeln('Nova Quantidade: ');
gotoxy(18,4); readln(ficha.qtd);
END;

if opcao='4' then
BEGIN
gotoxy(5,4); writeln('Nova Data De Entrada: ');
gotoxy(18,4); readln(ficha.dat_ent); ficha.dat_ent:=UPCASE (ficha.dat_ent);
END;

write(arquivo,ficha);
y:=1;
END;
END;
END;
END;
if y= 0 then
BEGIN
writeln('Codigo não encontrado');
readkey;
END;
CLOSE (arquivo);


END; {fim opcao 3}


Muito obrigado!

Link para o comentário
Compartilhar em outros sites

Boa noite, eu acho que descobri o problema, alguma coisa acontece na hora que

ele pesquisa se existe o código no arquivo mais precisamente nessa linha:

 if upcase(codPesq) = ficha.rescod then

Se eu remover esta parte do código ele consegue achar o código se ele existir é claro, mas ai perco o teste comparando se o a variável "codPesq" é igual a referência que criei para trabalhar no arquivo "ficha.rescod"

Então, o correto seria ele fazer o teste e só então se achar o código exibir o menu com as opções para alterar.

Grato!

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!