程序运行过程中会改变一些变量的值,我想下次程序运行时初始值就是程序上次退出时的值,对于这些变量要怎么做?
类似的,我想程序记住radiobutton是选的哪一个,listbox中已经添加的哪些内容~~
请用代码示范一下。
类似的,我想程序记住radiobutton是选的哪一个,listbox中已经添加的哪些内容~~
请用代码示范一下。
解决方案 »
- 多线程操作VCL控件
- 有请秀锋大侠jadeluo:还是关于两字符串比较问题
- 谁有现成的销售系统(Access)给我发一个(只要有销售和库存管理)就行(采用的就送200分)
- 再散分200,看有没有人能解决这个问题。
- 誰有用過LINUX下的LAZARUS?
- 请教一个简单的关于dbgrid控件的问题
- quickreport 与 delphi7 打印报表数据重复。
- 请问要开发类似这样一个系统,大约要花多长时间???
- 有用delphi开发电子商务或其它多层分布应用经验的高手请进.
- 哪里有delphi6的安装制作工具下载???
- 急!!!没分了,请大虾帮个忙!!请问FastReport2.45要怎么装
- dbf一个棘手问题
示例,将Edit中的值保存到注册表中,从注册表中读出字符型的值么...用ReadString:
var
Reg:TRegistry;
begin
Reg:=Tregistry.Create; //创建Tregistry对象的实例
Reg.Rootkey := HKEY_CURRENT_USER ; //设置根键名称
Reg.OpenKey('\Software\Microsoft\my_SqlServer_Customer',True);
Reg.WriteString('UserID',txtUser.Text);
Reg.WriteString('SqlServerIP',txtIP.Text);
Reg.WriteString('SqlServerPwd',Decrypt(txtPassword.Text,1));
Reg.CloseKey;
Reg.Free; //释放对象
Close;
end;
只要有个地方保存就好了
我个人喜欢保存在INI文件中,写注册表容易,但清理它难,会被人说成“污染注册表”
数据库呢,因为并不是每个软件都有数据库的
var
Filename :string;
data_login :TIniFile; //ini文件名称
begin
Filename := ExtractFilePath(Application.ExeName)+'data_bak.ini';
//记录设置状态
Data_login := TIniFile.Create(FileName);
with data_login do
begin
if RB_no.Checked = true then
begin
WriteString('data_bak','rb_empty','true');
end else WriteString('data_bak','rb_empty','false');
Data_login.free;
end;//读入
begin
Filename := ExtractFilePath(Application.ExeName)+'data_bak.ini';
//恢复上一次设置状态
Data_login := TIniFile.Create(FileName);
with data_login do
begin
if ReadString('data_bak','rb_empty','') = 'true' then
begin
rb_no.Checked :=True;
end else rb_no.Checked :=false;
Data_login.free;
end;
给你部分代码供你参考:
如果要实例:[email protected] email验证。
procedure TForm1.Button1Click(Sender: TObject);
var
db_drive, db_path, db_info: PChar;
//分别代表数据库的驱动类型,数据库的当前全路径,数据库是否需要验证信息
//在本实例中,验证信息为假,也就是不需要验证,其他类型数据库无效。
//如果用户有兴趣可以根据以下给出的connectionstring扩展此程序
{****************************************************************************
针对access型数据库,在没有口令的条件下,
数据库连接字符串只需要以上3个变量就可以了,
如果是sql server 2000型数据库,给出一个连接好的数据库连接字符串:
Provider=SQLOLEDB.1; //数据库驱动类型
Password=user; //密码=user
Persist Security Info=True; //数据库安全验证
User ID=sa; //用户名=sa
Initial Catalog=database_name; //选择数据库名,如选用sql server 2000中自
//带master数据库,只要把database_name改成
//master即可
Data Source=test //这里是数据源的名称
***************************************************************************
如果要连接这样的数据库类型在做配置文件中就要做6个key值,其他数据库也是一样的}
begin
{判断录入数据是否为空}
if combobox1.Text = '' then
ShowMessage('请选择数据库类型')
else if memo1.Text = '' then
ShowMessage('请选择你要加入的数据库文件')
else
begin
{判断数据库驱动类型}
if combobox1.Text = 'access (*.mdb)' then
db_drive := PChar('Provider=Microsoft.Jet.OLEDB.4.0;')
else if combobox1.Text = 'sql server 2000' then
db_drive := PChar('Provider=SQLOLEDB.1;')
else
db_drive := PChar('Provider=MSDAORA.1;');
//写入数据库类型
writeprivateprofilestring('connectionstring', 'db_drive', db_drive,
PChar(dir + '\db_config.ini'));
db_path := PChar('Data Source=' + memo1.Text + ';');
//写入数据库的全路径
writeprivateprofilestring('connectionstring', 'db_path', db_path,
PChar(dir + '\db_config.ini'));
db_info := PChar('Persist Security Info=False');
//由于本实例针对access数据库,所以安全验证信息直接给出
//写入安全信息
writeprivateprofilestring('connectionstring', 'db_info', db_info,
PChar(dir + '\db_config.ini'));
ShowMessage('配置数据库完毕!!'); button1.Enabled := False; //配置一次就锁定
memo1.Clear;
combobox1.Enabled := not combobox1.Enabled;//配置后,不可用
button2.Enabled := True; //激活连接数据库
end;
end;//寻找你要连接的数据库
procedure TForm1.Button3Click(Sender: TObject);
begin
opendialog1.Filter := 'access files (*.mdb)|*.mdb'; //过滤文件只可选*.mdb类型
opendialog1.Execute;
memo1.Clear;
memo1.Text := opendialog1.FileName; //得到数据库全路径
button1.Enabled := not button1.Enabled;
button3.Enabled := not button3.Enabled;
end;//创建
procedure TForm1.Button4Click(Sender: TObject);
var
dir_name: String;
filehandle: Integer;
begin
dir := 'c:\db_ini'; //设定ini文件位置
dir_name := dir + '\db_config.ini'; //ini文件全路径
ForceDirectories(Dir); //创建c:\db_ini文件夹
filehandle := filecreate(dir_name); //得到创建文件的句柄
filewrite(filehandle, null, 0); //创建文件
if fileexists(dir_name) then //判断是否创建文件
ShowMessage('配置文件创建成功!!!存储目录为:' + dir + '')
else
ShowMessage('初始化文件失败!!!');
fileclose(filehandle); //释放创建文件句柄{说明:这里如果只创建文件,即filecreate(dir_name)也可以,
但是如果不关闭应用程序的话,创建文件的句柄就不会
释放,导致后面在修改配置文件的过程不可写入内容。
为了培养一种好的习惯,建议怎么做,就想c一样。
} button4.Enabled := not button4.Enabled;
button3.Enabled := True;
combobox1.Enabled := True;
memo1.Enabled := True;
end;
例子fsu已经给出,我就不重复了。
看自己的喜欢和能力.如果有技术的.
把它保存硬盘的扇区(0面0磁道1扇区或2、3扇区),那才叫保险。
一般的人不能修改和破坏........