在一个Edit中输入一个字符串,怎样才能在以后的程序中把这个字符串当变量用?

解决方案 »

  1.   

    1, 用TStrings:
    var
      ts:TStrings;
    begin
      //...
      ts[edit.Text]:=aValue;  //edit.text为你输入的字符串, aValue为你要赋的值
    end;
    2,建一个表或者Ini文件将字符串和其值保存起来,使用时查表取得变量名和对应的值
      参考帮助 TIniFile
      

  2.   

    楼上好办法,TStringList提供Key-Value的使用,很有效
      

  3.   

    哈哈,谢谢zhangl_cn(和尚-修行) 我试试看。
      

  4.   

    zhangl_cn(和尚-修行) 我怎么编译通不过呀,老提示我说类型不兼容。
      

  5.   

    该功能类似VF的宏替换功能,
    不过就我的知识,似乎Delphi不能这样做。
    只能通过预设的文本和变量名映射模式来解决这个问题。或者说,用户输入的变量名必须限定为预先设定好的。
      

  6.   

    TStrings的Key和Value必须都为string类型,将你的Value值转成string就行了
      

  7.   

    zhangl_cn(和尚-修行)我是这样编的:
    var
     ts:TStrings;
    begin
      ts[Edit1.Text]:=Edit2.Text;
      ShowMessage(ts[Edit1.Text]+'所对应的值为'+Edit2.Text) ;
    end;
    可是它说ts[Edit1.Text]:=Edit2.Text;这一句imcompatible types 'integer' and 'TCaptain'
    不知道咋回事,大侠你看看,我急着用这方面,能不能给我写个小程序实现一下,谢谢了!
      

  8.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
     ts:TStrings;
    begin
      ts := TStringList.Create;
      ts.Values[Edit1.Text]:=Edit2.Text;
      ShowMessage(ts.Values[Edit1.Text]+'所对应的值为'+Edit2.Text) ;
      ts.free;
    end;
      

  9.   

    zhangl_cn(和尚-修行), chenzhuo(睡到自然醒) 太谢谢你们了,我给你们分的时候,发现我的分不够了,非常抱歉,我会尽快弥补的。另外,你们的qq号能否告诉小弟,我想拜二位为老师,以后好咨询你们,再次感谢你们!
      

  10.   

    zhangl_cn(和尚-修行), 我向你的qq发消息了,快加我,太巧了
    我在保定上学,华电的,有空请你吃饭