⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ado_qimport3wizard.pas

📁 Advanced Data Import Component Suite for Borland Delphi and C++ Builder allows you to import your da
💻 PAS
📖 第 1 页 / 共 5 页
字号:
          TMapRow(lvXLSFields.Items[i].Data).AsString := EmptyStr;
        XLSClearDataSheets;
        XLSSkipCols := 0;
        XLSSkipRows := 0;
      end;
    end;
    //----
    TuneButtons;
    SetTitle;
    FNeedLoadFile := true;
  end;
end;

procedure TADO_QImport3WizardF.SetGoToLastPage(Value: boolean);
begin
  if FGoToLastPage <> Value then begin
    FGoToLastPage := Value;
    chGoToLastPage.Checked := FGoToLastPage;
  end;
end;

procedure TADO_QImport3WizardF.SetAutoSaveTemplate(Value: boolean);
begin
  if FAutoSaveTemplate <> Value then
  begin
    FAutoSaveTemplate := Value;
    chAutoSaveTemplate.Checked := FAutoSaveTemplate;
  end;
end;

procedure TADO_QImport3WizardF.SetComma(const Value: char);
var
  i: integer;
begin
  if FComma <> Value then begin
    FComma := Value;
    if FComma = Chr(VK_TAB) then
      cbComma.Text := 'TAB'
    else if FComma = Chr(VK_SPACE) then
      cbComma.Text := 'SPACE'
    else cbComma.Text := Char2Str(FComma);

    for i := 0 to lvCSVFields.Items.Count - 1 do
      lvCSVFields.Items[i].SubItems[0] := EmptyStr;
    if lvCSVFields.Items.Count > 0 then begin
      lvCSVFields.Items[0].Focused := true;
      lvCSVFields.Items[0].Selected := true;
    end;

    FNeedLoadFile := true;
    TuneButtons;
  end;
end;

procedure TADO_QImport3WizardF.SetQuote(const Value: char);
var
  i: integer;
begin
  if FQuote <> Value then begin
    FQuote := Value;
    cbQuote.Text := Char2Str(FQuote);

    for i := 0 to lvCSVFields.Items.Count - 1 do
      lvCSVFields.Items[i].SubItems[0] := EmptyStr;
    if lvCSVFields.Items.Count > 0 then begin
      lvCSVFields.Items[0].Focused := true;
      lvCSVFields.Items[0].Selected := true;
    end;

    FNeedLoadFile := true;
  end;
end;

procedure TADO_QImport3WizardF.FillCombosAndLists;
begin
  XLSFillFieldList;
  TXTFillCombo;
  CSVFillCombo;
  DBFFillList;
  XMLFillList;
  AccessFillList;
  FormatsFillList;
  FillKeyColumns(KeyColumns);
end;

procedure TADO_QImport3WizardF.FillKeyColumns(Strings: TStrings);
var
  i, j: integer;
  str: string;
begin
  lvAvailableColumns.Items.BeginUpdate;
  try
    lvSelectedColumns.Items.BeginUpdate;
    try
      lvAvailableColumns.Items.Clear;
      lvSelectedColumns.Items.Clear;

      for i := 0 to Strings.Count - 1 do begin
        j := QImportDestinationFindColumn(false, ImportDestination, DataSet,
             DBGrid, ListView, StringGrid, GridCaptionRow, Strings[i]);
        if j > -1 then
          lvSelectedColumns.Items.Add.Caption :=
            QImportDestinationColName(false, ImportDestination, DataSet,
              DBGrid, ListView, StringGrid, GridCaptionRow, j);
      end;

      for i := 0 to QImportDestinationColCount(false, ImportDestination,
                      DataSet, DBGrid, ListView, StringGrid) - 1 do begin
         str := QImportDestinationColName(false, ImportDestination, DataSet,
                  DBGrid, ListView, StringGrid, GridCaptionRow, i);
         if Strings.IndexOf(str) = -1 then
           lvAvailableColumns.Items.Add.Caption := str;
      end;
      if lvAvailableColumns.Items.Count > 0 then begin
        lvAvailableColumns.Items[0].Focused := true;
        lvAvailableColumns.Items[0].Selected := true;
      end;
      if lvSelectedColumns.Items.Count > 0 then begin
        lvSelectedColumns.Items[0].Focused := true;
        lvSelectedColumns.Items[0].Selected := true;
      end;
    finally
      lvSelectedColumns.Items.EndUpdate;
    end;
  finally
    lvAvailableColumns.Items.EndUpdate;
  end;
