lang.pas

来自「Delphi多语言界面设置控件」· PAS 代码 · 共 606 行 · 第 1/2 页

PAS
606
字号
  begin
    T1.Clear;
    for I := 0 to SelfControl.Panels.Count - 1 do
      T1.Add(SelfControl.Panels.Items[I].Text);
    WriteInI(PageLayout, mTag, T1.CommaText);
  end
  else
  begin
    T1.Clear;
    T1.CommaText := TCaption;
    for I := 0 to SelfControl.Panels.Count - 1 do
      SelfControl.Panels.Items[I].Text := T1.Strings[I];
  end;
  T1.Free;
  SelfControl.Font.Name := FFontName;
  SelfControl.Font.Size := FFontSize;
end;

procedure TLang.SetCaption(SelfControl: TTabControl);
var
  mTag, TCaption: string;
begin
  mTag := GetNum(SelfControl.Tag);
  TCaption := ReadInI(PageLayout, mTag, '');
  if TCaption = '' then WriteInI(PageLayout, mTag, SelfControl.Tabs.CommaText) else SelfControl.Tabs.CommaText := TCaption;
  SelfControl.Font.Name := FFontName;
  SelfControl.Font.Size := FFontSize;
end;

procedure TLang.SetCaption(SelfControl: TPageControl);
var
  mTag, TCaption: string;
  T1: TStrings;
  I: Integer;
begin
  mTag := GetNum(SelfControl.Tag);
  TCaption := ReadInI(PageLayout, mTag, '');
  T1 := TStringlist.Create;
  if TCaption = '' then
  begin
    T1.Clear;
    for I := 0 to SelfControl.PageCount - 1 do
      T1.Add(SelfControl.Pages[I].Caption);
    WriteInI(PageLayout, mTag, T1.CommaText);
  end
  else
  begin
    T1.Clear;
    T1.CommaText := TCaption;
    for I := 0 to SelfControl.PageCount - 1 do
      SelfControl.Pages[I].Caption := T1.Strings[I];
  end;
  T1.Free;
  SelfControl.Font.Name := FFontName;
  SelfControl.Font.Size := FFontSize;
end;

procedure TLang.SetCaption(SelfControl: THeaderControl);
var
  mTag, TCaption: string;
  T1: TStrings;
  I: Integer;
begin
  mTag := GetNum(SelfControl.Tag);
  TCaption := ReadInI(PageLayout, mTag, '');
  T1 := TStringlist.Create;
  if TCaption = '' then
  begin
    T1.Clear;
    for I := 0 to SelfControl.Sections.Count - 1 do
      T1.Add(SelfControl.Sections[I].Text);
    WriteInI(PageLayout, mTag, T1.CommaText);
  end
  else
  begin
    T1.Clear;
    T1.CommaText := TCaption;
    for I := 0 to SelfControl.Sections.Count - 1 do
      SelfControl.Sections[I].Text := T1.Strings[I];
  end;
  T1.Free;
  SelfControl.Font.Name := FFontName;
  SelfControl.Font.Size := FFontSize;
end;

procedure TLang.SetCaption(SelfControl: TToolBar);
var
  mTag, TCaption: string;
  T1: TStrings;
  I: Integer;
begin
  mTag := GetNum(SelfControl.Tag);
  TCaption := ReadInI(PageLayout, mTag, '');
  T1 := TStringlist.Create;
  if TCaption = '' then
  begin
    T1.Clear;
    for I := 0 to SelfControl.ButtonCount - 1 do
      T1.Add(SelfControl.Buttons[I].Caption);
    WriteInI(PageLayout, mTag, T1.CommaText);
  end
  else
  begin
    T1.Clear;
    T1.CommaText := TCaption;
    for I := 0 to SelfControl.ButtonCount - 1 do
      SelfControl.Buttons[I].Caption := T1.Strings[I];
  end;
  T1.Free;
  SelfControl.Font.Name := FFontName;
  SelfControl.Font.Size := FFontSize;
end;

procedure TLang.SetCaption(SelfControl: TADOConnection);
var
  mTag, TCaption: string;
begin
  mTag := GetNum(SelfControl.Tag);
  TCaption := ReadInI(PageLayout, mTag, '');
  if TCaption = '' then WriteInI(PageLayout, mTag, SelfControl.ConnectionString) else SelfControl.ConnectionString := TCaption;
end;

procedure TLang.SetCaption(SelfControl: TADOCommand);
var
  mTag, TCaption: string;
begin
  mTag := GetNum(SelfControl.Tag);
  TCaption := ReadInI(PageLayout, mTag, '');
  if TCaption = '' then WriteInI(PageLayout, mTag, SelfControl.CommandText) else SelfControl.CommandText := TCaption;
end;

procedure TLang.SetCaption(SelfControl: TADODataSet);
var
  mTag, TCaption: string;
  T1: TStrings;
  I: Integer;
