有一个ini文件,内容如下,我在DELPHI代码,如何取读变量的值?我读出来的,永远都是如同
a:='[ypmc,20][scph,10]';
我要想的
a:='复方板蓝板 20*10袋'[Title]
Count=8
T0=
T1=   XXXX超市
T2=日期:[now]
T3=编号:[id] 收款员:[czybm]      
T4=-------------------------------
T5=药品名称            批号
T6= 数量  单价  金额 效期
T7=-------------------------------
T8=
[Data]
Count=3
D0=[ypmc,20][scph,10]
D1=[sl,6][dj,6][je,7] [yxqz,10]
D2=
D3=
[Footer]
Count=7
F0=-------------------------------
F1=应收:[yjs]
F2=收款:[xjs]
F3=找零:[zl]
F4=折让:[zzk]
F5=
F6=谢谢您的惠顾!欢迎您再次光临!
F7=

解决方案 »

  1.   

    我试过ini常规的读法,都行不通
    var
      t:Tinifile;
    begin
        ...
        t.ReadSection();
        t.ReadSections();
        t.ReadSectionValues();
        t.ReadInteger();
        t.ReadBinaryStream();
        t.ReadFloat();
        t.ReadString();
        ...
    end;
    以上办法都不行,读出来的,都是常量了.
      

  2.   

    你这个应该不是标准的INI文件,不能用Tinifile来读取。自己写个算法来读取。
      

  3.   

    我当然知道不是普通的ini文件,不然我就不会来问了.
    这个算法,如何写?我见过别人的程序,有的人是用txt结尾的,但肯定都是文本文件.
      

  4.   

    一行行读取,做字符串处理。
    分三部分读取 [Title] [Data] [Footer]。主要读取数据部分[Data],先读Count,= 后面的就是[Data]部分的行数,即循环次数。用Pos找出[]之间的,位置  左边为变量名,右边是值。用Copy分别取出。如果格式都是
    T5=药品名称            批号
    T6= 数量  单价  金额 效期  还是比较容易实现的。
      

  5.   

    关键是怎么把ypmc 这四个字母,成为变量名?如何解析ypmc?
    fastreport大都用过吧.它的变量也是[]起来的.