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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? qexport3.pas

?? EMS Advanced.export. components full source
?? PAS
?? 第 1 頁 / 共 5 頁
字號:

    procedure GetCellParams(RecNo, ColNo: integer; const Value: string;
      var Align: TQExportColAlign; AFont: TFont;
      var Background: TColor); dynamic;
    function CanContinue: boolean;
  protected
    property RecordCounter: integer read FRecordCounter write FRecordCounter;
    property Columns: TQExportColumns read FColumns write FColumns;
    property ExportRow: TQExportRow read FExportRow;
  protected
    property Title: string read FTitle write FTitle;
    property AllowCaptions: boolean read FAllowCaptions
      write FAllowCaptions default true;
    property AutoCalcColWidth: boolean read FAutoCalcColWidth
      write FAutoCalcColWidth default false;
    property ColumnsWidth: TStrings read FColumnsWidth write SetColumnsWidth;
    property ColumnsAlign: TStrings read FColumnsAlign write SetColumnsAlign;
    property ColumnsLength: TStrings read FColumnsLength write SetColumnsLength;

    property OnGetCellParams: TGetCellParamsEvent read FOnGetCellParams
      write FOnGetCellParams;
    property OnFetchedRecord: TExportedRecordEvent read FOnFetchedRecord
      write FOnFetchedRecord;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;

    procedure Execute; virtual;
    procedure ExportToStream(AStream: TStream);
    procedure Abort; virtual;
    function NormalString(const S: string): string; virtual;

    procedure SavePropertiesToFile(const FileName: string);
    procedure LoadPropertiesFromFile(const FileName: string);
    function GetExportedValue(Col: TQExportCol): string;

    property Aborted: boolean read FAborted write FAborted;

    property Header: TStrings read FHeader write SetHeader;
    property Captions: TStrings read FCaptions write SetCaptions;
    property Footer: TStrings read FFooter write SetFooter;
    property Formats: TQExportFormats read FFormats write SetFormats;
    property UserFormats: TStrings read FUserFormats write SetUserFormats;
  published
    property ExportSource: TQExportSource read FExportSource
      write FExportSource default esDataSet;
    property DataSet: TDataSet read FDataSet write FDataSet;
    property CustomSource: TqeCustomSource read FCustomSource
      write FCustomSource; 
    {$IFNDEF NOGUI}
    property ListView: TListView read FListView write FListView;
    property DBGrid: TDBGrid read FDBGrid write FDBGrid;
    property StringGrid: TStringGrid read FStringGrid write FStringGrid;
    {$ENDIF}
    property ExportedFields: TStrings read FExportedFields
      write SetExportedFields;

    property CurrentRecordOnly: boolean read FCurrentRecordOnly
      write FCurrentRecordOnly default false;
    property GoToFirstRecord: boolean read FGoToFirstRecord
      write FGoToFirstRecord default true;
    property ExportRecCount: integer read FExportRecCount
      write FExportRecCount default 0;
    property SkipRecCount: integer read FSkipRecCount
      write FSkipRecCount default 0;
    property OnlyVisibleFields: boolean read FOnlyVisibleFields
      write FOnlyVisibleFields default false;
    property AutoCalcStrType: boolean read FAutoCalcStrType
      write FAutoCalcStrType default false;
    property CaptionRow: integer read FCaptionRow write FCaptionRow default -1;
    property ExportEmpty: boolean read FExportEmpty
      write FExportEmpty default true;

    property About: string read FAbout write FAbout;
    property _Version: string read F_Version write F_Version;

    property OnStartExport: TNotifyEvent read FOnStartExport
      write FOnStartExport;
    property OnBeginExport: TNotifyEvent read FOnBeginExport
      write FOnBeginExport;
    property OnEndExport: TNotifyEvent read FOnEndExport write FOnEndExport;
    property OnSkippedRecord: TExportedRecordEvent read FOnSkippedRecord
      write FOnSkippedRecord;
    property OnExportedRecord: TExportedRecordEvent read FOnExportedRecord
      write FOnExportedRecord;
    property OnStopExport: TQExportStopEvent read FOnStopExport
      write FOnStopExport;
    property OnGetExportText: TGetExportTextEvent read FOnGetExportText
      write FOnGetExportText;
    property OnBeforeExportRow: TBeforeExportRowEvent read FOnBeforeExportRow
      write FOnBeforeExportRow; 
  end;

  TQExport3Text = class(TQExport3)
  private
    FFileName: string;
    {$IFDEF WIN32}
    FShowFile: boolean;
    FPrintFile: boolean;
    {$ENDIF}
  protected
    procedure ShowResult; virtual;
    procedure SaveProperties(IniFile: TIniFile); override;
    procedure LoadProperties(IniFile: TIniFile); override;
    function GetShowedFileName: string; virtual;
    function GetPrintedFileName: string; virtual;
  public
    constructor Create(AOwner: TComponent); override;
    procedure Execute; override;
  published
    property FileName: string read FFileName write FFileName;
    {$IFDEF WIN32}
    property ShowFile: boolean read FShowFile write FShowFile default false;
    property PrintFile: boolean read FPrintFile write FPrintFile default false;
    {$ENDIF}
  end;

  TQExport3AdvancedText = class(TQExport3Text)
  protected
    procedure SaveProperties(IniFile: TIniFile); override;
    procedure LoadProperties(IniFile: TIniFile); override;
  published
    property Header;
    property Footer;
  end;

  TQExport3FormatTextSQL = class(TQExport3AdvancedText)
  protected
    procedure SaveProperties(IniFile: TIniFile); override;
    procedure LoadProperties(IniFile: TIniFile); override;
  published
    property Formats;
    property UserFormats;
  end;

  TQExport3FormatText = class(TQExport3AdvancedText)
  protected
    procedure SaveProperties(IniFile: TIniFile); override;
    procedure LoadProperties(IniFile: TIniFile); override;
  published
    property AllowCaptions;
    property Captions;
    property Formats;
    property UserFormats;
  end;

  TQExport3Memory = class(TQExport3)
  public
    {$IFNDEF NOGUI}
    procedure Execute; override;
    {$ENDIF}
  end;

