我要取到一个变量的长度,如ISO 5603:1986; BISFA(95),我要取到‘:’符号后字符的长度,怎么取?
  我先用intc:=pos(':',s);取到':'的位子,再用copy取到‘:’后的字符串,再用length(temp_intc)就可以了,用temp_intc:=copy(s,intc+1);这是不对的,怎样可以用copy取到':'后的字符串,或是有更好的办法,谢谢!

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      ss: String;
      intc: Integer;
      intResult: Integer;
    begin
      ss := 'ISO 5603:1986; BISFA(95),';
      intc:=pos(':',ss);
      ss := Copy(ss, intc, length(ss));
      intResult := Length(ss);
    end;intResult即为':'后字符的长度^^
      

  2.   

    i:integer;
    ilength:integer;
    for i:=1 to length('ISO 5603:1986; BISFA(95),') do
     begin
     if (midstr(i,1)=':') then
        begin
       ilength:=length('ISO 5603:1986; BISFA(95),')-i;
        end;
     end;