Update client OPC-UA con export testuale dei nodi trovati

This commit is contained in:
Samuele Locatelli
2022-03-31 17:09:29 +02:00
parent 3389b60956
commit a259692d62
6 changed files with 66 additions and 25 deletions
@@ -109,6 +109,13 @@ namespace Opc.Ua.Client.Controls
{
AttributesLV.Items.Clear();
// effettua check preliminarei folder out...
string outPath = Path.Combine(Directory.GetCurrentDirectory(), "trace");
string expFile = Path.Combine(outPath, $"{nodeId}.txt".Replace("=", "_").Replace(";", "_"));
Directory.CreateDirectory(outPath);
StringBuilder sb = new StringBuilder();
if (NodeId.IsNull(nodeId))
{
return;
@@ -177,6 +184,17 @@ namespace Opc.Ua.Client.Controls
// display in list.
AttributesLV.Items.Add(item);
// accoda in scrittura
StringBuilder sbr = new StringBuilder();
foreach (var sItem in item.SubItems)
{
var currItem = sItem.ToString();
sbr.Append($" | {currItem.Replace("ListViewSubItem: ", "").Replace("{", "").Replace("}", "")}");
}
// sistemo la riga...
string newRow = $"{sbr}";
sb.AppendLine(newRow.Substring(3, newRow.Length - 3));
}
if (showProperties)
@@ -190,15 +208,7 @@ namespace Opc.Ua.Client.Controls
AttributesLV.Columns[ii].Width = -2;
}
// effettua print proprietà...
string outPath = Path.Combine(Directory.GetCurrentDirectory(), "hist");
string expFile = Path.Combine(outPath, $"{nodeId}.txt".Replace("=", "_").Replace(";", "_"));
Directory.CreateDirectory(outPath);
StringBuilder sb = new StringBuilder();
foreach (var item in AttributesLV.Items)
{
sb.AppendLine($"{item}");
}
// export finale su file proprietà...
string nodeData = sb.ToString();
File.WriteAllText(expFile, nodeData);
}
@@ -180,6 +180,14 @@ namespace Opc.Ua.Client.Controls
add { BrowseCTRL.AfterSelect += value; }
remove { BrowseCTRL.AfterSelect -= value; }
}
/// <summary>
/// effettua espansione di ogni nodo dell'albero
/// </summary>
public void expandAll()
{
BrowseCTRL.expandAll();
}
#endregion
#region Private Methods
@@ -88,6 +88,7 @@ namespace Opc.Ua.Client.Controls
this.BrowseTV.TabIndex = 2;
this.BrowseTV.BeforeExpand += new System.Windows.Forms.TreeViewCancelEventHandler(this.BrowseTV_BeforeExpand);
this.BrowseTV.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.BrowseTV_AfterSelect);
this.BrowseTV.AfterExpand += new System.Windows.Forms.TreeViewEventHandler(this.BrowseTV_AfterSelect);
//
// BrowseTreeViewCtrl
//
@@ -188,6 +188,12 @@ namespace Opc.Ua.Client.Controls
}
}
public void expandAll()
{
// parto dal primo nodo...
BrowseTV.SelectedNode.ExpandAll();
}
/// <summary>
/// Returns the child node at the specified index.
/// </summary>
+26 -16
View File
@@ -70,12 +70,13 @@ namespace Quickstarts.ReferenceClient
this.HelpMI = new System.Windows.Forms.ToolStripMenuItem();
this.Help_ContentsMI = new System.Windows.Forms.ToolStripMenuItem();
this.StatusBar = new System.Windows.Forms.StatusStrip();
this.toolStripProgressBar1 = new System.Windows.Forms.ToolStripProgressBar();
this.tsslAppVers = new System.Windows.Forms.ToolStripStatusLabel();
this.ConnectServerCTRL = new Opc.Ua.Client.Controls.ConnectServerCtrl();
this.BrowseCTRL = new Opc.Ua.Client.Controls.BrowseNodeCtrl();
this.clientHeaderBranding1 = new Opc.Ua.Client.Controls.HeaderBranding();
this.tsslAppVers = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripProgressBar1 = new System.Windows.Forms.ToolStripProgressBar();
this.timerUI = new System.Windows.Forms.Timer(this.components);
this.scanDataToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.MenuBar.SuspendLayout();
this.StatusBar.SuspendLayout();
this.SuspendLayout();
@@ -95,7 +96,8 @@ namespace Quickstarts.ReferenceClient
// fileToolStripMenuItem
//
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.exitToolStripMenuItem});
this.exitToolStripMenuItem,
this.scanDataToolStripMenuItem});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
this.fileToolStripMenuItem.Text = "&File";
@@ -103,7 +105,7 @@ namespace Quickstarts.ReferenceClient
// exitToolStripMenuItem
//
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
this.exitToolStripMenuItem.Size = new System.Drawing.Size(93, 22);
this.exitToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.exitToolStripMenuItem.Text = "E&xit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.ExitToolStripMenuItem_Click);
//
@@ -120,21 +122,21 @@ namespace Quickstarts.ReferenceClient
// Server_DiscoverMI
//
this.Server_DiscoverMI.Name = "Server_DiscoverMI";
this.Server_DiscoverMI.Size = new System.Drawing.Size(133, 22);
this.Server_DiscoverMI.Size = new System.Drawing.Size(180, 22);
this.Server_DiscoverMI.Text = "Discover...";
this.Server_DiscoverMI.Click += new System.EventHandler(this.Server_DiscoverMI_Click);
//
// Server_ConnectMI
//
this.Server_ConnectMI.Name = "Server_ConnectMI";
this.Server_ConnectMI.Size = new System.Drawing.Size(133, 22);
this.Server_ConnectMI.Size = new System.Drawing.Size(180, 22);
this.Server_ConnectMI.Text = "Connect";
this.Server_ConnectMI.Click += new System.EventHandler(this.Server_ConnectMI_Click);
//
// Server_DisconnectMI
//
this.Server_DisconnectMI.Name = "Server_DisconnectMI";
this.Server_DisconnectMI.Size = new System.Drawing.Size(133, 22);
this.Server_DisconnectMI.Size = new System.Drawing.Size(180, 22);
this.Server_DisconnectMI.Text = "Disconnect";
this.Server_DisconnectMI.Click += new System.EventHandler(this.Server_DisconnectMI_Click);
//
@@ -163,6 +165,17 @@ namespace Quickstarts.ReferenceClient
this.StatusBar.Size = new System.Drawing.Size(884, 22);
this.StatusBar.TabIndex = 2;
//
// toolStripProgressBar1
//
this.toolStripProgressBar1.Name = "toolStripProgressBar1";
this.toolStripProgressBar1.Size = new System.Drawing.Size(100, 16);
//
// tsslAppVers
//
this.tsslAppVers.Name = "tsslAppVers";
this.tsslAppVers.Size = new System.Drawing.Size(12, 17);
this.tsslAppVers.Text = "-";
//
// ConnectServerCTRL
//
this.ConnectServerCTRL.Configuration = null;
@@ -211,16 +224,12 @@ namespace Quickstarts.ReferenceClient
this.clientHeaderBranding1.Size = new System.Drawing.Size(884, 75);
this.clientHeaderBranding1.TabIndex = 7;
//
// tsslAppVers
// scanDataToolStripMenuItem
//
this.tsslAppVers.Name = "tsslAppVers";
this.tsslAppVers.Size = new System.Drawing.Size(12, 17);
this.tsslAppVers.Text = "-";
//
// toolStripProgressBar1
//
this.toolStripProgressBar1.Name = "toolStripProgressBar1";
this.toolStripProgressBar1.Size = new System.Drawing.Size(100, 16);
this.scanDataToolStripMenuItem.Name = "scanDataToolStripMenuItem";
this.scanDataToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.scanDataToolStripMenuItem.Text = "&Scan Data";
this.scanDataToolStripMenuItem.Click += new System.EventHandler(this.scanDataToolStripMenuItem_Click);
//
// MainForm
//
@@ -263,5 +272,6 @@ namespace Quickstarts.ReferenceClient
private System.Windows.Forms.ToolStripProgressBar toolStripProgressBar1;
private System.Windows.Forms.ToolStripStatusLabel tsslAppVers;
private System.Windows.Forms.Timer timerUI;
private System.Windows.Forms.ToolStripMenuItem scanDataToolStripMenuItem;
}
}
@@ -222,5 +222,11 @@ namespace Quickstarts.ReferenceClient
}
#endregion Private Methods
private void scanDataToolStripMenuItem_Click(object sender, EventArgs e)
{
// effettua selezione di ogni nodo dell'albero x esportare...
BrowseCTRL.expandAll();
}
}
}