function DataType2QExportColType(Field: TField): TQExportColType;
function DataType2SQLType(Field: TField): string;
function QExportType2SQLType(Column: TQExportColumn): string;
function QExportColTypeAsString(ExportColType: TQExportColType): string;
function QExportSourceAsString(ExportSource: TQExportSource): string;

{$IFDEF WIN32}
function QExportLocale: TQExportLocale;
function QExportLoadStr(ID: Integer): string;
{$ENDIF}

implementation

uses SysUtils, QExport3Common, TypInfo
     {$IFDEF WIN32}
       , Windows, ShellAPI, ClipBrd, QExport3StrIDs,
       {$IFDEF TRIAL}fuQExport3About,{$ENDIF} FileCtrl
     {$ENDIF}
     {$IFDEF LINUX}
       {$IFNDEF NOGUI}, QClipbrd, Types, QExport3Consts {$ENDIF}
     {$ENDIF};

{$IFDEF WIN32}
var
  Locale: TQExportLocale = nil;
{$ENDIF}

{$IFDEF WIN32}
function QExportLocale: TQExportLocale;
begin
  if Locale = nil then
    Locale := TQExportLocale.Create;
  Result := Locale;
end;

function QExportLoadStr(ID: Integer): string;
begin
  Result := QExportLocale.LoadStr(ID);
end;
{$ENDIF}

function DataType2QExportColType(Field: TField): TQExportColType;
begin
  Result := ectUnknown;
  if not Assigned(Field) then Exit;
  case Field.DataType of
    ftBlob, ftMemo,
    {$IFNDEF VCL3}
    ftWideString,
    {$ENDIF}
    ftString: Result := ectString;
    ftSmallint, ftInteger,
    ftWord, ftAutoInc: Result := ectInteger;
    {$IFNDEF VCL3}
    ftLargeInt: Result := ectBigint;
    {$ENDIF}
    ftBoolean: Result := ectBoolean;
    ftFloat,
    {$IFDEF VCL6}
    ftFMTBcd,
    {$ENDIF}
    ftBCD: Result := ectFloat;
    ftCurrency: Result := ectCurrency;
    ftDate: Result := ectDate;
    ftTime: Result := ectTime;
    {$IFDEF VCL6}
    ftTimeStamp,
    {$ENDIF}
    ftDateTime: Result := ectDateTime;
    ftGuid	: Result := ectString;
  end;
end;

