Используя C#
, я создал программу, которая выполняет командную строку perl script
и записывает вывод в текстовый файл.Выходные данные ClearCase
, и было очень сложно разобраться, документации по плагину ClearCase не так много.
В любом случае, теперь я хотел бы пропустить файл и использовать только вывод из консоли ...
Вывод выглядит как
"\Directory\subDirectory\subsubDir\etc\dir\@@main\branch\version\4"
"\Directory\subDirectory\subsubDir\etc\dir\somefile.txt@@main\branch\version\3"
"\Directory\subDirectory\subsubDir\etc\dir\somefile.txt@@\branch\version\1"
I тогдахочу в основном загрузить это в tree view
.Таким образом, дерево отображается в виде списка каталогов ... которое можно сортировать, поэтому легко определить последнюю версию любого конкретного файла или каталога.
Одна проблема состоит в том, что существует несколько экземпляров одного и того же каталога ифайлы, так как каждая версия определенного файла считается, и могут быть разные ветви и версии ...
У меня проблема, потому что я только немного разбираюсь в C#
, и я не совсем понимаю, как загрузитьзатем массивы в массивах аккуратно переходят в dynamic tree view
(сохраняя свои ассоциации).
Большинство онлайн-примеров для представлений дерева, которые я нахожу, имеют жестко закодированные строки, а не динамические строки [].
У кого-нибудь есть такой опыт?Или знаете какие-нибудь хитрости?Я не могу решить, лучше ли использовать редактирование строк в Visual Studio для разделения каталогов или использовать regex
... Я позже (когда я это выясню) захочу повторно отправить эти данные в открытый регистр черезКомандная строка для автоматического извлечения этих связанных файлов ... но эта часть кажется проще с этой точки зрения ...
Я не могу опубликовать код, который у меня есть, только по замкнутому циклу lan.
Пример вида дерева, на котором я почесал голову, взят из DotNetPerls :
private void Form1_Load(object sender, EventArgs e)
{
//
// This is the first node in the view.
//
TreeNode treeNode = new TreeNode("Windows");
treeView1.Nodes.Add(treeNode);
//
// Another node following the first node.
//
treeNode = new TreeNode("Linux");
treeView1.Nodes.Add(treeNode);
//
// Create two child nodes and put them in an array.
// ... Add the third node, and specify these as its children.
//
TreeNode node2 = new TreeNode("C#");
TreeNode node3 = new TreeNode("VB.NET");
TreeNode[] array = new TreeNode[] { node2, node3 };
//
// Final node.
//
treeNode = new TreeNode("Dot Net Perls", array);
treeView1.Nodes.Add(treeNode);
и для массивов в дерево из D.Morton @ MSDN
public void AddTreeViewItem(string[] item)
{
TreeNodeCollection nodes = treeView1.Nodes;
for (int i = 0; i < item.Length; i++)
nodes = nodes.Find(item[i], false).Length > 0 ? nodes.Find(item[i], false)
[0]. Nodes : nodes.Add(item[i], item[i]).Nodes;
}