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

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

?? qexport3.pas

?? DELPHI開(kāi)發(fā)VCL
?? PAS
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
  FExportedFields := TStringList.Create;
  FHeader := TStringList.Create;
  FCaptions := TStringList.Create;
  FAllowCaptions := true;
  FFooter := TStringList.Create;
  FFormats := TQExportFormats.Create;
  FUserFormats := TStringList.Create;
  FColumnsWidth := TStringList.Create;
  FColumnsAlign := TStringList.Create;
  FColumnsLength := TStringList.Create;

  FExportRow := TQExportRow.Create(Columns, Formats, GetColData);

  FCurrentRecordOnly := false;
  FGoToFirstRecord := true;
  FSkipRecCount := 0;
  FExportRecCount := 0;
  FOnlyVisibleFields := false;
  FAutoCalcStrType := false;
  FAutoCalcColWidth := false;
  FCaptionRow := -1;
  FExportEmpty := true;

  FAborted := false;

  F_Version := S_VERSION;
  FAbout := S_ABOUT;
end;

destructor TQExport3.Destroy;
begin
  FExportRow.Free;
  FColumns.Free;

  FExportedFields.Free;
  FHeader.Free;
  FCaptions.Free;
  FFooter.Free;
  FFormats.Free;
  FUserFormats.Free;
  FColumnsWidth.Free;
  FColumnsAlign.Free;
  FColumnsLength.Free;
  inherited;
end;

procedure TQExport3.Execute;
begin
end;

procedure TQExport3.ExportToStream(AStream: TStream);
begin
  FWriter := GetWriterClass.Create(Self, AStream);
  try
    DoExport;
  finally
    FWriter.Free;
  end;
end;

procedure TQExport3.Abort;
begin
  FAborted := true;
end;

procedure TQExport3.Notification(AComponent: TComponent; Operation: TOperation);
begin
  inherited;
  if Operation = opRemove then begin
    if AComponent = FDataSet then FDataSet := nil;
    if AComponent = FCustomSource then FCustomSource := nil;
    {$IFNDEF NOGUI}
    if AComponent = FListView then FListView := nil;
    if AComponent = FDBGrid then FDBGrid := nil;
    if AComponent = FStringGrid then FStringGrid := nil;
    {$ENDIF}
  end;
end;

procedure TQExport3.LoadPropertiesFromFile(const FileName: string);
var
  IniFile: TIniFile;
begin
  IniFile := TIniFile.Create(FileName);
  try
    LoadProperties(IniFile);
  finally
    IniFile.Free;
  end;
end;

procedure TQExport3.SavePropertiesToFile(const FileName: string);
var
  IniFile: TIniFile;
begin
  IniFile := TIniFile.Create(FileName);
  try
    SaveProperties(IniFile);
  finally
    IniFile.Free;
  end;
end;

procedure TQExport3.DisableControls;
begin
  QExportDisableControls(FExportSource, FDataSet, FCustomSource
    {$IFNDEF NOGUI}, FDBGrid, FListView, FStringGrid{$ENDIF});
end;

procedure TQExport3.EnableControls;
begin
  QExportEnableControls(FExportSource, FDataSet, FCustomSource
    {$IFNDEF NOGUI}, FDBGrid, FListView, FStringGrid{$ENDIF});
end;

procedure TQExport3.First;
begin
  FRecordCounter := 0;
  QExportFirst(FExportSource, FDataSet, FCustomSource
    {$IFNDEF NOGUI}, FDBGrid, FListView, FStringGrid{$ENDIF});
end;

procedure TQExport3.Next;
begin
  QExportNext(FExportSource, FDataSet, FCustomSource,
    {$IFNDEF NOGUI}FDBGrid, FListView, FStringGrid,{$ENDIF}FRecordCounter);
end;

procedure TQExport3.Skip(Count: integer);
begin
  QExportSkip(FExportSource, FDataSet, FCustomSource,
    {$IFNDEF NOGUI}FDBGrid, FListView, FStringGrid,{$ENDIF}
    FSkipRecCount, FOnSkippedRecord, Self, FRecordCounter)
end;

function TQExport3.EndOfFile: boolean;
begin
  Result := QExportEof(ExportSource, DataSet, CustomSource,
    {$IFNDEF NOGUI}DBGrid, ListView, StringGrid,{$ENDIF} RecordCounter,
    ExportRecCount, SkipRecCount);
end;

function TQExport3.GetBookmark: TBookmark;
begin
  Result := QExportGetBookmark(FExportSource, FDataSet, FCustomSource
    {$IFNDEF NOGUI}, FDBGrid, FListView, FStringGrid{$ENDIF});
end;

procedure TQExport3.GoToBookmark(Bookmark: TBookmark);
begin
  FRecordCounter := 0;
  QExportGoToBookmark(FExportSource, FDataSet, FCustomSource,
  {$IFNDEF NOGUI}FDBGrid, FListView, FStringGrid,{$ENDIF} Bookmark);
end;

procedure TQExport3.FreeBookmark(Bookmark: TBookmark);
begin
  QExportFreeBookmark(FExportSource, FDataSet, {$IFNDEF NOGUI}FDBGrid,
    FListView, FStringGrid,{$ENDIF} Bookmark);
end;

function TQExport3.IsEmpty: boolean;
begin
  Result := QExportIsEmpty(FExportSource, FDataSet, FCustomSource
    {$IFNDEF NOGUI}, FDBGrid, FListView, FStringGrid{$ENDIF});
end;

function TQExport3.IsActive: boolean;
begin
  Result := QExportIsActive(FExportSource, FDataSet, FCustomSource
    {$IFNDEF NOGUI}, FDBGrid, FListView, FStringGrid{$ENDIF});
end;

function TQExport3.GetColCaption(Index: integer): string;
begin
  Result := NormalString(Columns[Index].Caption);
end;

function TQExport3.GetColData(ExportCol: TQExportCol): string;
begin
  Result := ExportCol.Value;
end;

function TQExport3.NormalString(const S: string): string;
begin
  Result := S;
end;

procedure TQExport3.FillExportRow;
var
  i: integer;
  str: string;
  wstr: WideString;
begin
  for i := 0 to FColumns.Count - 1 do
  begin
    str := QExportGetColData(FExportSource, FDataSet, FCustomSource,
      {$IFNDEF NOGUI}FDBGrid, FListView, FStringGrid,{$ENDIF}
      FColumns, FFormats, FColumns.FNormalFunc, i, FRecordCounter,
      FSkipRecCount, false);
    wstr := str;
    if Assigned(FOnGetExportText) then
      FOnGetExportText(Self, i, wstr);
    FExportRow.SetValue(Columns[i].Name, wstr, wstr = str);
  end;
end;

function TQExport3.GetDataRow(NeedFormat: boolean): string;
var
  i: integer;
begin
  Result := EmptyStr;
  for i := 0 to FExportRow.Count - 1 do
    Result := Result + FExportRow[i].GetExportedValue(NeedFormat);
end;

function TQExport3.GetCaptionRow: string;
var
  i: integer;
begin
  Result := EmptyStr;
  for i := 0 to Columns.Count - 1 do
    Result := Result + GetColCaption(i);
end;

procedure TQExport3.DoExport;
var
  AcceptRow: boolean;
begin
  FRecordCounter := 0;
  CheckExportSource;
  if not IsActive
    then raise Exception.CreateFmt({$IFDEF WIN32}QExportLoadStr(QEM_ExportSourceNotActive){$ENDIF}
                                   {$IFDEF LINUX}QEM_ExportSourceNotActive{$ENDIF},
                                   [QExportSourceAsString(FExportSource)]);
  if (not FExportEmpty) and IsEmpty
    then raise Exception.CreateFmt({$IFDEF WIN32}QExportLoadStr(QEM_ExportSourceEmpty){$ENDIF}
                                   {$IFDEF LINUX}QEM_ExportSourceEmpty{$ENDIF},
                                   [QExportSourceAsString(FExportSource)]);
  DisableControls;
  try
    BeginExport;
    if Aborted then Exit;
    if AutoCalcColWidth then
      Columns.AutoCalcColWidth;
    if Aborted then Exit;
    try
      if FAllowCaptions then
        WriteCaptionRow;
      if Aborted then Exit;
      if FGoToFirstRecord then First;
      BeforeExport;
      if Aborted then Exit;
      Skip(SkipRecCount);
      if Aborted then Exit;
      RecordCounter := 0;
      while not EndOfFile and
        ((FExportRecCount = 0) or
         (FRecordCounter < FExportRecCount)) do
      begin
        if FAborted and not CanContinue then Break;
        AcceptRow := true;
        FillExportRow;
        if Assigned(FOnBeforeExportRow) then
          FOnBeforeExportRow(Self, FExportRow, AcceptRow);
        if AcceptRow then begin
          WriteDataRow;
          if Assigned(FOnExportedRecord)
            then FOnExportedRecord(Self, FRecordCounter);
        end;
        if FCurrentRecordOnly
          then Break
          else Next;
{$IFDEF WIN32}
        Sleep(0);
{$ENDIF}        
      end;
      AfterExport;
    finally
      EndExport;
    end;
  finally
    EnableControls;
  end;
end;

procedure TQExport3.SetExportedFields(const Value: TStrings);
begin
  FExportedFields.Assign(Value);
end;

procedure TQExport3.BeginExport;
var
  i: integer;
begin
  CheckTrial;
  Columns.Clear;
  Columns.Fill(false);

  FExportRow.Clear;
  FExportRow.FIndex.Clear;

  for i := 0 to Columns.Count - 1 do begin
    FExportRow.Add(Columns[i].Name, i);
    FExportRow.FIndex.AddObject(Columns[i].Name, TObject(i));
  end;
  FExportRow.FIndex.Sort;

  FAborted := false;

  {$IFNDEF NOGUI}
  case FExportSource of
    esListView: begin
      FSkipRecCount := MinimumInt(FSkipRecCount, FListView.Items.Count);
      if FExportRecCount > 0 then
        FExportRecCount := MinimumInt(FExportRecCount, FListView.Items.Count);
    end;
  end;
  {$ENDIF}
  if Assigned(FOnBeginExport) then FOnBeginExport(Self);
end;

procedure TQExport3.EndExport;
begin
  if Assigned(FOnEndExport) then FOnEndExport(Self);
end;

procedure TQExport3.SetCaptions(const Value: TStrings);
begin
  FCaptions.Assign(Value);
end;

procedure TQExport3.SetFooter(const Value: TStrings);
begin
  FFooter.Assign(Value);
end;

procedure TQExport3.SetHeader(const Value: TStrings);
begin
  FHeader.Assign(Value);
end;

procedure TQExport3.SetUserFormats(const Value: TStrings);
begin
  FUserFormats.Assign(Value);
end;

procedure TQExport3.SetFormats(const Value: TQExportFormats);
begin
  FFormats.Assign(Value);
end;

procedure TQExport3.AfterExport;
begin
  // do nothing
end;

procedure TQExport3.BeforeExport;
begin
// do nothing
end;

function TQExport3.GetSpecialCharacters: TSpecialCharacters;
begin
  Result := [];
end;

procedure TQExport3.SetColumnsWidth(const Value: TStrings);
begin
  FColumnsWidth.Assign(Value);
end;

procedure TQExport3.SetColumnsAlign(const Value: TStrings);
begin
  FColumnsAlign.Assign(Value);
end;

procedure TQExport3.SetColumnsLength(const Value: TStrings);
begin
  FColumnsLength.Assign(Value);
end;

procedure TQExport3.CheckExportSource;
begin
  QExportCheckSource(ExportSource, FDataSet, FCustomSource
    {$IFNDEF NOGUI}, FDBGrid, FListView, FStringGrid{$ENDIF});
end;

function TQExport3.GetWriterClass: TQExportWriterClass;
begin
  Result := TQExportWriter;
end;

function TQExport3.GetWriter: TQExportWriter;
begin
  Result := TQExportWriter(FWriter);
end;

procedure TQExport3.WriteCaptionRow;
begin

end;

procedure TQExport3.WriteDataRow;
begin
end;

function TQExport3.CanContinue: boolean;
begin
  Result := not FAborted;
  if Assigned(FOnStopExport) then FOnStopExport(Self, Result);
  FAborted := not Result;
end;

procedure TQExport3.GetCellParams(RecNo, ColNo: integer; const Value: string;
  var Align: TQExportColAlign; AFont: TFont; var Background: TColor);
begin
  if Assigned(FOnGetCellParams) then
    FOnGetCellParams(Self, RecNo, ColNo, Value, Align, AFont, Background);
end;

procedure TQExport3.LoadProperties(IniFile: TIniFile);
var i: Integer;
begin
  with IniFile do begin
    //--- General
    GoToFirstRecord := ReadBool(S_GENERAL, S_GoToFirstRecord, GoToFirstRecord);
    ExportEmpty := ReadBool(S_GENERAL, S_ExportEmpty, ExportEmpty);
    CurrentRecordOnly := ReadBool(S_GENERAL, S_CurrentRecordOnly, CurrentRecordOnly);
    ExportRecCount := Re

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品视频一二| 国产精品网站导航| 精品久久久久香蕉网| 欧美精品一卡两卡| 国产日本欧洲亚洲| 亚洲成人av资源| 国产精品一卡二卡在线观看| 亚洲欧美日韩久久| 久久超碰97中文字幕| 风间由美一区二区三区在线观看| 在线视频欧美区| 久久女同互慰一区二区三区| 亚洲免费观看视频| 老司机精品视频导航| 在线精品视频免费播放| 久久久蜜桃精品| 亚洲福利电影网| 国产老女人精品毛片久久| 99久久er热在这里只有精品66| 日韩一区二区免费在线观看| 一区二区三区影院| 99精品在线观看视频| 国产午夜精品一区二区三区嫩草| 天堂久久久久va久久久久| 欧美中文一区二区三区| 中文字幕在线免费不卡| 国产成人精品网址| wwwwxxxxx欧美| 极品美女销魂一区二区三区免费| 7777精品伊人久久久大香线蕉最新版 | 一个色综合av| 91视频xxxx| **欧美大码日韩| 99久久精品免费看| 亚洲日本韩国一区| 91美女片黄在线观看91美女| 亚洲国产精品二十页| 国产乱码精品一区二区三区五月婷| 91精品在线免费观看| 婷婷国产在线综合| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲美女偷拍久久| 国产·精品毛片| 久久中文字幕电影| 久久亚洲二区三区| 国产成人aaaa| 国产欧美一区二区精品性色| 国产成人精品网址| 国产精品美女久久久久久| 中文字幕在线视频一区| 成人精品视频一区二区三区| 久久久久久亚洲综合| 国产传媒欧美日韩成人| 久久久久久久国产精品影院| 精品亚洲成a人在线观看 | 欧美四级电影网| 视频一区欧美日韩| 91精品国产91久久久久久最新毛片 | 色婷婷av一区二区| 中文字幕中文在线不卡住| 99久久综合99久久综合网站| 亚洲欧美日韩国产手机在线| 亚洲va在线va天堂| 精品少妇一区二区三区免费观看| 美日韩黄色大片| 精品乱码亚洲一区二区不卡| 国产成人精品一区二| 亚洲综合在线视频| 青青草国产成人av片免费| 亚洲精品一区二区在线观看| 国产成人在线视频网站| 亚洲一区二区视频在线| 欧美成人国产一区二区| 不卡的av电影| 在线电影欧美成精品| 日韩av一区二区三区四区| 国产午夜久久久久| 在线观看成人免费视频| 毛片av中文字幕一区二区| 欧美国产日韩一二三区| 亚洲欧美另类图片小说| 欧美体内she精高潮| 久久99精品国产.久久久久久| 国产精品天天摸av网| 欧美三级电影精品| 久久精品99国产精品| 日本电影欧美片| 国产高清成人在线| 日韩国产欧美在线视频| 亚洲免费观看高清完整版在线观看熊| 日韩精品一区二区三区四区视频| 日本韩国欧美一区二区三区| 8x8x8国产精品| 国产91精品一区二区麻豆亚洲| 亚洲chinese男男1069| 亚洲欧美在线高清| 久久先锋影音av鲁色资源网| 欧美日韩成人高清| 亚洲人成7777| 中文字幕精品在线不卡| 日韩西西人体444www| 欧美最猛性xxxxx直播| 激情五月婷婷综合| 亚洲3atv精品一区二区三区| 99精品久久99久久久久| 国产盗摄一区二区| 国产一区不卡精品| 蜜桃一区二区三区四区| 一区二区三区不卡视频| 久久久国产午夜精品| 3d成人动漫网站| 亚洲影院理伦片| 国产精品久久久久久一区二区三区 | 日韩视频免费观看高清完整版 | 成人激情小说乱人伦| 免费观看在线综合| 亚洲综合色在线| 99精品国产99久久久久久白柏| 精品一区二区三区欧美| 亚洲成人av一区| 亚洲va国产va欧美va观看| 亚洲成人av在线电影| 亚洲一区二区欧美日韩| 亚洲va国产va欧美va观看| 日本丰满少妇一区二区三区| av在线不卡免费看| 成人免费看视频| 福利一区二区在线| 国产精品一级片| 国产一区二区调教| 精品少妇一区二区三区在线视频| 91精品国产综合久久精品麻豆| 欧美日韩国产一区| 日韩一区二区免费视频| 欧美一级片在线看| 精品久久五月天| 国产日韩欧美高清在线| 国产精品18久久久久久久网站| 国产91精品在线观看| 99国产精品久久久| 在线影视一区二区三区| 欧美精品xxxxbbbb| 久久影院午夜片一区| 国产农村妇女毛片精品久久麻豆| 国产ts人妖一区二区| 色8久久精品久久久久久蜜| 欧美日韩一区二区三区在线看| 51精品视频一区二区三区| 久久久亚洲欧洲日产国码αv| 国产亚洲综合性久久久影院| 国产精品久久夜| 亚洲自拍偷拍欧美| 欧美大胆一级视频| 国产精品久久久久婷婷| 一区二区三区欧美在线观看| 一区二区三区欧美| 激情综合色综合久久综合| 久久不见久久见中文字幕免费| 亚洲国产成人私人影院tom| 日本一区二区三区四区| 亚洲视频综合在线| 久久爱另类一区二区小说| 国产精品一级二级三级| 色哟哟一区二区三区| 日韩区在线观看| 不卡区在线中文字幕| 在线播放中文一区| 国产精品久久99| 久久爱www久久做| 在线区一区二视频| 国产三级精品三级在线专区| 亚洲一级二级在线| 国产98色在线|日韩| 亚洲高清视频中文字幕| 国产成人免费av在线| 欧美久久久影院| 亚洲精品久久7777| 国产在线麻豆精品观看| 欧美日韩国产一级片| 亚洲欧美日韩一区二区三区在线观看| 国产美女视频91| 青娱乐精品视频在线| 欧美性一级生活| 中文字幕一区二区日韩精品绯色| 久久99久久久久久久久久久| 欧美日韩一区中文字幕| 亚洲同性同志一二三专区| 日韩国产一区二| 亚洲精选视频免费看| 国产真实乱子伦精品视频| 欧美日韩免费不卡视频一区二区三区| 久久精品人人爽人人爽| 麻豆精品蜜桃视频网站| 91成人看片片| 亚洲欧美视频一区| 丰满少妇久久久久久久| 蜜臀久久99精品久久久画质超高清| 欧美主播一区二区三区| 亚洲精品福利视频网站| 成人激情动漫在线观看|