BigLitho/Large.Lito.Database/Make3_Treko3D/ClassLibrary/Helper.cs

116 lines
3.5 KiB
C#

using System;
using System.IO;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ClassLibrary
{
public class Helper
{
public static bool IsValidPath(string path, bool allowRelativePaths = false)
{
bool isValid = true;
try
{
string fullPath = Path.GetFullPath(path);
if (allowRelativePaths)
{
isValid = Path.IsPathRooted(path);
}
else
{
string root = Path.GetPathRoot(path);
isValid = string.IsNullOrEmpty(root.Trim(new char[] { '\\', '/' })) == false;
}
}
catch (Exception ex)
{
isValid = false;
}
return isValid;
}
public static string CreateOutDir(string dirName)
{
string outDirName = dirName + "\\TEST\\";
bool isValid = IsValidPath(outDirName);
if (isValid == false)
return "";
try
{
if (!Directory.Exists(outDirName))
{
Directory.CreateDirectory(outDirName);
}
}
catch (Exception ex)
{
isValid = false;
MessageBox.Show(
ex.Message,
"Exception!",
//Resources.System_Error_Message_Title,
MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
return outDirName;
}
public static string FoundPicExt(string[] filesname)
{
string ext = "";
for (int i = 0; i < filesname.Length; i++)
{
if (Path.GetExtension(filesname[i]) == ".bmp" || Path.GetExtension(filesname[i]) == ".png" || Path.GetExtension(filesname[i]) == ".jpg" || Path.GetExtension(filesname[i]) == ".tif")
{
ext = Path.GetExtension(filesname[i]);
return ext;
}
}
return ext;
}
public static string[] LoadRakurseFiles(string path)
{
//string path = txtSourceFilePath.Text;
string[] _rakurseFiles = null;
try
{
// get the file attributes for file or directory
FileAttributes attr = File.GetAttributes(path);
if (attr.HasFlag(FileAttributes.Directory))
{
string[] filesname = Directory.GetFiles(path); //!!!!Nick
string ext = FoundPicExt(filesname); //!!!!Nick
ext = "*" + ext; //Path.GetExtension(filesname[2]); //!!!!Nick
var files = Directory.GetFiles(path, ext).ToList(); //!!!!Nick
//var files = Directory.GetFiles(path, "*.tif").ToList(); //.OrderBy(f => f.CreationTime);
files.Sort();
//txtNFilesSelected.Text = files.Count.ToString();
_rakurseFiles = new string[files.Count];
files.CopyTo(_rakurseFiles);
}
}
catch (Exception ex)
{
//this.ShowErrorMessage(ex);
}
return _rakurseFiles;
}
}
}