registry hakkında...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
PcText
Üye
Mesajlar: 36
Kayıt: 19 Ağu 2004 04:04
Konum: İstanbul / Alibeyköy
İletişim:

registry hakkında...

Mesaj gönderen PcText »

s.a
formda tamam butonuna bastığımda edit içindeki bilgiler anahtara yazılıyo
fakat form açıldıgında editlerin içine tekrar registry den okuma yapsın istiyorum fakat form açılırken
" cannot change visible in on show or on hide "diye bir mesaj veriyo...
neden oluyo sizce

Kod: Tümünü seç

procedure Tform1.TamamClick(Sender: TObject);
var met:tregistry;
begin
met.Create;
met.RootKey:=HKEY_LOCAL_MACHINE;
met.OpenKey('software\metcak\program',false) ;
met.WriteString('wstring',edit1.text);
met.WriteString('wstring2',edit2.Text);
met.CloseKey;
met.Free;
end;

Kod: Tümünü seç

procedure Tform1.FormShow(Sender: TObject);

var met:Tregistry;
begin
met.Create;
met.RootKey:=HKEY_LOCAL_MACHINE;
met.OpenKey('software\metcak\program',true);
//memo1.Lines.Add(met.ReadString('wstring'));
edit1.Text:=met.ReadString('wstring');
edit2.Text:=met.ReadString('wstring2');
met.CloseKey;
met.Free;
end;
Dört bir yan kararınca sana yöneldik.Ey ışıklar kaynağı aç kapını biz geldik.
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Mesaj gönderen m_ekici »

bu şekilde dene

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var met:tregistry;
begin
Met:=TRegistry.Create;
met.RootKey:=HKEY_LOCAL_MACHINE;
met.OpenKey('software\metcak\program',false) ;
met.WriteString('wstring',edit1.text);
met.WriteString('wstring2',edit2.Text);
met.CloseKey;
met.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
var met:Tregistry;
begin
Met:=TRegistry.Create;
met.RootKey:=HKEY_LOCAL_MACHINE;
met.OpenKey('software\metcak\program',true);
edit1.Text:=met.ReadString('wstring');
edit2.Text:=met.ReadString('wstring2');
met.CloseKey;
met.Free;
end;

Kullanıcı avatarı
webaytek
Üye
Mesajlar: 377
Kayıt: 23 Haz 2004 10:58

Mesaj gönderen webaytek »

Öncelikle selamlar, her ne kadar bugünkü bilgime sayenizde gelmiş olsam da hala bayaa bi eksiklerim var mesela hiç kullanma ihtiyacım olmayan bi konu ile bööle :shock: kalakaldım. :D

Registry'de "Çok Dizeli Değer" (Reg_Multi_SZ) denilen lanet satırlardan yazmam ve bunları okumam lazım. İçerik mantığı daha çok INI dosyası yazmak gibi olduğu için bu yolu seçtim. Stringmiş gibi okutunca Invalid Data Type hatası veriyor haklı olarak

Benim anahtarım bu diil ancak örnek olarak bunu vermeyi uygun gördüm : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\Shares anahtarın da okuma ve yazma yapmam için alttakiler hariç ne tür bir işlem yapmam gerekiyor - KOLAY GELSİN

Kod: Tümünü seç

var reg_sira:integer
begin
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('\SYSTEM\CurrentControlSet\Services\lanmanserver\Shares',false);
reg.GetValueNames(memo_reg.items);
memo3.lines.add('Paylaştırılmış Klasörler Listesi :');
for reg_sira :=0 to memo_reg.items.count-1 do
begin
Reg.OpenKey('\SYSTEM\CurrentControlSet\Services\lanmanserver\Shares\'+memo_reg.items[reg_sira],false);
memo3.lines.add(memo_reg.items[reg_sira]+ ' : ' +reg.readString(memo_reg.items[reg_sira]));
memo3.lines.add('');
end;
end;
Cevapla