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