创建一个新项目。 我将一个ComboBox插入到项目中 和1个编辑框进入项目。 然后我在组合框中的menambhkan字符串项目 项目列表
server 1 au
server 2 uk
server 3 my
在组合框中制作一个字符串后,在组合框中形成一个列表。 我想要的只是在字符串中添加配置。 就像我在编辑框中选择 server 1 au 一样,组合框将服务器地址显示为 ns.au.server.com
ns.au.server.com 服务器地址 - > 字符串到服务器1 au
combobox1 - >选择 string item-> 服务器1 au
editbox1 然后显示地址 ns.au.server.com
答案 0 :(得分:1)
一种方法是定义一个类,其中包含服务器的名称和配置字符串,如下所示: -
Type
TServer = Class
Private
FName : String;
FConfig : String;
Public
Property Name : String Read FName Write FName;
Property Config : String Read FConfig Write FConfig;
End;
然后,您可以创建对象的实例,并使用Item's
AddObject
方法将它们添加到您的组合框中,如下所示: -
Var
lItem : TServer;
Begin
lItem := TServer.Create;
lItem.Name := 'Server 1 AU';
lItem.Config := 'ns.au.server.com';
ComboBox1.Items.AddObject(lItem.Name, lItem);
// Add more as required.
End;
然后在你的Combobox的OnChange
事件中你可以写: -
Var
lIndex : Integer;
Begin
lIndex := ComboBox1.ItemIndex;
If (lIndex <> -1) Then
Edit1.Text := TServer(ComboBox1.Items.Objects[lIndex]).Config;
End;
答案 1 :(得分:0)
使用TStrings Name-Value对可以获得您要求的功能。
type
TFormMain = class(TForm)
ComboBox1: TComboBox;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
private
public
FServerConfig : TStrings;
end;
var
FormMain: TFormMain;
implementation
{$R *.dfm}
procedure TFormMain.FormCreate(Sender: TObject);
var i : integer;
begin
FServerConfig := TStringList.Create;
//Add Name = Value pairs
FServerConfig.Append('Server 1 AU=ns.au.server.com');
FServerConfig.Append('Server 2 UK=ns.uk.server.com');
FServerConfig.Append('Server 3 MY=ns.my.server.com');
for i := 0 to FServerConfig.Count - 1 do
ComboBox1.Items.Append(FServerConfig. Names[i]);
end;
procedure TFormMain.ComboBox1Change(Sender: TObject);
begin
Edit1.Text := FServerConfig.Values[ComboBox1.Text];
end;