示例#1
0
        public static object DefaultSourceFilesProvider(string FileName, SourceFileOperation FileOperation)
        {
            switch (FileOperation)
            {
            case SourceFileOperation.GetText:
                if (!File.Exists(FileName))
                {
                    return(null);
                }

                /*TextReader tr = new StreamReader(FileName, System.Text.Encoding.GetEncoding(1251));
                 * //TextReader tr = new StreamReader(FileName, System.Text.Encoding.);
                 * string Text = tr.ReadToEnd();
                 * tr.Close();*/
                string Text = FileReader.ReadFileContent(FileName, null);
                return(Text);

            case SourceFileOperation.Exists:
                return(File.Exists(FileName));

            case SourceFileOperation.GetLastWriteTime:
                return(File.GetLastWriteTime(FileName));
            }
            return(null);
        }
示例#2
0
 public static object DefaultSourceFilesProvider(string FileName, SourceFileOperation FileOperation)
 {
     switch (FileOperation)
     {
         case SourceFileOperation.GetText:
             if (!File.Exists(FileName)) return null;
             TextReader tr = new StreamReader(FileName, System.Text.Encoding.GetEncoding(1251));
             //TextReader tr = new StreamReader(FileName, System.Text.Encoding.);
             string Text = tr.ReadToEnd();
             tr.Close();
             return Text;
         case SourceFileOperation.Exists:
             return File.Exists(FileName);
         case SourceFileOperation.GetLastWriteTime:
             return File.GetLastWriteTime(FileName);
     }
     return null;
 }
 public object SourceFilesProvider(string FileName, SourceFileOperation FileOperation)
 {
     string fn = FileName.ToLower();
     int command=0;
     string arg=null;
     switch (FileOperation)
     {
         case SourceFileOperation.GetText:
             
             if (SourceFiles.ContainsKey(fn))
                 return SourceFiles[fn].Text;
             string text = getFileText(FileName);
             if (text != null)
                 return text;
             if (!File.Exists(FileName))
                 return null;
             /*TextReader tr = new StreamReader(FileName, System.Text.Encoding.GetEncoding(1251));
             text = tr.ReadToEnd();
             tr.Close();*/
             text = PascalABCCompiler.FileReader.ReadFileContent(FileName, null);
             return text;
         case SourceFileOperation.Exists:
             if (SourceFiles.ContainsKey(fn))
                 return true;
             SendCommand(ConsoleCompilerConstants.FileExsist, FileName);
             ReadCommand(out command, out arg);
             bool b = Convert.ToBoolean(arg);
             if (!b)
                 return File.Exists(fn);
             else
                 return true;
         case SourceFileOperation.GetLastWriteTime:
             if (SourceFiles.ContainsKey(fn))
                 return SourceFiles[fn].LastWriteTime;
             SendCommand(ConsoleCompilerConstants.GetLastWriteTime, FileName);
             ReadCommand(out command, out arg);
             if (arg != null)
                 return new DateTime(Convert.ToInt64(arg));
             return File.GetLastWriteTime(FileName);
     }
     return null;
 }
        public object SourceFilesProvider(string FileName, SourceFileOperation FileOperation)
        {
            string fn      = FileName.ToLower();
            int    command = 0;
            string arg     = null;

            switch (FileOperation)
            {
            case SourceFileOperation.GetText:

                if (SourceFiles.ContainsKey(fn))
                {
                    return(SourceFiles[fn].Text);
                }
                string text = getFileText(FileName);
                if (text != null)
                {
                    return(text);
                }
                if (!File.Exists(FileName))
                {
                    return(null);
                }

                /*TextReader tr = new StreamReader(FileName, System.Text.Encoding.GetEncoding(1251));
                 * text = tr.ReadToEnd();
                 * tr.Close();*/
                text = PascalABCCompiler.FileReader.ReadFileContent(FileName, null);
                return(text);

            case SourceFileOperation.Exists:
                if (SourceFiles.ContainsKey(fn))
                {
                    return(true);
                }
                SendCommand(ConsoleCompilerConstants.FileExsist, FileName);
                ReadCommand(out command, out arg);
                bool b = Convert.ToBoolean(arg);
                if (!b)
                {
                    return(File.Exists(fn));
                }
                else
                {
                    return(true);
                }

            case SourceFileOperation.GetLastWriteTime:
                if (SourceFiles.ContainsKey(fn))
                {
                    return(SourceFiles[fn].LastWriteTime);
                }
                SendCommand(ConsoleCompilerConstants.GetLastWriteTime, FileName);
                ReadCommand(out command, out arg);
                if (arg != null)
                {
                    return(new DateTime(Convert.ToInt64(arg)));
                }
                return(File.GetLastWriteTime(FileName));
            }
            return(null);
        }