Kako instalirati ini fajl. Šta su INI fajlovi i čemu služe?

Za Haskell. Tada sam odlučio da je bolje podijeliti članak na 3 dijela. U prvom dijelu ću vam pokazati kako napisati gramatiku bez konteksta koja će opisati sadržaj ini datoteke.

ini fajlovi

Datoteke sa ini ekstenzijom su rasprostranjene ne samo u Windows svijetu, već iu drugim sistemima (na primjer, php.ini). Format ini datoteke je vrlo jednostavan: datoteka je podijeljena na sekcije, svaka sekcija može sadržavati proizvoljan broj unosa u obliku "parametar=vrijednost". Imena parametara u različitim odjeljcima mogu biti ista.
[odjeljak_1]
parametar1=vrijednost1
parametar2=vrijednost2

[odjeljak_2]
parametar1=vrijednost1
parametar2=vrijednost2

Svaki parametar se može adresirati preko naziva sekcije i naziva parametra: nešto poput "section_1"."param2" .

Ini fajlovi imaju komentare - redove koji počinju sa ";".

Gramatika izgradnje

Pokušajmo opisati ovaj format kao kontekstualnu gramatiku u proširenoj Backus-Naur notaciji (nadam se da će biti jasno čak i onima koji nisu upoznati s njom).

Hajde da opišemo šta je ini fajl. Da bismo to učinili, opisat ćemo sve konstrukcije od najsloženije (zapravo sam ini fajl) do najjednostavnijih (što je identifikator). Svaka takva konstrukcija povezana je s posebnom oznakom ( neterminalni) koji je definiran u smislu drugih neterminala i regularnih simbola (terminala), što ću ja
staviti pod navodnike.

  • Podaci ini datoteke (inidata) sadrže nekoliko sekcija (kovrdžavaste zagrade znače ponavljanje bilo koji broj puta).
    inidata = (odjeljak) .
  • Odjeljak se sastoji od naziva odjeljka zatvorenog u uglaste zagrade, nakon čega slijedi nekoliko unosa (parametara) u sljedećem redu.
    odjeljak = "[", ident, "]", "\n", (unos) .
  • Unos se sastoji od naziva parametra, znaka "=", vrijednosti parametra i završava se krajem reda.
    unos = ident, "=", vrijednost, "\n" .
  • Hajde da definišemo šta je identifikator: sve što se sastoji od slova, brojeva ili znakova "_.,:()()-#@&*|" (zapravo, možda postoje i drugi znakovi).
    ident = (slovo | cifra | "_" | "." | "," | ":" | "(" | ")" | "(" | ")" | "-" | "#" | "@" | "&" |"*" | "|") .

    Ova definicija nije sasvim tačna, jer identifikator mora biti najmanje jedan znak. Promenimo to ovako:

  • Sada definirajmo koja je vrijednost: sve osim kraja niza (radi kratkoće, morao sam proširiti notaciju)
    vrijednost = (ne "\n") .
Ostaje uzeti u obzir da neki parseri/ljudi vole stavljati dodatne razmake i prazne redove.
Da bismo to uradili, moramo da uvedemo još dva neterminala: razmake koji se koriste u stringu i samo razmake.

Prostori mogu biti gotovo bilo gdje. Pa da ispravimo malo gramatiku:
inidata = razmaci, (odjeljak) .
odjeljak = "[", ident, "]", stringSpaces, "\n", (unos) .
unos = ident, stringSpaces, "=", stringSpaces, vrijednost, "\n", razmaci .
ident = identChar, (identChar) .
identChar = slovo | digitalni | "_" | "." | "," | ":" | "(" | ")" | "(" | ")" | "-" | "#" | "@" | "&" |"*" | "|" .
vrijednost = (ne "\n") .
stringSpaces = (" " | "\t") .
razmaci = (" " | "\t" | "\n" | "\r") .

To je u suštini sve što se tiče gramatike =).

Mora da je neko primetio da nisam ništa rekao o komentarima. Nisam zaboravio - jednostavno ih je lakše izrezati "ručicama" =) (kao vježbu, možete ispraviti gramatiku tako da uzima u obzir komentare).

