Re: [delphi-br] cast de float para byte
na realidade noa resolvi o problema pois eu que estava fazendo errado, usei o trunc ao inves do int. foi um erro meu na verdade, vo coloca meu codigo aqui. tava fazendo um random pra cria um codigo em string. cod := 1; while (cod < 5) or (cod > 8) do begin letra := 'a'; cod := trunc((random * 10)); end; randomize; cod2 := trunc((random * 10)); letra := chr(strtoint(inttostr(cod) + inttostr(cod2))); Em 2 de setembro de 2010 21:09, Rubem Rocha escreveu: > > > 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-br@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 > >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 40yahoogrupos.com.br> [mailto: > > delphi-br@yahoogrupos.com.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 > > 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 40yahoogrupos.com.br> > delphi-br%40yahoogrupos.com.br > > > > [mailto:delphi-br@yahoogrupos.com.br > > delphi-br%40yahoogrupos.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 > > > > 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 > > > -- 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
RES: [delphi-br] cast de float para byte
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 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 [mailto: > delphi-br@yahoogrupos.com.br ] Em > nome de Rubem Rocha > Enviada em: quinta-feira, 2 de setembro de 2010 11:39 > > Para: delphi-br@yahoogrupos.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@yahoogrupos.com.br delphi-br%40yahoogrupos.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 > > 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
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 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 [mailto: > delphi-br@yahoogrupos.com.br ] Em > nome de Rubem Rocha > Enviada em: quinta-feira, 2 de setembro de 2010 11:39 > > Para: delphi-br@yahoogrupos.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@yahoogrupos.com.br delphi-br%40yahoogrupos.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 > > 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
RES: [delphi-br] cast de float para byte
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 [mailto:delphi...@yahoogrupos.com.br] Em nome de Rubem Rocha Enviada em: quinta-feira, 2 de setembro de 2010 11:39 Para: delphi-br@yahoogrupos.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 <mailto:delphi-br%40yahoogrupos.com.br> [mailto:delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> ] Em nome de felipe govoni Enviada em: quinta-feira, 2 de setembro de 2010 08:38 Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.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]
RES: [delphi-br] cast de float para byte
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 [mailto:delphi...@yahoogrupos.com.br] Em nome de felipe govoni Enviada em: quinta-feira, 2 de setembro de 2010 08:38 Para: delphi-br@yahoogrupos.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] [As partes desta mensagem que não continham texto foram removidas]
[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]