EqDoc
Never
/// <summary> /// /// </summary> public class EqDoc { /// <summary> /// Имя /// </summary> string _name = null; /// <summary> /// Значение. /// </summary> string _val = null; ArrayList childrenList = new ArrayList(); SortedList children = new SortedList(); public EqDoc() { } public EqDoc(string name, string val) { _name = name; _val = val; } public EqDoc(string filename) { this.filename = filename; read1(filename); } public XmlDoc xmlData; public string sData; string filename; public XmlDoc read(string name) { string text = IO.getFile(filename); sData = Format.stripComments(text); ArrayList blocks = Format.parseEqBlocks(sData); xmlData = new XmlDoc(); XmlNode root = xmlData.insertNode("/", name); for(int i=0; i<blocks.Count; i++) { string[] block = (string[])blocks[i]; if (block[0]=="") continue; string res=block[0]; xmlData.insertNode("/*", Format.replaceSymbols(res), Format.replaceSymbols(block[1])); } return xmlData; } public EqDoc read1(string filename) { //Кривовато, но пока покатит... И пока не и разу не сбоила... string text = IO.getFile(filename); while (text==null) { Console.WriteLine("Can't Read Settings File " + filename); System.Threading.Thread.Sleep(1000); text = IO.getFile(filename); } string sData = Format.stripComments(text); ArrayList sblocks = Format.parseSquareBlocks1(sData); bool first; first = true; foreach(string[] sblock in sblocks) { EqDoc block = new EqDoc(sblock[0], ""); ArrayList lines = Format.parseEqLines(sblock[1]); foreach(string[] line in lines) { string entryName = (string)line[0]; EqDoc entry= new EqDoc(entryName, (string)line[1]); if(first) this.addChild(entry); else block.addChild(entry); } if(!first) addChild(block); first = false; } return this; } /// <summary> /// Возвращает имя /// </summary> public string name { get { return _name; } } /// <summary> /// Возвращает значение как string /// </summary> public string s { get { try { if (this == null) return ""; return _val; } catch (Exception) { return ""; } } } /// <summary> /// Возвращает значение как int /// </summary> public int i { get { return System.Convert.ToInt32(_val); } } /// <summary> /// Возвращает значение как float /// </summary> public double f { get { if (_val.IndexOf(",")>=0 && CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator==".") _val=_val.Replace(",","."); else if (_val.IndexOf(".")>=0 && CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator==",") _val=_val.Replace(".",","); return System.Convert.ToDouble(_val); } } public float f_1 { get { if (_val.IndexOf(",")>=0 && CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator==".") _val=_val.Replace(",","."); else if (_val.IndexOf(".")>=0 && CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator==",") _val=_val.Replace(".",","); return (float)System.Convert.ToDouble(_val); } } /// <summary> /// Возвращает значение как float /// </summary> public bool b { get { return System.Convert.ToBoolean(_val); } } /// <summary> /// Добавление подэлемента /// </summary> public void addChild(EqDoc child) { string childName = child.name; if(!children.Contains(childName)) children[childName] = new ArrayList(); ((ArrayList)children[childName]).Add(child); childrenList.Add(child); } /// <summary> /// Возвращает блок по имени /// </summary> public ArrayList block(string name) { return (ArrayList)children[name]; } /// <summary> /// Возвращает элемент по имени /// </summary> public EqDoc this[string entryName] { get { try { return (EqDoc)(((ArrayList)children[entryName])[0]); } catch (Exception) { Console.WriteLine("Warning option not found "+entryName); return null; } } } /// <summary> /// Возвращает элемент по имени и порядковому номеру /// </summary> public EqDoc this[string entryName, int num] { get { return (EqDoc)(((ArrayList)children[entryName])[num]); } } }
Raw Text
-
Sugar Defender Tom Green
10 min ago
-
ygbyhgytrgfytrgfrtfg
11 min ago
-
FIST4K. Curious nymph tries fisting during affair with BF in living room
17 min ago
-
Makers CBD Gummies Reviews
20 min ago
-
Life Boost CBD Gummies - FACTS, SCAM UPDATED PRICE 2024
20 min ago
-
https://www.facebook.com/CerebrozenReviews/
47 min ago
-
Happy holiday, dear ladies!
47 min ago
-
No Deposit Bonus
48 min ago
-
Adult Telegram Channels
50 min ago
-
Fitspresso Reviews – PRICE ALERT (Hoax Or Real) Fitspresso Coffee Loophole Expert In Weight Loss?
52 min ago