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

📄 fieldpropfrm.pas

📁 delphi本地数据库引擎
💻 PAS
字号:
unit FieldPropFrm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics,
  Controls, Forms, Dialogs, StdCtrls, ComCtrls,
  ImgList, Db, TinyDB, ExtCtrls, BaseFrm;

type
  TFieldPropFormData = record
    TableName: string;
    CurFieldName: string;
  end;

  TFieldPropForm = class(TBaseForm)
    ImageList: TImageList;
    TinyTable: TTinyTable;
    BottomPanel: TPanel;
    OkButton: TButton;
    Panel2: TPanel;
    FieldListView: TListView;
    procedure BottomPanelResize(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure TransLanguage; override;
    procedure SetData(Value: TFieldPropFormData);
  end;

var
  FieldPropForm: TFieldPropForm;

procedure ShowFieldPropForm(Value: TFieldPropFormData);

implementation

uses MainFrm, LangMgr;

{$R *.DFM}

procedure ShowFieldPropForm(Value: TFieldPropFormData);
var
  Frm: TFieldPropForm;
begin
  Frm := TFieldPropForm.Create(Application);
  Frm.SetData(Value);
  Frm.ShowModal;
  Frm.Free;
end;

procedure TFieldPropForm.TransLanguage;
begin
  inherited;
  FieldListView.Columns[0].Caption := AppLangMgr.Trans('NO.');
  FieldListView.Columns[1].Caption := AppLangMgr.Trans('Field Name');
  FieldListView.Columns[2].Caption := AppLangMgr.Trans('Field Type');
  FieldListView.Columns[3].Caption := AppLangMgr.Trans('Field Size');
  FieldListView.Columns[4].Caption := AppLangMgr.Trans('Data Processing');
  FieldListView.Columns[5].Caption := AppLangMgr.Trans('Note');
end;

procedure TFieldPropForm.SetData(Value: TFieldPropFormData);
var
  DPModeStr: array[TFieldDataProcessMode] of string;
  ListItem: TListItem;
  I: Integer;
begin
  DPModeStr[fdDefault] := AppLangMgr.Trans('fdDefault');
  DPModeStr[fdOriginal] := AppLangMgr.Trans('fdOriginal');

  TinyTable.DatabaseName := MainForm.TinyDatabase.DatabaseName;
  TinyTable.TableName := Value.TableName;
  TinyTable.Open;
  for I := 0 to TinyTable.Fields.Count - 1 do
  begin
    ListItem := FieldListView.Items.Add;
    ListItem.Caption := IntToStr(I);
    ListItem.SubItems.Add(TinyTable.TableIO.FieldDefs[I].Name);
    ListItem.SubItems.Add(MainForm.GetFieldStrByType(TinyTable.TableIO.FieldDefs[I].FieldType));
    ListItem.SubItems.Add(IntToStr(TinyTable.TableIO.FieldDefs[I].FieldSize));
    ListItem.SubItems.Add(DPModeStr[TinyTable.TableIO.FieldDefs[I].DPMode]);
    ListItem.SubItems.Add(MainForm.GetFieldCommentsByType(TinyTable.TableIO.FieldDefs[I].FieldType));
    ListItem.ImageIndex := 0;
    if CompareText(Value.CurFieldName, TinyTable.TableIO.FieldDefs[I].Name) = 0 then
    begin
      ListItem.Selected := True;
      ListItem.MakeVisible(True);
    end;
  end;
  TinyTable.Close;
end;

procedure TFieldPropForm.BottomPanelResize(Sender: TObject);
begin
  OkButton.Left := BottomPanel.Width - OkButton.Width - 8;
end;

end.

⌨️ 快捷键说明

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