Ir para conteúdo
Fórum Script Brasil
  • 0

UnicodeString) into type (Double) erro


rebotea

Pergunta

olá

estou tendo este erro e não consigo resolver que estou fazendo de errado!

Obrigado

Could not convert variant of type (UnicodeString) into type (Double)

dados a ler

sp01.temp 18

sp02.temp 25

Code

procedure TTermografia.AnileseSpClick(Sender: TObject);

var v1, v2,v3: String;

I, J: Integer;

sp1nome : String;

sp2nome : String;

begin

try

label1.Caption:= trim(IRimage1.AnalysisResults('Sp01'));

Pontovalor1.text:= trim(IRimage1.AnalysisResults('Sp01.temp'));

label2.Caption:= trim(IRimage1.AnalysisResults('Sp02'));

Pontovalor2.Text:= trim(IRimage1.AnalysisResults('Sp02.temp'));

begin

if (Pontovalor2.Text <> ' ') then

try

sp1nome := trim(IRimage1.AnalysisResults('Sp01.temp'));

Analise1.value := Copy(sp1nome , Length(sp1nome ) - 4 , 7);

sp2nome := trim(IRimage1.AnalysisResults('Sp02.temp'));

Analise2.value := Copy(sp2nome , Length(sp2nome ) - 4 , 7);

ValorGeral.Value:= trim(Analise1.Value-Analise2.Value ) ;

ValorGeral.Value := RoundTo(ValorGeral.Value, -2);

finally

end;

end;

except

sp1nome := trim(IRimage1.AnalysisResults('Sp01.temp'));

Analise1.value := Copy(sp1nome , Length(sp1nome ) - 3 , 4);

sp2nome := trim(IRimage1.AnalysisResults('Sp02.temp'));

Analise2.value := Copy(sp2nome , Length(sp2nome ) - 3, 4);

ValorGeral.Value:= trim(Analise1.Value-Analise2.Value ) ;

ValorGeral.Value := RoundTo(ValorGeral.Value, -2);

end;

end;

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Could not convert variant of type (UnicodeString) into type (Double)

Não pode converter variante de tipo (UnicodeString) em tipo (Double)

OBS: quando postar o erro, idique tambem a linha onde ocorreu esse erro

Uma variável do tipo Variant não pode ser convertida para um tipo Double

Tipo UnicodeString

Os tipos fundamentais são AnsiChar and WideChar.

Tipo Double

Real48 2.9 x 10^–39 .. 1.7 x 10^38

Single 1.5 x 10^–45 .. 3.4 x 10^38

Double 5.0 x 10^–324 .. 1.7 x 10^308

Extended 3.6 x 10^–4951 .. 1.1 x 10^4932 19–20

Comp –2^63+1 .. 2^63 –1 19–20 8

Currency –922337203685477.5808.. 922337203685477.5807

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
o erro ocorre sempre nestas partes

Analise2.value := Copy(sp2nome , Length(sp2nome ) - 4 , 7);

ValorGeral.Value:= trim(Analise1.Value-Analise2.Value ) ;

Supondo que Analise2.value é do tipo Double

então voce deveria usar

Analise2.value := strtofloat(Copy(sp2nome , Length(sp2nome ) - 4 , 7));
agora nesta parte
ValorGeral.Value:= trim(Analise1.Value-Analise2.Value );
se Analise1.Value é do tipo integer, real ou double, voce não pode usar o ( trim ) pois ele serve somente para tirar os espaços em branco entre variaveis do tipo string então ficaria
ValorGeral.Value:= Analise1.Value-Analise2.Value;

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,1k
×
×
  • Criar Novo...