[NF] Kleine Verbesserung im INIReader
This commit is contained in:
parent
ad2d41dde0
commit
8b611dfcec
54
InIReader.cs
54
InIReader.cs
@ -10,7 +10,7 @@ namespace BlubbFish.Utils
|
|||||||
{
|
{
|
||||||
public class InIReader : IDisposable
|
public class InIReader : IDisposable
|
||||||
{
|
{
|
||||||
private Dictionary<String, Dictionary<String, String>> cont;
|
private Dictionary<String, Dictionary<String, String>> inifile;
|
||||||
private FileSystemWatcher k = new FileSystemWatcher(Directory.GetCurrentDirectory(), "*.ini");
|
private FileSystemWatcher k = new FileSystemWatcher(Directory.GetCurrentDirectory(), "*.ini");
|
||||||
private String filename;
|
private String filename;
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ namespace BlubbFish.Utils
|
|||||||
|
|
||||||
private void LoadFile()
|
private void LoadFile()
|
||||||
{
|
{
|
||||||
this.cont = new Dictionary<String, Dictionary<String, String>>();
|
this.inifile = new Dictionary<String, Dictionary<String, String>>();
|
||||||
StreamReader file = new StreamReader(this.filename);
|
StreamReader file = new StreamReader(this.filename);
|
||||||
List<String> buf = new List<String>();
|
List<String> buf = new List<String>();
|
||||||
String fline = "";
|
String fline = "";
|
||||||
@ -55,7 +55,7 @@ namespace BlubbFish.Utils
|
|||||||
Match match = Regex.Match(line, @"^\[[a-zA-ZäöüÄÖÜ0-9\-_ ]+\]\w*$", RegexOptions.IgnoreCase);
|
Match match = Regex.Match(line, @"^\[[a-zA-ZäöüÄÖÜ0-9\-_ ]+\]\w*$", RegexOptions.IgnoreCase);
|
||||||
if (match.Success) {
|
if (match.Success) {
|
||||||
if (sub.Count != 0 && cap != "") {
|
if (sub.Count != 0 && cap != "") {
|
||||||
this.cont.Add(cap, sub);
|
this.inifile.Add(cap, sub);
|
||||||
}
|
}
|
||||||
cap = line;
|
cap = line;
|
||||||
sub = new Dictionary<String, String>();
|
sub = new Dictionary<String, String>();
|
||||||
@ -68,21 +68,29 @@ namespace BlubbFish.Utils
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (sub.Count != 0 && cap != "") {
|
if (sub.Count != 0 && cap != "") {
|
||||||
this.cont.Add(cap, sub);
|
this.inifile.Add(cap, sub);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> GetSections()
|
public List<String> GetSections(Boolean withBrackets = true)
|
||||||
{
|
{
|
||||||
return this.cont.Keys.ToList();
|
if(withBrackets) {
|
||||||
|
return this.inifile.Keys.ToList();
|
||||||
|
} else {
|
||||||
|
List<String> ret = new List<String>();
|
||||||
|
foreach (String item in this.inifile.Keys) {
|
||||||
|
ret.Add(item.Substring(1, item.Length - 2));
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Dictionary<String, String> GetSection(String section) {
|
public Dictionary<String, String> GetSection(String section) {
|
||||||
if(this.cont.Keys.Contains(section)) {
|
if(this.inifile.Keys.Contains(section)) {
|
||||||
return this.cont[section];
|
return this.inifile[section];
|
||||||
}
|
}
|
||||||
if(this.cont.Keys.Contains("["+section+"]")) {
|
if(this.inifile.Keys.Contains("["+section+"]")) {
|
||||||
return this.cont["[" + section + "]"];
|
return this.inifile["[" + section + "]"];
|
||||||
}
|
}
|
||||||
return new Dictionary<String, String>();
|
return new Dictionary<String, String>();
|
||||||
}
|
}
|
||||||
@ -92,9 +100,9 @@ namespace BlubbFish.Utils
|
|||||||
if (!section.StartsWith("[")) {
|
if (!section.StartsWith("[")) {
|
||||||
section = "[" + section + "]";
|
section = "[" + section + "]";
|
||||||
}
|
}
|
||||||
if (this.cont.Keys.Contains(section)) {
|
if (this.inifile.Keys.Contains(section)) {
|
||||||
if (this.cont[section].Keys.Contains(key)) {
|
if (this.inifile[section].Keys.Contains(key)) {
|
||||||
return this.cont[section][key];
|
return this.inifile[section][key];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
@ -106,17 +114,17 @@ namespace BlubbFish.Utils
|
|||||||
if (!section.StartsWith("[")) {
|
if (!section.StartsWith("[")) {
|
||||||
section = "[" + section + "]";
|
section = "[" + section + "]";
|
||||||
}
|
}
|
||||||
if (this.cont.Keys.Contains(section)) {
|
if (this.inifile.Keys.Contains(section)) {
|
||||||
if (this.cont[section].Keys.Contains(key)) {
|
if (this.inifile[section].Keys.Contains(key)) {
|
||||||
this.cont[section][key] = value;
|
this.inifile[section][key] = value;
|
||||||
} else {
|
} else {
|
||||||
this.cont[section].Add(key, value);
|
this.inifile[section].Add(key, value);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Dictionary<String, String> sub = new Dictionary<String, String> {
|
Dictionary<String, String> sub = new Dictionary<String, String> {
|
||||||
{ key, value }
|
{ key, value }
|
||||||
};
|
};
|
||||||
this.cont.Add(section, sub);
|
this.inifile.Add(section, sub);
|
||||||
}
|
}
|
||||||
this.Changed();
|
this.Changed();
|
||||||
}
|
}
|
||||||
@ -135,7 +143,7 @@ namespace BlubbFish.Utils
|
|||||||
file.BaseStream.SetLength(0);
|
file.BaseStream.SetLength(0);
|
||||||
file.BaseStream.Flush();
|
file.BaseStream.Flush();
|
||||||
file.BaseStream.Seek(0, SeekOrigin.Begin);
|
file.BaseStream.Seek(0, SeekOrigin.Begin);
|
||||||
foreach (KeyValuePair<String, Dictionary<String, String>> cap in this.cont) {
|
foreach (KeyValuePair<String, Dictionary<String, String>> cap in this.inifile) {
|
||||||
file.WriteLine(cap.Key);
|
file.WriteLine(cap.Key);
|
||||||
foreach (KeyValuePair<String, String> sub in cap.Value) {
|
foreach (KeyValuePair<String, String> sub in cap.Value) {
|
||||||
file.WriteLine(sub.Key + "=" + sub.Value);
|
file.WriteLine(sub.Key + "=" + sub.Value);
|
||||||
@ -156,10 +164,10 @@ namespace BlubbFish.Utils
|
|||||||
if (!name.StartsWith("[")) {
|
if (!name.StartsWith("[")) {
|
||||||
name = "[" + name + "]";
|
name = "[" + name + "]";
|
||||||
}
|
}
|
||||||
if (this.cont.Keys.Contains(name)) {
|
if (this.inifile.Keys.Contains(name)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
this.cont.Add(name, new Dictionary<String, String>());
|
this.inifile.Add(name, new Dictionary<String, String>());
|
||||||
this.Changed();
|
this.Changed();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -174,10 +182,10 @@ namespace BlubbFish.Utils
|
|||||||
if (!name.StartsWith("[")) {
|
if (!name.StartsWith("[")) {
|
||||||
name = "[" + name + "]";
|
name = "[" + name + "]";
|
||||||
}
|
}
|
||||||
if (!this.cont.Keys.Contains(name)) {
|
if (!this.inifile.Keys.Contains(name)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
this.cont.Remove(name);
|
this.inifile.Remove(name);
|
||||||
this.Changed();
|
this.Changed();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("Utils")]
|
[assembly: AssemblyProduct("Utils")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2014 - 24.09.2017")]
|
[assembly: AssemblyCopyright("Copyright © 2014 - 25.09.2017")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
||||||
// übernehmen, indem Sie "*" eingeben:
|
// übernehmen, indem Sie "*" eingeben:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.0.5.1")]
|
[assembly: AssemblyVersion("1.0.5.2")]
|
||||||
[assembly: AssemblyFileVersion("1.0.5.1")]
|
[assembly: AssemblyFileVersion("1.0.5.2")]
|
||||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user