end;

procedure TADO_QImport3WizardF.MoveToSelected(Source, Destination: TListView;
  All: boolean; Index: integer);
var
  List: TStringList;
  i: integer;
  ListItem: TListItem;
begin
  Source.Items.BeginUpdate;
  try
    Destination.Items.BeginUpdate;
    try
      List := TStringList.Create;
      try
        for i := Source.Items.Count - 1 downto 0 do
          if Source.Items[i].Selected or All then begin
            List.Add(Source.Items[i].Caption);
            Source.Items.Delete(i);
          end;
        ListItem := nil;
        if (List.Count = 1) and (Index > -1) then begin
          ListItem := Destination.Items.Insert(Index);
          ListItem.Caption := List[0];
          List.Delete(0);
        end
        else
          for i := List.Count - 1 downto 0 do begin
            ListItem := Destination.Items.Add;
            ListItem.Caption := List[i];
            List.Delete(i);
          end;
      finally
        List.Free;
      end;
      if Assigned(Source.ItemFocused) then
        Source.ItemFocused.Selected := true;
      if Assigned(ListItem) then
        for i := 0 to Destination.Items.Count - 1 do
          Destination.Items[i].Selected := Destination.Items[i] = ListItem;
    finally
      Destination.Items.EndUpdate;
    end;
  finally
    Source.Items.EndUpdate;
  end;
end;

procedure TADO_QImport3WizardF.SetCaptions;
var
  N: integer;
