nao sei se te ajuda... eu tenho esta função que fiz ha muito tempo que me
retorna uma sequencia de bits com zeros e uns
eu a uso para erros em serie,tipo vou fazer varias validações e quero
informar ao usuario onde esta o erro, ai eu atribuo um valor binario para o
erro (1,2,4,8,16,32,64,128) e vou somando, a soma destes me da onde foi
achado erros, depois eu so conto a posição do bit aceso e vejo qual erro foi
encontrado...

a função e a seguinte:

function ver_erro(entra:byte):string;
var monta:string;
    sobra:integer;
begin
monta:='';
sobra:=entra;
if sobra-128 <0 then
   begin
   monta:=monta+'0';
   end
   else
   begin
   monta:=monta+'1';
   sobra:=sobra-128;
   end;
if sobra-64 <0 then
   begin
   monta:=monta+'0';
   end
   else
   begin
   monta:=monta+'1';
   sobra:=sobra-64;
   end;
if sobra-32 <0 then
   begin
   monta:=monta+'0';
   end
   else
   begin
   monta:=monta+'1';
   sobra:=sobra-32;
   end;
if sobra-16 <0 then
   begin
   monta:=monta+'0';
   end
   else
   begin
   monta:=monta+'1';
   sobra:=sobra-16;
   end;
if sobra-8 <0 then
   begin
   monta:=monta+'0';
   end
   else
   begin
   monta:=monta+'1';
   sobra:=sobra-8;
   end;
if sobra-4 <0 then
   begin
   monta:=monta+'0';
   end
   else
   begin
   monta:=monta+'1';
   sobra:=sobra-4;
   end;
if sobra-2 <0 then
   begin
   monta:=monta+'0';
   end
   else
   begin
   monta:=monta+'1';
   sobra:=sobra-2;
   end;
if sobra-1 <0 then
   begin
   monta:=monta+'0';
   end
   else
   begin
   monta:=monta+'1';
   end;
result:=monta;
end;


por exemplo no seu caso se passar pra ela o 42 ela te retorna 
00101010 que sao os bits 32,8 e 2 acesos...


 
[EMAIL PROTECTED]
600 modelos de sites profissionais - Imperdivel
http://www.kitsites.com/index.php?ref=50
 
-------Mensagem original-------
 
De: delphi-br@yahoogrupos.com.br
Data: 03/10/05 14:40:44
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] Alguem conhece uma funcao no mysql ou no delphi
 
Alguem conhece uma funcao no mysql ou no delphi
que verifique se um valor X está presente em um
numero Y formado pela soma de outros numeros
estilo questao de somatoria em vestibular? ex de
como funfa
 
1
2
4
8
16
32
 
por exemplo se eu pegar o 2,8,32 somando fica 42
ai a função funcionaria assim:
if func(2,42) then sim else nao;
if func(1,42) then sim else nao;
 
as respostas seriao sim e nao consecutivamente...
estou querendo essa funcao para criar um tipo de
validação (pensando alto!!!)
 
 
       Leandro...
 
[> Mutuka <]
 
 
__________________________________________________
Converse com seus amigos em tempo real com o Yahoo! Messenger
http://br.download.yahoo.com/messenger/
 
 
--
<<<<< 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:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos
 
 
 
 
 
 
 
 
 
 
--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 266.7.1 - Release Date: 09/03/2005
 
  ----------

No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 266.7.1 - Release Date: 09/03/2005


[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:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
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:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a