1. { TStringField }
  2.  
  3. TStringField = class(TField)
  4. private
  5. FFixedChar: Boolean;
  6. FTransliterate: Boolean;
  7. protected
  8. class procedure CheckTypeSize(Value: Integer); override;
  9. function GetAsBCD: TBcd; override;
  10. function GetAsBoolean: Boolean; override;
  11. function GetAsDateTime: TDateTime; override;
  12. function GetAsSingle: Single; override;
  13. function GetAsFloat: Double; override;
  14. function GetAsExtended: Extended; override;
  15. function GetAsInteger: Longint; override;
  16. function GetAsLargeInt: Largeint; override;
  17. function GetAsSQLTimeStamp: TSQLTimeStamp; override;
  18. function GetAsString: string; override;
  19. function GetAsAnsiString: AnsiString; override;
  20. function GetAsVariant: Variant; override;
  21. function GetDataSize: Integer; override;
  22. function GetDefaultWidth: Integer; override;
  23. procedure GetText(var Text: string; DisplayText: Boolean); override;
  24. function GetValue(var Value: AnsiString): Boolean;
  25. procedure SetAsBCD(const Value: TBcd); override;
  26. procedure SetAsBoolean(Value: Boolean); override;
  27. procedure SetAsDateTime(Value: TDateTime); override;
  28. procedure SetAsSingle(Value: Single); override;
  29. procedure SetAsFloat(Value: Double); override;
  30. procedure SetAsExtended(Value: Extended); override;
  31. procedure SetAsInteger(Value: Longint); override;
  32. procedure SetAsLargeInt(Value: Largeint); override;
  33. procedure SetAsSQLTimeStamp(const Value: TSQLTimeStamp); override;
  34. procedure SetAsString(const Value: string); override;
  35. procedure SetAsAnsiString(const Value: AnsiString); override;
  36. procedure SetVarValue(const Value: Variant); override;
  37. public
  38. constructor Create(AOwner: TComponent); override;
  39. property Value: AnsiString read GetAsAnsiString write SetAsAnsiString;
  40. published
  41. property EditMask;
  42. property FixedChar: Boolean read FFixedChar write FFixedChar default False;
  43. property Size default ;
  44. property Transliterate: Boolean read FTransliterate write FTransliterate default True;
  45. end;
  46.  
  47. { TWideStringField }
  48.  
  49. TWideStringField = class(TStringField)
  50. protected
  51. class procedure CheckTypeSize(Value: Integer); override;
  52. procedure CopyData(Source, Dest: Pointer); override;
  53. function GetAsAnsiString: AnsiString; override;
  54. function GetAsString: string; override;
  55. function GetAsVariant: Variant; override;
  56. function GetAsWideString: UnicodeString; override;
  57. function GetDataSize: Integer; override;
  58. procedure GetText(var Text: string; DisplayText: Boolean); override;
  59. function GetValue(var Value: UnicodeString): Boolean;
  60. procedure SetAsAnsiString(const Value: AnsiString); override;
  61. procedure SetAsString(const Value: string); override;
  62. procedure SetVarValue(const Value: Variant); override;
  63. procedure SetAsWideString(const Value: UnicodeString); override;
  64. public
  65. constructor Create(AOwner: TComponent); override;
  66. property Value: UnicodeString read GetAsWideString write SetAsWideString;
  67. 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. React 回忆录(二)为什么使用 React?

    Hi 各位,欢迎来到 React 回忆录!

  2. 网络安全、Web安全、渗透测试之笔经面经总结(二)

    这篇文章涉及的知识点有如下几方面: 1.SSL Strip(SSp)攻击到底是什么? 2.中间人攻击——ARP欺骗的原理.实战及防御 3会话劫持原理 4.CC攻击 5.添加时间戳防止重放攻击 6.浅析 ...

  3. Unity3D学习笔记(二十二):ScrollView和事件接口

    昨天问题 InputField光标被遮挡问题:背景图片输入层级高于光标的层级,把光标弄成子物体,子物体层级高 自制的滑动框,选项怎么对齐,把Template的Pivot.y改为1 分辨率的区别:16: ...

  4. struts框架的运行原理和流程

    从此图中简单描述一下struts2的运行流程:1.客户端请求一个HttpServletRequest的请求,如在浏览器中输入http://localhost: 8080/bookcode/Reg.ac ...

  5. 2017年P4中国峰会北京站 会议小结

    2017 P4 中国峰会 北京 本次会议依然侧重介绍P4,并highlight P4的benifit,大致分为以下几类: 1.学术界 - 未来网络的发展,为何提出P4技术? 未来网络和实体经济.其他学 ...

  6. UVa 10723 电子人的基因(LCS)

    https://vjudge.net/problem/UVA-10723 题意: 输入两个A~Z组成的字符串,找一个最短的串,使得输入的两个串均是它的子序列,另外还需要统计长度最短的串的个数. 思路: ...

  7. React Native之进度条ProgressViewIOS的使用

    import React,{Component}from 'react'; import { AppRegistry, StyleSheet, Text, View, ProgressViewIOS, ...

  8. 【bzoj】3224: Tyvj 1728 普通平衡树

    3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 10097  Solved: 4302[Submit][St ...

  9. MVC动态二级域名解析

    动态二级域名的实现: 应用场景:目前产品要实现block功能,因为工作需要实现二级域名:www.{CompanyUrl}.xxx.com 假设产品主域名入口为:www.xxx.com 公司员工管理:w ...

  10. DDD领域模型和充血对象

    DDD领域模型 官方说法 领域驱动设计,它是对面向对象的的分析和设计(OOAD,Object Orient Analysis Design)的一个补充,对技术框架进行了分层规划,同时对每个类进行了策略 ...