本人想在ComboBox控件里取里面的数字,例如,里面是'10101 现金',本人只取里面的数字10101,而不要里面的汉字。本人用这段语句edit.Text:= pos('0-9',(ComboBox.Text)),但是不成功,请教各位,如何将ComboBox.Text里面的数字取出来,放入edit.Text里。

解决方案 »

  1.   

    copy(combobox1.Text,1,pos(' ',combobox1.text))
      

  2.   

    读取 text 的值,检查每一位是不是0到9,如果是则保存,遇到不是的则循环结束。
      

  3.   

    to 楼主:
        注意,我在一楼的回答里,是根据你的combobox.items设置的特点(数字与汉字之间有一个空格)来进行判断的.如果你没有用空格,可以加上,既美观,又可做为标志子串.
    edit.text:=copy(combobox1.Text,1,pos('这里是一个空格',combobox1.text));
      

  4.   

    如果楼主的汉字位置不固定,那么可以通过判断ASC码来判断,读取ASC码小于128的部分,如果是只要0-9部分,那么还需要限定。
       最后就是楼上的copy函数
      

  5.   

    可用个循环来判断
     var i:integer;
         j:string;
    for i:=0 to length(combobox1.text) do 
    begin
      if ord(copy(combobox1.text,i,1)) in [ord('0')..ord('9')] then
         j:=j+copy(combobox1.text,i,1)
      else
         continue;
    end;
    edit1.text:=j;
    麻烦点,不过不管你combobox中有没有用逗号或是空格来分隔字符串,都可以读到所有的字符串,不过最好没有这种情况出现:'10101 现金23'  要不然得到的结果会是  1010123
    呵,不懂有没有写错俄~~