Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-12-2009
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 19
dtomeysoto Va por buen camino
Dónde se metió?

Hola amigos, estaba buscando un post que hice hace unas semanas atrás y no lo encuentro, he agotado todas las formas de búsqueda y no doy con el. Recuerdo que después que hice el post vi la respuesta en los trucos y ahora tampoco veo la respuesta.

No recuerdo exactamente el nombre que le puse al hilo pero trataba sobre manipular los bits de un campo tipo Bytes en una tabla Paradox.

Se que alguien me respondió y me puso algunas funciones para poner a 0 ó a 1 el bit deseado.

Podría alguien ayudarme a encontrar ese hilo.... gracias.
Responder Con Cita
  #2  
Antiguo 03-12-2009
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Quizá encuentres una respuesta, que no una solución, en este otro hilo.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 03-12-2009
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 19
dtomeysoto Va por buen camino
Ahora entiendo algo que me sucedió tiempo atrás y a lo que no le encontré explicación sino hasta ahora.

Bueno el que puso no hace mucho una funciones para manipular los bits de un byte pudiera postearlas otra vez?

Gracias
Responder Con Cita
  #4  
Antiguo 03-12-2009
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.738
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
En booleano:
Código PHP:
and 1
and 0
and 0
and 
Código:
1 or 1 = 1
1 or 0 = 1
0 or 1 = 1
0 or 0 = 0
Dado un byte A (8 bits) y otro B, "A and B" resulta de realizar la función "and" con cada par de bits.
Dado un byte A (8 bits) y otro B, "A or B" resulta de realizar la función "or" con cada par de bits.

Si quieres encender un bit, puedes hacer un byte B, con solo el bit deseado en 1 y realizar "A and B":

Código:
A = 0101 0000
B = 0010 0100
    ---------
    0111 0000
Si quieres apagar un bit puedes realizar un byte B con todos los bits encendidos excepto el que quieres apagar:

Código:
A = 0101 0000
B = 1110 1111
    ---------
    0100 0000
Responder Con Cita
  #5  
Antiguo 03-12-2009
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.738
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
En Delphi

Código Delphi [-]
function EncenderBit (b, bit : byte) : byte;
var
   suma : byte;
begin
   case bit of
   1 : suma :=   1; // que es 0000 0001 en binario
   2 : suma :=   2; // que es 0000 0010 en binario
   3 : suma :=   4; // que es 0000 0100 en binario
   4 : suma :=   8; // que es 0000 1000 en binario
   5 : suma :=  16; // que es 0001 0000 en binario
   6 : suma :=  32; // que es 0010 0000 en binario
   7 : suma :=  64; // que es 0100 0000 en binario
   8 : suma := 128; // que es 1000 0000 en binario
   end;
   Result := b or suma;
end;

function ApagarBit (b, bit : byte) : byte;
var
   suma : byte;
begin
   case bit of
   1 : suma := 254; // que es 1111 1110 en binario
   2 : suma := 253; // que es 1111 1101 en binario
   3 : suma := 251; // que es 1111 1011 en binario
   4 : suma := 247; // que es 1111 0111 en binario
   5 : suma := 239; // que es 1110 1111 en binario
   6 : suma := 223; // que es 1101 1111 en binario
   7 : suma := 191; // que es 1011 1111 en binario
   8 : suma := 127; // que es 0111 1111 en binario
   end;
   Result := b and suma;
end;
Responder Con Cita
  #6  
Antiguo 04-12-2009
Avatar de bosster_018
bosster_018 bosster_018 is offline
Miembro
 
Registrado: nov 2009
Ubicación: Bolivia
Posts: 127
Poder: 15
bosster_018 Va por buen camino
¿?

¿Y crees que a tí te fué peor?

Con decirles que hasta mi cuenta desapareció despues del pequeño problema que tuvo el clubDelphi
Por suerte no había posteado mucho así que no me costó crear de nuevo mi cuenta
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
A dónde ir? marcoszorrilla La Taberna 4 26-10-2007 00:03:07
VCL.Net donde? Libarra .NET 9 23-10-2007 23:46:45
...de donde son???... Jure Humor 4 20-05-2005 18:24:48
de donde? jam888 Varios 2 23-04-2005 02:08:54
Donde csoriano Impresión 1 18-08-2003 16:21:49


La franja horaria es GMT +2. Ahora son las 12:25:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi