piątek, 7 czerwca 2019

Bit flags (class C++ Builder)

class BYTE_MASK
{
private:
UnicodeString result;
int byt_value;
public:
BYTE_MASK()
{
        result="";
    }
void Read(char *base, int size, int value)
{


int i;
for(i=size-1;i>=0;i--)
{
char temp=char(value);
byt_value=(base[i] & temp);
if(byt_value!=0)
result+="1";
else
result+="0";
}
}
UnicodeString Write()
{
return result;
}


};

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int i;
  char temp_values[10]={1,2,4,8,16,32,64,128,256,512};
  int date[10]={20,111,290,330,440};
  BYTE_MASK *a_Mask=new BYTE_MASK[5];
  for(i=0;i<5;i++)
  {
   a_Mask[i].Read(temp_values,10,date[i]);
  }
  Label1->Caption=a_Mask[0].Write();
  Label2->Caption=a_Mask[1].Write();
  Label3->Caption=a_Mask[2].Write();
  Label4->Caption=a_Mask[3].Write();
  Label5->Caption=a_Mask[4].Write();

}

Brak komentarzy:

Prześlij komentarz