Standart Windows .ini dosyaları yorumlara izin veriyor mu?


92

Windows ini dosyalarında yorumlara izin verilir mi? (... onları okumak için GetPrivateProfileString api işlevlerini kullandığınızı varsayarak ...)

[Section]
Name=Value   ; comment

; full line comment

Ve herhangi bir yerde .INI dosya biçiminin uygun bir özelliği var mı?

Cevaplar için teşekkürler - Ancak belki yeterince net değildim. Yalnızca ilgilendiğim Windows API Çağrıları tarafından okunan biçimdir . Diğer uygulamaların yorumlara izin verdiğini biliyorum, ancak özellikle bilmem gereken MS Windows özelliği ve uygulamasıdır.


1
API Değeri ve Yorumu döndürür, sadece SemiColon'u aramanız ve karşılaştığınızda bunu okumanız veya çıkarmanız, normal bir ifade kullanarak veya yalnızca;
RoguePlanetoid

7
@RoguePlanetoid Bir ;karakter bulmak için normal bir ifade mi? Ciddi anlamda!?
IInspectable

1
@IInspectable Normal ifadeyi sadece yorumu okumak için kullanabilir, böylece noktalı virgülden sonra öğeyi çıkarabilir veya yorumumda bahsettiğim veya; yorumun kendisini çıkarma veya
yorumumun

Yanıtlar:


96

Windows INI API desteği:

  • Satır yorumları : evet, noktalı virgül kullanarak;
  • Sonraki yorumlar: Hayır

Yetkili kaynak, INI dosyalarından değerleri okuyan Windows API işlevidir

GetPrivateProfileString

Bir başlatma dosyasında belirtilen bölümden bir dize alır.

Nedeni "tam çizgi yapılan yorumlar" istenen değeri yok çünkü iştir. Örneğin, aşağıdaki inidosya içeriklerini ayrıştırırken :

[Application]
UseLiveData=1
;coke=zero
pepsi=diet   ;gag
#stackoverflow=splotchy

Değerleri okumak:

  • UseLiveData: 1
  • coke: mevcut değil
  • ;coke: mevcut değil
  • pepsi: diet ;gag
  • stackoverflow: mevcut değil
  • #stackoverflow: splotchy

Güncelleme : Sayı işaretinin (#) sözde bir satır yorum karakteri olduğunu düşünürdüm. Baştaki # çalışmasının gizlenmesinin stackoverflownedeni, adın stackoverflowartık mevcut olmamasıdır. Ve (yani yarı-kolon çıkıyor ;) olan bir çizgi-yorum.

Ancak takip eden yorumlar için destek yoktur.


3
Çok yararlı örnekler, ancak "'tam satır yorumların' çalışmasının nedeni, istenen değerin olmamasıdır" ifadesini ayrıştırmak zor. Windows INI uygulamasının anahtar / değer çiftinden önce (eğer varsa) noktalı virgül gerektirdiğini, aksi takdirde değerin bir parçası olarak kabul edildiğini söyleyeceğim.
GravityWell

@Roddy Haklısın. Kullanmaya #o kadar odaklandım ki dikkat etmedim ;. Noktalı virgülün gerçekten bir satır yorumu olduğuna işaret eden yanıt düzeltildi.
Ian Boyd

29

INI dosyalarında yorumlar gördüm, bu yüzden evet. Lütfen bu Wikipedia makalesine bakın . Resmi bir özellik bulamadım, ancak hatırladığım kadarıyla birçok oyun INI dosyasında bu sözdizimi olduğu için yorumlar için doğru sözdizimi budur.

Düzenle

API Değeri ve Yorumu döndürür (cevabımda bundan bahsetmeyi unuttum), sadece INI dosyasını oluşturup örnekleyin ve bunun üzerine API'yi çağırın (yorumlarla birlikte) ve bunun nasıl döndürüldüğünü görebilirsiniz.


1
Kaynakları kullanırken, en yetkili kaynağı ve ardından destekleyici kaynakları kullanmak daha mantıklıdır.
Mike Collins

1
Elbette bu iyi bir fikir - bunu belirtmek için asla çok geç değil - yedi yıl sonra bile
RoguePlanetoid

9

HATTIN BAŞLANGICINDA YARI KOLON KULLANIN --- >>; << ---

Örn.

; last modified 1 April 2001 by John Doe
[owner]
name=John Doe
organization=Acme Widgets Inc.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.