Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
15 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 15 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
ListBox

23/5/2017, 10:37 por Rosangela Pires

Ola Amigos.

Para se movimentar na grid com as setas colocamos no Metodo AfterChange da grid …

Comentários: 0

TRY BEGIN E FLOCK()

17/4/2017, 10:32 por AJC

Pessoal estou tendo alguns problemas de gravação em rede, estou usando
try begin, mas vi algo na …

Comentários: 0

Exportar Dados Campo Memo Tabela DBF

10/4/2017, 10:28 por fcampos

Olá bom dia.

Estou tentando exportar os dados de algumas tabelas em formato dbf pelo foxpro.
O …

Comentários: 2

Função EVL()

8/4/2017, 12:18 por Clebervfp

Bom dia a todos.
Vim compartilhar de uma Função do próprio VFP que me benefício muito.
Função …

Comentários: 0

COMO BLOQUEAR REGISTRO OU TABELA NO VISUAL FOXPRO PARA GRAVAÇÃO EM REDE

3/4/2017, 10:29 por AJC

Pessoal estou tendo um problema que acontece sempre busco na minha tabela de clientes o ultimo …

Comentários: 2

Estatísticas
Temos 7082 usuários registrados
O último usuário registrado atende pelo nome de Maiara Bosco

Os nossos membros postaram um total de 49 mensagens em 26 assuntos

Duvidas em registros

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Duvidas em registros

Mensagem por Ricardo HD em 5/6/2009, 14:11

Ola pessoal estou com duvidas referente a um programa em pascal.

Presciso elaborar um programa que simule um loja de cd's, que faça inclusão dos dados e a consulta de cd's pelo codigo de cadastramento, ja consegui fazer uma parte, esta compilando, mas ainda não ta funcionando blz.

O problema q to tendo com o programa é o seguinte:
Na procedure inclusao o programa solicita que entre com o numero do cd caso este numero ja esteja cadastrado ele exibe a mensagem 'Cd ja existe', caso contrario solicita que entre com os dados do novo cd. O problema dessa procedure é q eu entro com um valor e independente de estar ou não cadastrado ela me retorna a msg 'Cd já existe'.
Já na procedure consulta ela me retorna o ultimo cd que foi cadastrado e não aquele que pesquisei.
Caso possa ajudar desde ja agradeço vossa atenção.se alguem puder me ajudar fico grato. Segue os procedimento que ja fiz.

Código:
program cad_cd;
uses crt;

type
cadcd=record
numcd:integer;
titulo:string[40];
tipo:integer;
duracao:real;
nomcantor:string[40];
end;
reg_cd=array [1..5] of cadcd;
var
opcao:integer;
procedure inclusao (var cd:reg_cd;var ind:integer) ;
var
achou:boolean;
i,pesqcd:integer;
begin
clrscr;
write ('Digite o numero do cd: '); readln (pesqcd);
achou:=false;
for i:=1 to 5 do
begin
if pesqcd = cd[ind].numcd then
begin
cd[ind].numcd:=pesqcd;
write ('Titulo do CD: '); readln (cd[ind].titulo);
write ('Tipo do cd: 1 - Nacional, 2 - Internacional: '); readln (cd[ind].tipo);
write ('Duracao do cd: '); readln (cd[ind].duracao);
write ('Nome do cantor/grupo: '); readln (cd[ind].nomcantor);
ind:=ind+1;
writeln;
writeln ('Inclusão realizada com sucesso, tecla algo para voltar ao menu principal.');
achou:= true;
end;
end;
If achou = false then writeln ('Cd ja existe');
readkey;
end;


procedure consulta (var cd:reg_cd; var ind:integer);
var
i:byte;
pesqcd:integer;
achei:boolean;
begin
clrscr;
gotoxy (20,6);
write ('Janela de consulta de cd');
gotoxy (20,9);
write ('Digite o numero do cd a ser consultado: '); readln(pesqcd);
achei:=false;
for i:=1 to ind do
begin
if pesqcd = cd[ind].numcd then
writeln ('Titulo: ', cd[ind].titulo);
writeln ('Tipo: ',cd[ind].tipo);
writeln ('Duração: ',cd[ind].duracao);
writeln ('Nome do cantor\banda: ',cd[ind].nomcantor);
achei:=true;
end;
If achei=true then writeln ('cd invalido');
end;


{Programa Principal}
procedure menu;