function DataType2SQLType(Field: TField): string;
begin
  Result := 'UNKNOWN';
  case Field.DataType of
    ftOraBlob, ftBlob, ftMemo, ftGraphic, ftFmtMemo: Result := 'BLOB';
    {$IFNDEF VCL3} ftWideString, {$ENDIF}
    ftString: Result := Format('CHAR(%d)', [Field.Size]);
    ftSmallint, ftInteger, {$IFNDEF VCL3} ftLargeInt, {$ENDIF}
    ftWord, ftBoolean: Result := 'INTEGER';
    ftFloat, ftBCD, {$IFDEF VCL6} ftFMTBcd, {$ENDIF} ftCurrency: Result := 'DOUBLE PRECISION';
    ftDate, ftTime, ftDateTime: Result := 'DATE';
    ftOraClob: Result := 'CLOB'
  end;
end;

function QExportType2SQLType(Column: TQExportColumn): string;
begin
  case Column.ColType of
    ectInteger, ectBigint, ectBoolean: Result := 'INTEGER';
    ectFloat, ectCurrency: Result := 'DOUBLE PRECISSION';
    ectDate, ectTime, ectDateTime: Result := 'DATE';
    ectString: Result := Format('CHAR(%d)', [Column.Width]);
  end;
end;

function QExportColTypeAsString(ExportColType: TQExportColType): string;
begin
  case ExportColType of
    ectInteger, ectBigint: Result := 'Integer';
    ectFloat: Result := 'Float';
    ectCurrency: Result := 'Currency';
    ectDate: Result := 'Date';
    ectTime: Result := 'Time';
    ectDateTime: Result := 'DateTime';
    ectString: Result := 'String';
    ectBoolean: Result := 'Boolean';
    else Result := 'Unknown';
  end;
end;

function QExportSourceAsString(ExportSource: TQExportSource): string;
begin
  case ExportSource of
    esDataSet: Result := 'DataSet';
    esCustom: Result := 'CustomSource';
    esDBGrid: Result := 'DBGrid';
    esListView: Result := 'ListView';
    esStringGrid: Result := 'StringGrid';
    else Result := EmptyStr;
  end;
end;

{$IFDEF TRIAL}
{$IFDEF WIN32}
function IsIDERuning: Boolean;
begin
  Result := (FindWindow('TAppBuilder', nil) <> 0) or
            (FindWindow('TPropertyInspector', nil) <> 0) or
            (FindWindow('TAlignPalette', nil) <> 0);
end;
{$ENDIF}
{$ENDIF}

procedure CheckTrial;
begin
{$IFDEF TRIAL}
{$IFDEF WIN32}
  if not IsIDERuning then
    ShowAboutForm;
{$ENDIF}
{$ENDIF}
end;

{ TQExportFormats }

constructor TQExportFormats.Create;
begin
  inherited;
  ResetFormats;
end;

procedure TQExportFormats.Assign(Source: TPersistent);
begin
  if Source is TQExportFormats then begin
    IntegerFormat := (Source as TQExportFormats).IntegerFormat;
    FloatFormat := (Source as TQExportFormats).FloatFormat;
    DateFormat := (Source as TQExportFormats).DateFormat;
    TimeFormat := (Source as TQExportFormats).TimeFormat;
    DateTimeFormat := (Source as TQExportFormats).DateTimeFormat;
    CurrencyFormat := (Source as TQExportFormats).CurrencyFormat;
    BooleanTrue := (Source as TQExportFormats).BooleanTrue;
    BooleanFalse := (Source as TQExportFormats).BooleanFalse;
    NullString := (Source as TQExportFormats).NullString;
    Exit;
  end;
  inherited;
end;

procedure TQExportFormats.ResetFormats;
begin
  FIntegerFormat := S_INTEGER_FORMAT;
  FFloatFormat := S_FLOAT_FORMAT;
  FDateFormat := DefaultDateFormat;
  FTimeFormat := DefaultTimeFormat;
  FDateTimeFormat := DefaultDateTimeFormat;
  FCurrencyFormat := DefaultCurrencyFormat;
  FBooleanTrue := S_BOOLEAN_TRUE;
  FBooleanFalse := S_BOOLEAN_FALSE;
end;

procedure TQExportFormats.SetIntegerFormat(const Value: string);
begin
  if FIntegerFormat <> Value then
    if Value = EmptyStr
      then FIntegerFormat := S_INTEGER_FORMAT
      else FIntegerFormat := Value;
end;

procedure TQExportFormats.SetFloatFormat(const Value: string);
begin
  if FFloatFormat <> Value then
    {if Value = EmptyStr
      then FFloatFormat := S_FLOAT_FORMAT
      else FFloatFormat := Value;}
    FFloatFormat := Value; // ab
end;

procedure TQExportFormats.SetDateFormat(const Value: string);
begin
  if FDateFormat <> Value then
    if Value = EmptyStr
      then FDateFormat := DefaultDateFormat
      else FdateFormat := Value;
