Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Código abaixo:
procedure TFprincipal.Button11Click(Sender: TObject);
var
i:integer;
for i := 0 to Minfo.Lines.Count -1 do
begin
Ltotal.Caption := Minfo.Lines[i];
end;[Error] U_principal.pas(76): Declaration expected but 'FOR' found
o que há de errado com meu FOR?
Grato ;)
falta o begin e o end da procedure.
Uhm, na estrutura da procedure?
WOW
Vou dar uma olhada.
como você só tem 1 linha de comando dentro do for, escreve sua rotina assim
procedure TFprincipal.Button11Click(Sender: TObject);
var
i:integer;
begin
for i := 0 to Minfo.Lines.Count -1 do
Ltotal.Caption := Minfo.Lines;
end;
>
como você só tem 1 linha de comando dentro do for, escreve sua rotina assim
procedure TFprincipal.Button11Click(Sender: TObject);
var
i:integer;
begin
for i := 0 to Minfo.Lines.Count -1 do
Ltotal.Caption := Minfo.Lines;
end;
Ah sim! Entendi, obrigado amigo.
O Code ajudou, a explicação também.
Grato!
Mas, na verdade a função que ESTAVA (porque esta não funcionou) era fazer o seguinte:
quando o usuário clica em TOTAL iria aparecer a SOMA dos valores do MEMO.
Tentei fazer assim, com este código, mas, não deu certo.
Haviam dois valores no Memo, assim dispostos:
12
12
mas quando cliquei em TOTAL, no lugar de aparecer 24, apareceu 12 o.O
o que eu poderia fazer para sanar isto?
Em que momento você somou os valores?
Chefia, ae o erro está na sua logica de programaçao...
do jeito que está, vai mostrar sempre o ultimo valor do memo...
faz assim
procedure TFprincipal.Button11Click(Sender: TObject);
var
i:integer;
vAux : Real;for i := 0 to Minfo.Lines.Count -1 do
vAux := vAux + StrToFloat(mInfo.Lines[i]);
Ltotal.Caption := FloatToStr(vAux);
end;Somente complementando o codigo do amigo Marcelo R Moura. Você deve inicializar a variavel com o valor 0 para não imprimir valores inesperados, ficando assim:
>
var
i:integer;
vAux : Real;
begin
vAux:= 0;
for i := 0 to Minfo.Lines.Count -1 do
vAux := vAux + StrToFloat(mInfo.Lines);
Ltotal.Caption := FloatToStr(vAux);
exato Rodrigo.
>
Somente complementando o codigo do amigo Marcelo R Moura. Você deve inicializar a variavel com o valor 0 para não imprimir valores inesperados, ficando assim:
>
var
i:integer;
vAux : Real;
begin
vAux:= 0;
for i := 0 to Minfo.Lines.Count -1 do
vAux := vAux + StrToFloat(mInfo.Lines);
Ltotal.Caption := FloatToStr(vAux);
Certo Rodrigo.
Mas, no caso o "vAux:=0" ficaria após o for, pois antes há erro.
Grato ;)
Marcelo, o código deu certo sim. Obrigado por enquanto!
o vAux:= 0; está no lugar correto!
o vAux:= 0; está no lugar correto!
Eu testei ele do jeito que estava no code, deu erro.
Então o coloquei dentro do for, deu certo.
Dá uma testada pra tu conferir.
Abraço.
Afe maria... E dentro do FOR ele fez o calculo corretamente?
Antes do Delphi vem um pouquinho de Pascal e antes do Pascal um assunto essencial... Lógica de Programação.
Boa sorte.
Chefia,
impossivel dar certo com o vAux := 0 dentro do for, pois a casa passada do laço sua variavel será zerada e você vai perder seu valor acumulado!!!!!
repito, tá certo do jeito que tá.
>
Chefia,
impossivel dar certo com o vAux := 0 dentro do for, pois a casa passada do laço sua variavel será zerada e você vai perder seu valor acumulado!!!!!
repito, tá certo do jeito que tá.
Aloc, então me desculpem.
Mas deu erro se for fora do for, vou tentar resolver aqui. Obrigado.
Com o seu FOR nada, o problema esta na estrutura da sua procedure.
Interprete a mensagem: "Declaração esperada mas 'FOR' encontrado", ou seja, ele esperava um comando, mas encontrou outro.