Bitan: Malo sam prevario i izgradio gramatiku tako da u njoj nije bilo rekurzije lijevo. Obje biblioteke razmišljam o izgradnji

Vrlo često, posebno u velikim projektima, potrebno je sačuvati neke postavke programa kako bi ih kasnije primijenili prilikom ponovnog učitavanja. Zamislite ovu situaciju - napisali ste program za klijenta. Pokrenuo ga je i pojavio se u sredini prozora, kao što ste planirali. Međutim, to mu se učinilo nezgodnim, te ga je pomaknuo u stranu i smanjio veličinu prozora kako bi paralelno radio s nekom drugom aplikacijom. Sve je u redu, program radi svoj posao i korisnik je zadovoljan. Međutim, kada sledećeg dana ponovo učita program, on će ponovo biti centriran na ekranu i imaće svoje originalne dimenzije. Korisnik će ga opet morati pomaknuti u stranu i smanjiti veličinu obrasca. Sitnica? Međutim, iz takvih se sitnica formira mišljenje o programeru, a ako je to mišljenje loše, nećete imati mušterije! Programer mora u svom programu obezbijediti sve zahtjeve i želje korisnika, čak i one koje on sam još ne poznaje. Pa recite mi, kako korisnik koji je naručio program može znati da forma može zauzeti drugu poziciju tokom programiranja - u centru ekrana ili desktopa, ili poziciju tokom razvoja? Dok u praksi ne naiđe na vaš program, neće mu ni pasti na pamet da vam kaže da program treba da zapamti svoja podešavanja!

U najjednostavnijem slučaju potrebno je sačuvati samo 5 parametara - stanje prozora (minimizirano, maksimizirano), njegovu poziciju s lijeve i gornje ivice radne površine, njegovu širinu i visinu. A ako kreirate složeniji program, sa panelom postavki, gdje postoji hrpa okvira za potvrdu i radio dugmadi? Tamo korisnik može promijeniti vaše "podrazumevane" postavke i postaviti svoje. Zamislite da je korisnik potrošio pola sata da podesi vaš program "za sebe", a kada se ponovo pokrene, ustanovi da sva njegova podešavanja nisu sačuvana!

Postoje dva načina za spremanje korisničkih postavki - ini datoteke i Windows sistemski registar. Svaka od ovih metoda ima svoje prednosti i nedostatke.

Ako sačuvate postavke u Windows registru, tada su skrivene od korisnika, pa on neće moći ništa pokvariti u njima. S druge strane, ako je na računaru registrovano više korisnika, tada će svako moći da promeni postavke programa "za sebe". Loša strana je u tome što ako se Windows ponovo instalira, program će također morati biti ponovo instaliran, jer neće biti u registru.

Ako postavke sačuvate u ini fajlu, program će sačuvati postavke čak i kada ponovo instalirate operativni sistem. Osim toga, lakše je implementirati spremanje postavki u ini datoteku. Na ovom predavanju ćemo naučiti kako raditi samo sa ini datotekama.

INI fajlovi imaju mnoge prednosti. Lako je i praktično raditi s njima, podržavaju tri tipa podataka - String, Integer i Boolean. Osim toga, ako bismo sačuvali postavke u jednostavnu tekstualnu datoteku, tada bi promjena jedne od postavki zahtijevala prepisivanje cijele datoteke, a ini datoteka vam omogućava da prepišete samo ovu postavku.

Naravno, postoje neka pravila za korištenje takvih datoteka.

Pre svega, ako ćete raditi sa ini fajlovima, u odeljku uses, odmah ispod reči interfejs, potrebno je da dodate inifiles modul, on opisuje sve podatke za rad sa ini fajlovima. Dodavanje modula je jednostavno - postoji tačka-zarez nakon posljednjeg modula na listi. Zamijenite ga zarezom, dodajte riječ inifiles, a zatim dodajte tačku i zarez.

