GARANTIR DESCONTO

Fórum StrToFloat me retorna quot;Não é um inteiro válidoquot; #237335

11/06/2004

0

Tenho dados dentro de uma TStringGrid.

Estes dados são notas de uma determinada turma.

Preciso soma-los e multiplica-los com numeros externos.

Os numeros externos estao como Real e outros como Integer.

Tento o StrToFloat mas o programa me retorna que ´ ´´ não é um inteiro válido´

Tento o StrToInt mas me retorna o mesmo.

ja mudei todas as variaveis para Real e depois todas para Integer mas o programa tambem me retornou a mesma coisa.



Como procedo neste caso?
Preciso desta soma urgente.

Obrigado.
:?: :!: [b:aeebdf5db3]Henrique Corrêa[/b:aeebdf5db3] :!: :?:

henrique@escolas-es.com.br


[color=red:aeebdf5db3][b:aeebdf5db3]Editado pelo moderador Nildo -> Deixe o texto em um formato legível, e um título adequado.[/b:aeebdf5db3][/color:aeebdf5db3]


Henriquecorrea

Henriquecorrea

Responder

Posts

11/06/2004

Lucas Silva

Ele te retorna isto, pq a celula esta vazia....
Uma boa solução é você fazer um [b:e2e0223406]if[/b:e2e0223406] antes...

if (StringGrid1.Cells[0,1] <> ´´) then
 // ai você faz seus calculos aqui...


Uma outra coisa que você pode fazer é barrar a digitação de letras nestas células que você vai fazer o calculo....
[/b]


Responder

Gostei + 0

11/06/2004

Henriquecorrea

Eu verifiquei os dados inseridos na stringgrid e não achei nenhum quadro vazio...


Responder

Gostei + 0

11/06/2004

Henriquecorrea

Eu verifiquei os dados inseridos na stringgrid e não achei nenhum quadro vazio...


os dados estao como string
exemplos
19,50
2,90
10,00

etc...


Responder

Gostei + 0

11/06/2004

Thomaz_prg

Como o colega Lucas disse, você pode fazer com que na hora da edição dos valores, sejam aceitos apenas números e vírgula

na propriedade OnKeyPress coloque o seguinte código
if not (key in [´0´..´9´]) and ((key=´,´) and (pos(´,´,edit1.text) > 0 )) then
  key:=0;


Lembrando que, onde tiver edit1, vc substitui pelo edit (ou outro) que estiver utilizando.

Com relação a verificação, você pode testar se a conversão é possível antes de faze-la.
A função abaixo, verifica se a conversão for possível, retornando [b:d4c1d72939]true[/b:d4c1d72939] se a mesma pode ser feita e [b:d4c1d72939]false[/b:d4c1d72939] se não pode.
function podeconverter( numero:string ):boolean;
var 
  teste:float;
begin
  result:=tryStrToFloat( numero , teste );
end;


Com relação ao erro, poste o código utilizado na conversão para dar-mos uma olhada.


Responder

Gostei + 0

11/06/2004

Lucas Silva

Eu verifiquei os dados inseridos na stringgrid e não achei nenhum quadro vazio...

Coloca os dados do seu StringGrid ai.....


Responder

Gostei + 0

11/06/2004

Henriquecorrea

Obrigado pessoal mas eu consegui achar o erro...
eu estava contabilizando a linha 0 mas nao existe linha 0 e comecei o meu comando de repeticao a partir da linha 1 e na string grid
comeca a partir da linha 1 mesmo.. eu devia ter comecado o comando a partir da linha 2.
obrigado pela atencao de voces...
Henriuqe.


Responder

Gostei + 0

11/06/2004

Lucas Silva

eu estava contabilizando a linha 0 ...


é isso que eu te falei. a linha 0 não devia estar preenchida....


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar