mIRC Ini Dosyaları: Yapılandırma ve Veri Saklamanın Düzenli Yolu
İçindekiler
- Ini Dosyasının Yapısı
- Yazmak: writeini
- Okumak: $readini
- Silmek: remini
- Gezinmek: $ini
- Ayar Dosyası Tasarlamak
- Ini mi, Hash mi, Metin Dosyası mı?
- Hash Tablolarıyla Birlikte Kullanmak
- Dosya Yolu ve Taşınabilirlik
- Sık Yapılan Hatalar
- Gerçek Bir Senaryo
- Kullanıcı Dostu Ayar Dosyaları
- Ayarları Panelden Yönetmek
- Sonuç
Scriptinizin ayarlarını nerede saklayacaksınız? Global değişkenler işe yarar ama çok sayıda ayar olduğunda Variables sekmesi karmaşık hâle gelir ve ayarları gruplamanın bir yolu yoktur. Kullanıcıların ayarları elle düzenlemesini istiyorsanız da değişkenler uygun değildir. mIRC ini dosyaları, bu ihtiyaç için ideal çözümdür: Bölümlere ayrılmış, okunabilir, elle düzenlenebilir ve mIRC'in hazır komutlarıyla kolayca yönetilebilen düz metin dosyaları.
Ini Dosyasının Yapısı
[Genel]
karsilama=Kanala hos geldin!
aktif=1
[Kanallar]
izinli=#sohbet #destek
engelli=#test
Köşeli parantez içindeki satırlar bölüm, altındaki satırlar ise anahtar=değer çiftleridir. Bu yapı, ilgili ayarları bir arada tutmanızı sağlar ve dosyayı insan tarafından okunabilir kılar.
Yazmak: writeini
writeini ayarlar.ini Genel karsilama Kanala hos geldin!
writeini ayarlar.ini Genel aktif 1
Komutun parametreleri: dosya adı, bölüm, anahtar ve değer. Bölüm veya anahtar yoksa oluşturulur; varsa değer güncellenir. Bu, ayar kaydetmeyi tek satıra indirir.
Dosya yolu belirtmezseniz mIRC'in kendi klasörü kullanılır. Scriptinizin verilerini düzenli tutmak için kendi klasörünüzü kullanmanız önerilir:
writeini $scriptdirveri.ini Genel aktif 1
$scriptdir identifier'ı, scriptin bulunduğu klasörü sonunda ters eğik çizgiyle verir; bu yüzden dosya adı doğrudan eklenebilir.
Okumak: $readini
var %mesaj = $readini(ayarlar.ini,Genel,karsilama)
if ($readini(ayarlar.ini,Genel,aktif) == 1) { ... }
Anahtar yoksa boş değer döner. Bu yüzden ayarları okurken varsayılan değer kullanmak iyi bir alışkanlıktır:
var %mesaj = $iif($readini(ayarlar.ini,Genel,karsilama),$v1,Hos geldin!)
$v1, bir önceki koşulda değerlendirilen değeri verir; aynı ifadeyi iki kez yazmaktan kurtarır. Bu, mIRC scripting'in pratik ama az bilinen özelliklerinden biridir.
Bölüm ve anahtar adlarında büyük-küçük harf farkı genellikle gözetilmez, ancak tutarlı yazmak karışıklığı önler.
Silmek: remini
remini ayarlar.ini Genel karsilama
remini ayarlar.ini Genel
Anahtar belirtirseniz yalnızca o satır, belirtmezseniz bütün bölüm silinir.
Gezinmek: $ini
Bir ini dosyasındaki bölümleri ve anahtarları keşfetmek için $ini identifier'ı kullanılır:
//echo -a Bolum sayisi: $ini(ayarlar.ini,0)
//echo -a Ilk bolum: $ini(ayarlar.ini,1)
//echo -a Genel bolumundeki anahtar sayisi: $ini(ayarlar.ini,Genel,0)
//echo -a Ilk anahtar: $ini(ayarlar.ini,Genel,1)
Bu identifier, ini dosyasını veri deposu olarak kullandığınızda çok işe yarar. Örneğin her kullanıcı için bir bölüm oluşturduysanız, bütün kullanıcıları listelemek için bölümler üzerinde döngü kurabilirsiniz. Döngüler için mIRC while döngüsü yazımıza bakın.
Ayar Dosyası Tasarlamak
İyi tasarlanmış bir ayar dosyası, scriptinizi kullanan kişinin hayatını kolaylaştırır. Birkaç öneri:
Bölümleri anlamlı ayırın: Genel ayarlar, kanal bazlı ayarlar, mesaj metinleri ayrı bölümlerde olsun.
Kanal bazlı ayarlar için bölüm adı olarak kanalı kullanın: Her kanalın kendi bölümü olduğunda, kanal bazlı yapılandırma çok doğal hâle gelir.
Varsayılanları belgeleyin: Scriptinizin ilk çalışmasında varsayılan değerlerle bir ini dosyası oluşturması, kullanıcının neyi değiştirebileceğini görmesini sağlar.
Mesaj metinlerini ayrı tutun: Kullanıcıların mesajları kendi dillerine çevirmesini kolaylaştırır.
Hassas bilgileri dikkatli saklayın: Ini dosyaları düz metindir; parolaları burada saklamak güvenli değildir. Parola saklamak zorundaysanız kullanıcıyı bu konuda uyarın.
Ini mi, Hash mi, Metin Dosyası mı?
Ini dosyalarının her okuma işleminde dosyaya erişildiğini unutmayın. Bir ayarı bir kez okuyup kullanmak sorun değildir, ama her mesajda bir ini okumak kalabalık kanallarda fark edilir bir yavaşlamaya yol açar.
Pratik yaklaşım şudur: Ayarları script yüklenirken bir kez okuyup hash tablosuna veya değişkenlere aktarın; çalışma sırasında bellekten okuyun. Kullanıcı ayarı değiştirdiğinde hem belleği hem dosyayı güncelleyin. Bu yöntem, ini dosyasının okunabilirliğiyle hash tablosunun hızını birleştirir.
| Kullanım | Uygun araç |
|---|---|
| Kullanıcının elle düzenleyeceği ayarlar | Ini dosyası |
| Çalışma sırasında sık okunan veriler | Hash tablosu |
| Sırayla büyüyen kayıtlar (log, liste) | Metin dosyası |
| Geçici değerler | Yerel değişken |
Hash tabloları için mIRC hash tabloları, metin dosyaları için mIRC dosya işlemleri yazılarımıza bakın.
Hash Tablolarıyla Birlikte Kullanmak
Hash tabloları ini biçiminde kaydedilebilir. Bu, hash tablosunun hızını ini dosyasının okunabilirliğiyle birleştirmenin bir yoludur: Veriler bellekte hash tablosunda tutulur, diske ini biçiminde yazılır ve gerektiğinde elle incelenebilir. Kaydetme ve yükleme komutlarının biçim parametreleri bu dönüşümü sağlar.
Dosya Yolu ve Taşınabilirlik
Scriptinizi başkalarıyla paylaşacaksanız dosya yollarını sabit yazmayın. $mircdir veya $scriptdir identifier'larını kullanmak, scriptin farklı bilgisayarlarda ve farklı kurulum konumlarında çalışmasını sağlar. Ayrıca kendi veri klasörünüzü oluşturmak, scriptinizin dosyalarının mIRC klasöründe dağınık durmasını önler.
Klasör yoksa oluşturmanız gerekebilir; mIRC'in dosya sistemi komutları bunun için gerekli araçları sunar.
Sık Yapılan Hatalar
- Her kullanımda dosya okumak: Sık erişilen değerleri bellekte tutmamak.
- Varsayılan değer kullanmamak: Ayar yoksa scriptin boş değerle çalışması.
- Eşittir içeren değerler: Değer içinde eşittir işareti olması bazı durumlarda sorun yaratabilir.
- Satır sonu içeren değerler: Ini biçimi çok satırlı değerleri desteklemez.
- Sabit dosya yolu: Scriptin başka bilgisayarlarda çalışmamasına yol açar.
Gerçek Bir Senaryo
Bir scripter, kanal koruma scriptini arkadaşlarıyla paylaşıyor. İlk sürümde bütün ayarlar kodun içinde sabit yazılmış: kanal adları, karşılama metni, flood eşikleri. Her arkadaşı scripti kendi kanalları için elle düzenlemek zorunda kalıyor ve biri yanlış satırı değiştirip scripti bozuyor. Scripter bütün ayarları bir ini dosyasına taşıyor, dosyayı bölümlere ayırıyor ve ilk çalıştırmada varsayılan değerlerle oluşturulmasını sağlıyor. Ayarlar script yüklenirken bir kez okunup bellekte tutuluyor. Artık kullanıcılar koda hiç dokunmadan scripti kendi kanallarına uyarlayabiliyor.
Kullanıcı Dostu Ayar Dosyaları
Bir ayar dosyasının kullanıcı dostu olması, scriptinizin ne kadar kolay benimsendiğini doğrudan etkiler. Dosyanın başına birkaç satır yorum eklemek, hangi ayarın ne işe yaradığını açıklamak için iyi bir yoldur; ini biçimi noktalı virgülle başlayan yorum satırlarına izin verir ve mIRC'in okuma komutları bu satırları yok sayar.
Ayar adlarını Türkçe ve anlaşılır tutmak da fark yaratır. "mod3=1" yerine "karsilama_aktif=1" yazmak, kullanıcının dosyayı açtığında ne yapacağını anlamasını sağlar. Mantıksal ayarlar için sıfır ve bir yerine açık ve kapalı gibi değerler kullanmak da okunabilirliği artırır; scriptinizde bu değerleri kontrol etmek aynı kolaylıkta yapılır.
Ayarları Panelden Yönetmek
Kullanıcıların ini dosyasını elle düzenlemesi her zaman ideal değildir; yazım hatası yapmak veya dosyayı bozmak mümkündür. Daha konforlu bir çözüm, ayarları bir diyalog penceresi üzerinden yönetmektir. Diyalog, ayarları ini dosyasından okur, kullanıcının değişikliklerini alır ve dosyaya geri yazar. Böylece hem dosyanın okunabilirliği korunur hem de kullanıcı hata yapma riski olmadan ayarları değiştirir. Diyalog tasarımı için ilgili rehberimize bakabilirsiniz.
Sonuç
Ini dosyaları, mIRC scriptlerinde yapılandırma saklamanın en düzenli yoludur. writeini ve $readini ile ayarları yönetin, $ini ile dosyada gezinin, bölümleri anlamlı ayırın, ayarları bellekte önbelleğe alın ve dosya yollarını taşınabilir yazın. Genel dosya işlemleri için sıradaki rehberimiz mIRC dosya işlemleri.
IRC sorunun mu var? Kanalda birlikte çözelim.
💬 Kanala BağlanSıkça Sorulan Sorular
Ini dosyası nedir?
Köşeli parantez içindeki bölümler ve her bölümde anahtar eşittir değer satırlarından oluşan düz metin bir yapılandırma dosyasıdır.
Ini dosyası mı hash tablosu mu kullanmalıyım?
Kalıcı yapılandırma ve az sayıda okuma için ini uygundur. Çok sık okuma yazma gerekiyorsa hash tablosu kullanıp ara sıra dosyaya kaydetmek daha hızlıdır.
Ini dosyasını elle düzenleyebilir miyim?
Evet. Düz metin olduğu için herhangi bir metin editörüyle açıp düzenleyebilirsiniz.