有什么方法,或什么类型的值,可以在关闭程序后,但程序中的一个值能保留,在下次再运行该程序时,还可以读取这个值.
例如:
{$J+}
 const
     firstpart:   string   =  '123';
 {$J-}
再进行操作后,firstpart变成了'562'.然后关闭程序,在我下一次读取,firstpart时,能读到562.要求不能用数据库保存该值.

解决方案 »

  1.   

    保存到配置文件中,INI、二进制文件都行。程序启动时,检查配置文件。
      

  2.   

    可以保存到注册表中function Registry_ReadString(iHKey: HKEY;  sPath, sName, sDefault: String): String;
        //功能描述: 获取一个字串的值
        //入口参数:
        //   iHKey    -   主键名
        //   sPath    -   路径名
        //   sName    -   字串名
        //   sDefault -   默认值(当找不到这个字串时返回)
        //出口参数:
        //   返回值   -   获取的字串的内容
    var
      Reg     : TRegistry;
      sResult : String;
    begin
      Reg := TRegistry.Create;
      try
        Reg.RootKey := iHKey;
        if Reg.OpenKey(sPath, False) then
        begin
          if Reg.ValueExists(sName) then
            sResult := Reg.ReadString(sName)
          else
            sResult := sDefault;
          Reg.CloseKey;
        end
        else
          sResult := sDefault;
      finally
        Reg.free;
      end;
      Result := sResult;
    end;function Registry_SaveString(iHKey: HKEY; sPath, sName, sValue: String): Boolean;
        //功能描述: 保存一个字串的值
        //入口参数:
        //   HKey   -   主键名
        //   sPath  -   路径名
        //   sName  -   字串名
        //   sValue -   要保存的字串的内容
        //出口参数:
        //  返回值  -   True表示成功, False表示失败
    var
      Reg : TRegistry;
    begin
      Result := False;
      Reg := TRegistry.Create;
      try
        Reg.RootKey := iHKey;
        if Reg.OpenKey(sPath, True) then
        begin
          Reg.WriteString(sName, sValue);
          Reg.CloseKey;
          Result := True;
        end;
      finally
        Reg.Free;
      end;
    end;在程序启动时, 调用:
    firstpart := Registry_ReadString(HKEY_CURRENT_USER, 'Software\MyCompany\MyProgram', 'firstpart', '123');在程序退出时, 调用:
    Registry_SaveString(HKEY_CURRENT_USER, 'Software\MyCompany\MyProgram', 'firstpart', firstpart);
      

  3.   

    读写INI
    uses inifiles;var
      myinifile:TInifile;procedure TForm1.FormCreate(Sender: TObject);
    var
      filename:string;
    begin
      filename:=ExtractFilePath(paramstr(0))+'myini.ini';
      myinifile:=TInifile.Create(filename);
      showmessage(myinifile.readstring('程序参数','firstpart','缺省的firstpart'));
      end;procedure TForm1.FormDestroy(Sender: TObject);
    begin
      myinifile.writestring('程序参数','firstpart',firstpart的值(通过你的程序获取的));
      myinifile.Destroy;
    end;
      

  4.   

    参照inside vcl 保存在exe文件,最安全
      

  5.   

    a.exe 运行
    释放 b.exe //这是你的主程序
    举起 b.exe
    a.exe退出
    。。b.exe 结束时 写数据 到a.exe