Dalje. Podrazumevano, ini datoteke se kreiraju u direktorijumu gde je instaliran Windows. Pojavljuje se datoteka sa ekstenzijom *.ini i vašim postavkama. Ovo nije uvijek zgodno, posebno ako pretpostavite da se Windows može ponovo instalirati. Mnogo je bolje kreirati datoteku u direktoriju u kojem je instaliran vaš program. Kako mogu pronaći ovaj direktorij?

ExtractFilePath(Application.ExeName)

Naučimo kako napraviti ini datoteku u praksi. Kreirajte novu aplikaciju. Dodajte modul inifiles u odjeljak za korištenje.

Prije svega ćemo zapisati pohranjivanje parametara kada se program zatvori. Da biste to učinili, kreirajte OnDestroy obrađivač događaja za obrazac. Takav događaj se dešava kada se objekat forme uništi, odnosno kada se program završi. Kreirajte odjeljak var i tamo upišite varijablu tipa ini datoteke:

Imajte na umu da kreiramo datoteku u istom direktoriju odakle je program pokrenut. Ako samo naznačimo

ini:= TInifile.Create("my.ini");

tada bi datoteka bila kreirana u Windows direktoriju! Zatim sačuvajte poziciju prozora, odnosno svojstva lijevo i gornje obrasca:

//sačuvaj poziciju prozora:

ini.WriteInteger("Pozicija", "L", Form1.Left);

ini.WriteInteger("Pozicija", "T", Form1.Top);

Ini datoteka ima tri procedure za pisanje različitih tipova podataka. WriteInteger, WriteString i WriteBool. U skladu s tim, ove funkcije pišu cijeli broj, string i logički tip. Ove funkcije imaju 3 parametra. Prvi je ini odjeljak datoteke. U samoj datoteci izlazi u uglastim zagradama. Odjeljak možete imenovati kako god želite, ne nužno i poziciju. Drugi parametar je naziv sačuvanog parametra, u primjeru smo ovaj parametar specificirali u obliku slova "L" i "T", iako se može napisati i "Lijevo", "Top" ili nešto drugo.

Treći parametar funkcije je njena vrijednost. Budući da su svojstva Left i Top obrasca cjelobrojne vrijednosti, koristimo funkciju WriteInteger za pisanje cijelih brojeva. Kao rezultat gornjeg primjera, natpis sličan ovom pojavit će se u ini datoteci:

//spremi veličinu prozora:

ini.WriteInteger("Size", "W", Form1.Width);

ini.WriteInteger("Size", "H", Form1.Height);

Nakon što smo sačuvali parametre u ini datoteku, ona mora biti zatvorena:

// zatvorite fajl:

ini.Free;

Sve, fajl je zatvoren i podešavanja su sačuvana. Sačuvajte projekat, kompajlirajte ga i pogledajte kako radi. Otvorite kreiranu ini datoteku, ovo je jednostavna tekstualna datoteka koju možete čitati, pa čak i uređivati.

Međutim, uradili smo samo polovinu posla. Sačuvali smo postavke, ali kako ih pročitati? Sve se to radi na potpuno isti način, samo obrnuto. Umjesto svojstva uništavanja obrasca, koristimo svojstvo kreiranja obrasca (onCreate), umjesto pisanja koristimo čitanje, a umjesto da upisujemo vrijednosti svojstava obrasca u datoteku, mi ćemo ih pročitati iz datoteke i dodijeliti ove vrijednosti na svojstva obrazaca. Shodno tome, imamo tri procedure za čitanje parametara iz ini datoteke: ReadInteger, ReadString i ReadBool.

Dakle, pravimo obrađivač događaja za formu onCreate:

(prilikom kreiranja obrasca)

procedura TForm1.FormCreate(Pošiljalac: TObject);

ini: TIniFile; //deklarisanje varijable tipa inifile

//sad kreiraj:

ini:= TInifile.Create(ExtractFilePath(Application.ExeName)+"my.ini");

//primijeni poziciju prozora:

Form1.Left:= ini.ReadInteger("Pozicija", "L", 329);

