📄 ado_qimport3wizard.pas
字号:
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 + -