写入注册表我放在ComboBox的OnChange事件当中:
procedure TfrmSet.ComboBox1Change(Sender: TObject);
begin
RegF:=TRegistry.Create;
RegF.RootKey:=HKEY_LOCAL_MACHINE;
RegF.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True);
RegF.WriteInteger('Project1',ComboBox1.ItemIndex);
RegF.Free;
end;读注册表:
procedure TfrmSet.FormShow(Sender: TObject);
begin
com_index:=0;
RegF:=TRegistry.Create;
RegF.RootKey:=HKEY_LOCAL_MACHINE;
RegF.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True);
com_index:=RegF.ReadInteger('Project1');
RegF.Free;
ComboBox1.ItemIndex:=com_index;
end;这样的不足之处相信大家已看出来了,那就是程序第一次启动时,从注册表当中读不到指定路径的值。有什么办法可以让程序如果ComboBox的OnChange事件没触发过就不从注册表当中读取数据吗?请指点
procedure TfrmSet.ComboBox1Change(Sender: TObject);
begin
RegF:=TRegistry.Create;
RegF.RootKey:=HKEY_LOCAL_MACHINE;
RegF.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True);
RegF.WriteInteger('Project1',ComboBox1.ItemIndex);
RegF.Free;
end;读注册表:
procedure TfrmSet.FormShow(Sender: TObject);
begin
com_index:=0;
RegF:=TRegistry.Create;
RegF.RootKey:=HKEY_LOCAL_MACHINE;
RegF.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True);
com_index:=RegF.ReadInteger('Project1');
RegF.Free;
ComboBox1.ItemIndex:=com_index;
end;这样的不足之处相信大家已看出来了,那就是程序第一次启动时,从注册表当中读不到指定路径的值。有什么办法可以让程序如果ComboBox的OnChange事件没触发过就不从注册表当中读取数据吗?请指点
解决方案 »
- delphi用什么方法将.txt的内容打印出来
- 发布数据库程序时出错:internal error 2502
- 我要自杀,你们别拦我...
- 如何为一个下拉表列的属性编辑器中加选项
- 开贴补1000分,请 ly_liuyang(Liu Yang) 进来接分(9)
- *****请教高手 如何获得句柄?*****
- 如何屏蔽Dbgrid的删除!(ctrl+delete) 来者有分
- 请问在D5+ADO+ACCESS的程序中是否还需要BDE?如何手工打包BDE?
- 汉字,拼音,如何提取?
- 我要提问: 关于对文件夹/文件操作的监视 ------请进来
- 100分!!!~报表分组合计问题!
- 大家来看看这个酒店管理的实时房状的界面是用什么实现的?
beginend;
判断是否存在该键,如果存在,就加载
beginend;
判断是否存在该键,如果存在,就加载
CreateKey 创建一个新键
DeleteKey 删除键
DeleteValue 删除键值
HasSubKeys 测试一个键是否有子键
KeyExits 测试一个键是否存在
OpenKey 打开一个键
ReadBool
ReadInteger
ReadString
WriteBool
WriteInteger
WriteString