pascalabcnet/ParserTools/Tools.cs
Бондарев Иван e6e67c193c initial commit
2015-05-14 21:35:07 +02:00

63 lines
2 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace PascalABCCompiler
{
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(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 class FormatTools
{
public static string ExtensionsToString(string[] Extensions,string Mask,string Delimer)
{
string res = "";
for (int i = 0; i < Extensions.Length; i++)
{
res += Mask+Extensions[i];
if (i != Extensions.Length - 1)
res += Delimer;
}
return res;
}
public static string ObjectsToString(object[] Objects, string Delimer)
{
string res = "";
for (int i = 0; i < Objects.Length; i++)
{
res += Objects[i].ToString();
if (i != Objects.Length - 1)
res += Delimer;
}
return res;
}
}
}