Form1.Top:= ini.ReadInteger("Pozicija", "T", 261);

//pročitaj dimenzije prozora:

Form1.Width:= ini.ReadInteger("Size", "W", 384);

Form1.Height:= ini.ReadInteger("Size", "H", 312);

// zatvorite fajl:

ini.Free;

Ovdje je zanimljiv treći parametar u funkcijama pisanja. Čini se da nam vrijednosti nisu potrebne, uzimamo ih iz naznačenih odjeljaka. Ali treći parametar je obavezan, on specificira "podrazumevanu" vrijednost.

Kada kreirate obrazac, odredite veličinu i pozicionirajte ga na odgovarajući način i pogledajte vrijednosti svojstva Lijevo, Vrh, Širina i Visina. Ove vrijednosti ćete napisati kao zadane. Ako datoteka još nije postojala, ili je došlo do greške prilikom čitanja ovog parametra, na primjer, traženi niz nije pronađen, koristit će se zadana vrijednost. Ako se pročita željeni red, tada će se primijeniti vrijednost navedena u njemu.

Sačuvajte projekat, kompajlirajte ga i pogledajte kako program radi. Rezultirajuća ini datoteka će sadržavati sljedeći tekst:

Pokušajte promijeniti neki parametar prije pokretanja programa, na primjer, navedite

Zatim pokrenite program i gledajte kako se položaj prozora mijenja! Usput, ovo je dobar način da sakrijete program. Ako za svojstvo Left navedete veći broj nego što ima svojstvo Width (širina prozora), a u isto vreme učinite broj negativnim, prozor programa će se, takoreći, pomeriti levo od ekrana. Program radi, vidi se u sistemskoj liniji, ali nema prozora!

Povucite prozor radnog programa i izađite iz njega. Pokreni ponovo - pozicija posljednjeg prozora je sačuvana!

Nastavimo program i kreiramo string parametar. Instalirajte komponentu Label na obrazac, u svojstvu Caption napišite: "Unesite naslov novog prozora". Instalirajte komponentu Uredi ispod, korisnik će unijeti tekst u nju. Ispod toga je dugme sa oznakom "Primeni".

Uklonite tekst iz komponente Uredi, napišite sljedeće u rukovaocu gumbima:

Form1.Caption:= Edit1.Text;

Ovo pretpostavlja da niste promijenili nazive obrasca ili Edit. Ako ste promijenili naziv obrasca, na primjer, u fMain, onda napišite

//sačuvamo zaglavlje obrasca:

ini.WriteString("Param", "C", Form1.Caption);

I u proceduri onCreate, opet, prije zatvaranja ini datoteke, dodajte:

//pročitaj zaglavlje obrasca:

Form1.Caption:= ini.ReadString("Param", "C", "Program");

Kao što vidite, rad sa stringovima se ne razlikuje mnogo od rada sa brojevima! Sačuvajte projekat, kompajlirajte i pogledajte kako radi. Unesite novo ime za prozor, kliknite na dugme "Primeni", izađite iz programa i ponovo ga otvorite. Tekst u sistemskoj liniji programa treba sačuvati.

Hajdemo sada da radimo sa booleovim parametrom. Instalirajte jedan CheckBox na obrascu. U svojstvu Caption upišite "Parametar". U stvari, nije nam bitno koji parametar se može sačuvati, na primjer, da li da dozvolimo klik na dugme, da li da dozvolimo prikaz obrasca „O nama“, da li će neka komponenta biti vidljiva ili nevidljiva... Parametara koje možda želite da sačuvate može biti mnogo. Sada nam je jedna stvar važna: svojstvo Checked komponente CheckBox može biti ili True (parametar je omogućen) ili False (parametar je onemogućen). Ovo je ono što treba da sačuvamo u ini fajlu, a zatim da ga pročitamo iz njega.

Prije zatvaranja ini datoteke u proceduri događaja onDestroy, zapamtite stanje zastavice:

//zapamti zastavu:

ini.WriteBool("Param", "CB1", CheckBox1.Checked);

