0

私は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;
4

2 に答える 2

2

追加のオプションがある場合は、xml ファイルを使用できます。属性は好きなだけ追加できます。

<Body>
  <F1.mp3 ipaddress1="True" ipaddress2="False"/>
  <F2.mp3 ipaddress1="False" ipaddress2="True"/>
</Body>
于 2012-10-30T11:35:26.353 に答える
1

iniファイルに保存できます。あなたの要件に合っていると思います。

mp3 ファイル名をセクション名として使用し、ip を name=value ペアとして使用します

[1.mp3]
ip1=1
ip2=1

[2.mp3]
ip2=1
ip4=1
于 2012-10-30T09:44:30.397 に答える