begin
  mTag := GetNum(SelfControl.Tag);
  TCaption := ReadInI(PageLayout, mTag, '');
  if TCaption = '' then WriteInI(PageLayout, mTag, SelfControl.CommandText) else SelfControl.CommandText := TCaption;
  TCaption := ReadInI(PageLayout, mTag + '_Fields', '');
  T1 := TStringlist.Create;
  if TCaption = '' then
  begin
    T1.Clear;
    for I := 0 to SelfControl.FieldCount - 1 do
      T1.Add(SelfControl.Fields[I].DisplayLabel);
    WriteInI(PageLayout, mTag + '_Fields', T1.CommaText);
  end
  else
  begin
    T1.Clear;
    T1.CommaText := TCaption;
    for I := 0 to SelfControl.FieldCount - 1 do
      SelfControl.Fields[I].DisplayLabel := T1.Strings[I];
  end;
  T1.Free;
end;

procedure TLang.SetCaption(SelfControl: TADOQuery);
var
  mTag, TCaption: string;
  T1: TStrings;
  I: Integer;
begin
  mTag := GetNum(SelfControl.Tag);
  TCaption := ReadInI(PageLayout, mTag, '');
  if TCaption = '' then WriteInI(PageLayout, mTag, SelfControl.SQL.CommaText) else SelfControl.SQL.CommaText := TCaption;
  TCaption := ReadInI(PageLayout, mTag + '_Fields', '');
  T1 := TStringlist.Create;
  if TCaption = '' then
  begin
    T1.Clear;
    for I := 0 to SelfControl.FieldCount - 1 do
      T1.Add(SelfControl.Fields[I].DisplayLabel);
    WriteInI(PageLayout, mTag + '_Fields', T1.CommaText);
  end
  else
  begin
    T1.Clear;
    T1.CommaText := TCaption;
    for I := 0 to SelfControl.FieldCount - 1 do
      SelfControl.Fields[I].DisplayLabel := T1.Strings[I];
  end;
  T1.Free;
end;

procedure TLang.SetCaption(SelfControl: TADOTable);
var
  mTag, TCaption: string;
  T1: TStrings;
  I: Integer;
begin
  mTag := GetNum(SelfControl.Tag);
  TCaption := ReadInI(PageLayout, mTag, '');
  if TCaption = '' then WriteInI(PageLayout, mTag, SelfControl.TableName) else SelfControl.TableName := TCaption;
  TCaption := ReadInI(PageLayout, mTag + '_Fields', '');
  T1 := TStringlist.Create;
  if TCaption = '' then
  begin
    T1.Clear;
    for I := 0 to SelfControl.FieldCount - 1 do
      T1.Add(SelfControl.Fields[I].DisplayLabel);
    WriteInI(PageLayout, mTag + '_Fields', T1.CommaText);
  end
  else
  begin
    T1.Clear;
    T1.CommaText := TCaption;
    for I := 0 to SelfControl.FieldCount - 1 do
      SelfControl.Fields[I].DisplayLabel := T1.Strings[I];
  end;
  T1.Free;
end;

procedure TLang.SetCaption(SelfControl: TDBGrid);
var
  mTag, TCaption: string;
  T1: TStrings;
  I: Integer;
begin
  mTag := GetNum(SelfControl.Tag);
  TCaption := ReadInI(PageLayout, mTag + '_Fields', '');
  T1 := TStringlist.Create;
  if TCaption = '' then
  begin
    T1.Clear;
    for I := 0 to SelfControl.Columns.Count - 1 do
      T1.Add(SelfControl.Columns[I].Title.Caption);
    WriteInI(PageLayout, mTag + '_Fields', T1.CommaText);
  end
  else
  begin
    T1.Clear;
    T1.CommaText := TCaption;
    for I := 0 to SelfControl.Columns.Count - 1 do
      SelfControl.Columns[I].Title.Caption := T1.Strings[I];
  end;
  T1.Free;
  SelfControl.Font.Name := FFontName;
  SelfControl.Font.Size := FFontSize;
end;

procedure TLang.SetCaption(SelfControl: TMainMenu);
var
  mTag, TCaption: string;
  T1: TStrings;
  I: Integer;
begin
  mTag := GetNum(SelfControl.Tag);
  TCaption := ReadInI(PageLayout, mTag, '');
  T1 := TStringlist.Create;
  if TCaption = '' then
  begin
    T1.Clear;
    for I := 0 to SelfControl.Items.Count - 1 do
      T1.Add(SelfControl.Items[I].Caption);
    WriteInI(PageLayout, mTag, T1.CommaText);
  end
  else
  begin
    T1.Clear;
    T1.CommaText := TCaption;
    for I := 0 to SelfControl.Items.Count - 1 do
    begin
      SelfControl.Items[I].Caption := T1.Strings[I];
    end;
  end;
  T1.Free;
end;

procedure TLang.SetCaption(SelfControl: TMenuItem);
var
  mTag, TCaption: string;
  T1: TStrings;
  I: Integer;
begin
  if SelfControl.Count < 1 then exit;
  mTag := GetNum(SelfControl.Tag);
  TCaption := ReadInI(PageLayout, mTag, '');
  T1 := TStringlist.Create;
  if TCaption = '' then
  begin
    T1.Clear;
    for I := 0 to SelfControl.Count - 1 do
      T1.Add(SelfControl.Items[I].Caption);
    WriteInI(PageLayout, mTag, T1.CommaText);
  end
  else
  begin
    T1.Clear;
    T1.CommaText := TCaption;
    for I := 0 to SelfControl.Count - 1 do
    begin
      SelfControl.Items[I].Caption := T1.Strings[I];
    end;
  end;
  T1.Free;
end;

end.

⌨️ 快捷键说明

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