Ako je polje za potvrdu onemogućeno, umjesto False, u parametar ini-file će biti upisano 0. Ako je omogućeno, 1 će biti upisano.

Sada, prije zatvaranja ini datoteke, u proceduri događaja onCreate dodajte redove za čitanje podataka iz ini datoteke:

//pročitaj stanje potvrdnog okvira:

CheckBox1.Checked:= ini.ReadBool("Param", "CB1", True);

Podrazumevano, polje za potvrdu će biti omogućeno. Komentari su, mislim, suvišni. Pokušajte uključiti spremanje parametara u svaki od vaših programa.

Ne postoji detaljna zvanična specifikacija formata. Od Windowsa 95, INI datoteke se smatraju zastarjelim i Microsoft predlaže korištenje sistemskog registra () kao zamjenu. Ipak, INI datoteke i dalje koriste i aplikacije drugih proizvođača i OS komponente iz Microsofta. Na primjer, datoteka boot.ini se koristi u Windows NT4/2000/XP prilikom pokretanja za odabir između više operativnih sistema.

Iako su INI datoteke postale popularne na Windows-u, mogu se koristiti na bilo kojem OS-u. Jednostavna struktura ovog formata olakšava njihovu programsku obradu i ima dovoljno jasan oblik za ljudsko čitanje i uređivanje. Postoje uređivači teksta (kao što su SciTE ili Notepad++) koji koriste isticanje sintakse i savijanje za ovaj format, što olakšava ručno uređivanje INI datoteka.

Korišćenje sekcija za razdvajanje parametara pomaže u organizaciji podataka, ali za skladištenje velikih postavki sa složenijom hijerarhijskom strukturom, XML format je prikladniji.

Format datoteke

ini datoteke su obične tekstualne datoteke koje se mogu uređivati ​​i pregledavati bilo kojim uređivačem teksta. ini datoteke imaju sljedeći format:

; neki komentar # Komentar u Unix stilu ; komentar o sekciji var1=value_1 ; ponekad je dozvoljen komentar na jedan parametar var2=value_2 var1=value_1 var2=value_2 ; ponekad je dozvoljeno navesti nekoliko vrijednosti odvojenih zarezima var1=value_1_1, value_1_2, value_1_3 var2=value_2; u Zend Frameworku, niz je definiran na sljedeći način var1=value_1_1 var1=value_1_2 var1=value_1_3 var2=value_2 ; Ponekad nedostaju vrijednosti Mode= Vid= FolderType=Generic

INI fajl može sadržavati:

  • prazni redovi ;
  • komentari - od simbola " ; » (tačka-zarez) do kraja reda;
  • naslovi sekcija - nizovi koji se sastoje od naslova odjeljka u uglastim zagradama" »;
  • vrijednosti parametara - redovi poput " ključ=vrijednost ».

Sporazumi

Ne postoji opšte prihvaćen standard za INI format datoteke. Iako je opća struktura takvih datoteka obično očuvana, mnogi softverski proizvodi uvode dodatne značajke ili, obrnuto, ograničenja u njih.

  • Komentari . Neke aplikacije (kao što je Samba) tretiraju i ";" i "#" kao početak komentara.
  • Povratna kosa crta . Ponekad je dozvoljeno koristiti obrnutu kosu crtu "\" za deklariranje sljedećeg reda kao nastavka ovog. U ovom slučaju, oni će biti obrađeni kao jedna cijela linija. Ponekad je također moguće koristiti "\" za unos posebnih znakova, kao što je "\n" za označavanje prijeloma reda.
  • Isti parametri . U većini slučajeva, prisustvo dva identična ključa u istom odeljku je zabranjeno (obrađuje se samo poslednji ključ).
  • Duplicirani nazivi sekcija . Obično, ako postoji nekoliko sekcija s istim imenom u datoteci, obrađuje se samo posljednji. Neke aplikacije kombinuju sadržaj svih takvih sekcija u jednu.

Primjer implementacije

Razmislite o kodu koji obrađuje datu ispravnu ini datoteku i daje je u posebnom obliku:

