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

📄 qimport3wizard.pas

📁 Advanced Data Import Component Suite for Borland Delphi and C++ Builder allows you to import your da
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    FAccessPassword: string;
    FAccessSourceType: TQImportAccessSourceType;
{$ENDIF}

{$IFDEF HTML}
{$IFDEF VCL6}
    impHTML: TQImport3HTML;
    FHTMLFile: THTMLFile;
    FHTMLSkipLines: Integer;
{$ENDIF}
{$ENDIF}

{$IFDEF XLSX}
{$IFDEF VCL6}
    impXlsx: TQImport3Xlsx;
    FXlsxSkipLines: Integer;
    FXlsxSheetName: qiString;
    FXlsxCurrentStringGrid: TqiStringGrid;
    FXlsxLoadHiddenSheet: Boolean;
    FXlsxNeedFillMerge: Boolean;
{$ENDIF}
{$ENDIF}

{$IFDEF DOCX}
{$IFDEF VCL6}
    impDocx: TQImport3Docx;
//    FDocxFile: TDocxFile;
    FDocxSkipLines: Integer;
    FDocxTableNumber: Integer;
    FDocxCurrentStringGrid: TqiStringGrid;
{$ENDIF}
{$ENDIF}

{$IFDEF ODS}
{$IFDEF VCL6}
    impODS: TQImport3ODS;
    FODSSkipLines: Integer;
    FODSSheetName: AnsiString;
    FODSCurrentStringGrid: TqiStringGrid;
{$ENDIF}
{$ENDIF}

{$IFDEF ODT}
{$IFDEF VCL6}
    impODT: TQImport3ODT;
    FODTSkipLines: Integer;
    FODTUseHeader: Boolean;
    FODTSheetName: AnsiString;
    FODTCurrentStringGrid: TqiStringGrid;
    FODTComplexArray: array of Boolean;
    FODTComplex: Boolean;
{$ENDIF}
{$ENDIF}

{$IFDEF XMLDOC}
{$IFDEF VCL6}
    impXMLDoc: TQImport3XMLDoc;
    FXMLDocFile: TXMLDocFile;
    FXMLDocSkipLines: Integer;
    FXMLDocXPath: qiString;
    FXMLDocDataLocation: TXMLDataLocation;
{$ENDIF}
{$ENDIF}

{$IFDEF ADO}
    procedure rbtAccessTableClick(Sender: TObject);
    procedure rbtAccessSQLClick(Sender: TObject);
    procedure sbtAccessSQLLoadClick(Sender: TObject);
    procedure sbtAccessSQLSaveClick(Sender: TObject);
    procedure lbAccessTablesClick(Sender: TObject);
    procedure memAccessSQLChange(Sender: TObject);
    procedure bAccessAddClick(Sender: TObject);
    procedure bAccessAutoFillClick(Sender: TObject);
    procedure bAccessRemoveClick(Sender: TObject);
    procedure bAccessClearClick(Sender: TObject);
    procedure lstAccessMapChange(Sender: TObject; Item: TListItem;
      Change: TItemChange);
    procedure lstAccessDataSetChange(Sender: TObject; Item: TListItem;
      Change: TItemChange);
    procedure lstAccessChange(Sender: TObject; Item: TListItem;
      Change: TItemChange);
    procedure edAccessPasswordChange(Sender: TObject);
{$ENDIF}

{$IFDEF HTML}
{$IFDEF VCL6}
    procedure edtHTMLSkipLinesChange(Sender: TObject);
    procedure lvHTMLFieldsChange(Sender: TObject; Item: TListItem;
      Change: TItemChange);
    procedure sgrHTMLDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure cbHTMLColNumberChange(Sender: TObject);
    procedure cbHTMLTableNumberChange(Sender: TObject);
    procedure sgrHTMLMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure tbtHTMLAutoFillClick(Sender: TObject);
    procedure tbtHTMLClearClick(Sender: TObject);
{$ENDIF}
{$ENDIF}

{$IFDEF XLSX}
{$IFDEF VCL6}
    procedure edXlsxSkipRowsChange(Sender: TObject);
    procedure lvXlsxFieldsChange(Sender: TObject; Item: TListItem;
      Change: TItemChange);
    procedure sgrXlsxDrawCell(Sender: TObject; ACol,
      ARow: Integer; Rect: TRect; State: TGridDrawState);
    procedure sgrXlsxMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure tlbXlsxAutoFillClick(Sender: TObject);
    procedure tlbXlsxClearClick(Sender: TObject);
    procedure pcXlsxFileChange(Sender: TObject);
{$ENDIF}
{$ENDIF}

