module main; import baussini; import std.stdio : writefln, readln; void main() { string fileName = "test.ini"; // Thread-safe instance, for a non thread-safe instance replace "true" with "false" auto ini = new IniFile!(true)(fileName); // Use open() for reading and close() for write. Both can be combined ... if (!ini.exists()) { ini.addSection("Root"); // Write way 1 ini.write!string("Root", "StringValue1", "Hello World!"); // Write way 2 ini.getSection("Root").write!int("IntValue1", 9001); // Write way 3 ini.getSection("Root") .write!string("StringValue2", "Hello Universe!") .write!int("IntValue2", 1000000); ini.close(); } else { ini.open(); // Read way 1 string stringValue1 = ini.read!string("Root", "StringValue1"); // Read way 2 int intValue1 = ini.getSection("Root").read!int("IntValue1"); // Read way 3 string stringValue2; int intValue2; ini.getSection("Root") .read!string("StringValue2", stringValue2) .read!int("IntValue2", intValue2); writefln("%s is %s", "stringValue1", stringValue1); writefln("%s is %s", "intValue1", intValue1); writefln("%s is %s", "stringValue2", stringValue2); writefln("%s is %s", "intValue2", intValue2); readln(); } }