使Delphi程序记忆参数的设置

我们平时用的很多软件都具有一些记忆功能,如foxmail和TheBat等等。

这些软件能在启动时自动的保持上一次关闭软件时的一些状态,如窗口的初始位置,用户在软件中设置的一些特性(如窗口风格,横相排列还是竖相排列等等),如果能让我们的程序也具有这样的一些功能可以使我们程序看起来更专业性一些:) 这里我就来讲一下怎样使应用程序能记住上一次关闭时的窗口位置,并在下一次启动时和上一次的位置一样。

既然要保留信息,就一定要涉及到存贮的问题。数据的存贮有好几种办法,可以写.ini或.inf文件,还可以用Delphi提供的文件类来自定义一个文件,还可以用数据库接口(如ODBC)引入一种数据库文件,foxpro 的.dbf和Access的.mdb比较常用,还可以直接往Windows的注册表里写。写.ini和.inf文件没有任何的安全性,且不适合win95,还记得在94,95年时用中文的Windows3.2中大量的用到了.ini文件,但Windows95出现后,微软建议尽可能的把信息写到注册表中。用ODBC的话会给程序带来很多不必要的麻烦,如会使程序更加复杂,需要相应的DBMS的驱动程序的支持,如果没有相应数据源的驱动程序,则该数据源就不能使用,还有安全性问题也不能很好的解决。

在这里推荐使用写注册表的方法。因为这种方法很方便,不需太多额外的开销,程序比较简单,对一般的用户来说在注册表里找到有用的信息比打开.ini文件要麻烦的多。所以注册表的安全性比.ini文件要略强一些。

使应用程序能记住上一次关闭时的窗口位置,并在这一次启动时和上一次的位置一样。总体思路是这样的:在关闭程序时要记录下本次程序结束时的信息,写入注册表中,在下次程序启动时读注册表中相应信息,并赋给程序。

对于我们这个程序来说主要需要记录的信息是窗口关闭时的Top,Left,Height,Width。

注意:要想使Delphi可以操作注册表,必须包括registry单元。

以下是源程序和相关注释:

unit Unit1;
   interface
   uses
   Windows, Messages,. . . . . . . ,registry;
   //包括registry单元
   type
   TForm1 = class(Tform)
   .
   .
   .
   public
   ww:Tregistry;
   //声明一个Tregistry对象,我们就通过ww来

时间: 2024-12-02 01:11:36

使Delphi程序记忆参数的设置的相关文章

在DELPHI程序中动态设置ODBC数据源

在DELPHI数据库应用程序中,我们访问数据库通常有两种方法.一种是通过BDE数据库搜索引擎,即利用DELPHI自带的数据库驱动程序,这种方法的优点是速度快,但应用范围有限,当数据库版本更新时,有可能不能用于操作新的数据库:另一种方法是通过ODBC,这种方法的优点是可以随操作系统(如WINDOWS)提供,作为标准接口能适应多种数据库,缺点是速度慢.在编程时,我们可以根据需要选择其中的一种方法. 在利用ODBC访问数据库时,通常的方法时是在ODBC管理面板中设置一个ODBC系统数据源 (系统DSN

.net 调用delphi 端口监听程序传递参数问题

问题描述 .net 调用delphi 端口监听程序传递参数问题 有一个delphi写的监听程序,需要传递参数. 我现在用.net 通过TCP调用,但是不知道为什么,监听程序能够监听到我的程序调用 但是无法接受到我的参数. 这是为什么? 以下是发送代码. try { TcpClient tcp = new TcpClient(server, port);//创建链接 Byte[] data = System.Text.Encoding.UTF8.GetBytes(message);//指定参数 N

043_《Delphi程序开发范例宝典(第2版)》

<Delphi程序开发范例宝典(第2版)> Delphi 教程 系列书籍 (043) <Delphi程序开发范例宝典(第2版)> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Part1 Part2 Part3 作者: 梁水 丛书名: 软件工程师典藏 出版社:人民邮电出版社 ISBN:9787115216762 上架时间:2010-1-8 出版日期:2010 年1月 开本:16开 页码:770 版次:2-1 内容简介 本书全面介绍了delphi程序开发所

如何使应用程序只运行一个实例

要使应用程序只运行一个实例,一个简单的方法是在应用程序类中使用互斥量,这可以用VC下的GUIDGEN.EXE程序产生.GUIDGEN.EXE位于VC安装目录CommonTools目录下 实例 1: 新建一基于对话框的工程ex1,采用默认设置 2: 用GUIDGEN.EXE产生一个全局标志,#define one "产生的全局标志" 本例中产生的语句如下:#define one "0xbe8e2ce1, 0xdab6, 0x11d6, 0xad, 0xd0, 0x0, 0xe0

cmd-java中调用命令行,可执行文件带有参数如何设置?

问题描述 java中调用命令行,可执行文件带有参数如何设置? 我在使用哈工大分词LTP二进制版本 命令如下 ltp_test --input C:UsersadminDesktoptest2.txt --segmentor-lexicon C:UsersadminDesktopdict.txt>C:UsersadminDesktopcs4.xml 就算直接调用ltp_test 也现实系统找不到指定的文件 我应该才能正常的调用呢? package demo; import java.io.Buff

firebug-Javascript程序的参数调用问题

问题描述 Javascript程序的参数调用问题 写了一个小程序,如下 效果是点击 的时候颜色会发生改变,但是效果无法实现,Firebug中一直报错,如下 这说我是形式参数缺失,请问应该如何修改?本人新手,望指教,谢谢! 解决方案 首先参数名称this要改,不能用this做参数名,改为me 第二,你的background-color改为backgroundColor 解决方案二: Python调用(运行)外部程序参数问题javascript调用exe程序(windows)传递参数vc 调用win

为Delphi程序添加自动滚动工具栏

本实例制作一个可以自动滚动的工具栏. 在窗体中添加一个TImageList组件,并且为它添加几个图像文件.然后添加一个TToolBar组件,设置TToolBar组件的Images属性为TImageList组件,在TToolBar组件上右击,在弹出的快捷菜单中选择New Button项,为TToolBar组件添加几个按钮,并设置按钮的ImageIndex属性分别对应TImageList组件中的图像索引编号.最后向窗体上添加一个TPageScroller组件,设置它的AutoScroll属性值为Tr

delphi程序全屏显示无标题栏覆盖整个屏幕

delphi 简单实现程序全屏显示无标题栏,覆盖整个屏幕,这个在做工控机或屏保时有用的,具体代码如下,感兴趣的朋友可以参考下哈   delphi 程序全屏显示无标题栏,覆盖整个屏幕,这个在做工控机或屏保时有用的,所以记下 复制代码 代码如下: procedure TMainFrm.FormCreate(Sender: TObject); begin with MainFrm do begin { Position form } Top := 0 ; Left := 0 ; { Go full s

程序开机启动如何设置?

  有时候,我们会需要一个程序开机启动,但在软件设置里找不到相应设置,怎么办呢?其实很简单.下面就为大家介绍程序开机启动如何设置方法介绍,希望能对大家有所帮助! 方法/步骤 1.右键单击"开始",并打开. 2.打开"程序"文件夹. 3.打开"启动"文件夹. 4.把需要开机启动的文件或程序的"快捷方式"拖入该文件夹内. 5.如果不需要开机启动,就将其移除. 以上就是程序开机启动如何设置方法介绍,希望能对大家有所帮助!