[Lazarus] TDBEdit, TStringField Size, DataSize, DisplayWidth and MaxLength
mse00000 at gmail.com
Tue Oct 11 17:52:18 CEST 2016
On Tuesday 11 October 2016 16:19:18 Tony Whyman via Lazarus wrote:
> On 11/10/16 15:14, Martin Schreiber via Lazarus wrote:
> > case i2 of
> > 5,6,8,44,56,57,64: begin
> Agree with 5,6, 44, 56, 57 as two byte character sets.
> 8 doesn't seem to exist (at least in my version).
> 64 is KOI8U. According to Wikipedia "KOI8-U is an 8-bit character
> encoding, designed to cover Ukrainian, which uses a Cyrillic alphabet.
> It is based on KOI8-R, which covers Russian and Bulgarian, but replaces
> eight graphic characters with four Ukrainian letters Ґ, Є, І, and Ї in
> both upper case and lower case."
> It should be the same character width as character set 63 (KOI8R) i.e. 1.
I don't remember from where I got the numbers. Maybe by reading FB-sources or
reading RDB$BYTES_PER_CHARACTER. On my current FB 2.5 installation "64"
actually is 1 byte per character, thanks for pointing it out, it allready has
been fixed in git master.
In MSEgui and the newer ZEOSlib versions the datasize of a string in TDataset
record buffer is sizeof(pointer). In MSEgui it is a UnicodeString in ZEOS
IIRC a pointer to a special string record.
More information about the Lazarus