int main() ( freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); int n; cin >> n; cin.get(); map > mp; string from = ""; za (int i = 0; i< n; i++) { string s; getline(cin, s); for (size_t j = 0; j < s.size();) { if (s[j] == " ") s.erase(j, 1); else j++; } if (s.size() == 0 || s == ";") { continue; } if (s == "[") { s.erase(0, 1); s.erase(s.size() - 1, 1); from = s; mp; } else { mp = s.substr(s.find("=") + 1, s.size() - s.find("=")); } } for (map < string, map > :: iterator it = mp.begin(); to != mp.end(); it++) ( if (it -> prvi != "") ( cout<< "[" << it ->prvo<<"]" << endl; } for (map < string, string >::iterator itt = mp.begin(); itt != mp.end(); itt++) ( cout<< itt ->prvo<< "=" << itt ->sekunda<< endl; } } return 0; }

vidi takođe

Napišite recenziju na članak ".ini"

Linkovi

Izvod koji karakterizira .ini

„Žao mi je, Madona. Rekao je samo da ste se mnogo prevarili i da ljubav nikome nije donela dobro. Ako ti to nešto govori, Isidora.
Samo sam klimnuo, pokušavajući da saberem svoje panične misli. I pokušavajući da ne pokaže Moroneu koliko sam šokirana vijestima koje je rekao, rekla je što je mirnije moguće:
"Mogu li vas počastiti, monseigneur?" Čini mi se da opet nećete smetati mojoj pomoći "vještice". I hvala vam na vijestima... Čak i lošim vijestima. Uvijek je bolje unaprijed znati neprijateljske planove, čak i one najgore, zar ne? ..
Morone mi je pažljivo zavirio u oči, bolno pokušavajući da u njima pronađe odgovor na neko za njega važno pitanje. Ali moja se duša zatvorila od svijeta kako se ne bi razboljela ... kako bi izdržala predstojeći test ... A kardinala je sada dočekao samo napamet "sekularni" pogled, koji nije dozvoljavao da prodre u moj duša zaleđena od užasa...
"Bojiš li se, madona?" tiho upita Morone. Ti si hiljadu puta jači od njega! Zašto ga se plašiš?!..
- On ima nešto protiv čega još nisam u stanju da se borim... A ipak nisam u stanju da ga ubijem. O, verujte mi, vaša eminencijo, kad bih samo uspela da pronađem ključ ove otrovne zmije!.. - i, došavši k sebi, odmah je ponovo predložila: - Pustite me da se ipak brinem o vama? Ublažiću ti bol.
Ali kardinal je sa osmehom odbio.
“Sutra ću biti na drugom, mirnijem mjestu. I nadam se da će Caraffa zaboraviti na mene na neko vrijeme. Pa, šta je s tobom, Madona? Šta će biti s tobom? Ne mogu ti pomoći da izađeš iz zatvora, ali moji prijatelji su dovoljno moćni. Mogu li vam biti na usluzi?
„Hvala vam, monsinjore, na vašoj brizi. Ali ja se ne nadam uzaludno, u nadi da ću otići odavde... Nikada me neće pustiti... Ne moju jadnu kćer. Živim da ga uništim. Ne bi trebalo da mu bude mesto među ljudima.
– Šteta što te ranije nisam prepoznao, Isidora. Možda bismo mogli postati dobri prijatelji. Sada zbogom. Ne možeš ostati ovdje. Tata će sigurno doći da mi poželi "sreću". Ne morate ga sresti ovdje. Spasi svoju kćer, madona... I ne odustaj od Caraffea. Bog s tobom!
„O kom Bogu govorite, monsinjore?“ upitala sam tužno.
- Sigurno ne o onome kome se Karafa moli!.. - Morone se osmehnu na rastanku.
Stajala sam na trenutak, pokušavajući da u duši zapamtim sliku ove divne osobe, i mahnuvši za pozdrav, izašla u hodnik.
Nebo se otvorilo u naletu strepnje, panike i straha!.. Gde je sada bila moja hrabra, usamljena devojka?! Šta ju je nagnalo da napusti Meteoru?.. Iz nekog razloga, Ana nije odgovarala na moje uporne pozive, iako sam znao da me čuje. To je ulijevalo još veću tjeskobu, a ja sam se samo posljednjim snagama borio da ne podlegnem panici koja mi je pekla dušu, jer sam znao da će Caraffa sigurno iskoristiti svaku moju slabost. A onda ću morati da izgubim pre nego što se uopšte oduprem...
Povukavši se u „svoje” odaje, „lizao” sam stare rane, čak ni ne nadajući se da će ikada zarasti, već samo pokušavajući da budem što jači i smireniji u slučaju bilo kakve prilike da počnem rat sa Karafom... Nema smisla nadati se čudu da je to bilo, jer sam odlično znao da u našem slučaju čuda nisu predviđena... Sve što se desi, moraću da radim samo sam.
Nerad je ubijao, zbog čega sam se osjećao zaboravljenim, bespomoćnim i nepotrebnim od svih... I iako sam savršeno znao da sam pogriješio, crv "crne sumnje" uspješno je izgrizao upaljeni mozak, ostavljajući tamo svijetli trag neizvjesnosti i žaljenja. ...
Nisam požalio što sam i sam bio u Karafi... Ali sam se užasno bojao za Anu. A takođe, još nisam mogao sebi da oprostim smrt svog oca i Đirolama, mojih voljenih i za mene najboljih ljudi na svetu... Hoću li ikada moći da ih osvetim?.. Zar nisu svi u pravu kada su kažete da Caraffa ne može biti poražen? Da ga neću uništiti, nego da i sam glupo umrem?.. Da li je Sever zaista bio u pravu što me je pozvao da idem na Meteore? I da li je nada da se uništi Papa sve ovo vrijeme živjela samo u meni samoj?! ..
I još nešto... Osećao sam da sam jako umoran... Neljudski, strašno umoran... Ponekad se čak činilo - zar ne bi bilo bolje da odem na Meteore?.. Uostalom, neko je tamo otišao? .. I zašto ih nije bilo briga što ljudi umiru oko njih. Bilo im je važno da NAUČE, da dobiju tajno ZNANJE, jer su se smatrali izuzetno nadarenim... Ali, s druge strane, ako su zaista bili tako “izuzetni”, kako bi onda zaboravili ono najjednostavnije, ali u mom mišljenja, naša zapovest je veoma važna - ne idi da se odmaraš dok drugima treba tvoja pomoć... Kako su se mogli tako lako zatvoriti, a da se ni ne osvrnu oko sebe, a da ne pokušaju da pomognu drugima?.. Kako su smirili svoju dušu?..

