33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
|
|
using System.IO;
|
|||
|
|
|
|||
|
|
namespace PascalABCCompiler.CoreUtils
|
|||
|
|
{
|
|||
|
|
public enum SourceFileOperation
|
|||
|
|
{
|
|||
|
|
GetText, GetLastWriteTime, Exists, FileEncoding
|
|||
|
|
}
|
|||
|
|
public delegate object SourceFilesProviderDelegate(string FileName, SourceFileOperation FileOperation);
|
|||
|
|
public static class SourceFilesProviders
|
|||
|
|
{
|
|||
|
|
public static object DefaultSourceFilesProvider(string FileName, SourceFileOperation FileOperation)
|
|||
|
|
{
|
|||
|
|
switch (FileOperation)
|
|||
|
|
{
|
|||
|
|
case SourceFileOperation.GetText:
|
|||
|
|
if (!File.Exists(FileName)) return null;
|
|||
|
|
/*TextReader tr = new StreamReader(file_name, System.Text.Encoding.GetEncoding(1251));
|
|||
|
|
//TextReader tr = new StreamReader(file_name, 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;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|