Avatar
rrepin15
Člen
Avatar
rrepin15:

Ahoj, nemate nějakou radu na načtení a přepsání hodnoty v .ini souboru?

 
Odpovědět 17.7.2015 20:22
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na rrepin15
Jan Vargovský:

V C# se pracuje spíše s XML-based configy, pak na to máš už připravené třídy. Na ini soubory si budeš muset napsat něco sám nebo se koukni na nuget.

 
Nahoru Odpovědět 17.7.2015 20:25
Avatar
Odpovídá na rrepin15
Ondřej Štorc:

Jelikož INI se chová jako normální texťák tak s ním pracuj jako s normálním textovým souborem. Na Wikipedii máš napsaný v jakým formátu se v něm ty hodnoty uchovávají, tak si podle toho jen to naparsuj...

Nahoru Odpovědět  +1 17.7.2015 20:30
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
b.zguris
Člen
Avatar
b.zguris:

Vytvor si napr Ini.cs vlož kod

using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;

namespace Trefle
{
    public class IniFile
    {
        public string path;

        [DllImport("kernel32")]
        private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
        [DllImport("kernel32")]
        private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);

        public IniFile(string INIPath)
        {
            path = INIPath;
        }

        public void IniWriteValue(string Section, string Key, string Value)
        {
            WritePrivateProfileString(Section, Key, Value, this.path);
        }

        public string IniReadValue(string Section, string Key)
        {
            StringBuilder temp = new StringBuilder(255);
            int i = GetPrivateProfileString(Section, Key, "", temp, 255, this.path);
            return temp.ToString();
        }
    }
}

Naplnenie premennych z INI suboru

IniFile ini = new IniFile(".\\config.ini");     //ulozeny spolu s app v adresare
string uloz = ini.IniReadValue("Cesta k obrazkom zariadeni", "cesta");
 string uloz1 = ini.IniReadValue("System", "aktualizacia");
ini.IniWriteValue("Cesta k obrazkom zariadeni", "cesta","Toto nahradihodnotu v ini");
ini.IniWriteValue("System", "aktualizacia","Toto nahradihodnotu v ini");

Do ini suboru uloz polozku ako:
[Cesta k obrazkom zariadeni]
cesta= text ktory chces ulozit

[System]
aktualizacia=ano
...

 
Nahoru Odpovědět 30.7.2015 14:35
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.