Najčešći uzrok problema sa proširenjem INI datoteke je jednostavno nedostatak odgovarajućih aplikacija instaliranih na vašem računaru. U ovom slučaju, dovoljno je pronaći, preuzeti i instalirati aplikaciju koja podržava INI datoteke - takvi programi su dostupni u nastavku.

Sistem pretraživanja

Unesite ekstenziju datoteke

Upomoć

Clue

Imajte na umu da se neki kodirani podaci iz datoteka koje naš računar ne čita ponekad mogu vidjeti u Notepadu. Na ovaj način ćemo čitati fragmente teksta ili brojeva - Vrijedi provjeriti da li ova metoda radi i u slučaju INI datoteka.

Šta učiniti ako je aplikacija sa liste već instalirana?

Često se instalirana aplikacija treba automatski povezati s INI datotekom. Ako se to nije dogodilo, onda se INI datoteka može ručno povezati s novoinstaliranom aplikacijom. Jednostavno kliknite desnim tasterom miša na INI datoteku, a zatim sa liste dostupnih izaberite opciju "Izaberite podrazumevani program". Zatim morate odabrati opciju "Pretraži" i pronaći svoju omiljenu aplikaciju. Učinjene promjene moraju biti odobrene opcijom "OK".

Programi koji otvaraju INI datoteku

Windows
MacOS
linux

Zašto ne mogu otvoriti INI datoteku?

