Forum » Programiranje » Problem z INI datoteko
Problem z INI datoteko
KernelPanic ::
Spoptovani!
Imam težavo z ini datoteko, ki vsebuje informacije o aplikacijo, ki jo pišem za podjetje, v katerem delam. Namreč, v tej datoteki so zapečeni parametri za "rokovanje" z serijskim portom ter podatki za povezovanje z bazo podatkov. Koda je sledeča:
S spostovanjem,
M.
Imam težavo z ini datoteko, ki vsebuje informacije o aplikacijo, ki jo pišem za podjetje, v katerem delam. Namreč, v tej datoteki so zapečeni parametri za "rokovanje" z serijskim portom ter podatki za povezovanje z bazo podatkov. Koda je sledeča:
//// **** SERIAL PORT PARAMETERS READ this.m_ConfigurationFile = new Ini.IniFile(AccuLoadIIIMonitor.FactorySettings.IniFile.SETTINGS_FILE_NAME); FileInfo fi = new FileInfo(this.m_ConfigurationFile.path.ToString()); this.m_strComPort = this.m_ConfigurationFile.IniReadValue(AccuLoadIIIMonitor.FactorySettings.IniFile.SECTION_SERIAL_PORT, AccuLoadIIIMonitor.FactorySettings.IniFile.KEY_SP_NAME); this.m_strBaudRate = this.m_ConfigurationFile.IniReadValue(AccuLoadIIIMonitor.FactorySettings.IniFile.SECTION_SERIAL_PORT, AccuLoadIIIMonitor.FactorySettings.IniFile.KEY_SP_BAUDRATE); this.m_strDataBits = this.m_ConfigurationFile.IniReadValue(AccuLoadIIIMonitor.FactorySettings.IniFile.SECTION_SERIAL_PORT, AccuLoadIIIMonitor.FactorySettings.IniFile.KEY_SP_DATABITS); this.m_strParity = this.m_ConfigurationFile.IniReadValue(AccuLoadIIIMonitor.FactorySettings.IniFile.SECTION_SERIAL_PORT, AccuLoadIIIMonitor.FactorySettings.IniFile.KEY_SP_PARITY); this.m_strStopBits = this.m_ConfigurationFile.IniReadValue(AccuLoadIIIMonitor.FactorySettings.IniFile.SECTION_SERIAL_PORT, AccuLoadIIIMonitor.FactorySettings.IniFile.KEY_SP_STOPBITS); // **** END OF SERIAL PORT PARAMETERS READFileInfo mi potrdi, da odpiram pravo datoteko (to je bil moj prvi sum), nato so pa stringi prazni. Vsebina INI datoteke je sledeča:
[SERIALPORT]Na koncu dodajam se class, ki skrbi za INI datoteke:
Name=COM3
BaudRate=38400
DataBits=8
StopBits=1
Parity=N
using System; using System.Runtime.InteropServices; using System.Text; namespace Ini { /// <summary> /// Create a New INI file to store or load data /// </summary> 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); /// <summary> /// INIFile Constructor. /// </summary> /// <PARAM name="INIPath"></PARAM> public IniFile(string INIPath) { path = INIPath; } /// <summary> /// Write Data to the INI File /// </summary> /// <PARAM name="Section"></PARAM> /// Section name /// <PARAM name="Key"></PARAM> /// Key Name /// <PARAM name="Value"></PARAM> /// Value Name public void IniWriteValue(string Section, string Key, string Value) { WritePrivateProfileString(Section, Key, Value, this.path); } /// <summary> /// Read Data Value From the Ini File /// </summary> /// <PARAM name="Section"></PARAM> /// <PARAM name="Key"></PARAM> /// <PARAM name="Path"></PARAM> /// <returns></returns> public string IniReadValue(string Section, string Key) { StringBuilder temp = new StringBuilder(255); int i = GetPrivateProfileString(Section, Key, "", temp, 255, this.path); return temp.ToString(); } } }Mi lahko kdo pomaga, zakaj v kodi dobim prazne stringe namesto vrednosti za povezavo z serijskim portom?
S spostovanjem,
M.
Vesoljc ::
ce das v GetPrivateProfileString namesto "" tole "lalalalala" dobis ta string v tempu? kolk je pa i?
Abnormal behavior of abnormal brain makes me normal...
KernelPanic ::
ce das v GetPrivateProfileString namesto "" tole "lalalalala" dobis ta string v tempu? kolk je pa i?Hvala za napotek, zelo je bil koristen, odpravil sem hroscka. Namrec, v fileinfo sem sicer dobil pravilno pot, v konstruktor ini file objekta sem pa rinil samo filename, brez trenutne poti aplikacije in zato iskanih vrednosti ni nasel. Bumbar jaz.
Hvala vsem za pomoc in se slisimo ob naslednjem problemu, potem bo pa treba pocasi dat za gajbo pira. (ko gre zena k starsem za 14 dni )
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [c#] Vprašanje glede release verzije aplikacijeOddelek: Programiranje | 1501 (1325) | Ericssony |
» | Vprasanje glede Visual Studio 2010 Ultimate - vec projektov v solution-uOddelek: Programiranje | 668 (547) | Vesoljc |
» | Tezava pri instanciranju class-aOddelek: Programiranje | 1304 (1175) | KernelPanic |
» | [VC++] Uporaba INI fajla v isti mapi kot exe ?Oddelek: Programiranje | 1263 (1117) | Person |
» | Nalaganje nastavitev iz tekstovne datoteke [vodič]Oddelek: Programiranje | 1028 (871) | Vesoljc |