Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
c.gb Novato

Registrado: Segunda-Feira, 6 de Fevereiro de 2012 Mensagens: 5
|
Enviada: Ter Fev 21, 2012 1:25 pm Assunto: o que está errado no código, não compila para no end. |
|
|
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 |
|
 |
AndreXPC Novato


Registrado: Terça-Feira, 8 de Março de 2011 Mensagens: 34 Localização: Minas Gerais
|
Enviada: Ter Fev 21, 2012 1:40 pm Assunto: |
|
|
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 |
|
 |
marcosalles Moderador

Registrado: Quarta-Feira, 26 de Março de 2008 Mensagens: 1695 Localização: Muriaé Mg
|
Enviada: Ter Fev 21, 2012 1:40 pm Assunto: |
|
|
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 |
|
 |
c.gb Novato

Registrado: Segunda-Feira, 6 de Fevereiro de 2012 Mensagens: 5
|
Enviada: Ter Fev 21, 2012 10:59 pm Assunto: |
|
|
e como ficaria o case nesse caso? |
|
Voltar ao Topo |
|
 |
marcosalles Moderador

Registrado: Quarta-Feira, 26 de Março de 2008 Mensagens: 1695 Localização: Muriaé Mg
|
Enviada: Qua Fev 22, 2012 7:45 am Assunto: |
|
|
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 |
|
 |
c.gb Novato

Registrado: Segunda-Feira, 6 de Fevereiro de 2012 Mensagens: 5
|
Enviada: Qua Fev 22, 2012 8:14 am Assunto: |
|
|
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 |
|
 |
marcosalles Moderador

Registrado: Quarta-Feira, 26 de Março de 2008 Mensagens: 1695 Localização: Muriaé Mg
|
Enviada: Qua Fev 22, 2012 9:49 am Assunto: |
|
|
[quote="c.gb"] marcosalles 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 |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Qua Fev 22, 2012 10:57 am Assunto: |
|
|
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 |
|
 |
pauloD7 Aprendiz

Registrado: Domingo, 17 de Abril de 2011 Mensagens: 165
|
Enviada: Qua Fev 22, 2012 12:47 pm Assunto: Re: o que está errado no código, não compila para no end. |
|
|
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 |
|
 |
|