保存form配置信息INI

时间:2022-12-15 20:01:27
(* 
功能:IniFormState
1 保存和读取 窗体的大小
2
保存和读取 窗体在屏幕上的位置
//让程序第1次出现在屏幕的中心点
获取屏幕的中心点
POSITION:poScreenCenter
//不行
*)

//implementation
//{$R *.dfm}
 uses IniFiles;//引用IniFiles

/// 写入信息到ini文件  
procedure WriteformState(section:string;fileName:string;form:TForm);
var  INIFILE: TIniFile;
begin 
    INIFILE:=TIniFile.Create(ExtractFilePath(Application.ExeName)+fileName);

    try  
     INIFILE.WriteInteger(section,'Left',  form.Left);

     INIFILE.WriteInteger(section,'Top',   form.Top);

     INIFILE.WriteInteger(section,'Height',form.Height);

     INIFILE.WriteInteger(section,'width', form.Width);

    Finally 

     INIFILE.Free;

    end
end

/// 从Ini读取信息并赋值

procedure ReadformState(section:string;fileName:string;form:TForm);
var

 INIFILE: TIniFile;
 frm1Left,frm1Top:integer; 
begin 

  //FORM1 处于屏幕中心点时的left Top的值 用于第1次运行本程序时程序出现 在屏幕中心
  frm1Left:=(Screen.Width-FORM.Width) div 2;
  frm1Top :=(Screen.Height-FORM.Height) div 2;
  INIFILE :=TIniFile.Create(ExtractFilePath(Application.ExeName)+fileName);

    try 

         form.Left:= INIFILE.ReadInteger(section,'Left',  frm1Left);

          form.Top:= INIFILE.ReadInteger(section,'Top',   frm1Top);
       form.Height:= INIFILE.ReadInteger(section,'Height',form.Height);

        form.Width:= INIFILE.ReadInteger(section,'Width', form.Width);

    Finally

      INIFILE.Free;

    end
end;
 

//调用
//读取信息
 ReadformState('MainForm','Config.ini',Form1); 
//写入信息 
WriteformState('MainForm','Config.ini',Form1);

 

保存form配置信息INI的更多相关文章

  1. IT项目中使用 json格式数据 保存项目配置信息, 在配置文件再读取json文件的内容进行赋值

    json格式小巧玲珑,适合做配置文件,特别是大型项目中, 可以将配置信息分类保存到不同的json文件中, 然后再在配置文件中读取配置文件的数据进行赋值, 这里以python为例进行说明: 假设在you ...

  2. 储存应用程序的配置信息ini实现方式

    1.C语言中文件操作.2.C++语言中的文件操作.3.Win32 API函数文件操作.4.MFC CFile类文件操作.5.MFC CFileDialog类的文件操作.6.注册表文件操作. 下面我来详 ...

  3. 配置信息写入到.ini文件中的方法

    在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中 1.所用的WINAP ...

  4. 如何方便的保存WinForm窗体控件的位置大小等等配置信息

    由于分辨率.屏幕主题.字体大小的不同,窗体显示效果在不同机器上不尽相同.窗体的弹性设计并不能满足多样的需求.为保证在各种情况下,能有满意的效果.窗体的多样显示方式能改变,并且保存.载入配置,显得很重要 ...

  5. 应用SharedPreference保存程序的配置信息

    SharedPreference: 1.用来保存应用程序的配置信息的XML文件,内部的数据形式为键值对 2.一般存在于/data/data/<包名>shared_prefs目录下 3.该对 ...

  6. Visual studio之C&num; 利用Settings保存COM口配置信息

    背景 利用C#做一个串口通信项目,客户需求保存串口COM口的配置信息,在此利用Settings来进行保存. 正文 ".Settings"的创建 点击项目 --> 添加新项 - ...

  7. MySQL 基本信息的查询(初始化配置信息 my&period;ini)

    0. my.ini MySQL 的初始化配置信息 mysql 启动时会读取该配置文件,如果按照默认方式安装 mysql 的话,该配置文件在: C:\ProgramData\MySQL\MySQL Se ...

  8. golang 读取 ini配置信息

      package main //BY: 29295842@qq.com//这个有一定问题   如果配置信息里有中文就不行//[Server] ;MYSQL配置//Server=localhost   ...

  9. JDBC&lowbar;04&lowbar;使用Properties集合保存JDBC所需配置信息

    使用Properties集合保存JDBC所需配置信息 将JDBC连接所需的配置信息保存在一个配置文件中,然后使用Properties将该信息存储起来,动态的完成JDBC的配置连接 代码: import ...

随机推荐

  1. ThreadLocal

    package cn.happy.util; import org.hibernate.Session;import org.hibernate.SessionFactory;import org.h ...

  2. 解决echsop兼容jquery(transport&period;js的冲突)的问题

    方案一: 本人亲测过,可以用.有的人说需要删除js目录下的gobal.js文件,否则依然会冲突.我没删除也解决了冲突. 1.加入JSON2.js文件 原因很简单,transport修改Object是为 ...

  3. How to set up an FTP server on Ubuntu 14&period;04

    How to set up an FTP server on Ubuntu 14.04 Setting up a fully-functional and highly secure FTP serv ...

  4. RabbitMQ - 实例操作

    以前在单项目中用过RabbitMQ,没有问题 不过这次在分布式项目中使用RabbitMQ中有点搞糊涂了,但是实际上是没有问题的,思路清晰就行 简单看一下实际操作的示例吧: 资源文件中需要配置基本的ra ...

  5. js 实现关键词球状旋转效果

    效果图 html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  6. 面试中的TCP协议

    TCP的三次握手和四次挥手 三次握手 TCP连接是通过三次握手来连接的. 第一次握手 当客户端向服务器发起连接请求时,客户端会发送同步序列标号SYN到服务器,在这里我们设SYN为x,等待服务器确认,这 ...

  7. iOS-时间戳&lpar;或date&rpar;转字符串

    1.时间戳转字符串 ///时间戳转化为字符转0000-00-00 00:00 + (NSString *)time_timestampToString:(NSInteger)timestamp{ NS ...

  8. Polya计数

    Let it Bead Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5365   Accepted: 3585 Descr ...

  9. Java的并发及锁

    Java并发编程:用AQS写一把可重入锁 https://blog.csdn.net/zhang5476499/article/details/83796289 线程的同步时可以使一个线程阻塞而等待一 ...

  10. 2018&period;10&period;16 NOIP模拟 膜法(组合数学)

    传送门 原题,原题,全TM原题. 不得不说天天考原题. 其实这题我上个月做过类似的啊,加上dzyodzyodzyo之前有讲过考试直接切了. 要求的其实就是∑i=lr(ii−l+k)\sum _{i=l ...