VAR
  S:STRING;
BEGIN
  S:=‘a6mm’;
  //怎么得到S的实际长度?(像素,CM,或者其他~)
  //CM或者其他与像素之间怎么转换?
END;

解决方案 »

  1.   

    label1.autosize := true;
    label1.caption := 'a6mm';
    label1.width;//这应该是你要的
      

  2.   

    使用api函数,DrawText,使用标志DT_CALCRECT
    返回的单位是像素
      

  3.   

    不是取他的长度,
    LENGTH好象只是取他的字符串的个数~
      

  4.   

    S:=‘A6MM************************************’;
    MAXLEN 与 S的转化~
    SendMessage(COMBOBOX1.Handle,CB_SETDROPPEDWIDTH,MAXLEN,0);
      

  5.   

    function mylength(s:string):integer;
    asm
      mov ecx,[eacx-4];
      mov result,ecx;
    end;
    此程序可以得到字符串s的长度。
    字符串起始地址项下便移4个字节记录了字符串的长度。
      

  6.   

    function mylength(s:string):integer;
    asm
      mov ecx,[eax-4];
      mov result,ecx;
    end;
      

  7.   

    length(S)即可得到字符串长度,还可以得到数组长度。