Problemi sa INI fajlovima mogu imati i druge osnove. Ponekad čak ni instaliranje softvera koji podržava INI datoteke na vašem računalu neće riješiti problem. Razlog nemogućnosti otvaranja, kao i rada sa INI fajlom, takođe može biti:

Nedosljedne veze INI datoteka u unosima registra
- oštećenje INI datoteke koju otvaramo
- Infekcija INI fajla (virusi)
- premali računarski resurs
- zastareli drajveri
- uklanjanje INI ekstenzije iz registra Windows sistema
- nepotpuna instalacija programa koji podržava INI ekstenziju

Rješavanje ovih problema bi trebalo dovesti do slobodnog otvaranja i rada s INI datotekama. U slučaju da računar i dalje ima problema s datotekama, trebate potražiti pomoć stručnjaka koji će utvrditi tačan uzrok.

Moj računar ne prikazuje ekstenzije datoteka, šta da radim?

U standardnim instalacijama Windows sistema, korisnik računara ne vidi ekstenziju datoteke INI. Ovo se može uspješno promijeniti u postavkama. Samo idite na "Control Panel" i odaberite "View and Personalization". Zatim morate ući u "Opcije mape" i otvoriti "Prikaz". U kartici "Prikaz" postoji opcija "Sakrij ekstenzije poznatih tipova datoteka" - morate odabrati ovu opciju i potvrditi operaciju pritiskom na dugme "OK". U ovom trenutku, sve ekstenzije datoteka, uključujući INI, trebale bi se pojaviti sortirane po imenu datoteke.

ini Tialization file je konfiguraciona datoteka koja sadrži podatke o podešavanjima za Microsoft Windows, Windows NT i neke aplikacije.

Pojavio se od prvih verzija Windows-a. U Windows verziji 1.01, ovo je bila samo datoteka WIN.INI. Windows 3.0 je dodao datoteku SYSTEM.INI. A onda je njihov broj počeo naglo i nekontrolirano rasti.

Ne postoji detaljna zvanična specifikacija formata. Počevši od Windowsa 95, INI datoteke se smatraju zastarjelim i Microsoft predlaže korištenje Registry kao zamjenu. Ipak, INI datoteke i dalje koriste i aplikacije drugih proizvođača i OS komponente iz Microsofta. Na primjer, datoteka boot.ini se koristi u Windows NT4/2000/XP prilikom pokretanja za odabir između više operativnih sistema.

Iako su INI datoteke postale popularne na Windows-u, mogu se koristiti na bilo kojem OS-u. Jednostavna struktura ovog formata olakšava njihovu programsku obradu i ima dovoljno jasan oblik za ljudsko čitanje i uređivanje. Postoje uređivači teksta (kao što su SciTE ili Notepad++) koji koriste isticanje sintakse i savijanje za ovaj format, što olakšava ručno uređivanje INI datoteka.

Korišćenje sekcija za razdvajanje parametara pomaže u organizaciji podataka, ali za skladištenje velikih postavki sa složenijom hijerarhijskom strukturom, XML ili JSON format je prikladniji.

Format datoteke

ini datoteke su obične tekstualne datoteke koje se mogu uređivati ​​i pregledavati bilo kojim uređivačem teksta. ini datoteke imaju sljedeći format:

; neki komentar # Komentar u Unix stilu ; komentar sekcije var1 = vrijednost_1 ; ponekad je dozvoljen komentar na jedan parametar var2 = vrijednost_2 var1 = vrijednost_1 var2 = vrijednost_2 ; ponekad je dozvoljeno navesti više vrijednosti odvojenih zarezima var1 = vrijednost_1_1, vrijednost_1_2, vrijednost_1_3 var2 = vrijednost_2 ; u Zend Frameworku, niz je definiran na sljedeći način var1 = vrijednost_1_1 var1 = vrijednost_1_2 var1 = vrijednost_1_3 var2 = vrijednost_2 ; Ponekad nema vrijednosti Mode=Vid=FolderType=Generički

INI fajl može sadržavati:

  • prazni redovi ;