Funnyy
Membro
Ola Pessoal!
Precisava de uma ajudinha aqui com um programa de ficheiros ( Linguagem Pascal ), é o seguinte o meu programa é sobre gerir matrial informatico, onde tem um ficheiro para clientes que adiciona, modifica e apaga, e outro ficheiro para material q faz o mesmo. Cada cliente/material tem um numero q e inserido automaticamente (atarves do " filesize(f1)+1 " ...
A minha duvida é na parte do apagar, o programa apaga o nr do cliente/material mas depois em vez de continuar apartir do ultimo nr. introduzido, nao continua apartir do nr q apagou, criando nr's iguais... :s
procedure apagar_clientes;
begin
writeln('Numero');
readln(n1);
if existen=true then
reset(f);
if existe=true then
rewrite(temp);
while not eof (f) do
begin
read(f,r);
if n1<>r.numc then
write(temp,r);
end;
close(f);
close(temp);
if existen=true then
rewrite(f);
if existe=true then
reset(temp);
while not eof (temp) do
begin
read(temp,r);
write(f,r);
end;
close(f);
close(temp);
end;
Esta aqui um excerto do programa onde esta a minha duvida espero que possam ajudar...
Ps: se for preciso posto o trabalho completo!!!
Obrigado!
Precisava de uma ajudinha aqui com um programa de ficheiros ( Linguagem Pascal ), é o seguinte o meu programa é sobre gerir matrial informatico, onde tem um ficheiro para clientes que adiciona, modifica e apaga, e outro ficheiro para material q faz o mesmo. Cada cliente/material tem um numero q e inserido automaticamente (atarves do " filesize(f1)+1 " ...
A minha duvida é na parte do apagar, o programa apaga o nr do cliente/material mas depois em vez de continuar apartir do ultimo nr. introduzido, nao continua apartir do nr q apagou, criando nr's iguais... :s
procedure apagar_clientes;
begin
writeln('Numero');
readln(n1);
if existen=true then
reset(f);
if existe=true then
rewrite(temp);
while not eof (f) do
begin
read(f,r);
if n1<>r.numc then
write(temp,r);
end;
close(f);
close(temp);
if existen=true then
rewrite(f);
if existe=true then
reset(temp);
while not eof (temp) do
begin
read(temp,r);
write(f,r);
end;
close(f);
close(temp);
end;
Esta aqui um excerto do programa onde esta a minha duvida espero que possam ajudar...
Ps: se for preciso posto o trabalho completo!!!
Obrigado!
Última edição: