StrToFloat me retorna quot;Não é um inteiro válidoquot;
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]
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
Curtidas 0
Respostas
Lucas Silva
11/06/2004
Ele te retorna isto, pq a celula esta vazia....
Uma boa solução é você fazer um [b:e2e0223406]if[/b:e2e0223406] antes...
Uma outra coisa que você pode fazer é barrar a digitação de letras nestas células que você vai fazer o calculo....
[/b]
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]
GOSTEI 0
Henriquecorrea
11/06/2004
Eu verifiquei os dados inseridos na stringgrid e não achei nenhum quadro vazio...
GOSTEI 0
Henriquecorrea
11/06/2004
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...
GOSTEI 0
Thomaz_prg
11/06/2004
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
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.
Com relação ao erro, poste o código utilizado na conversão para dar-mos uma olhada.
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.
GOSTEI 0
Lucas Silva
11/06/2004
Eu verifiquei os dados inseridos na stringgrid e não achei nenhum quadro vazio...
Coloca os dados do seu StringGrid ai.....
GOSTEI 0
Henriquecorrea
11/06/2004
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.
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.
GOSTEI 0
Lucas Silva
11/06/2004
eu estava contabilizando a linha 0 ...
é isso que eu te falei. a linha 0 não devia estar preenchida....
GOSTEI 0