亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tntdb.pas

?? TNTUniCtrlsWithExceptions UniCode 國際化語言
?? PAS
?? 第 1 頁 / 共 3 頁
字號:

{*****************************************************************************}
{                                                                             }
{    Tnt Delphi Unicode Controls                                              }
{      http://www.tntware.com/delphicontrols/unicode/                         }
{        Version: 2.3.0                                                       }
{                                                                             }
{    Copyright (c) 2002-2007, Troy Wolbrink (troy.wolbrink@tntware.com)       }
{                                                                             }
{*****************************************************************************}

unit TntDB;

{$INCLUDE TntCompilers.inc}

interface

uses
  Classes, DB;

type
{TNT-WARN TDateTimeField}
  TTntDateTimeField = class(TDateTimeField{TNT-ALLOW TDateTimeField})
  protected
    procedure SetAsString(const Value: AnsiString); override;
  end;

{TNT-WARN TDateField}
  TTntDateField = class(TDateField{TNT-ALLOW TDateField})
  protected
    procedure SetAsString(const Value: AnsiString); override;
  end;

{TNT-WARN TTimeField}
  TTntTimeField = class(TTimeField{TNT-ALLOW TTimeField})
  protected
    procedure SetAsString(const Value: AnsiString); override;
  end;

  TFieldGetWideTextEvent = procedure(Sender: TField; var Text: WideString;
    DoDisplayText: Boolean) of object;
  TFieldSetWideTextEvent = procedure(Sender: TField; const Text: WideString) of object;

  IWideStringField = interface
    ['{679C5F1A-4356-4696-A8F3-9C7C6970A9F6}']
    {$IFNDEF COMPILER_10_UP}
    function GetAsWideString: WideString;
    procedure SetAsWideString(const Value: WideString);
    {$ENDIF}
    function GetWideDisplayText: WideString;
    function GetWideEditText: WideString;
    procedure SetWideEditText(const Value: WideString);
    //--
    {$IFNDEF COMPILER_10_UP}
    property AsWideString: WideString read GetAsWideString write SetAsWideString{inherited};
    {$ENDIF}
    property WideDisplayText: WideString read GetWideDisplayText;
    property WideText: WideString read GetWideEditText write SetWideEditText;
  end;

{TNT-WARN TWideStringField}
  TTntWideStringField = class(TWideStringField{TNT-ALLOW TWideStringField}, IWideStringField)
  private
    FOnGetText: TFieldGetWideTextEvent;
    FOnSetText: TFieldSetWideTextEvent;
    procedure SetOnGetText(const Value: TFieldGetWideTextEvent);
    procedure SetOnSetText(const Value: TFieldSetWideTextEvent);
    procedure LegacyGetText(Sender: TField; var AnsiText: AnsiString; DoDisplayText: Boolean);
    procedure LegacySetText(Sender: TField; const AnsiText: AnsiString);
    function GetWideDisplayText: WideString;
    function GetWideEditText: WideString;
    procedure SetWideEditText(const Value: WideString);
  protected
    {$IFNDEF COMPILER_10_UP}
    function GetAsWideString: WideString;
    {$ENDIF}
  public
    property Value: WideString read GetAsWideString write SetAsWideString;
    property DisplayText{TNT-ALLOW DisplayText}: WideString read GetWideDisplayText;
    property Text: WideString read GetWideEditText write SetWideEditText;
    {$IFNDEF COMPILER_10_UP}
    property AsWideString: WideString read GetAsWideString write SetAsWideString;
    {$ENDIF}
    property WideDisplayText: WideString read GetWideDisplayText;
    property WideText: WideString read GetWideEditText write SetWideEditText;
  published
    property OnGetText: TFieldGetWideTextEvent read FOnGetText write SetOnGetText;
    property OnSetText: TFieldSetWideTextEvent read FOnSetText write SetOnSetText;
  end;

  TTntStringFieldEncodingMode = (emNone, emUTF8, emUTF7, emFixedCodePage, emFixedCodePage_Safe);

  //-------------------------------------------------------------------------------------------
  // Comments on TTntStringFieldEncodingMode:
  //
  //  emNone               - Works like TStringField.
  //  emUTF8               - Should work well most databases.
  //  emUTF7               - Almost guaranteed to work with any database. Wasteful in database space.
  //  emFixedCodePage      - Only tested it with Access 97, which doesn't support Unicode.
  //  emFixedCodePage_Safe - Like emFixedCodePage but uses char<=#128.  Wasteful in database space.
  //
  //  Only emUTF8 and emUTF7 fully support Unicode.
  //-------------------------------------------------------------------------------------------

  TTntStringFieldCodePageEnum = (fcpOther,
    fcpThai, fcpJapanese, fcpSimplifiedChinese, fcpTraditionalChinese, fcpKorean,
    fcpCentralEuropean, fcpCyrillic, fcpLatinWestern, fcpGreek, fcpTurkish,
    fcpHebrew, fcpArabic, fcpBaltic, fcpVietnamese);

const
  TntStringFieldCodePageEnumMap: array[TTntStringFieldCodePageEnum] of Word = (0,
    874, 932, 936, 950, 949,
    1250, 1251, 1252, 1253, 1254,
    1255, 1256, 1257, 1258);

type
{TNT-WARN TStringField}
  TTntStringField = class(TStringField{TNT-ALLOW TStringField},IWideStringField)
  private
    FOnGetText: TFieldGetWideTextEvent;
    FOnSetText: TFieldSetWideTextEvent;
    FEncodingMode: TTntStringFieldEncodingMode;
    FFixedCodePage: Word;
    FRawVariantAccess: Boolean;
    procedure SetOnGetText(const Value: TFieldGetWideTextEvent);
    procedure SetOnSetText(const Value: TFieldSetWideTextEvent);
    procedure LegacyGetText(Sender: TField; var AnsiText: AnsiString; DoDisplayText: Boolean);
    procedure LegacySetText(Sender: TField; const AnsiText: AnsiString);
    function GetWideDisplayText: WideString;
    function GetWideEditText: WideString;
    procedure SetWideEditText(const Value: WideString);
    function GetFixedCodePageEnum: TTntStringFieldCodePageEnum;
    procedure SetFixedCodePageEnum(const Value: TTntStringFieldCodePageEnum);
    function IsFixedCodePageStored: Boolean;
  protected
    {$IFDEF COMPILER_10_UP}
    function GetAsWideString: WideString; override;
    procedure SetAsWideString(const Value: WideString); override;
    {$ELSE}
    function GetAsWideString: WideString; virtual;
    procedure SetAsWideString(const Value: WideString); virtual;
    {$ENDIF}
    function GetAsVariant: Variant; override;
    procedure SetVarValue(const Value: Variant); override;
    function GetAsString: string{TNT-ALLOW string}; override;
    procedure SetAsString(const Value: string{TNT-ALLOW string}); override;
  public
    constructor Create(AOwner: TComponent); override;
    property Value: WideString read GetAsWideString write SetAsWideString;
    property DisplayText{TNT-ALLOW DisplayText}: WideString read GetWideDisplayText;
    property Text: WideString read GetWideEditText write SetWideEditText;
    {$IFNDEF COMPILER_10_UP}
    property AsWideString: WideString read GetAsWideString write SetAsWideString;
    {$ENDIF}
    property WideDisplayText: WideString read GetWideDisplayText;
    property WideText: WideString read GetWideEditText write SetWideEditText;
  published
    property EncodingMode: TTntStringFieldEncodingMode read FEncodingMode write FEncodingMode default emUTF8;
    property FixedCodePageEnum: TTntStringFieldCodePageEnum read GetFixedCodePageEnum write SetFixedCodePageEnum stored False;
    property FixedCodePage: Word read FFixedCodePage write FFixedCodePage stored IsFixedCodePageStored;
    property RawVariantAccess: Boolean read FRawVariantAccess write FRawVariantAccess default False;
    property OnGetText: TFieldGetWideTextEvent read FOnGetText write SetOnGetText;
    property OnSetText: TFieldSetWideTextEvent read FOnSetText write SetOnSetText;
  end;

//======================
type
{TNT-WARN TMemoField}
  TTntMemoField = class(TMemoField{TNT-ALLOW TMemoField}, IWideStringField)
  private
    FOnGetText: TFieldGetWideTextEvent;
    FOnSetText: TFieldSetWideTextEvent;
    FEncodingMode: TTntStringFieldEncodingMode;
    FFixedCodePage: Word;
    FRawVariantAccess: Boolean;
    procedure SetOnGetText(const Value: TFieldGetWideTextEvent);
    procedure SetOnSetText(const Value: TFieldSetWideTextEvent);
    procedure LegacyGetText(Sender: TField; var AnsiText: AnsiString; DoDisplayText: Boolean);
    procedure LegacySetText(Sender: TField; const AnsiText: AnsiString);
    function GetWideDisplayText: WideString;
    function GetWideEditText: WideString;
    procedure SetWideEditText(const Value: WideString);
    function GetFixedCodePageEnum: TTntStringFieldCodePageEnum;
    procedure SetFixedCodePageEnum(const Value: TTntStringFieldCodePageEnum);
    function IsFixedCodePageStored: Boolean;
  protected
    {$IFDEF COMPILER_10_UP}
    function GetAsWideString: WideString; override;
    procedure SetAsWideString(const Value: WideString); override;
    {$ELSE}
    function GetAsWideString: WideString; virtual;
    procedure SetAsWideString(const Value: WideString); virtual;
    {$ENDIF}
    function GetAsVariant: Variant; override;
    procedure SetVarValue(const Value: Variant); override;
    function GetAsString: string{TNT-ALLOW string}; override;
    procedure SetAsString(const Value: string{TNT-ALLOW string}); override;
  public
    constructor Create(AOwner: TComponent); override;
    property Value: WideString read GetAsWideString write SetAsWideString;
    property DisplayText{TNT-ALLOW DisplayText}: WideString read GetWideDisplayText;
    property Text: WideString read GetWideEditText write SetWideEditText;
    {$IFNDEF COMPILER_10_UP}
    property AsWideString: WideString read GetAsWideString write SetAsWideString;
    {$ENDIF}
    property WideDisplayText: WideString read GetWideDisplayText;
    property WideText: WideString read GetWideEditText write SetWideEditText;
  published
    property EncodingMode: TTntStringFieldEncodingMode read FEncodingMode write FEncodingMode default emUTF8;
    property FixedCodePageEnum: TTntStringFieldCodePageEnum read GetFixedCodePageEnum write SetFixedCodePageEnum stored False;
    property FixedCodePage: Word read FFixedCodePage write FFixedCodePage stored IsFixedCodePageStored;
    property RawVariantAccess: Boolean read FRawVariantAccess write FRawVariantAccess default False;
    property OnGetText: TFieldGetWideTextEvent read FOnGetText write SetOnGetText;
    property OnSetText: TFieldSetWideTextEvent read FOnSetText write SetOnSetText;
  end;

//======================
function GetTntFieldClass(FieldClass: TFieldClass): TFieldClass;

function GetWideDisplayName(Field: TField): WideString; deprecated; // for Unicode-enabled functionality, use Delphi 2006 or newer
function GetWideDisplayLabel(Field: TField): WideString; deprecated; // for Unicode-enabled functionality, use Delphi 2006 or newer
procedure SetWideDisplayLabel(Field: TField; const Value: WideString); deprecated; // for Unicode-enabled functionality, use Delphi 2006 or newer

{TNT-WARN AsString}
{TNT-WARN DisplayText}

function GetAsWideString(Field: TField): WideString;
procedure SetAsWideString(Field: TField; const Value: WideString);

function GetWideDisplayText(Field: TField): WideString;

function GetWideText(Field: TField): WideString;
procedure SetWideText(Field: TField; const Value: WideString);

procedure RegisterTntFields;

{ TTntWideStringField / TTntStringField common handlers }
procedure TntWideStringField_GetWideText(Field: TField;
  var Text: WideString; DoDisplayText: Boolean);
function TntWideStringField_GetWideDisplayText(Field: TField;
  OnGetText: TFieldGetWideTextEvent): WideString;
function TntWideStringField_GetWideEditText(Field: TField;
  OnGetText: TFieldGetWideTextEvent): WideString;
procedure TntWideStringField_SetWideText(Field: TField;
  const Value: WideString);
procedure TntWideStringField_SetWideEditText(Field: TField;
  OnSetText: TFieldSetWideTextEvent; const Value: WideString);


implementation

uses
  SysUtils, MaskUtils, Variants, Contnrs, TntSystem, TntSysUtils;

function GetTntFieldClass(FieldClass: TFieldClass): TFieldClass;
begin
  if FieldClass = TDateTimeField{TNT-ALLOW TDateTimeField} then
    Result := TTntDateTimeField
  else if FieldClass = TDateField{TNT-ALLOW TDateField} then
    Result := TTntDateField
  else if FieldClass = TTimeField{TNT-ALLOW TTimeField} then
    Result := TTntTimeField
  else if FieldClass = TWideStringField{TNT-ALLOW TWideStringField} then
    Result := TTntWideStringField
  else if FieldClass = TStringField{TNT-ALLOW TStringField} then
    Result := TTntStringField
  else
    Result := FieldClass;
end;

function GetWideDisplayName(Field: TField): WideString;
begin
  Result := Field.DisplayName;
end;

function GetWideDisplayLabel(Field: TField): WideString;
begin
  Result := Field.DisplayLabel;
end;

procedure SetWideDisplayLabel(Field: TField; const Value: WideString);
begin
  Field.DisplayLabel := Value;
end;

function GetAsWideString(Field: TField): WideString;
{$IFDEF COMPILER_10_UP}
begin
  if (Field.ClassType = TMemoField{TNT-ALLOW TMemoField}) then
    Result := VarToWideStr(Field.AsVariant) { works for NexusDB BLOB Wide }
  else
    Result := Field.AsWideString
end;
{$ELSE}
var
  WideField: IWideStringField;
begin
  if Field.GetInterface(IWideStringField, WideField) then
    Result := WideField.AsWideString
  else if (Field is TWideStringField{TNT-ALLOW TWideStringField}) then
  begin

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品国产麻豆婷婷| 中文字幕一区二区三区不卡在线| 一区二区三区加勒比av| 色综合久久中文字幕综合网| 自拍偷拍欧美激情| 91国偷自产一区二区开放时间| 一区二区三区成人| 欧美色图激情小说| 免费在线观看视频一区| 2023国产精华国产精品| 成人亚洲一区二区一| 亚洲视频一区二区在线| 欧美色网一区二区| 日韩电影在线观看一区| 精品国产成人系列| 99re视频这里只有精品| 亚洲综合小说图片| 日韩一区二区电影在线| 国产成人在线观看| 亚洲电影一级黄| 久久精品网站免费观看| 日本道色综合久久| 久久精品99国产精品| 国产精品无人区| 欧美日韩精品一区二区天天拍小说 | 蓝色福利精品导航| 国产欧美一区二区精品久导航| av电影一区二区| 亚洲v中文字幕| 久久精品亚洲精品国产欧美kt∨| 97久久久精品综合88久久| 日韩精品欧美精品| 中文字幕一区二区日韩精品绯色 | 91福利在线播放| 久久99精品久久久| 一区二区三区国产精品| 欧美成人一区二区三区片免费 | 久久久久国色av免费看影院| 9人人澡人人爽人人精品| 天天综合色天天综合色h| 国产视频一区在线播放| 欧美日韩情趣电影| 成人自拍视频在线观看| 免费成人av资源网| 亚洲综合久久久| 欧美激情中文不卡| 日韩精品一区二区三区四区视频| hitomi一区二区三区精品| 青草国产精品久久久久久| 亚洲最快最全在线视频| 久久精品视频免费| 69堂成人精品免费视频| 日本精品一级二级| av在线这里只有精品| 麻豆成人综合网| 一区二区三区精品| 中文字幕一区二区在线观看| 精品国产露脸精彩对白| 91精品国产色综合久久不卡蜜臀| 色综合久久中文字幕综合网| 懂色av一区二区三区蜜臀| 日本欧美在线观看| 午夜成人免费电影| 一区二区三区在线免费| 国产精品成人免费精品自在线观看| 91麻豆精品国产91久久久资源速度 | 91在线国产福利| 丁香婷婷综合激情五月色| 久久99热国产| 久久国产精品无码网站| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲欧美自拍偷拍| 久久美女高清视频| 久久久一区二区三区捆绑**| 精品国产一二三| 精品国产免费人成在线观看| 欧美一卡二卡在线| 欧美mv日韩mv亚洲| 日韩精品在线一区二区| 日韩女同互慰一区二区| 精品国产一区二区三区忘忧草| 日韩三级视频中文字幕| 精品美女在线播放| 久久久久99精品国产片| 国产欧美精品一区二区三区四区| 精品粉嫩超白一线天av| 2017欧美狠狠色| 欧美极品少妇xxxxⅹ高跟鞋 | 免费精品视频最新在线| 久久69国产一区二区蜜臀| 久久99九九99精品| 成人午夜av影视| 91亚洲精品一区二区乱码| 色婷婷一区二区三区四区| 91成人免费网站| 欧美一区日韩一区| 精品久久一区二区三区| 国产欧美精品一区aⅴ影院 | 欧美性猛交xxxxxx富婆| 欧美乱熟臀69xxxxxx| 91精品国产品国语在线不卡| 日韩欧美高清一区| 国产精品久久午夜夜伦鲁鲁| 亚洲乱码国产乱码精品精小说| 亚洲最新在线观看| 久久精品久久综合| 成人美女在线观看| 欧美性大战久久久| 欧美一级午夜免费电影| 国产欧美日本一区视频| 一区二区三区91| 久久99蜜桃精品| 成人午夜碰碰视频| 欧美精品在线观看一区二区| 精品日韩成人av| 国产一区二区三区在线观看免费 | 日韩一区和二区| 国产日韩欧美不卡在线| 亚洲国产精品久久不卡毛片| 蜜臀va亚洲va欧美va天堂| 国产aⅴ精品一区二区三区色成熟| 91麻豆免费视频| 精品美女一区二区| 亚洲制服丝袜av| 韩日av一区二区| 欧美日韩视频专区在线播放| 久久视频一区二区| 亚洲国产综合人成综合网站| 国产一区 二区| 91精品国产日韩91久久久久久| 国产精品久久网站| 久久国产尿小便嘘嘘| 欧美伊人久久久久久久久影院| 久久综合九色综合欧美就去吻| 一区二区三区在线观看欧美| 国产精品888| 91麻豆精品91久久久久同性| 国产精品免费免费| 久久黄色级2电影| 欧美美女一区二区三区| 国产精品国产三级国产aⅴ入口| 美国毛片一区二区| 欧美日韩在线三级| 亚洲视频每日更新| 国产一本一道久久香蕉| 欧美一卡二卡三卡| 亚洲电影激情视频网站| 91视频www| 国产精品久久三| 国产精品一区二区久久精品爱涩 | 欧美成人vps| 石原莉奈在线亚洲三区| 色一区在线观看| 国产精品二三区| 国产剧情av麻豆香蕉精品| 亚洲激情在线激情| 波多野结衣精品在线| 久久久激情视频| 激情欧美一区二区| 日韩一级片网址| 青青草一区二区三区| 欧美日韩一本到| 亚洲国产精品麻豆| 欧美日韩另类国产亚洲欧美一级| 亚洲在线观看免费| 在线欧美日韩国产| 一区二区三国产精华液| 91国产丝袜在线播放| 伊人夜夜躁av伊人久久| 91久久一区二区| 亚洲第一精品在线| 欧美另类高清zo欧美| 水野朝阳av一区二区三区| 91精品婷婷国产综合久久竹菊| 婷婷开心激情综合| 欧美一区二区三区在线看| 日本女优在线视频一区二区| 日韩欧美国产综合| 美女视频黄频大全不卡视频在线播放| 欧美日韩久久一区| 麻豆成人久久精品二区三区红| 日韩欧美区一区二| 国产乱子轮精品视频| 欧美高清在线一区二区| 99国产精品久久久久久久久久| 亚洲精品视频观看| 欧美二区三区的天堂| 久久99国产精品免费| 中文字幕免费在线观看视频一区| 99精品欧美一区二区三区综合在线| 亚洲视频一区二区免费在线观看| 欧美三级三级三级| 蜜桃精品视频在线观看| 国产日产亚洲精品系列| 一道本成人在线| 青青草成人在线观看| 国产亚洲精品福利| 色嗨嗨av一区二区三区| 午夜久久久久久久久| 欧美一级视频精品观看|