首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

listbox的有关问题

2012-03-05 
listbox的问题两个listbox1,listbox2.listbox1中有内容12345listbox2中有内容52431我想将listbox2中和box1

listbox的问题
两个listbox1,listbox2.
listbox1中有   内容   1   2   3   4   5  
listbox2中有   内容   5   2   4   3   1  
我想将listbox2中和box1中相同内容的在box1中的索引项写入无类型文件,老是抱错!写入INI却一切正常,请高人指点。
INI的如下:
var
  i:integer;
  begin
            ini:=Tinifile.Create( 'c:\test.ini ');
            for       i:=0       to       ListBox2.Items.Count-1       do
            if   listbox1.Items.IndexOf(listbox2.Items.Strings[i]) <>   -1   then
            begin
                  ini.WriteString( 'test ',inttostr(listbox1.Items.IndexOf   (listbox2.Items.Strings[i]))   ,ListBox2.Items.Strings[i]);
            end;
            ini.Free;
    end;
无类型文件的如下:
var       i,j:integer;
f:file;
begin
    assignfile(f, 'c:\test.dat ');
    rewrite(f,1);
    try
        for       i:=0       to       ListBox2.Items.Count-1       do
    if   listbox1.Items.IndexOf(listbox2.Items.Strings[i]) <>   -1   then
    blockwrite(f,listbox1.Items.IndexOf(listbox2.Items.Strings[i]),sizeof(i));
          finally
          closefile(f);
        end;
  end;
就是这句listbox1.Items.IndexOf(listbox2.Items.Strings[i])问题,如果这样写
  j:=listbox1.Items.IndexOf(listbox2.Items.Strings[i]);
blockwrite(f,j,sizeof(i));   编译正常,却只能得到最后一个值。??????



[解决办法]
var i,j:integer;
f:file;
begin
assignfile(f, 'c:\test.dat ');
rewrite(f,1);
try
for i:=0 to ListBox2.Items.Count-1 do
if listbox1.Items.IndexOf(listbox2.Items.Strings[i]) <> -1 then
begin
j:=listbox1.Items.IndexOf(listbox2.Items.Strings[i]);
blockwrite(f,j,sizeof(i));
end;
finally
closefile(f);
end;
end;

热点排行