DBBitType (Delphi)
Description
uses math, dbxplatform;
procedure TForm1.Button1Click(Sender: TObject); var
OrigValue: TBytes; Int64Representation: Int64;
begin
ClientDataSet1.Active := True;
SetLength(OrigValue, 8);
OrigValue := ClientDataSet1.FieldByName('bitcol').AsBytes;
Int64Representation := OrigValue[0]
+ (OrigValue[1]*Round(IntPower(256, 1)))
+ (OrigValue[2]*Round(IntPower(256, 2)))
+ (OrigValue[3]*Round(IntPower(256, 3)))
+ (OrigValue[4]*Round(IntPower(256, 4)))
+ (OrigValue[5]*Round(IntPower(256, 5)))
+ (OrigValue[6]*Round(IntPower(256, 6)))
+ (OrigValue[7]*Round(IntPower(256, 7)));
Edit1.Text := IntToStr(Int64Representation);
end;
procedure TForm1.Button2Click(Sender: TObject); var
NewValue: TBytes;
begin
if Edit1.Text <> then
begin
ClientDataSet1.Edit;
SetLength(NewValue, 8);
TDBXPlatform.CopyInt64(StrToInt64(Edit1.Text), NewValue, 0);
ClientDataSet1.FieldByName('bitcol').AsBytes := NewValue;
ClientDataSet1.ApplyUpdates(0);
end;
end;
Code
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, WideStrings, DBXOracle, FMTBcd, StdCtrls, DBClient, Provider, DB,
SqlExpr, DBXMySql;
type
TForm1 = class(TForm)
SQLConnection1: TSQLConnection;
SQLQuery1: TSQLQuery;
DataSetProvider1: TDataSetProvider;
ClientDataSet1: TClientDataSet;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
Uses
- System.SysUtils.TBytes ( fr | de | ja )
- System.Int64 ( fr | de | ja )
- Datasnap.DBClient.TClientDataSet.Active ( fr | de | ja )
- Datasnap.DBClient.TCustomClientDataSet.ApplyUpdates ( fr | de | ja )
- Data.DB.TDataSet.FieldByName ( fr | de | ja )
- Data.DB.TDataSet.Edit ( fr | de | ja )
- System.Math.IntPower ( fr | de | ja )
- Data.DBXPlatform.TDBXPlatform.CopyInt64 ( fr | de | ja )