using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
namespace AcadTest
{
public class ValidateSymbolNameTest
{
[CommandMethod("ValidateSymbolNameTest")]
public void RunCmd()
{
Document adoc = Application.DocumentManager.MdiActiveDocument;
Editor ed = adoc.Editor;
Database db = adoc.Database;
PromptResult stringRes = ed.GetString("\nEnter symbol name: ");
if (stringRes.Status != PromptStatus.OK) return;
string value = stringRes.StringResult;
PromptKeywordOptions kWordOpts = new PromptKeywordOptions("\nAllow vertical bar?: ");
kWordOpts.Keywords.Add("Yes");
kWordOpts.Keywords.Add("No");
kWordOpts.Message += kWordOpts.Keywords.GetDisplayString(true);
PromptResult res = ed.GetKeywords(kWordOpts);
if (res.Status != PromptStatus.OK)
return;
bool allowVerticalBar = res.StringResult == "Yes";
try
{
SymbolUtilityServices.ValidateSymbolName(value, allowVerticalBar);
ed.WriteMessage("\nSymbol name '{0}' is valid!", value);
}
catch
{
ed.WriteMessage("\nSymbol name '{0}' is not valid!", value);
}
}
}
}