- Katılım
- 4 Aralık 2018
- Mesajlar
- 21.763
- Makaleler
- 63
- Çözümler
- 478
Merhaba. C# da ayarları kaydetmenin tonlarca yöntemi var. Bugün sizlere
Gerekli sistem modülleri;
Öncelikle ayarları nereye kaydedeceğini belirtiyoruz.
Bu kod programın
Not:
Bu gördüğünüz kod kernel32.dll adlı sistem kütüphanesini kullanır. İni dosyasını yazma ve okumak için kernel32.dll içinde bulunan WritePrivateProfileString ve GetPrivateProfileString modüllerini kullanacağız.
Burada yer alan kod
Bilgi;
Veri yazarken 3 parametre ister.
Burada yer alan kod
Bilgi;
Veri okurken 2 parametre ister.
Değer ilgili alandan okunup ekrana yazılıyor.
Yardımcı olabildiysem ne mutlu bana. İyi çalışmalar
*.ini
dosyası ile ayarları nasıl kayıt edeceğinizi göstereğim.Gerekli sistem modülleri;
C#:
using System;
using System.Text;
using System.Runtime.InteropServices;
Öncelikle ayarları nereye kaydedeceğini belirtiyoruz.
Bu kod programın
*.exe
dosyasının olduğu dizin içinde ayarlar.ini
dosyasına kaydedileceğini belirtiyor.Not:
ayarlar.ini
dosyası olmasa bile otomatik olarak oluşturulacak.
C#:
string save_path = Application.StartupPath + @"\ayarlar.ini";
Bu gördüğünüz kod kernel32.dll adlı sistem kütüphanesini kullanır. İni dosyasını yazma ve okumak için kernel32.dll içinde bulunan WritePrivateProfileString ve GetPrivateProfileString modüllerini kullanacağız.
C#:
public class SettingINI{
[DllImport("kernel32.dll")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
[DllImport("kernel32.dll")]
private static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
public SettingINI(string file_path) { save_file_path = file_path; }
private string save_file_path = Application.StartupPath;
private string default_save_process { get; set; }
public string INIRead(string episode, string setting_name){
default_save_process = default_save_process ?? string.Empty;
StringBuilder str_builder = new StringBuilder(256);
GetPrivateProfileString(episode, setting_name, default_save_process, str_builder, 255, save_file_path);
return str_builder.ToString();
}
public long INIWrite(string episode, string setting_name, string value){
return WritePrivateProfileString(episode, setting_name, value, save_file_path);
}
}
Burada yer alan kod
kernel32.dll
dosyasını kullanarak oluşturduğumuz INIWrite
string değeri ile veriyi yazıyoruz.Bilgi;
Veri yazarken 3 parametre ister.
- Ayarlar veri stünunun ismi.
- Dil ise verinin değer tanımlayıcısı.
- "Almanca" ise veri değeri.
C#:
SettingINI write_ini = new SettingINI(save_path);
write_ini.INIWrite("Ayarlar", "Dil", "Almanca");
Burada yer alan kod
kernel32.dll
dosyasını kullanarak oluşturduğumuz INIRead
string değeri ile veriyi okuyoruz.Bilgi;
Veri okurken 2 parametre ister.
- Stünun ismi.
- Stünun içindeki değer tanımlayıcısı.
Ayarlar
stünu içinde yer alan Dil
değer tanımlayıcısını kullandık.
C#:
SettingINI read_ini = new SettingINI(save_path);
string get_data = read_ini.INIRead("Ayarlar", "Dil");
Console.WriteLine(get_data);
Değer ilgili alandan okunup ekrana yazılıyor.
Yardımcı olabildiysem ne mutlu bana. İyi çalışmalar
Son düzenleme: