Beleza, mas seria melhor ainda que você mostrasse como você fez para que
outros colegas que, como você, poderão (ou irão) passar pelo mesmo problema
saibam com contorná-lo. Isso é até uma maneira de se mostrar grato à lista
no momento em que você precisou dela. Só o "venha a nós" e "ao vosso reino"
nada é chato, não é mesmo?

Sds.

-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de felipe govoni
Enviada em: quinta-feira, 2 de setembro de 2010 12:30
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] cast de float para byte

na verdade o valor dentro da variavel era um valor entre 65 e 90, por isso
achei que daria pra converter pra byte.

eu ja resolvi o problema, eu que estava fazendo errado.

mas mesmo assim obrigado.




Em 2 de setembro de 2010 20:12, Rubem Rocha
<rubem.ro...@dtmanaus.com.br>escreveu:

>
>
> A título de esclarecimento, um valor do tipo byte corresponde a um valor
> inteiro compreendido entre a faixa de valores de 0 até 255. Um valor do
> tipo
> Real (que é um Double!) pode passar desse valor, e ainda poder receber
> valores negativos. A grosso modo, esta também poderia ser uma explicação
> ‘aceitável’ para não ser possível fazer cast(conversão de tipo) de Real
> para
> Byte.
>
>
> Sds.
>
> De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> [mailto:
> delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>] Em
> nome de Rubem Rocha
> Enviada em: quinta-feira, 2 de setembro de 2010 11:39
>
> Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>
> Assunto: RES: [delphi-br] cast de float para byte
> Prioridade: Alta
>
>
> Não se pode fazer cast de um tipo de dados cujo tamanho é maior que o do
> dado que irá receber o resultado da conversão. O tipo Byte, como o próprio
> nome do tipo diz, tem um byte de tamanho. Já o tipo Real (que no final das
> contas é um Double) tem 8 bytes de tamanho. O que se pode fazer é
> representar um dado Real (ou Double) como um array de 8 bytes, assim:
>
> program RealToBytes;
>
> {$APPTYPE CONSOLE}
>
> uses SysUtils;
>
> var
>
> cod: Real;
>
> c: array[0..SizeOf(Real) - 1] of byte absolute cod;
>
> i: integer;
>
> begin
>
> cod := 123.45;
>
> for i := 0 to SizeOf(Real) - 1 do
>
> WriteLn(Format('$%2.2X', [c[i]]));
>
> WriteLn(Eoln);
>
> end.
>
> Sds.
>
> De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> <mailto:
> delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>>
> [mailto:delphi-br@yahoogrupos.com.br
<delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>>
>
> ] Em
> nome de felipe govoni
> Enviada em: quinta-feira, 2 de setembro de 2010 08:38
> Para: delphi-br@yahoogrupos.com.br
<delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>>
> Assunto: [delphi-br] cast de float para byte
>
> bom dia
>
> estou tentando fazer isso:
>
> var cod :real;
> c :byte;
>
> begin
>
> cod := 1;
> c := byte(cod);
>
> end;
>
> mas da erro de cast, alguem sabe como fazer essa transformação?
>
> --
> Felipe Govoni
> ---------------------
> GOVONI Sistemas
> Fone 8472-8718
> www.govoni.com.br



Responder a