Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Aí Pessoal... beleza?
Tô com um problema aki..
Quero gravar algumas informações no Registro do Windows, mas tá dando um erro.
Quando abre o Form dá um erro de Access Violation e quando salva, também dá o mesmo erro.
Segue abaixo os códigos:
unit UConfProg;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, Mask, Registry, ExtDlgs, ComCtrls;
type
TFConf = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
edtNomeEmp: TEdit;
edtEndereco: TEdit;
MaskEdit1: TMaskEdit;
MaskEdit2: TMaskEdit;
Label5: TLabel;
ComboBox1: TComboBox;
GrpBxFoto: TGroupBox;
Image1: TImage;
GroupBox2: TGroupBox;
Label6: TLabel;
GroupBox3: TGroupBox;
Label7: TLabel;
Label8: TLabel;
edtUsuario: TEdit;
edtSenha: TEdit;
RGNivel: TRadioGroup;
btnSalvar: TBitBtn;
btnCancelar: TBitBtn;
edtCaminho: TEdit;
SpeedButton1: TSpeedButton;
OpenDialog1: TOpenDialog;
OpenPictureDialog1: TOpenPictureDialog;
GrpBxConfAdicionais: TGroupBox;
chkTransp: TCheckBox;
edtTransp: TEdit;
UDTransp: TUpDown;
procedure btnSalvarClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure btnCancelarClick(Sender: TObject);
procedure Image1DblClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure chkTranspClick(Sender: TObject);
procedure edtTranspChange(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
const raiz = 'HKEY_CURRENT_USER\Software\SystemDeveloper';
var
FConf: TFConf;
Chk: Boolean;
Reg: TRegistry;
implementation
uses UMain, UCadClientes, UCadFun, UCadQuartos, UDevQuartos, UCapturaImagem, ULocQuartos, UFunFoto ;
{$R *.dfm}
procedure TFConf.btnSalvarClick(Sender: TObject);
begin
try
Reg:= TRegistry.Create;
If chkTransp.Checked then
chk:= True
else
chk:= False;
{ seta a chave raiz; ex. hkey_local_machine }
with Reg do
begin
If KeyExists('SystemDeveloper') then
OpenKey(Raiz, true);
{ Escreve o valor }
WriteString('NomeEmpresa', edtNomeEmp.Text);
WriteString('Endereco', edtEndereco.Text);
WriteString('CNPJ', MaskEdit1.Text);
WriteString('IE', MaskEdit2.Text);
WriteString('Caminho', EdtCaminho.Text);
WriteString('Usuario', EdtUsuario.Text);
WriteString('Senha', EdtSenha.Text);
WriteInteger('Nivel', RGNivel.ItemIndex);
WriteBool('Tranparencia', chk);
WriteInteger('ValorTransp',StrToInt(edtTransp.Text));
CloseKey;
end;
Image1.Picture.SaveToFile(ExtractFilePath(ParamStr(0)) + '\ConfEmp\logo.bmp'); Reg.Free;
FConf.Close;
end;
end;
procedure TFConf.SpeedButton1Click(Sender: TObject); edtCaminho.Text:= OpenDialog1.FileName;
end;
procedure TFConf.btnCancelarClick(Sender: TObject);Close;
end;
procedure TFConf.Image1DblClick(Sender: TObject); Image1.Picture.LoadFromFile(OpenPicTureDialog1.FileName);
end;
procedure TFConf.FormShow(Sender: TObject); Reg:= TRegistry.Create;
If Reg.KeyExists('SystemDeveloper') then
begin
Reg.OpenKey(Raiz, False);
// Escreve o valor
edtNomeEmp.Text:= Reg.ReadString('NomeEmpresa');
edtEndereco.Text:= ('Endereco');
MaskEdit1.Text:= Reg.ReadString('CNPJ');
MaskEdit2.Text:= Reg.ReadString('IE');
edtcaminho.Text:= Reg.ReadString('Caminho');
edtusuario.Text:= Reg.ReadString('Usuario');
edtSenha.Text:= Reg.ReadString('Senha');
RGNivel.ItemIndex:= Reg.ReadInteger('Nivel');
chk:= Reg.ReadBool('Transparencia');
edtTransp.Text:= IntToStr(Reg.ReadInteger('ValorTransp'));
Image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0)) + '\ConfEmp\logo.bmp');
end;
Reg.CloseKey;
If chk then
chkTransp.Checked:= True
else
chkTransp.Checked:= False;
Finally
Reg.Free;
end; FConf.Close;
end;
end;
end;
procedure TFConf.chkTranspClick(Sender: TObject); Fmain.AlphaBlend:= True;
FcadClientes.AlphaBlend:= True;
FcadFun.AlphaBlend:= True;
FCadQuartos.AlphaBlend:= True;
FFunFoto.AlphaBlend:= True;
FLocQuartos.AlphaBlend:= True;
FDevQuartos.AlphaBlend:= True;
FCapImagem.AlphaBlend:= True;
end
else
begin
Fmain.AlphaBlend:= False;
FcadClientes.AlphaBlend:= false;
FcadFun.AlphaBlend:= False;
FCadQuartos.AlphaBlend:= False;
FFunFoto.AlphaBlend:= False;
FLocQuartos.AlphaBlend:= false;
FDevQuartos.AlphaBlend:= False;
FCapImagem.AlphaBlend:= False;
end;
end;
procedure TFConf.edtTranspChange(Sender: TObject);FMain.AlphaBlendValue:= StrToInt(EdtTransp.Text);
FCadClientes.AlphaBlendValue:= StrToInt(EdtTransp.Text);
FCadFun.AlphaBlendValue:= StrToInt(EdtTransp.Text);
FFunFoto.AlphaBlendValue:= StrToInt(EdtTransp.Text);
FCadQuartos.AlphaBlendValue:= StrToInt(EdtTransp.Text);
FCapImagem.AlphaBlendValue:= StrToInt(EdtTransp.Text);
FLocQuartos.AlphaBlendValue:= StrToInt(EdtTransp.Text);
FDevQuartos.AlphaBlendValue:= StrToInt(EdtTransp.Text);
end;
procedure TFConf.FormClose(Sender: TObject; var Action: TCloseAction);Reg:= nil;
end;
end.
Qualquer ajuda é bem-vinda...
vlw desde já
Carregando comentários...