begin
clrscr;
textbackground (blue);
textcolor (15);
gotoxy (30,3); writeln('Menu de opções');
gotoxy (30,6); writeln('1 - Inclusão');
gotoxy (30,7); writeln('2 - Consulta');
gotoxy (30,8); writeln('3 - Sair');

end;


var
cd: reg_cd;
ind:integer;
begin
clrscr;
repeat
clrscr;
ind:=1;
menu;
gotoxy (10,20); write('Digite uma opção:');
readln (opcao);
if (opcao <> 3) then

Case opcao of
1: inclusao(cd,ind);
2: consulta(cd,ind);

else
clrscr;
gotoxy(20,30); Writeln ('Opção invalida - Tecle algo');
repeat until keypressed;
end;
until opcao = 3;
end.

Ricardo HD
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Resolvido Re: Duvidas em registros

Mensagem por Marcos Guedes em 5/6/2009, 14:57

Olá Ricardo!
Não programo em pasca, mas deixe-me tentar ajudá-lo em quanto nosso amigo Tales Ruan, ou outro colega que domina a linguagem não aparece. rs...

Gostaria de começar pela inclusão, para tentarmos encontrar o erro:

- Você está digitando a entrada da mesma forma como foi armazenado o registro?
- Se não estiver, você deveria converter as strings que estão sendo comparadas, todas em maiúscula, ou minúscula.
- No seu laço for, tem o seguinte:
Código:
for i:=1 to 5 do
begin
  if pesqcd = cd[ind].numcd then
  begin
      cd[ind].numcd:=pesqcd;
      write ('Titulo do CD: ');
      readln (cd[ind].titulo);
      write ('Tipo do cd: 1 - Nacional, 2 - Internacional: ');
      readln (cd[ind].tipo);
      write ('Duracao do cd: ');
      readln (cd[ind].duracao);
      write ('Nome do cantor/grupo: ');
      readln (cd[ind].nomcantor);
      ind:=ind+1;

      writeln;
      writeln ('Inclusão realizada com sucesso, tecla algo para voltar ao menu principal.');

      achou:= true;
  end;
end;
- Porque você não imprime os valores comparados, para verificar se são os mesmos? Assim poderás chegar se ele está passando pelo registro q foi incluído
Ex:
Código:
for i:=1 to 5 do
begin
  write (pesqcd);
  write (cd[ind].numcd);
end;

Espero ter ajudado em alguma coisa, aguardo tua resposta.

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Duvidas em registros

Mensagem por Ricardo HD em 5/6/2009, 19:13

Ola Marcos Guedes

Consultei mas me parece que esta sendo armazenado apenas o ultimo registro incluido.

Ricardo HD
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Resolvido Re: Duvidas em registros

Mensagem por Tales Ruan em 8/6/2009, 14:17

Ricardo, boa tarde..

Vou trabalhar no seu problema. Isso deve acontecer quando acabar o meu serviço aqui, ou seja, de noite.

Enquanto isso não acontece, eu tenho uns exemplos que funcionam bem. Se você quiser posso mandá-los.

Té mais.
avatar
Tales Ruan
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Duvidas em registros

Mensagem por Ricardo HD em 8/6/2009, 16:34

Ok. Caso possa mandalos serão bem vindos.

Ricardo HD
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Resolvido Re: Duvidas em registros

Mensagem por Tales Ruan em 17/6/2009, 14:34

Boa tarde Ricardo!

Desculpe-me pela (grande) demora para responder, mas eu andei bastante ocupado ultimamente e com um problemas no acesso à internet. Sad

Não tive tempo de analizar todo o seu código, mas aparentemente tem uns probleminhas de lógica. Como não sei exatamente a solução estou postando um exemplo que desenvolvi para meu curso técnico. Ficou legalzinho até. Smile

Dê uma olhada neste arquivo de código fonte: http://www.4shared.com/file/112464545/11d57665/FDP1-5.html

Ele têm exemplos de procura, cadastros, inclusão, listagem, etc. Apesar de ter várias linhas, acho que você conseguirá encontrar o que procura. Qualquer coisa estou à disposição para ajudá-lo.

Boa Sorte!
avatar
Tales Ruan
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Duvidas em registros

Mensagem por Marcos Guedes em 21/6/2009, 00:59

Conseguiu resolver o problema, Ricardo?

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Duvidas em registros

Mensagem por Ricardo HD em 21/6/2009, 16:02

Consegui ta blz.
Muito grato pela ajuda.

Ricardo HD
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum