当前位置:编程学习 > Delphi >>

Delphi问题,是不是要用Tlist?

Code:A1、A2、B1、B2、A1、A2、A1, Name:L01,L02,L03,L04,L05,L06,L07, 如果CODE是唯一的,执行第一步:将Code(如:B1)抛到listBox中,自动回车,随后执行第二步:将对应的Name(L03)值抛到listBox。 如果Code不唯一,比如有三个A1,那第一步仍然将code(A1)抛到ListBox中,第二步:将对应的Name值:L01,L03,L05,L07,用逗号连起来再抛到ListBox中。以此类推,有两个B2等等,是一个循环,如何用delphi实现,请各位大侠帮忙,非常感谢啊!
追问:非常感谢你的答案,我是新手,还有一个问题想请教一下,就是Code和Name都是从一个文本文档中读进来的,上例中只是我举个例子用的"A1,A2....",文本文档中的格式是:A1,L01,A2,L02,A1,L03,B1,L04,B2,L05,C1,L04,这里的A,B,C都是Code,L..都是Name,怎么样读进来完成上面的提问。不知道我说明白了没有,非常感谢!
答案:我想你的意思是这样的吧  先选择CODE的值 之后将与CODE对应的NAME数组中的值列出来,CODE不一定唯一,选择一个元素则默认选择所有与这个相同的元素。
------------------------------------------------------------------
在选好CODE之后  加事件
var
  aList: TStringList;
  bList: TStringList;
  vStr, aStr: String;
begin
  aList := TStringList.Create;
  bList := TStringList.Create;

  aList.Delimiter := ',';
  bList.Delimiter := ',';
  aList.DelimitedText := 'A1,A2,B1,B2,A1,A2,A1';   //给你把、改成,了
  bList.DelimitedText := 'L01,L02,L03,L04,L05,L06,L07';
  vStr := '';
  aStr := 'A1';         ////aStr 为你选择的CODE值
  for I := 0 to aList.Count-1 do
  begin
    if aList.Strings[I]=astr then         //aStr 为你选择的CODE值
    begin
      if vStr <>'' then vstr := vStr+','; //vStr为返回值
      vStr := vStr+bList.strings[I];
    end;
  end;
  ShowMessage(vStr);

上一个:delphi 如何将下列SQL语句的执行结果赋值给变量?
下一个:Delphi编写是怎么回事啊?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,