Yapılan değişiklikleri saklama

Başlatan JKramer, 02 Ocak 2012, 19:11:59

JKramer

Merhaba,

Terminal programı üzerinden sorsam daha anlaşılır olacak sanırım. Burada kullanıcı, istediği com port'u, baudrate'i,vs. seçebiliyor. Programı kapatıp açsak da, öncesinde yaptığımız değişiklikler duruyor. Bu tip saklama işlemi için mutlaka bir dosyaya ya da registry içinde bir yere kaydetmesi mi gerekiyor? (Program tek bir exe'den oluşuyor, kurulum yok.) Ben programın adıyla dosyalar arasında ve registry'de aradım, bir şey bulamadım. Acaba başka bir yolu var mı diye merak ettim.

CyberX

windows 7 kullanıyorsanız programlar son değişikliği kaydetmek ister fakat windows 7 izin vermez ve program eski haline döner. Programı yönetici olarak çalıştırırsanız sorun düzelebilir. Tabii programda son ayarları kaydetme özelleği varsa.

JKramer

Ortada bir sorun yok :), kendi yazdığımız programda ne çeşit yöntemler kullanılabilir diye sormuştum.

Kabil ATICI

Programdaki ayarları saklamak için birkaç değişik yöntem uygulanabillmekte...

Programın içindeki bir alanda ayarlar saklanabilir,

program için bir .ini dosyası oluşturmak. Bu dosyanın yeri programın bulunduğu klasör olabildiği gibi, Documents and Settings klasörü içindeki bir klasörde olabilir,

diğer bir yöntemde bilgisayar tarafından reg dosyasında ayarların saklanmasıdır.

başka bir yöntemde Documents and Settings klasörü içinde bir temp klasörüi içinde herhangi bir isimli veya yapıda bir dosyada ayarları saklamaktır.

hangisin kullanacağınız sizin programcılık bilginize ve  yapacağınız programa bağlı olarak değiiklik gösterebilir.
ambar7

JKramer

Bir dosyada ya da registry'de saklama dışında, "Programın içindeki bir alanda ayarlar saklanabilir" i biraz açar mısınız?

Kabil ATICI

Bunun her programlama dilinde yapılabilirliğini tam bilmiyorum ama,
diyelim ki bir yazı alanı açtık ve bunun bizim gösterilebilir alan dışında tutuk. (mesela -1000,-1000 gibi)
Şimdi bu alana yazdığımız her şey burada kalır. (bunu her işletim sistemi ve programlama dili destekliyor mu tam olarak bilmiyorum.)
Hele program her açılışında bu yazı alanı sıfırlanmazsa.

Zaten yazı alanında istediğimiz satırı istediğimiz gibi okuyup, yazabiliriz.



ambar7

CyberX

program bi yere veri yazmadan birşeyi saklayamaz. her program sonlandırıldığında programa sonradan girilen veriler vs ramden silinir gider. registry yada ini en kolayı ve mantıklısı. bunlara yazmazsan kendi exe dosyasnını sonuna yazmayı deneyebilirsin fakat program açıkken bunun mümkün olacağını sanmıyorum.

cicjoe

C# ile kolayca yapilabiliyor, settings veya resource icine yazabiliyorsunuz ve exe'inin icine gomulu olarak tasiniyor. ancak C++ icin biraz daha sikintili sanirim bu islemler.