tblopen.pas

来自「How to restruct paradox DB when you enco」· PAS 代码 · 共 73 行

PAS
73
字号
unit tblopen;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, FileCtrl, DB, BDE, DBTables;

type
  TTableOpenDlg = class(TForm)
    DirLb: TDirectoryListBox;
    DrvCb: TDriveComboBox;
    FileLb: TFileListBox;
    Label1: TLabel;
    Label2: TLabel;
    AliasCb: TComboBox;
    procedure DirLbChange(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FileLbDblClick(Sender: TObject);
    procedure AliasCbChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  TableOpenDlg: TTableOpenDlg;

implementation

{$R *.DFM}

procedure TTableOpenDlg.DirLbChange(Sender: TObject);
begin
  FileLb.Directory := DirLb.Directory;
end;

procedure TTableOpenDlg.FormShow(Sender: TObject);
begin
//  ModalResult := mrCancel;
  session.GetAliasNames(AliasCb.Items);
end;

procedure TTableOpenDlg.FileLbDblClick(Sender: TObject);
begin
  ModalResult := mrOk;
end;

procedure TTableOpenDlg.AliasCbChange(Sender: TObject);
var
  Desc: DBDesc;
  Directory, FileName: string;
  Drive: char;

begin
  Check(DbiGetDatabaseDesc(PChar(AliasCb.Text), @Desc));
  if StrComp(Desc.szDbType, 'STANDARD') <> 0 then
    ShowMessage('Alias must be of STANDARD type')
  else
  begin
    FileName := Desc.szPhyName;
    Drive := FileName[1];
    Directory := ExtractFilePath(FileName);

    DrvCb.Drive := Drive;
    DirLb.Directory := Directory;
    FileLb.FileName := FileName;
  end;
end;

end.

⌨️ 快捷键说明

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