【问题标题】:Delphi Listbox+CheckListboxDelphi列表框+检查列表框
【发布时间】:2012-10-30 08:34:27
【问题描述】:

我正在开发一个 mp3 发送程序。我正在使用一个列表框来显示一个简单的 mp3 文件名列表(1.mp3、2.mp3、3.mp3 等)和一个连接(ip adress1、ip adress2)所在的复选框。我想知道如何将带有复选框选中项目的列表框项目保存为(链接)?例如,如果我想将 1.mp3 发送到 ipadress1 和 ipadress2,那么 2.mp3、3.mp3 仅用于 ipadress2 等。)我想使用“文件发送”按钮将其保存到一些 txt 文件.有什么想法吗?谢谢你的答案!

procedure TForm1.ListBox1Click(Sender: TObject);
 var
Item : TStringList;
I: Integer;
begin
 if ListBox1.ItemIndex = -1 then
  Exit ;
 if Assigned(ListBox1.Items.Objects[ListBox1.ItemIndex]) then
  Item := ListBox1.Items.Objects[ListBox1.ItemIndex] as TStringList
 else
 begin
   Item := TStringList.Create ;
   ListBox1.Items.Objects[ListBox1.ItemIndex] := Item;
 end ;
for I := 0 to CheckListBox1.Items.Count - 1 do
 CheckListBox1.Checked[I] := False; 
for I := 0 to Item.Count - 1 do
CheckListBox1.Checked[CheckListBox1.Items.IndexOf(Item[I])] := True; 
end;

procedure TForm1.CheckListBox1ClickCheck(Sender: TObject);
var
Item : TStringList;
I    : Integer;
begin
if ListBox1.ItemIndex = -1 then
begin
  ShowMessage('Select the mp3 first!');
  Exit ;
  end ;
 if Assigned(ListBox1.Items.Objects[ListBox1.ItemIndex]) then
 Item := ListBox1.Items.Objects[ListBox1.ItemIndex] as TStringList
 else
 begin
  Item := TStringList.Create;
  ListBox1.Items.Objects[ListBox1.ItemIndex] := Item;
end;
Item.Clear;
 for I := 0 to CheckListBox1.Items.Count - 1 do
 if CheckListBox1.Checked[I] then
  Item.Add(CheckListBox1.Items[I]);
end;

【问题讨论】:

  • 如果您需要我们的帮助,请将您的代码示例格式化为可读性。
  • 也许您可以将两个框合并到同一个 TreeView 中,然后将其保存/恢复到 XML 或 JSON 之类的树中

标签: delphi delphi-5


【解决方案1】:

如果您有一些附加选项,您可以使用 xml 文件。 您可以根据需要添加任意数量的属性。

<Body>
  <F1.mp3 ipaddress1="True" ipaddress2="False"/>
  <F2.mp3 ipaddress1="False" ipaddress2="True"/>
</Body>

【讨论】:

  • 我知道但我想知道按钮点击事件。如何将 mp3 文件名及其包含的 IP 地址添加到文本文件中? 1 个文件和它们的地址到 1.txt,第 2 个文件和它们选择的地址到 2nd.txt 等等
【解决方案2】:

你可以把它保存到ini文件。我认为它符合您的要求。

使用 mp3 文件名作为部分名称,ip 作为名称=值对

[1.mp3]
ip1=1
ip2=1

[2.mp3]
ip2=1
ip4=1

【讨论】:

  • 我想使用这些保存的文本(带有连接 ip 的名称)在另一个文件之后加载
  • @steve88 因此,您可以将 ini-file 部分从旧文件复制到新文件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-04
  • 2017-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多