ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

o que está errado no código, não compila para no end.

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
c.gb
Novato
Novato


Registrado: Segunda-Feira, 6 de Fevereiro de 2012
Mensagens: 5

MensagemEnviada: Ter Fev 21, 2012 1:25 pm    Assunto: o que está errado no código, não compila para no end. Responder com Citação

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
vcp: array[1..3] of Integer;
i: Integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

vcp[1]:=23000;
vcp[2]:=22000;
vcp[3]:=21000;

case i of

10 : Label1.Caption:=IntToStr(vcp[1]);
12 : Label1.Caption:=IntToStr(vcp[2]);
else Label1.Caption:=IntToStr(vcp[3]);

end;

end.





O que está errado neste código? quando aperto a tecla f9 para compilar ele para no end.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
AndreXPC
Novato
Novato


Registrado: Terça-Feira, 8 de Março de 2011
Mensagens: 34
Localização: Minas Gerais

MensagemEnviada: Ter Fev 21, 2012 1:40 pm    Assunto: Responder com Citação

A variável i tá "solta" no seu código, ou seja, não recebe nenhum valor.
_________________
Programador Delphi


Editado pela última vez por AndreXPC em Ter Fev 21, 2012 1:43 pm, num total de 2 vezes
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
marcosalles
Moderador
Moderador


Registrado: Quarta-Feira, 26 de Março de 2008
Mensagens: 1695
Localização: Muriaé Mg

MensagemEnviada: Ter Fev 21, 2012 1:40 pm    Assunto: Responder com Citação

A estrutura case por se so tem um end;

case <> of
condicação
end;
_________________
http://marcosalles.wordpress.com

Desenvolvo FreeLancer e presto Consultoria
Orientação Online DataSnap DbX ClientDataSet
POO , Padrões de Projeto e dúvidas de Delphi em
Geral
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
c.gb
Novato
Novato


Registrado: Segunda-Feira, 6 de Fevereiro de 2012
Mensagens: 5

MensagemEnviada: Ter Fev 21, 2012 10:59 pm    Assunto: Responder com Citação

e como ficaria o case nesse caso?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcosalles
Moderador
Moderador


Registrado: Quarta-Feira, 26 de Março de 2008
Mensagens: 1695
Localização: Muriaé Mg

MensagemEnviada: Qua Fev 22, 2012 7:45 am    Assunto: Responder com Citação

c.gb escreveu:
e como ficaria o case nesse caso?


colocar um end; para o case

o end; que voce postou no su código se refere a estrutura begin end;
_________________
http://marcosalles.wordpress.com

Desenvolvo FreeLancer e presto Consultoria
Orientação Online DataSnap DbX ClientDataSet
POO , Padrões de Projeto e dúvidas de Delphi em
Geral
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
c.gb
Novato
Novato


Registrado: Segunda-Feira, 6 de Fevereiro de 2012
Mensagens: 5

MensagemEnviada: Qua Fev 22, 2012 8:14 am    Assunto: Responder com Citação

marcosalles escreveu:
c.gb escreveu:
e como ficaria o case nesse caso?


colocar um end; para o case

o end; que voce postou no su código se refere a estrutura begin end;


Blz compilou, mas as targets não estão funcionando ex: se digitar 10 deveria mostrar o conteudo que está no vcp[1], se digitar 12 vcp[2] ... mas em todos os casos ele mostra o conteudo do vcp[3], saberia como arrumar isso?
Obrigado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcosalles
Moderador
Moderador


Registrado: Quarta-Feira, 26 de Março de 2008
Mensagens: 1695
Localização: Muriaé Mg

MensagemEnviada: Qua Fev 22, 2012 9:49 am    Assunto: Responder com Citação

[quote="c.gb"]
marcosalles escreveu:
c.gb escreveu:

Blz compilou, mas as targets não estão funcionando ex: se digitar 10 deveria mostrar o conteudo que está no vcp[1], se digitar 12 vcp[2] ... mas em todos os casos ele mostra o conteudo do vcp[3], saberia como arrumar isso?
Obrigado


O i como disse acima, foi definido mas parece estar solto . sendo inteiro
ele assumi o valor de Zero , como no seu código voce não esta atribuindo
nenhum valor para a variavel i , a condição case[i] é a mesmo coisa
que case 0 of
e como ZERO , não é nen dez e nen 12 a instrução do case é desviada para
o else .. e no eslse manda que o caption do label receba
else Label1.Caption:=IntToStr(vcp[3]);

vcp[3] que pela sua definição é 2100
_________________
http://marcosalles.wordpress.com

Desenvolvo FreeLancer e presto Consultoria
Orientação Online DataSnap DbX ClientDataSet
POO , Padrões de Projeto e dúvidas de Delphi em
Geral
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Qua Fev 22, 2012 10:57 am    Assunto: Responder com Citação

Primeiro vc deve inicializar I, pois nada houver na variável, nada será feito, como está acontecendo aí.


bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
pauloD7
Aprendiz
Aprendiz


Registrado: Domingo, 17 de Abril de 2011
Mensagens: 165

MensagemEnviada: Qua Fev 22, 2012 12:47 pm    Assunto: Re: o que está errado no código, não compila para no end. Responder com Citação

c.gb escreveu:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
vcp: array[1..3] of Integer;
i: Integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

vcp[1]:=23000;
vcp[2]:=22000;
vcp[3]:=21000;

case i of

10 : Label1.Caption:=IntToStr(vcp[1]);
12 : Label1.Caption:=IntToStr(vcp[2]);
else Label1.Caption:=IntToStr(vcp[3]);

end;

end.





O que está errado neste código? quando aperto a tecla f9 para compilar ele para no end.

Amigo olha se e isso que vc quer
Código:

procedure TForm1.Button1Click(Sender: TObject);
var
  i :integer;
 begin
   i :=  StrToInt(Edit1.Text);
   vcp[1]:=23000;
   vcp[2]:=22000;
   vcp[3]:=21000;
 case i of
   10 : Label1.Caption:=IntToStr(vcp[1]);
   12 : Label1.Caption:=IntToStr(vcp[2]);
   else Label1.Caption:=IntToStr(vcp[3]);
  end;
 end;

end.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB