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

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

?? qexport3.pas

?? EMS Advanced.export. components full source
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
  for i := 0 to Count - 1 do
    Items[i].Value := EmptyStr
end;

function TQExportRow.Last: TQExportCol;
begin
  Result := TQExportCol(inherited Last);
end;

function TQExportRow.IndexOf(Item: TQExportCol): Integer;
begin
  Result := inherited IndexOf(Item);
end;

function TQExportRow.Remove(Item: TQExportCol): Integer;
begin
  Result := inherited Remove(Item);
end;

function TQExportRow.ColByName(const AName: string): TQExportCol;
var
  i: integer;
begin
  Result := nil;
  for i := 0 to Count - 1 do
    if AnsiCompareText(AName, Items[i].Name) = 0 then begin
      Result := Items[i];
      Exit;
    end;
end;

function TQExportRow.Get(Index: Integer): TQExportCol;
begin
  Result := TQExportCol(inherited Get(Index));
end;

procedure TQExportRow.Put(Index: Integer; const Value: TQExportCol);
begin
  inherited Put(Index, Value);
end;

{ TQExport3 }

constructor TQExport3.Create(AOwner: TComponent);
begin
  inherited;
  FRecordCounter := 0;
  FColumns := TQExportColumns.Create(Self, NormalString);

  FExportSource := esDataSet;
  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(con

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产一区二区三区四区四| 精品一区二区免费看| 国产精品一区二区男女羞羞无遮挡| 欧美日韩免费高清一区色橹橹| 亚洲午夜av在线| 欧美人狂配大交3d怪物一区| 悠悠色在线精品| 日本韩国欧美一区二区三区| 一区二区免费在线播放| 97久久精品人人澡人人爽| 《视频一区视频二区| 91麻豆福利精品推荐| 一区二区三区免费在线观看| 欧美三级电影精品| 免费看欧美女人艹b| 久久久久亚洲蜜桃| 国产精品香蕉一区二区三区| 中文字幕国产一区二区| 色八戒一区二区三区| 亚洲国产精品自拍| 日韩免费视频一区| 成人性视频免费网站| 一区二区三区国产豹纹内裤在线| 欧美亚洲一区二区在线| 日日摸夜夜添夜夜添国产精品 | 欧美极品少妇xxxxⅹ高跟鞋| 成人免费福利片| 亚洲永久精品国产| 日韩欧美在线不卡| 波多野结衣欧美| 日韩精品亚洲一区二区三区免费| 久久久久国产一区二区三区四区| 色综合久久综合中文综合网| 首页国产丝袜综合| 国产精品网站在线播放| 欧美丰满美乳xxx高潮www| 国内精品久久久久影院色| 亚洲另类在线视频| 日韩欧美一区二区免费| 99国产精品久久久| 日本sm残虐另类| 亚洲精品国产无天堂网2021| 日韩你懂的在线观看| 91久久精品一区二区| 国产精品夜夜嗨| 视频一区中文字幕| 中文字幕国产一区二区| 欧美日韩国产综合一区二区 | 91啪亚洲精品| 国产在线一区观看| 婷婷丁香久久五月婷婷| 中文字幕亚洲综合久久菠萝蜜| 欧美一级淫片007| 色婷婷综合久久久久中文一区二区 | 一区二区激情小说| 国产亚洲1区2区3区| 欧美一区二区黄| 欧美视频中文字幕| 99视频在线精品| 国产一区二区三区四区五区入口 | 国产69精品一区二区亚洲孕妇| 三级精品在线观看| 精品国产99国产精品| jlzzjlzz亚洲女人18| 五月天视频一区| 欧美久久久久久久久久| 成人免费高清视频在线观看| 日韩电影一区二区三区| 中文字幕一区二区三区在线播放| 欧美午夜视频网站| 91丨九色丨蝌蚪丨老版| 国产综合色视频| 日本美女一区二区| 亚洲综合一区二区精品导航| 一区二区三区加勒比av| 欧洲一区在线观看| 色综合激情五月| 99re视频精品| 91丨porny丨中文| 91同城在线观看| 97久久超碰精品国产| 色综合一区二区| 91丨porny丨蝌蚪视频| 高清shemale亚洲人妖| 国产成人精品综合在线观看| 国产美女精品在线| 国产一区二区看久久| 国产在线播精品第三| 国产精品系列在线观看| 国产99久久久久| 97精品国产露脸对白| 成人精品免费网站| 成年人网站91| 色婷婷av一区二区三区gif| 91福利视频久久久久| 欧美日韩一卡二卡三卡| 欧美视频在线观看一区| 色综合欧美在线| 欧美精品在线观看播放| 欧美电影免费观看完整版| 9191国产精品| 日韩欧美你懂的| 久久久亚洲精华液精华液精华液 | 91蜜桃在线免费视频| 91国偷自产一区二区开放时间| 在线日韩国产精品| 欧美一区在线视频| 久久亚洲私人国产精品va媚药| 国产精品女主播av| 亚洲人成电影网站色mp4| 亚洲高清免费在线| 久久成人免费日本黄色| 成人黄色综合网站| 欧美日本国产视频| 久久久综合激的五月天| 亚洲精品一二三| 看国产成人h片视频| 97久久精品人人澡人人爽| 欧美一区二区视频在线观看2020| 国产亚洲精品中文字幕| 中文字幕免费在线观看视频一区| 一区精品在线播放| 蜜乳av一区二区| 91丨九色丨蝌蚪富婆spa| 欧美一区二区视频在线观看2020| 国产精品伦理在线| 麻豆国产91在线播放| 97se亚洲国产综合在线| 欧美电视剧免费观看| 亚洲精品成人悠悠色影视| 免费在线观看一区| 一本大道久久a久久精品综合| 精品国产乱码久久久久久免费| 一区二区三区欧美日| 国产精品一区久久久久| 欧美男男青年gay1069videost| 精品久久五月天| 亚洲一二三区在线观看| 国产成人综合亚洲网站| 欧美一区二区三区四区久久| 亚洲女与黑人做爰| 成人动漫中文字幕| 26uuuu精品一区二区| 日日夜夜一区二区| 欧美性感一区二区三区| 国产精品久久久久影院老司| 久久99精品国产麻豆婷婷| 日本高清不卡视频| 亚洲国产精品激情在线观看| 蜜臀99久久精品久久久久久软件| 在线免费视频一区二区| 国产精品美女久久久久久久网站| 精品亚洲国内自在自线福利| 91免费视频观看| 久久久久久久久久看片| 极品少妇xxxx精品少妇| 欧美日韩一区二区三区免费看 | 亚洲一级二级在线| 国产福利一区二区三区视频| 欧美日韩一本到| 国产精品久久久久7777按摩 | 在线亚洲一区二区| 久久精品欧美日韩精品| 久久99热99| 欧美精品一区二区在线观看| 青青草97国产精品免费观看无弹窗版 | 色综合天天综合网天天狠天天| 久久久青草青青国产亚洲免观| 老色鬼精品视频在线观看播放| 欧美日韩激情一区| 五月激情综合色| 欧美四级电影网| 亚洲欧美另类久久久精品2019| 成人v精品蜜桃久久一区| 国产精品免费人成网站| 懂色av中文一区二区三区| 欧美激情一区二区三区不卡 | 国产精品五月天| 白白色亚洲国产精品| 国产精品国产三级国产普通话99| 成人sese在线| 亚洲精品自拍动漫在线| 欧美日韩三级视频| 日韩va亚洲va欧美va久久| 6080午夜不卡| 久久国产精品露脸对白| 国产色产综合产在线视频| 国产成人亚洲综合a∨猫咪| 国产精品天美传媒| 在线观看不卡视频| 日韩av一区二| 国产欧美一区二区精品性| 成人av网址在线| 亚洲人成网站精品片在线观看| 欧亚洲嫩模精品一区三区| 日韩电影在线观看电影| 亚洲精品在线观看网站| aaa欧美色吧激情视频| 亚洲成av人综合在线观看| 日韩一区二区在线观看视频播放|