using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using OnDoc.Klassen; using Syncfusion.Windows.Forms.Grid; using Syncfusion.Windows.Forms.Tools; using Syncfusion.WinForms.Controls; using System.Xml; using System.IO; using System.Configuration; using System.Xml.Linq; using Syncfusion.Compression.Zip; using static System.Net.Mime.MediaTypeNames; using System.Diagnostics; using Microsoft.Office.Interop.Word; namespace OnDoc.Diverses { public partial class NativVorlagen : SfForm { private int TotalKlassifizierung = 0; public NativVorlagen() { InitializeComponent(); this.Style.TitleBar.BackColor = Theaming.Titelbar(); this.Style.TitleBar.ForeColor = Theaming.TitelFontColor(); } private void NativVorlagen_Load(object sender, EventArgs e) { string line = ""; int i = 1; StreamReader sr = new StreamReader(Properties.Settings.Default.NativVorlagen+@"\klassifizierung.txt"); line = sr.ReadLine(); while (line != null) { RadioButton rb = new RadioButton(); rb.Name = "rb"+i.ToString(); rb.Text = line; rb.Left = label1.Left; rb.Top = label1.Top + (i*25); rb.Width = 180; i++; this.Controls.Add(rb); line = sr.ReadLine(); } sr.Close(); TotalKlassifizierung = i - 1; string ext = ""; DirectoryInfo directoryInfo = new DirectoryInfo(Properties.Settings.Default.NativVorlagen); if (directoryInfo.Exists) { try { TreeNode root = new TreeNode(); root.Text = "Vorlagen"; root.ImageIndex = 3; root.SelectedImageIndex = 3; treeView.Nodes.Add(root); DirectoryInfo[] directories = directoryInfo.GetDirectories(); foreach (FileInfo file in directoryInfo.GetFiles()) { if (file.Exists && file.Name!="klassifizierung.txt") { ext = System.IO.Path.GetExtension(file.Name); TreeNode tnnew = new TreeNode(); tnnew.Text = file.Name; tnnew.Tag = file.FullName; tnnew.ImageIndex = 4; if (ext.Length > 2) { ext = ext.Substring(0, 2).ToUpper(); tnnew.ImageIndex = 4; tnnew.SelectedImageIndex = 4; if (ext == ".D") { tnnew.ImageIndex = 0; tnnew.SelectedImageIndex = 0; }; if (ext == ".X") { tnnew.ImageIndex = 1; tnnew.SelectedImageIndex = 1; }; if (ext == ".P") { tnnew.ImageIndex = 2; tnnew.SelectedImageIndex = 2; }; } else { tnnew.ImageIndex = 3; tnnew.SelectedImageIndex = 3; } TreeNode treeNode = treeView.Nodes[0]; treeNode.Nodes.Add(tnnew); //TreeNode nodes = treeView.Nodes[0].Nodes.Add(file.Name); } } if (directories.Length > 0) { foreach (DirectoryInfo directory in directories) { TreeNode node = treeView.Nodes[0].Nodes.Add(directory.Name); node.ImageIndex = node.SelectedImageIndex = 3; foreach (FileInfo file in directory.GetFiles()) { if (file.Exists && file.Name!="klassifizierung.txt") { TreeNode tnnew = new TreeNode(); tnnew.Text = file.Name; tnnew.Tag = file.FullName; tnnew.ImageIndex = 4; ext = System.IO.Path.GetExtension(tnnew.Text); if (ext.Length > 2) { ext = ext.Substring(0, 2).ToUpper(); tnnew.ImageIndex = 4; tnnew.SelectedImageIndex = 4; if (ext == ".D") { tnnew.ImageIndex = 0; tnnew.SelectedImageIndex = 0; }; if (ext == ".X") { tnnew.ImageIndex = 1; tnnew.SelectedImageIndex = 1; }; if (ext == ".P") { tnnew.ImageIndex = 2; tnnew.SelectedImageIndex = 2; }; } else { tnnew.ImageIndex = 3; tnnew.SelectedImageIndex = 3; tnnew.Tag = ""; } TreeNode tnnew2 = treeView.Nodes[0].Nodes[node.Index]; tnnew2.Nodes.Add(tnnew); } } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } treeView.ExpandAll(); } } private static void ListDirectory(TreeViewAdv treeView, string path) { treeView.Nodes.Clear(); var stack = new Stack(); var rootDirectory = new DirectoryInfo(path); var node = new TreeNodeAdv(rootDirectory.Name) { Tag = rootDirectory }; string ext = System.IO.Path.GetExtension(node.Text); { node.RightImageIndices = new int[] { 3 }; } stack.Push(node); while (stack.Count > 0) { var currentNode = stack.Pop(); var directoryInfo = (DirectoryInfo)currentNode.Tag; foreach (var directory in directoryInfo.GetDirectories()) { var childDirectoryNode = new TreeNodeAdv(directory.Name) { Tag = directory }; currentNode.Nodes.Add(childDirectoryNode); { childDirectoryNode.RightImageIndices = new int[] { 3 }; } stack.Push(childDirectoryNode); foreach (var file in directoryInfo.GetFiles()) { if (file.Name != "klassifizierung.txt") { TreeNodeAdv tnnew = new TreeNodeAdv(file.Name); ext = System.IO.Path.GetExtension(tnnew.Text); if (ext.Length > 2) { ext = ext.Substring(0, 2).ToUpper(); if (ext == ".D") { tnnew.LeftImageIndices = new int[] { 0 }; }; if (ext == ".X") { tnnew.LeftImageIndices = new int[] { 1 }; }; if (ext == ".P") { tnnew.LeftImageIndices = new int[] { 2 }; }; } else { tnnew.RightImageIndices = new int[] { 3 }; } currentNode.Nodes.Add(tnnew); } } } } treeView.Nodes.Add(node); } private void treeView_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { Execute(e.Node); } private void toolStripButton1_Click(object sender, EventArgs e) { this.Close(); } private void toolStripButton2_Click(object sender, EventArgs e) { Execute(treeView.SelectedNode); } private void Execute(TreeNode treeNode) { string klassifizierung = ""; try { for (int i = 0; i < TotalKlassifizierung; i++) { RadioButton rb = this.Controls.Find("rb" + i.ToString(), true).FirstOrDefault() as RadioButton; if (rb != null) { if (rb.Checked) { klassifizierung = rb.Text; } } } } catch { } try { string tempfilename = treeNode.Tag.ToString(); if (tempfilename == "") { return; } //string tempdir = AppParams.tempdir + "\nativdoks"; string ext = System.IO.Path.GetExtension(tempfilename); if (ext.Length > 2) { ext = ext.Substring(0, 2).ToUpper(); string tempfilename1 = ""; switch (ext) { case ".D": DOCGEN.Klassen.SynFWord sf = new DOCGEN.Klassen.SynFWord(); tempfilename1 = System.IO.Path.GetFileName(tempfilename); tempfilename1 = AppParams.tempdir + "" + DateTime.Now.ToString("yyyyMMddhhmmss") + tempfilename1; sf.create_nativ("Klassifikation", klassifizierung, "", tempfilename, tempfilename1); System.Diagnostics.Process.Start("winword.exe", " /t" + tempfilename1); //System.Diagnostics.Process.Start("winword.exe", " /t" + tempfilename); break; case ".X": DOCGEN.Klassen.SynFExcel ef = new DOCGEN.Klassen.SynFExcel(); tempfilename1 = System.IO.Path.GetFileName(tempfilename); tempfilename1 = AppParams.tempdir + "" + DateTime.Now.ToString("yyyyMMddhhmmss") + tempfilename1; ef.create_nativ("Klassifikation", klassifizierung, "", tempfilename, tempfilename1); System.Diagnostics.Process.Start("excel.exe", " /t " + tempfilename1); break; case ".P": DOCGEN.Klassen.SyncFPowerPoint pf = new DOCGEN.Klassen.SyncFPowerPoint(); tempfilename1 = System.IO.Path.GetFileName(tempfilename); tempfilename1 = AppParams.tempdir + "" + DateTime.Now.ToString("yyyyMMddhhmmss") + tempfilename1; pf.create_nativ("Klassifikation",klassifizierung,"",tempfilename,tempfilename1); System.Diagnostics.Process.Start("POWERPNT.EXE", " /N " + tempfilename1); break; default: tempfilename1 = System.IO.Path.GetFileName(tempfilename); tempfilename1 = AppParams.tempdir+ "" + DateTime.Now.ToString("yyyyMMddhhmmss") +tempfilename1; System.IO.File.Copy(tempfilename,tempfilename1, true); Process.Start(tempfilename1); break; } } } catch { } } private void button1_Click(object sender, EventArgs e) { Execute(this.treeView.SelectedNode); } } }