using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
namespace ExportMap.cs
{
public class TBUtils
{
///
/// 获取源目录
///
public static string SourcesPath
{
get
{
return Path.Combine(Tools.BaseDir, "TerraBuilder");
}
}
///
/// 获取时间客串
///
public static string GetTime
{
get
{
return DateTime.Now.ToString("yyyyMMddhhmmss");
}
}
///
/// Mpt路径
///
public static string MptPath
{
get
{
return Tools.GetSetting("mpt");
}
}
///
/// 创建MPT
///
public static string CreateMpt(string path, ref string err)
{
string tbp = null;
try
{
tbp = GetNewTbp();
return null;
}
catch (Exception ex)
{
LogOut.Error(ex.Message + "\r\n" + ex.StackTrace);
err = ex.Message;
return null;
}
finally
{
if (tbp != null && File.Exists(tbp)) File.Delete(tbp);
}
}
///
/// 获取新Tbp文件
///
private static string GetNewTbp()
{
string tbp = Path.Combine(SourcesPath, "tb.tbp");
string newTbp = Path.Combine(SourcesPath, GetTime + ".tbp");
File.Copy(tbp, newTbp);
return newTbp;
}
///
/// 获取新JS
///
private static string GetNewJs(string tbp, string shp, string img, string dem)
{
string js = Path.Combine(SourcesPath, "template.js");
string str = File.ReadAllText(js);
str = str.Replace("{tbp}", tbp)
.Replace("{shp}", shp)
.Replace("{img}", img)
.Replace("{dem}", dem)
.Replace("\\", "\\\\");
string newJs = Path.Combine(SourcesPath, GetTime + ".js");
File.WriteAllText(newJs, str);
return newJs;
}
///
/// 重启TB程序
///
private static void ReloadTB()
{
List list = new List();
list.Add("taskkill /f /t /im TerraBuilder.exe");
list.Add("taskkill /f /t /im TBFuser.exe");
list.Add("start /d \"C:\\Program Files\\Skyline\\TerraBuilder Fuser\" TBFuser.exe");
Tools.ExecCmd(list, false);
}
}
}