Fórum Comparação de sentenças #372727
24/07/2009
0
A minha idéia é a seguinte: na hr de mostrar o gráfico , aparece a msg que o gráfico não pode ser feito pois têm valores negativos.
Basta entrar com 1 va,or positivo que ele faz o gráfico, mas se tiver pelo menos 1 valor <0 o gráfico não deveria ser feito !
A parte do código é essa:
begin
Chart1.series[0].Clear;
Chart1.series[0].AddXY(0,0);
for c:=1 to Form1.SpEtapa.Value do
begin
s:=Form1.DadosGrid.Cells[2,c]; //conteúdo da coluna 2: s(m) // recebe valores do DBGrid
q:=Form1.DadosGrid.Cells[3,c]; //conteúdo da coluna 3: Q(m3/h)
//A partir daqui dá o erro !
if StrToFloat(s)<0 then
begin
Showmessage (´Não é possível construir o gráfico ´Curva do poço´ com valores de ND(m) menores que os valores de Ne(m)´);
close;
end
else
Chart1.series[0].AddXY(StrToFloat(q),StrToFloat(s));
end;
end;
Agradeço se algm puder ajudar !
Iza
Curtir tópico
+ 0Posts
24/07/2009
Iza
Se eu escrever a sentença:
if StrToFloat(s)<0 and if StrToFloat(s)>0
Não dá certo...como eu poderia escrever, para assim que um valor negativo teha sido digitado, ele não faça mais o gráfico.
Gostei + 0
24/07/2009
Danielrsanches
if (StrToFloat(s)<0) and (StrToFloat(s)>0) then comandos...
porém, esse if é irreal, pois, um valor nunca será <0 e ao mesmo tempo >0 ....
post aki o que pretende com esse if, caso ainda tenha restado dúvidas ...
abraços !!!
Gostei + 0
24/07/2009
Iza
eu quero fazer o seguinte:
if StrToFloat(s)<0 then // e aqui entraria a sentença ´if StrToFloat(s)<0 and if StrToFloat(s)>0
begin
Showmessage (´Não é possível construir o gráfico ´Curva do poço´ com valores de ND(m) menores que os valores de Ne(m)´);
close;
end
else
Chart1.series[0].AddXY(StrToFloat(q),StrToFloat(s));
Não consegui acertar ainda...pq entre tds os valores digitados, se PELO MENOS 1 for negativo, o gráfico não pode mais ser gerado !
Gostei + 0
24/07/2009
Osocram
Pq não da certo?
o certo seria ( if StrToFloat(s)<0 )
Mas qual o erro q da qdo vc faz assim?
Gostei + 0
24/07/2009
Iza
Se eu escrever só com esse IF não dá certo, porque o gráfico continua sendo gerado ! ele não coloca no gráfico o ponto negativo, mas continua fazendo com o positivo...e não devia fazer..
Não sei se tá dando pra entender..mas agradeço a ajuda !
Gostei + 0
24/07/2009
Osocram
uma primeira vez apenas p validar se tem valor negativo
var
TemValorNegativo :boolean;
TemValorNegativo := false;
for c:=1 to Form1.SpEtapa.Value do
begin
s:=Form1.DadosGrid.Cells[2,c]; //conteúdo da coluna 2: s(m) // recebe valores do DBGrid
q:=Form1.DadosGrid.Cells[3,c]; //conteúdo da coluna 3: Q(m3/h)
if StrToFloat(s)<0 then begin
TemValorNegativo := true;
Break;
end;
end;
if TemValorNegativo then
Exit;
For..... <- aqui o for q vc postou p agente.
acho q isso resolve.
Gostei + 0
27/07/2009
Iza
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)