begin
  grpImportTypes.Caption := QImportLoadStr(QIW_ImportFrom);
  rbtXLS.Caption := QImportLoadStr(QIW_XLS);
  rbtDBF.Caption := QImportLoadStr(QIW_DBF);
  rbtXML.Caption := QImportLoadStr(QIW_XML);
  rbtTXT.Caption := QImportLoadStr(QIW_TXT);
  rbtCSV.Caption := QImportLoadStr(QIW_CSV);
  rbtAccess.Caption := QImportLoadStr(QIW_Access);
  laAccessPassword.Caption := QImportLoadStr(QIW_Access_Password);
  laComma.Caption := QImportLoadStr(QIW_Comma);
  laQuote.Caption := QImportLoadStr(QIW_Quote);
  laSourceFileName.Caption := QImportLoadStr(QIW_FileName);
  laTemplateFileNameTag.Caption := QImportLoadStr(QIW_TemplateFileName);
  odTemplate.Filter := QImportLoadStr(QIF_TEMPLATE);
  bHelp.Caption := QImportLoadStr(QIW_Help);
  bBack.Caption := QImportLoadStr(QIW_Back);
  bNext.Caption := QImportLoadStr(QIW_Next);
  bCancel.Caption := QImportLoadStr(QIW_Cancel);
  bOk.Caption := QImportLoadStr(QIW_Execute);
  gbTemplateOptions.Caption := QImportLoadStr(QIW_TemplateOptions);
  chGoToLastPage.Caption := QImportLoadStr(QIW_GoToLastPage);
  chAutoSaveTemplate.Caption := QImportLoadStr(QIW_AutoSaveTemplate);
  btnLoadTemplate.Caption := QImportLoadStr(QIW_LoadTemplate);
  //-----
  lvTXTFields.Columns[0].Caption := QImportLoadStr(QIW_TXT_Fields);
  lvTXTFields.Columns[1].Caption := QImportLoadStr(QIW_TXT_Fields_Pos);
  lvTXTFields.Columns[2].Caption := QImportLoadStr(QIW_TXT_Fields_Size);
  tbtTXTClear.Hint := QImportLoadStr(QIW_TXT_Clear);
  laTXTSkipLines.Caption := QImportLoadStr(QIW_TXT_SkipLines);
  //-----
  lvCSVFields.Columns[0].Caption := QImportLoadStr(QIW_CSV_Fields);
  laCSVColNumber.Caption := QImportLoadStr(QIW_CSV_ColNumber);
  laCSVSkipLines.Caption := QImportLoadStr(QIW_CSV_SkipLines);
  tbtCSVAutoFill.Hint := QImportLoadStr(QIW_CSV_AutoFill);
  tbtCSVClear.Hint := QImportLoadStr(QIW_CSV_Clear);
  //-----
  bDBFAdd.Caption := QImportLoadStr(QIW_DBF_Add);
  bDBFAutoFill.Caption := QImportLoadStr(QIW_DBF_AutoFill);
  bDBFRemove.Caption := QImportLoadStr(QIW_DBF_Remove);
  bDBFClear.Caption := QImportLoadStr(QIW_DBF_Clear);
  chDBFSkipDeleted.Caption := QImportLoadStr(QIW_DBF_SkipDeleted);
  //-----
  bXMLAdd.Caption := QImportLoadStr(QIW_XML_Add);
  bXMLAutoFill.Caption := QImportLoadStr(QIW_XML_AutoFill);
  bXMLRemove.Caption := QImportLoadStr(QIW_XML_Remove);
  bXMLClear.Caption := QImportLoadStr(QIW_XML_Clear);
  chXMLWriteOnFly.Caption := QImportLoadStr(QIW_XML_WriteOnFly);
  //-----
  lvXLSFields.Columns[0].Caption := QImportLoadStr(QIW_XLS_Fields);
  lvXLSRanges.Columns[0].Caption := QImportLoadStr(QIW_XLS_Ranges);
  tbtXLSAddRange.Hint := QImportLoadStr(QIW_XLS_AddRange);
  tbtXLSEditRange.Hint := QImportLoadStr(QIW_XLS_EditRange);
  tbtXLSDelRange.Hint := QImportLoadStr(QIW_XLS_DelRange);
  tbtXLSMoveRangeUp.Hint := QImportLoadStr(QIW_XLS_MoveRangeUp);
  tbtXLSMoveRangeDown.Hint := QImportLoadStr(QIW_XLS_MoveRangeDown);
  laXLSSkipCols.Caption := QImportLoadStr(QIW_XLS_SkipCols);
  laXLSSkipRows.Caption := QImportLoadStr(QIW_XLS_SkipRows);
  tbtXLSAutoFillCols.Hint := QImportLoadStr(QIW_XLS_AutoFillCols);
  tbtXLSAutoFillRows.Hint := QImportLoadStr(QIW_XLS_AutoFillRows);
  tbtXLSClearFieldRanges.Hint := QImportLoadStr(QIW_XLS_ClearFieldRanges);
  tbtXLSClearAllRanges.Hint := QImportLoadStr(QIW_XLS_ClearAllRanges);
  //-----
  rbtAccessTable.Caption := QImportLoadStr(QIW_Access_Table);
  rbtAccessSQL.Caption := QImportLoadStr(QIW_Access_SQL);
  tbtAccessSQLSave.Hint := QImportLoadStr(QIW_Access_SQL_Save);
  tbtAccessSQLLoad.Hint := QImportLoadStr(QIW_Access_SQL_Load);
  bAccessAdd.Caption := QImportLoadStr(QIW_Access_Add);
  bAccessAutoFill.Caption := QImportLoadStr(QIW_Access_AutoFill);
  bAccessRemove.Caption := QImportLoadStr(QIW_Access_Remove);
  bAccessClear.Caption := QImportLoadStr(QIW_Access_Clear);
  //-----
  tshBaseFormats.Caption := QImportLoadStr(QIW_BaseFormats);
  grpDateTimeFormats.Caption := QImportLoadStr(QIW_DateTimeFormats);
  grpSeparators.Caption := QImportLoadStr(QIW_Separators);
  laDecimalSeparator.Caption := QImportLoadStr(QIW_DecimalSeparator);
  laThousandSeparator.Caption := QImportLoadStr(QIW_ThousandSeparator);
  laShortDateFormat.Caption := QImportLoadStr(QIW_ShortDateFormat);
  laLongDateFormat.Caption := QImportLoadStr(QIW_LongDateFormat);
  laDateSeparator.Caption := QImportLoadStr(QIW_DateSeparator);
  laShortTimeFormat.Caption := QImportLoadStr(QIW_ShortTimeFormat);
  laLongTimeFormat.Caption := QImportLoadStr(QIW_LongTimeFormat);
  laTimeSeparator.Caption := QImportLoadStr(QIW_TimeSeparator);

  laBooleanTrue.Caption := QImportLoadStr(QIW_BooleanTrue);
  mmBooleanTrue.Lines.Assign(Wizard.Formats.BooleanTrue);
  laBooleanFalse.Caption := QImportLoadStr(QIW_BooleanFalse);
  mmBooleanFalse.Lines.Assign(Wizard.Formats.BooleanFalse);
  laNullValues.Caption := QImportLoadStr(QIW_NullValue);
  mmNullValues.Lines.Assign(Wizard.Formats.NullValues);
  //-----------------------
  tshDataFormats.Caption := QImportLoadStr(QIWDF_Caption);
  lstFormatFields.Columns[0].Caption := QImportLoadStr(QIWDF_Fields);
  tsFieldTuning.Caption := QImportLoadStr(QIWDF_Tuning);
  laGeneratorValue.Caption := QImportLoadStr(QIWDF_GeneratorValue);
  laGeneratorStep.Caption := QImportLoadStr(QIWDF_GeneratorStep);
  laConstantValue.Caption := QImportLoadStr(QIWDF_ConstantValue);
  laNullValue.Caption := QImportLoadStr(QIWDF_NullValue);
  laDefaultValue.Caption := QImportLoadStr(QIWDF_DefaultValue);
  laLeftQuote.Caption := QImportLoadStr(QIWDF_LeftQuote);
  laRightQuote.Caption := QImportLoadStr(QIWDF_RightQuote);
  laQuoteAction.Caption := QImportLoadStr(QIWDF_QuoteAction);
  N := cmbQuoteAction.ItemIndex;
  cmbQuoteAction.Items[0] := QImportLoadStr(QIWDF_QuoteNone);
  cmbQuoteAction.Items[1] := QImportLoadStr(QIWDF_QuoteAdd);
  cmbQuoteAction.Items[2] := QImportLoadStr(QIWDF_QuoteRemove);
  cmbQuoteAction.ItemIndex := N;
  laCharCase.Caption := QImportLoadStr(QIWDF_CharCase);
  laCharSet.Caption := QImportLoadStr(QIWDF_CharSet);
  N := cmbCharCase.ItemIndex;
  cmbCharCase.Items[0] := QImportLoadStr(QIWDF_CharCaseNone);
  cmbCharCase.Items[1] := QImportLoadStr(QIWDF_CharCaseUpper);
  cmbCharCase.Items[2] := QImportLoadStr(QIWDF_CharCaseLower);
  cmbCharCase.Items[3] := QImportLoadStr(QIWDF_CharCaseUpperFirst);
  cmbCharCase.Items[4] := QImportLoadStr(QIWDF_CharCaseUpperWord);
  cmbCharCase.ItemIndex := N;
  N := cmbCharSet.ItemIndex;
  cmbCharSet.Items[0] := QImportLoadStr(QIWDF_CharSetNone);
  cmbCharSet.Items[1] := QImportLoadStr(QIWDF_CharSetAnsi);
  cmbCharSet.Items[2] := QImportLoadStr(QIWDF_CharSetOem);
  cmbCharSet.ItemIndex := N;
  laReplacements.Caption := QImportLoadStr(QIWDF_Replacements);
  lvReplacements.Columns[0].Caption := QImportLoadStr(QIWDF_TextToFind);
  lvReplacements.Columns[1].Caption := QImportLoadStr(QIWDF_ReplaceWith);
  lvReplacements.Columns[2].Caption := QImportLoadStr(QIWDF_IgnoreCase);
  tbtAddReplacement.Hint := QImportLoadStr(QIWDF_AddReplacement);
  tbtEditReplacement.Hint := QImportLoadStr(QIWDF_EditReplacement);
  tbtDelReplacement.Hint := QImportLoadStr(QIWDF_DelReplacement);
  //-----------------------
  tshCommit.Caption := QImportLoadStr(QIW_CommitOptions);
  grpCommit.Caption := QImportLoadStr(QIW_Commit);
  chCommitAfterDone.Caption := QImportLoadStr(QIW_CommitAfterDone);
  laCommitRecCount_01.Caption := QImportLoadStr(QIW_CommitRecCount);
  laCommitRecCount_02.Caption := QImportLoadStr(QIW_Records);

  grpImportCount.Caption := QImportLoadStr(QIW_RecordCount);
  chImportAllRecords.Caption := QImportLoadStr(QIW_ImportAllRecords);
  laImportRecCount_01.Caption := QImportLoadStr(QIW_ImportRecCount);
  laImportRecCount_02.Caption := QImportLoadStr(QIW_Records);
  chCloseAfterImport.Caption := QImportLoadStr(QIW_CloseAfterImport);

  grpErrorLog.Caption := QImportLoadStr(QIW_ErrorLog);
  chEnableErrorLog.Caption := QImportLoadStr(QIW_EnableErrorLog);
  laErrorLogFileName.Caption := QImportLoadStr(QIW_ErrorLogFileName);
  chRewriteErrorLogFile.Caption := QImportLoadStr(QIW_RewriteErrorLogFile);
  chShowErrorLog.Caption := QImportLoadStr(QIW_ShowErrorLog);
  btnSaveTemplate.Caption := QImportLoadStr(QIW_SaveTemplate);

  tshAdvanced.Caption := QImportLoadStr(QIW_ImportAdvanced);
  rgAddType.Caption := QImportLoadStr(QIW_AddType);
  N := rgAddType.ItemIndex;
  rgAddType.Items[0] := QImportLoadStr(QIW_AddType_Append);
  rgAddType.Items[1] := QImportLoadStr(QIW_AddType_Insert);
  rgAddType.ItemIndex := N;

  rgImportMode.Caption := QImportLoadStr(QIWIM_Caption);
  N := rgImportMode.ItemIndex;
  rgImportMode.Items[0] := QImportLoadStr(QIWIM_Insert_All);
  rgImportMode.Items[1] := QImportLoadStr(QIWIM_Insert_New);
  rgImportMode.Items[2] := QImportLoadStr(QIWIM_Update);
  rgImportMode.Items[3] := QImportLoadStr(QIWIM_Update_or_Insert);
  rgImportMode.Items[4] := QImportLoadStr(QIWIM_Delete);
  rgImportMode.Items[5] := QImportLoadStr(QIWIM_Delete_or_Insert);
  rgImportMode.ItemIndex := N;

  laAvailableColumns.Caption := QImportLoadStr(QIW_AvailableColumns);
  laSelectedColumns.Caption := QImportLoadStr(QIW_SelectedColumns);
end;

procedure TADO_QImport3WizardF.TuneOpenDialog;
begin
  case FImportType of
    aiXLS: opnDialog.Filter := QImportLoadStr(QIF_XLS);
    aiDBF: opnDialog.Filter := QImportLoadStr(QIF_DBF);
    aiXML: opnDialog.Filter := QImportLoadStr(QIF_XML);
    aiT

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -