mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 18:09:15 +02:00
fcl-db: base: TShortintField + TByteField
git-svn-id: trunk@47221 -
This commit is contained in:
parent
b5a1c93ec2
commit
54f85eec56
@ -604,6 +604,24 @@ type
|
|||||||
end;
|
end;
|
||||||
TIntegerField = Class(TLongintField);
|
TIntegerField = Class(TLongintField);
|
||||||
|
|
||||||
|
{ TShortintField }
|
||||||
|
|
||||||
|
TShortintField = class(TLongintField)
|
||||||
|
protected
|
||||||
|
function GetDataSize: Integer; override;
|
||||||
|
public
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TByteField }
|
||||||
|
|
||||||
|
TByteField = class(TLongintField)
|
||||||
|
protected
|
||||||
|
function GetDataSize: Integer; override;
|
||||||
|
public
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
end;
|
||||||
|
|
||||||
{ TSmallintField }
|
{ TSmallintField }
|
||||||
|
|
||||||
TSmallintField = class(TLongintField)
|
TSmallintField = class(TLongintField)
|
||||||
@ -2297,8 +2315,8 @@ const
|
|||||||
{ ftOraTimeStamp} nil,
|
{ ftOraTimeStamp} nil,
|
||||||
{ ftOraInterval} nil,
|
{ ftOraInterval} nil,
|
||||||
{ ftLongWord} TLongWordField,
|
{ ftLongWord} TLongWordField,
|
||||||
{ ftShortint} {TShortintField}nil,
|
{ ftShortint} TShortintField,
|
||||||
{ ftByte} {TByteField}nil,
|
{ ftByte} TByteField,
|
||||||
{ ftExtended} nil
|
{ ftExtended} nil
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -1587,7 +1587,7 @@ begin
|
|||||||
SetDataType(ftInteger);
|
SetDataType(ftInteger);
|
||||||
FMinRange:=Low(LongInt);
|
FMinRange:=Low(LongInt);
|
||||||
FMaxRange:=High(LongInt);
|
FMaxRange:=High(LongInt);
|
||||||
FValidchars:=['+','-','0'..'9'];
|
FValidChars:=['+','-','0'..'9'];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TLongintField.GetAsFloat: Double;
|
function TLongintField.GetAsFloat: Double;
|
||||||
@ -1662,17 +1662,17 @@ end;
|
|||||||
function TLongintField.GetValue(var AValue: Longint): Boolean;
|
function TLongintField.GetValue(var AValue: Longint): Boolean;
|
||||||
|
|
||||||
var L : Longint;
|
var L : Longint;
|
||||||
P : PLongint;
|
|
||||||
|
|
||||||
begin
|
begin
|
||||||
L:=0;
|
L:=0;
|
||||||
P:=@L;
|
Result:=GetData(@L);
|
||||||
Result:=GetData(P);
|
|
||||||
If Result then
|
If Result then
|
||||||
Case DataType of
|
Case DataType of
|
||||||
ftInteger,ftAutoInc : AValue:=PLongint(P)^;
|
ftInteger,ftAutoInc : AValue:=PLongint(@L)^;
|
||||||
ftWord : AValue:=PWord(P)^;
|
ftSmallint : AValue:=PSmallint(@L)^;
|
||||||
ftSmallint : AValue:=PSmallint(P)^;
|
ftWord : AValue:=PWord(@L)^;
|
||||||
|
ftShortint : AValue:=PShortint(@L)^;
|
||||||
|
ftByte : AValue:=PByte(@L)^;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1755,6 +1755,37 @@ begin
|
|||||||
RangeError(AValue,FMinRange,FMaxRange);
|
RangeError(AValue,FMinRange,FMaxRange);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TShortintField }
|
||||||
|
|
||||||
|
function TShortintField.GetDataSize: Integer;
|
||||||
|
begin
|
||||||
|
Result:=SizeOf(Shortint);
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TShortintField.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited Create(AOwner);
|
||||||
|
SetDataType(ftShortInt);
|
||||||
|
FMinRange:=Low(ShortInt);
|
||||||
|
FMaxRange:=High(ShortInt);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TByteField }
|
||||||
|
|
||||||
|
function TByteField.GetDataSize: Integer;
|
||||||
|
begin
|
||||||
|
Result:=SizeOf(Byte);
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TByteField.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited Create(AOwner);
|
||||||
|
SetDataType(ftByte);
|
||||||
|
FMinRange:=Low(Byte);
|
||||||
|
FMaxRange:=High(Byte);
|
||||||
|
FValidChars:=['+','0'..'9'];
|
||||||
|
end;
|
||||||
|
|
||||||
{ TSmallintField }
|
{ TSmallintField }
|
||||||
|
|
||||||
function TSmallintField.GetDataSize: Integer;
|
function TSmallintField.GetDataSize: Integer;
|
||||||
@ -1788,7 +1819,7 @@ begin
|
|||||||
SetDataType(ftWord);
|
SetDataType(ftWord);
|
||||||
FMinRange:=0;
|
FMinRange:=0;
|
||||||
FMaxRange:=65535;
|
FMaxRange:=65535;
|
||||||
FValidchars:=['+','0'..'9'];
|
FValidChars:=['+','0'..'9'];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TAutoIncField }
|
{ TAutoIncField }
|
||||||
@ -1819,7 +1850,7 @@ constructor TLongWordField.Create(AOwner: TComponent);
|
|||||||
begin
|
begin
|
||||||
Inherited Create(AOwner);
|
Inherited Create(AOwner);
|
||||||
SetDataType(ftLongWord);
|
SetDataType(ftLongWord);
|
||||||
FValidchars:=['+','-','0'..'9'];
|
FValidChars:=['+','0'..'9'];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TLongWordField.CheckRange(AValue: LargeInt): Boolean;
|
function TLongWordField.CheckRange(AValue: LargeInt): Boolean;
|
||||||
@ -1955,7 +1986,7 @@ begin
|
|||||||
SetDataType(ftLargeint);
|
SetDataType(ftLargeint);
|
||||||
FMinRange:=Low(Largeint);
|
FMinRange:=Low(Largeint);
|
||||||
FMaxRange:=High(Largeint);
|
FMaxRange:=High(Largeint);
|
||||||
FValidchars:=['+','-','0'..'9'];
|
FValidChars:=['+','-','0'..'9'];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TLargeintField.GetAsFloat: Double;
|
function TLargeintField.GetAsFloat: Double;
|
||||||
|
Loading…
Reference in New Issue
Block a user