{$IFDEF DOCX}
{$IFDEF VCL6}
    procedure edDocxSkipRowsChange(Sender: TObject);
    procedure lvDocxFieldsChange(Sender: TObject; Item: TListItem;
      Change: TItemChange);
    procedure sgrDocxDrawCell(Sender: TObject; ACol,
      ARow: Integer; Rect: TRect; State: TGridDrawState);
    procedure sgrDocxMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure tlbDocxAutoFillClick(Sender: TObject);
    procedure tlbDocxClearClick(Sender: TObject);
    procedure pcDocxFileChange(Sender: TObject);
{$ENDIF}
{$ENDIF}

{$IFDEF ODS}
{$IFDEF VCL6}
    procedure edODSSkipRowsChange(Sender: TObject);
    procedure lvODSFieldsChange(Sender: TObject; Item: TListItem;
      Change: TItemChange);
    procedure sgrODSDrawCell(Sender: TObject; ACol,
      ARow: Integer; Rect: TRect; State: TGridDrawState);
    procedure sgrODSMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure tlbODSAutoFillClick(Sender: TObject);
    procedure tlbODSClearClick(Sender: TObject);
    procedure pcODSFileChange(Sender: TObject);
{$ENDIF}
{$ENDIF}

{$IFDEF ODT}
{$IFDEF VCL6}
    procedure edODTSkipRowsChange(Sender: TObject);
    procedure lvODTFieldsChange(Sender: TObject; Item: TListItem;
      Change: TItemChange);
    procedure sgrODTDrawCell(Sender: TObject; ACol,
      ARow: Integer; Rect: TRect; State: TGridDrawState);
    procedure sgrODTMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure tlbODTAutoFillClick(Sender: TObject);
    procedure tlbODTClearClick(Sender: TObject);
    procedure pcODTFileChange(Sender: TObject);
    procedure cbODTUseHeaderClick(Sender: TObject);
{$ENDIF}
{$ENDIF}

{$IFDEF XMLDOC}
{$IFDEF VCL6}
    procedure edXMLDocSkipLinesChange(Sender: TObject);
    procedure cbXMLDocColNumberChange(Sender: TObject);
    procedure sgrXMLDocDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure sgrXMLDocMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure lvXMLDocFieldsChange(Sender: TObject; Item: TListItem;
      Change: TItemChange);
    procedure tbtXMLDocAutoFillClick(Sender: TObject);
    procedure tbtXMLDocClearClick(Sender: TObject);
    procedure bXMLDocFillGridClick(Sender: TObject);
    procedure bXMLDocBuildTreeClick(Sender: TObject);
    procedure bXMLDocGetXPathClick(Sender: TObject);
{$ENDIF}
{$ENDIF}

    procedure SetImportType(const Value: TAllowedImport);
    procedure SetCaptions;
    procedure TuneVisible;
    procedure TuneOpenDialog;
    procedure ChangeExtension;
{$IFDEF ADO}
    procedure TuneAccessControls;
{$ENDIF}

    procedure TuneCSVControls;
    procedure SetFileName(const Value: qiString);
    procedure SetGoToLastPage(Value: boolean);
    procedure SetAutoSaveTemplate(Value: boolean);

    procedure FillCombosAndLists;
    procedure FillKeyColumns(Strings: TStrings);
    procedure MoveToSelected(Source, Destination: TListView;
      All: boolean; Index: Integer);

    function GetWizard: TQImport3Wizard;
    function GetTemplateFileName: qiString;
    function GetAutoLoadTemplate: boolean;
    function GetImportDestination: TQImportDestination;
    function GetGridCaptionRow: Integer;
    function GetGridStartRow: Integer;
    function GetKeyColumns: TStrings;

    procedure SetComma(const Value: AnsiChar);
    procedure SetQuote(const Value: AnsiChar);
    procedure SetStep(const Value: Integer);
    procedure ShowTip(Parent: TWinControl; Left, Top, Height, Width: Integer;
      const Tip: qiString);

    function AllowedImportFileType(const AFileName: qiString): Boolean;
    function ImportTypeEquivFileType(const AFileName: qiString): Boolean;
    function ImportTypeStr(AImportType: TAllowedImport): string;
    procedure CheckExtension(var Ext: qiString);

    //---- DBF page's methods
    procedure DBFFillList;
    procedure DBFClearList;
    procedure DBFFillTableList;
    procedure DBFClearTableList;
    procedure DBFTune;
    function DBFReady: boolean;

