Registry'den deger alarak programım çalışsın.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Registry'den deger alarak programım çalışsın.

Mesaj gönderen Berdem »

Merhaba Arkadaşlar,
Mustafa hocanın notlarından ve programından esinlenerek kullanıcı adı ve şifresi ile redistrye deger verecek ve sonrasında bu degeri tekrar okutup çalışacak bir program yazmaya çalıştım.Ama olmadı.Degerli yardım ve önerlerinizi bekliyorum.Aşağıdakinden farklı kod örneğide olabilir.Forumun şifre diye aratınca genelde component üzerinde durulmuş.Burda amacım sadece kendimi geliştirmek.Mutlaka her program kırılabilir.Önemli olan basitte olsa tedbir almaktır.En içten saygılarımla... :)

Kod: Tümünü seç

procedure TForm2.FormCreate(Sender: TObject);
var
Reg1:TRegistry;
ad,sifre,genel:string;
begin
Reg1:=TRegistry.Create;
Reg1.RootKey:=HKEY_LOCAL_MACHINE;
 if Reg1.KeyExists('Software\MustafaSoft\RegDeneme')=True  then
 begin
 Reg1.OpenKey('Software\MustafaSoft\RegDeneme',True);
 if  Reg1.ReadString('wstring')<>'Berdemer' then
     begin
     ad:=InputBox('Kullanıcı Girişi','Kullanıcı Adı','');
     sifre:=InputBox('Kullanıcı Girişi','Şifre','');
     genel:=ad+sifre;
         if genel='Berdemer'  then
         begin
         Reg1:=TRegistry.Create;
         Reg1.RootKey:=HKEY_LOCAL_MACHINE;
         Reg1.CreateKey('Software\MustafaSoft\RegDeneme');
         Reg1.OpenKey('Software\MustafaSoft\RegDeneme',True);
         Reg1.WriteString('wstring','Berdemer');
         Reg1.WriteInteger('wint',1234);
         Reg1.CloseKey;
         Reg1.Free;
         ShowMessage('Kullanıcı Girişiniz Kabul Edildi.Lütfen Programı tekrar çalıştırın!');
        end
        else
         ShowMessage('Yalnış şifre!!!!');
         Halt;
        end;
     end;
end;
Reg1.CreateKey('Software\MustafaSoft\RegDeneme');
Reg1.OpenKey('Software\MustafaSoft\RegDeneme',True); Hata Veriyor.
NightFlight
Üye
Mesajlar: 43
Kayıt: 19 Haz 2003 12:26

Mesaj gönderen NightFlight »

aşağıdaki kod okuyp yazabiliyor ben delphi 6 da yazdım Sen aşağıdaki örneğe göre kendi programını şekillendirebilirsin kolay gelsin

procedure TForm1.Button1Click(Sender: TObject);
var
reg:tregistry;//uses kısmına registry ekle
begin
reg:=Tregistry.Create;
with reg do begin
try
if OpenKey('\Control Panel\desktop', False) then begin
//yazma işlemi ben w2000 kullanıyorum degeri ona göre yazdım
reg.WriteString ('Wallpaper','d:\winnt\santa.bmp');
// okuma işlemi
Edit1.text:= reg.ReadString('Wallpaper');
reg.WriteString ('TileWallpaper','1');
// buda anından değişiklikleri uygulamak için
SystemParametersInfo
(SPI_SETDESKWALLPAPER,0, nil,SPIF_SENDWININICHANGE);
SystemParametersInfo
(SPI_SETSCREENSAVEACTIVE,0, nil,SPIF_SENDWININICHANGE);
end
finally
reg.free
end;
end;




end;
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Mesaj gönderen Berdem »

Teşekkür ediyorum.Gönderilen kod acaba mevcut yapılan değişiklerin korunması için registry verilen degerler olabilir mi?
Cevapla