public static string ReadLine(StreamReader sr, VarCollection vars) { string line = ""; while (true) { do //get a good line - not a comment or empty string { if (sr.Peek() != -1) { line = sr.ReadLine().Trim(); } else { return(null); } }while(line.Length == 0 || line[0] == '#'); if (line[0] == '$') //cache variable, get another line { int idx = line.IndexOf(':'); string var = line.Substring(0, idx); string val = vars.ParseVar(line.Substring(idx + 1)); vars[var] = val; } else //got a line { break; } } if (line.IndexOf("$") > 0) //replace any variables the line might have { line = vars.ParseVar(line); } return(line); }
public string ParseVar(string line) { foreach (string s in vars.Keys) { line = line.Replace(s, (string)vars[s]); } if (other != null) { return(other.ParseVar(line)); } return(line); }
public static string ReadLine(StreamReader sr,VarCollection vars) { string line = ""; while(true) { do //get a good line - not a comment or empty string { if(sr.Peek()!=-1) line = sr.ReadLine().Trim(); else return null; }while(line.Length==0 || line[0]=='#'); if(line[0]=='$') //cache variable, get another line { int idx = line.IndexOf(':'); string var = line.Substring(0,idx); string val = vars.ParseVar(line.Substring(idx+1)); vars[var]=val; } else //got a line break; } if(line.IndexOf("$")>0) //replace any variables the line might have line = vars.ParseVar(line); return line; }