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 > > [As partes desta mensagem que não continham texto foram removidas] > > > -- Felipe Govoni --------------------- GOVONI Sistemas Fone 8472-8718 www.govoni.com.br [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html