NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
rrepin15
Člen
Avatar
rrepin15:17.7.2015 20:22

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ý
Tvůrce
Avatar
Odpovídá na rrepin15
Jan Vargovský:17.7.2015 20:25

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
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na rrepin15
Ondřej Štorc:17.7.2015 20:30

Jelikož INI se chová jako normální texťák tak s ním pracuj jako s normálním textovým souborem. Na <a href="https:/­/en.wikipedia­.org/wiki/INI_fi­le#Keys_.28pro­perties.29">Wi­kipedii</a> 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
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:30.7.2015 14:35

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.