end;

procedure TQExportFormats.SetTimeFormat(const Value: string);
begin
  if FTimeFormat <> Value then
    if Value = EmptyStr
      then FTimeFormat := DefaultTimeFormat
      else FTimeFormat := Value;
end;

procedure TQExportFormats.SetDateTimeFormat(const Value: string);
begin
  if FDateTimeFormat <> Value then
    if Value = EmptyStr
      then FDateTimeFormat := DefaultDateTimeFormat
      else FDateTimeFormat := Value;
end;

procedure TQExportFormats.SetCurrencyFormat(const Value: string);
begin
  if FCurrencyFormat <> Value then
    if Value = EmptyStr
      then FCurrencyFormat := DefaultCurrencyFormat
      else FCurrencyFormat := Value;
end;

procedure TQExportFormats.SetBooleanTrue(const Value: string);
begin
  if FBooleanTrue <> Value then
    if Value = EmptyStr
      then FBooleanTrue := S_BOOLEAN_TRUE
      else FBooleanTrue := Value;
end;

procedure TQExportFormats.SetBooleanFalse(const Value: string);
begin
  if FBooleanFalse <> Value then
    if Value = EmptyStr
      then FBooleanFalse := S_BOOLEAN_FALSE
      else FBooleanFalse := Value;
end;

procedure TQExportFormats.SetNullString(const Value: string);
begin
  FNullString := Trim(Value);
end;

function TQExportFormats.IsIntegerFormatStored: boolean;
begin
  Result := AnsiCompareStr(FIntegerFormat, S_INTEGER_FORMAT) <> 0;
end;

function TQExportFormats.IsFloatFormatStored: boolean;
begin
  Result := AnsiCompareStr(FFloatFormat, S_FLOAT_FORMAT) <> 0;
end;

function TQExportFormats.IsDateFormatStored: boolean;
begin
  Result := AnsiCompareStr(FDateFormat, DefaultDateFormat) <> 0;
end;

function TQExportFormats.IsTimeFormatStored: boolean;
begin
  Result := AnsiCompareStr(FTimeFormat, DefaultTimeFormat) <> 0;
end;

