ParseVar() public method

public ParseVar ( string line ) : string
line string
return string
Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
		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;
		}