我打印的东西很少,就是几个数据,但是用户要求,他可以修改打印数据的位置,并且一次改动后,以后一直用这个改动后的位置。我现在用改变quickreport里面的qrtitle里的字段的TOP和LEFT的值来改变打印的位置,但是用这种方法,在关闭程序后,下次还是会恢复回原样,也就是说无法保留。
方法:设一个打印调整页,然后录入调整距离,点击打印调整按钮后,在ONCLICK事件中,将录入的调整距离加减入原来的字段的TOP或LEFT属性,以此来实现字段的移动。但只在该次运行期间有效,怎么样才能让这个调整永久保留,设哪个属性呢??谢谢!!!!!

解决方案 »

  1.   

    最简单的方法,写INI文件或注册表保存用户设置,在需要打印时读入设置.
      

  2.   

    肯定得写文件保存,INI也好XML也好,下回用时再调用。
      

  3.   

    FR我一直没下载到真正可用的而且我的打印格式什么都调好了,不想弄太麻烦。哪位朋友有用INI保存的现成程序么,呵呵,谢谢*100000000啦!!!先谢谢楼上的朋友,我结贴时会给分的,谢谢!
      

  4.   

    把用户设置的所有选项保存在ini中,程序启动时读入就可以了,
      

  5.   

    仍求写入与读出一行行如X=,Y=这样方式的文件,并且每次累加X,Y的内容
      

  6.   

    555555,我知道要做个INI文件了,可是我很菜,而且今晚要交工,做读写INI一下做不出来,想要更现成一点的,感谢感谢
      

  7.   


    用读取ini的方法,然后,通过加密,写入ini文件,即使别人从外部打开ini文件,也看不懂!
    关于ini的读写!
     
    从.INI文件中获取字符串
    var
    strResult:pchar;
    begin
    GetPrivateProfileString(
    'windows', // []中标题的名字
    'NullPort', // =号前的名字
    'NIL', // 如果没有找到字符串时,返回的默认值
    strResult, //存放取得字符
    100, //取得字符的允许最大长度
    'c:\forwin95\win.ini' // 调用的文件名
    );
    edit1.text:=strResult; //显示取得字符串
    从.INI文件中获取整数
    edit1.text:=inttostr(GetPrivateProfileInt(
    'intl', // []中标题的名字
    'iCountry', // =号前的名字
    0,// 如果没有找到整数时,返回的默认值'c:\forwin95\win.ini' // 调用的文件名
    ));
    向.INI文件写入字符串
    WritePrivateProfileString(
    'windows', // []中标题的名字
    'load', // 要写入“=”号前的字符串
    'accca', //要写入的数据
    'c:\forwin95\win.ini' // 调用的文件名
    );
    向.INI文件写入整数
    WritePrivateProfileSection(
    'windows', // []中标题的名字
    'read=100', // 要写入的数据
    'c:\forwin95\win.ini' // 调用的文件名
    );
      

  8.   

    估计除了用INI或注册表信息这样的方法之外,没有更便捷的方法,其实INI文件的操作并没有楼主想像的那样复杂,应该比较容易上手的。
      

  9.   

    INI文件结构:
    [节]
    关键字1=***
    关键字2=***读写INI文件:uses IniFiles;var
      MyIniFile:TIniFile;
      name:string;
      num:integer;begin
      MyIniFile:=TIniFile.Create('c:\test.ini');// 读写C:\TEST.INI;
      MyIniFile.WriteString('set','name','ABC')//将字符串ABC写入INI文件中的SET节NAME中;
      MyIniFile.WriteInteger('set','num',1000);//将整数1000写入INI文件中SET节NUM节中;
      ...
      name:=MyIniFile.ReadString('set','name','AAA');//将INI文件中SET字段NAME节的字符串读出并赋予变量NAME,如果该节中没有值,则缺省为AAA;
      num:=MyIniFile.ReadInteger('set','num',500);与上同;
      
      MyIniFile.Free;
    end;
      

  10.   

    是呵是呵,我这里想请问一下,如果不用C:/TEST.INI绝对路径的话,怎么要当前目录的test.ini文件呢???