function TQExportFormats.IsDateTimeFormatStored: boolean;
begin

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清日韩电视剧大全免费| 国产欧美久久久精品影院| 精品国产乱码久久久久久久 | 精品少妇一区二区三区 | 亚洲欧美中日韩| 久久精品视频在线免费观看| 最新热久久免费视频| 国产99精品在线观看| 日韩一级高清毛片| 国产精品国产成人国产三级| 国产九九视频一区二区三区| 欧美性色aⅴ视频一区日韩精品| 国产欧美视频在线观看| 国产91丝袜在线播放0| 日韩三级视频中文字幕| 国产精品人妖ts系列视频| 国产精品国产三级国产| 91污片在线观看| 欧美成人伊人久久综合网| 日本欧美在线看| 国模娜娜一区二区三区| 欧美理论在线播放| 久久狠狠亚洲综合| 日韩女优电影在线观看| 国产九九视频一区二区三区| 国产欧美日韩不卡| 精品国产一区二区三区久久影院| 婷婷综合久久一区二区三区| 国产激情视频一区二区在线观看 | 中文字幕一区二区三区精华液| 精品福利在线导航| 男人的天堂久久精品| 777奇米成人网| 国产91丝袜在线18| 国产精品夫妻自拍| 99精品视频在线播放观看| 91在线国产观看| 亚洲国产一区二区在线播放| 在线亚洲高清视频| 麻豆精品一区二区av白丝在线| 中文字幕亚洲区| 久久精品国产**网站演员| 国产精品三级电影| 欧美日韩另类国产亚洲欧美一级| 国产乱对白刺激视频不卡| 国产免费成人在线视频| 精品国产91亚洲一区二区三区婷婷| 激情五月婷婷综合网| 午夜精品福利久久久| 国产欧美日韩激情| 国产精品少妇自拍| 精品国产乱码久久久久久浪潮| 欧美一级日韩不卡播放免费| 日韩三级伦理片妻子的秘密按摩| 欧美狂野另类xxxxoooo| 欧美久久一二区| 日韩一卡二卡三卡国产欧美| 欧美一区二区视频在线观看2022| 欧美日韩另类国产亚洲欧美一级| 欧美日韩国产综合视频在线观看| 欧美日韩精品一区视频| 欧美日韩二区三区| 九色综合狠狠综合久久| 欧美大尺度电影在线| 日韩av一级电影| 蜜桃久久av一区| 老司机精品视频线观看86| 色成年激情久久综合| 久久久久久久网| 亚洲欧洲色图综合| 中文字幕欧美三区| 亚洲超丰满肉感bbw| 国产不卡视频在线观看| 欧美韩国日本综合| 亚洲最大成人网4388xx| 一本一道波多野结衣一区二区| 欧美午夜免费电影| 中文字幕一区视频| 成人深夜在线观看| 久久这里只有精品视频网| 成人欧美一区二区三区白人| 成人福利在线看| 欧美另类z0zxhd电影| 午夜伊人狠狠久久| 欧美嫩在线观看| 一区二区三区自拍| 欧美日韩国产bt| 欧美精品一区二区三区视频 | 国产午夜精品一区二区| 国产精品久久影院| av电影天堂一区二区在线| 欧美日韩国产成人在线免费| 亚洲最新在线观看| 国产精品少妇自拍| 粉嫩蜜臀av国产精品网站| 日韩午夜av电影| 精品一区二区免费看| 久久久噜噜噜久噜久久综合| 免费在线观看视频一区| 久久久精品蜜桃| 国产麻豆精品95视频| 亚洲电影中文字幕在线观看| 久久久99免费| 欧美三级电影一区| 奇米一区二区三区av| 欧美精品一区视频| 精久久久久久久久久久| 久久影院午夜片一区| 欧美日韩精品系列| 国产精品18久久久久久vr| 国产精品国产三级国产三级人妇| 国产成人午夜精品影院观看视频 | 国产精品亚洲专一区二区三区| 欧美亚洲综合久久| 天堂成人国产精品一区| 777欧美精品| 91香蕉视频污在线| 久久久美女毛片| 欧美福利视频一区| 欧美日韩国产综合一区二区三区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | av电影在线观看不卡 | 欧美日韩一区三区四区| 99久精品国产| 色视频欧美一区二区三区| 琪琪久久久久日韩精品| 久久精品国产亚洲aⅴ | 日韩亚洲欧美一区| 欧美日本免费一区二区三区| 欧美视频在线一区| 欧美丰满美乳xxx高潮www| 欧美理论片在线| 亚洲丰满少妇videoshd| 亚洲欧美日韩在线| 日韩美女视频一区二区| 亚洲视频一区在线观看| 亚洲一本大道在线| 蜜桃av噜噜一区二区三区小说| 久久国产免费看| 国产欧美日韩中文久久| 亚洲欧洲色图综合| 免费成人结看片| 国产经典欧美精品| 欧美私人免费视频| 中文字幕一区二区5566日韩| 日韩美女久久久| 亚洲午夜免费视频| 国产欧美一区二区三区在线老狼| 亚洲中国最大av网站| 久久爱另类一区二区小说| 成人晚上爱看视频| 国产精品美女一区二区三区| 一区二区三区日本| 国产精品一区二区三区乱码| 99精品视频中文字幕| youjizz久久| 欧美日韩国产美女| 天堂va蜜桃一区二区三区漫画版| 国内外精品视频| 欧美巨大另类极品videosbest | 国产精品99久久久久久似苏梦涵 | 久久精品免视看| 国产精品久久久久四虎| 国产黄色91视频| 欧美一区二区视频免费观看| 国产最新精品免费| 亚洲精品一区二区三区福利| 亚洲va中文字幕| 欧美视频一区二区在线观看| 一区二区三区四区在线免费观看| 99国产一区二区三精品乱码| 精品国产在天天线2019| 精品一区二区在线看| 精品88久久久久88久久久| 盗摄精品av一区二区三区| 国产视频一区不卡| 91行情网站电视在线观看高清版| 亚洲免费观看高清完整版在线观看 | 在线播放国产精品二区一二区四区| 一区二区日韩电影| www久久久久| av亚洲精华国产精华| 亚洲男女一区二区三区| 日韩精品一区二区三区蜜臀| 中文字幕av一区二区三区免费看| 激情亚洲综合在线| 国产精品理论片在线观看| 欧美肥大bbwbbw高潮| 久久国产欧美日韩精品| 亚洲国产视频网站| 日本一区二区三区视频视频| 一区二区三区精品视频在线| 欧美一二三区在线| 国产精品正在播放| 亚洲第一福利视频在线| 中文字幕第一区| 成人亚洲一区二区一| 国产一区二三区| 日本欧美在线观看| 免费成人美女在线观看|