请问在delphi中,listbox2中项的排序如何和listbox1中相同?
比如ListBox1的item是金砖银砖钢砖土砖ListBox2中的item是钢砖金砖土砖银砖如何让Listbox2中的排列顺序和Listbox1是一样的,最好能提供一下...
比如 ListBox1的item是
金砖
银砖
钢砖
土砖
ListBox2中的item是
钢砖
金砖
土砖
银砖
如何让Listbox2中的排列顺序和Listbox1是一样的,最好能提供一下算法,Listbox2是动态的,不是说只有4项,谢谢各位,给各位拜年了 展开
金砖
银砖
钢砖
土砖
ListBox2中的item是
钢砖
金砖
土砖
银砖
如何让Listbox2中的排列顺序和Listbox1是一样的,最好能提供一下算法,Listbox2是动态的,不是说只有4项,谢谢各位,给各位拜年了 展开
4个回答
展开全部
如果楼主不需要其他功能,只是要求两个Listbox内容相同的话,直接赋值就好了,何必要用算法?
ListBox2.Items.Clear;
ListBox2.Items.Assign(ListBox1.Items);
如果是有条件的判断,可以先将Listbox2中的内容保存到TStringList中,清空Listbox2;再条件比较追加:
var
sList: TStringList;
i, j: integer;
begin
sList := TStringList.Create;
sList.Assign(ListBox1.Items);
ListBox1.Items.Clear;//我的例子Listbox1,ListBox2的调换了。
for i := 0 to ListBox2.Count -1 do
for j := 0 to sList.Count - 1 do
if ListBox2.Items[i] = Copy(sList[j], 1, 1) then//我自己测试使用的判断条件
ListBox1.Items.Add(sList[j]);
sList.Free;
ListBox2.Items.Clear;
ListBox2.Items.Assign(ListBox1.Items);
如果是有条件的判断,可以先将Listbox2中的内容保存到TStringList中,清空Listbox2;再条件比较追加:
var
sList: TStringList;
i, j: integer;
begin
sList := TStringList.Create;
sList.Assign(ListBox1.Items);
ListBox1.Items.Clear;//我的例子Listbox1,ListBox2的调换了。
for i := 0 to ListBox2.Count -1 do
for j := 0 to sList.Count - 1 do
if ListBox2.Items[i] = Copy(sList[j], 1, 1) then//我自己测试使用的判断条件
ListBox1.Items.Add(sList[j]);
sList.Free;
展开全部
告诉你一个最简单的方法
lst1.Items.SaveToFile('items.txt');//把这个表中的数据保存为文本
lst2.Items.LoadFromFile('items.txt');//这个表中的数据是读取自那个保存的文本
这样就不用算了
lst1.Items.SaveToFile('items.txt');//把这个表中的数据保存为文本
lst2.Items.LoadFromFile('items.txt');//这个表中的数据是读取自那个保存的文本
这样就不用算了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
算法:
1,清空listbox1
2,根据listbox2的内容添加listbox1的item
算法执行时机:
3,在listbox2的onchange事件中,执行1,2两步写成的函数。
1,清空listbox1
2,根据listbox2的内容添加listbox1的item
算法执行时机:
3,在listbox2的onchange事件中,执行1,2两步写成的函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上说得对,仅仅是一摸一样的话,直接复制好了。何必搞算法和排序呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询