{$IFDEF HTML}
{$IFDEF VCL6}
    //---- HTML page's methods
    procedure HTMLTune;
    procedure HTMLFillList;
    procedure HTMLClearList;
    procedure HTMLFillGrid;
    procedure HTMLFillComboColumn;
    function HTMLReady: boolean;
    function HTMLCol: Integer;
{$ENDIF}
{$ENDIF}

{$IFDEF XLSX}
{$IFDEF VCL6}
    //---- Xlsx page's methods
    procedure XlsxTune;
    procedure XlsxFillList;
    procedure XlsxClearList;
    procedure XlsxFillGrid;
    procedure XlsxClearAll;
    function XlsxReady: boolean;
    function XlsxCol: Integer;
{$ENDIF}
{$ENDIF}

{$IFDEF DOCX}
{$IFDEF VCL6}
    //---- Docx page's methods
    procedure DocxTune;
    procedure DocxFillList;
    procedure DocxClearList;
    procedure DocxFillGrid;
    procedure DocxClearAll;
    function DocxReady: boolean;
    function DocxCol: Integer;
{$ENDIF}
{$ENDIF}

{$IFDEF ODS}
{$IFDEF VCL6}
    //---- ODS page's methods
    procedure ODSTune;
    procedure ODSFillList;
    procedure ODSClearList;
    procedure ODSFillGrid;
    procedure ODSClearAll;
    function ODSReady: boolean;
    function ODSCol: Integer;
{$ENDIF}
{$ENDIF}

{$IFDEF ODT}
{$IFDEF VCL6}
    //---- ODT page's methods
    procedure ODTTune;
    procedure ODTFillList;
    procedure ODTClearList;
    procedure ODTFillGrid;
    procedure ODTClearAll;
    function ODTReady: boolean;
    function ODTCol: Integer;
{$ENDIF}
{$ENDIF}

    //---- XML page's methods
    procedure XMLFillList;
    procedure XMLClearList;
    procedure XMLFillTableList;
    procedure XMLClearTableList;
    procedure XMLTune;
    function XMLReady: boolean;

{$IFDEF XMLDOC}
{$IFDEF VCL6}
    //---- XMLDoc page's methods
    procedure XMLDocTune;
    procedure XMLDocLoadFile;
    procedure XMLDocFillList;
    procedure XMLDocClearList;
    procedure XMLDocFillGrid;
    procedure XMLDocClearGrid;
    procedure XMLDocFillComboColumn;
    function XMLDocReady: boolean;
    function XMLDocCol: Integer;
    function GetXPath: qiString;
{$ENDIF}
{$ENDIF}

    //---- TXT page's methods
    procedure TXTFillCombo;
    procedure TXTClearCombo;
    procedure TXTTune;
    function TXTReady: boolean;
    procedure TXTExtractPosSize(const S: string; var Position, Size: Integer);
    procedure TXTViewerChangeSelection(Sender: TObject);
    procedure TXTViewerDeleteArrow(Sender: TObject; Position: Integer);
    procedure TXTViewerMoveArrow(Sender: TObject; OldPos, NewPos: Integer);
    procedure TXTViewerIntersectArrows(Sender: TObject; Position: Integer);

    //---- CSV page's methods
    procedure CSVFillCombo;
    procedure CSVClearCombo;
    procedure CSVTune;
    function CSVReady: boolean;
    function CSVCol: Integer;
    procedure CSVFillGrid;

    //---- XLS page's methods
    procedure XLSFillFieldList;
    procedure XLSClearFieldList;
    procedure XLSClearDataSheets;
    procedure XLSFillGrid;
    procedure XLSDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect;
      State: TGridDrawState);
    procedure XLSMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure XLSSelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    procedure XLSGridExit(Sender: TObject);
    procedure XLSGridKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure XLSGridClick(Sender: TObject);

    procedure XLSStartEditing;
    procedure XLSFinishEditing;
    procedure XLSApplyEditing;
    procedure XLSDeleteSelectedRanges;

    function XLSGetCurrentGrid: TqiStringGrid;
    procedure XLSRepaintCurrentGrid;
    procedure XLSFillSelection;

    procedure XLSTune;
    function  XLSReady: boolean;

{$IFDEF ADO}
    //---- Access page's methods
    procedure SetAccessPassword(const Value: string);
    procedure SetAccessSourceType(const Value: TQImportAccessSourceType);
    procedure AccessTune_01;
    procedure AccessTune_02;
    procedure AccessGetTableNames;
    procedure AccessFillList;
    procedure AccessGetFieldNames;
    procedure AccessClearList;
    function AccessReady: boolean;
{$ENDIF}

    //---- Formats
    procedure FormatsFillList;
    procedure FormatsClearList;

⌨️ 快捷键说明

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