{ TStringField }

  TStringField = class(TField)
private
FFixedChar: Boolean;
FTransliterate: Boolean;
protected
class procedure CheckTypeSize(Value: Integer); override;
function GetAsBCD: TBcd; override;
function GetAsBoolean: Boolean; override;
function GetAsDateTime: TDateTime; override;
function GetAsSingle: Single; override;
function GetAsFloat: Double; override;
function GetAsExtended: Extended; override;
function GetAsInteger: Longint; override;
function GetAsLargeInt: Largeint; override;
function GetAsSQLTimeStamp: TSQLTimeStamp; override;
function GetAsString: string; override;
function GetAsAnsiString: AnsiString; override;
function GetAsVariant: Variant; override;
function GetDataSize: Integer; override;
function GetDefaultWidth: Integer; override;
procedure GetText(var Text: string; DisplayText: Boolean); override;
function GetValue(var Value: AnsiString): Boolean;
procedure SetAsBCD(const Value: TBcd); override;
procedure SetAsBoolean(Value: Boolean); override;
procedure SetAsDateTime(Value: TDateTime); override;
procedure SetAsSingle(Value: Single); override;
procedure SetAsFloat(Value: Double); override;
procedure SetAsExtended(Value: Extended); override;
procedure SetAsInteger(Value: Longint); override;
procedure SetAsLargeInt(Value: Largeint); override;
procedure SetAsSQLTimeStamp(const Value: TSQLTimeStamp); override;
procedure SetAsString(const Value: string); override;
procedure SetAsAnsiString(const Value: AnsiString); override;
procedure SetVarValue(const Value: Variant); override;
public
constructor Create(AOwner: TComponent); override;
property Value: AnsiString read GetAsAnsiString write SetAsAnsiString;
published
property EditMask;
property FixedChar: Boolean read FFixedChar write FFixedChar default False;
property Size default ;
property Transliterate: Boolean read FTransliterate write FTransliterate default True;
end; { TWideStringField } TWideStringField = class(TStringField)
protected
class procedure CheckTypeSize(Value: Integer); override;
procedure CopyData(Source, Dest: Pointer); override;
function GetAsAnsiString: AnsiString; override;
function GetAsString: string; override;
function GetAsVariant: Variant; override;
function GetAsWideString: UnicodeString; override;
function GetDataSize: Integer; override;
procedure GetText(var Text: string; DisplayText: Boolean); override;
function GetValue(var Value: UnicodeString): Boolean;
procedure SetAsAnsiString(const Value: AnsiString); override;
procedure SetAsString(const Value: string); override;
procedure SetVarValue(const Value: Variant); override;
procedure SetAsWideString(const Value: UnicodeString); override;
public
constructor Create(AOwner: TComponent); override;
property Value: UnicodeString read GetAsWideString write SetAsWideString;
end;

XE里, TStringField 还是 ansi的的更多相关文章

  1. 原来windows里记事本的ansi编码就是GB2312啊,跟utf-8,unicode是不一样的。

    原来windows里记事本的ansi编码就是GB2312啊,跟utf-8,unicode是不一样的. 程序里的比如java的,Qt的string都是unicode的字符串,因此如果是你从文件中读取文字 ...

  2. Delphi XE里的StrPas要注意哦(要让StrPas知道哪里是字符串结束)

    废话不多说了,直接上例子解说: procedure TForm1.Button1Click(Sender: TObject);var  aa: array[0..1]of AnsiChar;  bb1 ...

  3. delphi7和XE下 获取路径

    XE里没有Application.Exename所以用paramstr(0); Str:=ParamStr(0); //自己全路径c:\555\qq.exe,可用于控制台Str:=ExpandFile ...

  4. XE下的FMX中压缩图片

    用FMX压缩图片,发现FMX里的canvas没有draw,stretch,cliprect类,FMX里程序创建时会自动引用FMX.Graphics, 而这个单元内的TBitmap类的Canvas没有S ...

  5. delphi常用快捷键(我自己经常使用的)

    代码编辑器: Home 回到当前行的头部 End 回到当前行的尾部 Insert 插入代码,覆盖后面的代码,(按回车无效), 再按撤回效果 Delete 删除 F1 双击一个单词后,按F1调用自带的L ...

  6. Delphi调用Android的.so文件(转)

    原地址:http://zhidao.baidu.com/link?url=fzqefMM44ljXA5BnAbkX44SapCUteyzlXFvGLKvukBivm9AB-w39P_h7eX1ty-G ...

  7. c++Builder XE6 MD5 加密算法 BASE64 URL 编码

    xe6,xe7 BASE64XE6 MD5 加密算法Delphifunction MD5(const texto: string): string; var idmd5: TIdHashMessage ...

  8. 使用vs的时候,遇到这个:当前不会命中断点 还没有为该文档加载任何符号

    一 http://stackoverflow.com/questions/2155930/fixing-the-breakpoint-will-not-currently-be-hit-no-symb ...

  9. FastReports_4.14.1 _Cliff手动安装

    首次编译frx15.dproj包的时候,会出错: [DCC Fatal Error] fs15.dpk(59): F1026 File not found: 'fs_ipascal.dcu'原因是因为 ...

随机推荐

  1. DHacker 汉化

  2. 六角填数|2014年蓝桥杯B组题解析第七题-fishers

    六角填数 如图所示六角形中,填入1~12的数字. 使得每条直线上的数字之和都相同. 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少? 请通过浏览器提交答案,不要填写多余的内容. 思路 ...

  3. 32位MD5加密补齐丢失的0

    /// <summary> /// 获取32位MD5加密字符串(已补完0) /// </summary> /// <param name="strWord&qu ...

  4. orm框架综合

    一, 目前ORM框架的产品非常之多,除了个大公司.组织的产品外,其他一些小团队也在推出自己的ORM框架.目前流行的ORM框架有如下这些产品: (1)Enitiy EJB:Enitiy EJB实际上也是 ...

  5. python urljoin问题

    如何去除url拼接的时候存在的遗留的'../'问题,可以参考如下的强制去除方法: def fix_URL(urlstring): parts = list(urlparse.urlparse(urls ...

  6. 在django restful framework中设置django model的property

    众所周知,在django的model中,可以某些字段设置@property和setter deleter getter,这样就可以在存入数据的时候进行一些操作,具体原理请参见廖雪峰大神的博客https ...

  7. LIBS+=

    ZC: “LIBS+=”是要结合“LIBPATH += ”一起使用的?类似下面的用法: ZC: “LIBS+=”指明lib文件的名称,“LIBPATH += ”指明lib文件的路径.最后还要把DLL文 ...

  8. Meta referrer标签的简要介绍

    在某些情况下,出于一些原因,网站想要控制页面发送给 server 的 referer 信息的情况下,可以使用这一 referer metadata 参数. 参数 referer 的 metedata ...

  9. Mask R-CNN论文理解

    摘要: Mask RCNN可以看做是一个通用实例分割架构. Mask RCNN以Faster RCNN原型,增加了一个分支用于分割任务. Mask RCNN比Faster RCNN速度慢一些,达到了5 ...

  10. 关于安装php时 --with-mysql命令参数问题

    如果是rpm安装mysql则直接写成--with-mysql 如果是编译安装mysql则写成--with-mysql=mysql安装路劲 如果你还没有安装Mysql数据库,可以暂时不编译