admin
--> plik_ini

     Najprostsza z możliwych biblioteka do obsługi plików inicjalizacyjnych. Za jej pomocą możesz utworzyć nowy plik .ini, wczytać istniejący plik .ini oraz zapisać na dysk taki plik. W plikach ini najczęściej przechowywane są informacje rozruchowe programu, np. o wybranym przez użytkownika schemacie kolorów, położeniu folderów, listach ostatnio używanych plików oraz wielu innych. Dane rozruchowe można także zapisywać do rejestru Windows, ale pliki ini mają tę przewagę, że można je łatwo przeglądać oraz edytować w dowolnym edytorze tekstowym, np. Notatniku.


Schemat pliku ini.
[sekcja]
klucz 1=wartość
klucz 2=wartość 2

[sekcja 2]
klucz 1=wartość 3
klucz 153=wartość 4
Zwróć uwagę, że każdy z elementów (sekcja, klucz, wartość) może składać się z wielu wyrazów. Sekcja oraz klucz są typem string, a wartość może być typem: string, int, float, double. Pole wartość jest bardzo elastyczne możesz np. zapisać do niego wartość int, a wyjąć string. Działa ono tak jak konwerter pomiędzy wszystkimi typami.

Przykład 1: Utworzenie i zapis na dysk pliku ini.
#include <plik_ini.hpp>
#include <licencja_plik_ini.hpp>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
   PlikIni ini;
   ini.dodaj("info", "kolor tła", "biały");
   ini.dodaj("info", "kolor tekstu", "granatowy");
   ini.dodaj("info", "kolor tekstu wyróżnionego", "czerwony");

   ini.zapisz("test.ini");

   cout<<"Utworzono i zapisano plik ini."<<endl;

   system("PAUSE");
   return EXIT_SUCCESS;
}
         W pliku znajduje się taki zapis:
[info]
kolor tła=biały
kolor tekstu=granatowy
kolor tekstu wyróżnionego=czerwony



Przykład 2: Wczytanie z dysku pliku ini oraz wyświetlenie go na ekranie.
#include <plik_ini.hpp>
#include <licencja_plik_ini.hpp>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
   PlikIni ini;
   ini.czytaj("test.ini");
   cout<<ini.wyswietl()<<endl;

   system("PAUSE");
   return EXIT_SUCCESS;
}


         Na ekranie zobaczysz:
[info]
kolor tła=biały
kolor tekstu=granatowy
kolor tekstu wyróżnionego=czerwony



Przykład 3: Odczyt danych z pliku ini.
#include <plik_ini.hpp>
#include <licencja_plik_ini.hpp>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
   PlikIni ini;
   ini.czytaj("test.ini");
   string tekst_wczytany;
   ini.podaj("info", "kolor tekstu", tekst_wczytany);
   cout<<tekst_wczytany<<endl;

   system("PAUSE");
   return EXIT_SUCCESS;
}


         Na ekranie zobaczysz:
granatowy


Przykład 4: Praca z różnymi typami danych.
#include <plik_ini.hpp>
#include <licencja_plik_ini.hpp>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
   PlikIni ini;
   ini.dodaj("info", "ilość produktów", "1");
   ini.dodaj("info", "ostatnie udane logowanie", "14-02-2010");
   ini.dodaj("info", "ostatnie błędne logowanie", "10-02-2010");

   ini.dodaj("0001", "nazwa", "jabłka");
   ini.dodaj("0001", "jednostka miary", "kg");
   ini.dodaj("0001", "cena", 1.80);

   cout<<"Utworzono obiekt ini."<<endl;

   int ilosc;
   float cena;
   string napis;

   ini.podaj("info", "ilość produktów", ilosc);
   ini.podaj("0001", "cena", cena);
   ini.podaj("0001", "cena", napis);

   cout<<"Ini zawiera "<<ilosc<<"produkt."<< endl;
   cout<<"Jabłka kosztują "<<cena<<"złotych."<< endl;
   cout<<"Jabłka kosztują "<<napis<<"złotych."<< endl;

   system("PAUSE");
   return EXIT_SUCCESS;
}

         Na ekranie zobaczysz:
Ini zawiera 1 produkt.
Jabłka kosztują 1.80 złotych.
Jabłka kosztują 1.80 złotych.

   W powyższym przykładzie dokonaliśmy dokonaliśmy dwóch konwersji. Do ini zapisaliśmy ilość produktów jako string, a odczytaliśmy tę wartość jako int. Cenę zapisaliśmy jako float a odczytujemy jako string. Konwersje można dokonywać pomiędzy typami: string, int, float, double.
   Jeśli zainteresowało cię używnie plików ini koniecznie przeczytaj opis bibklioteki <ini_db>, która oprócz typowej pracy na plikach ini, została wyposażona w funkcje umożliwiające budowę baz danych. Baza danych tworzona za jej pomocą jest łatwa w utworzeniu oraz zarządzaniu.

Lista dostępnych funkcji:

void czytaj (string nazwa_pliku);
void zapisz (string nazwa_pliku);
string wyswietl ();
void kasuj_wszystko();

int dodaj (string sekcja, string klucz, string wartosc);
int dodaj (string sekcja, string klucz, int wartosc);
int dodaj (string sekcja, string klucz, float wartosc);
nt dodaj (string sekcja, string klucz, double wartosc);

int podaj (string sekcja, string klucz, string &wartosc);
int podaj (string sekcja, string klucz, int &wartosc);
int podaj (string sekcja, string klucz, float &wartosc);
int podaj (string sekcja, string klucz, double &wartosc);



nazwa: <plik_ini.hpp>
autor: Mirosław Bereźnicki
cena: 30 zł
Otrzymasz: plik biblioteki plik_ini.a
plik nagłówkowy plik_ini.hpp
instrukcję instalacji wraz z przykładami zastosowań w pliku pdf.
Przykładowy projekt test.dev, dzięki któremu możesz od razu sprawdzić działanie biblioteki
Plik licencji w pdf. Przed zakupem kliknij w link aby zapoznać się z licencją.
Uwagi: Biblioteka została przetestowana w środowisku DEV C++ działającym pod Windows. Zalecemy stosowanie jej w tym środowisku. Biblioteka powinna poprawnie działać także z innymi kompilatorami.

Projekt wykonany przez seweryn.info
Wszelkie prawa zastrzeżone.