Exemplo n.º 1
0
        private void exportToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // nothing selected
            if (treeView1.SelectedNode == null)
            {
                return;
            }
            // only blocks and structs
            if (!(treeView1.SelectedNode.Tag is PlcBlock) && !(treeView1.SelectedNode.Tag is PlcStruct))
            {
                return;
            }

            FolderBrowserDialog folderDialog = new FolderBrowserDialog();

            folderDialog.Description  = "Select export path";
            folderDialog.SelectedPath = Application.StartupPath + "\\Export";

            DialogResult res = folderDialog.ShowDialog();

            // ok now save
            if (res == DialogResult.OK)
            {
                try
                {
                    // for plcBlocks like OB,FB,FC
                    if (treeView1.SelectedNode.Tag is PlcBlock)
                    {
                        PlcBlock block = (PlcBlock)treeView1.SelectedNode.Tag;

                        if (block.IsConsistent)
                        {
                            string fPath = Application.StartupPath + "\\Export\\" +
                                           block.ProgrammingLanguage.ToString() + "_" +
                                           block.Name + "_" +
                                           "V" + block.HeaderVersion.ToString() +
                                           ".xml";
                            fPath = GetNextFileName(fPath);

                            FileInfo f = new FileInfo(fPath);
                            block.Export(f, ExportOptions.None);

                            MessageOK("File " + Path.GetFileName(fPath) + " has beed exported",
                                      "Export");
                        }
                        else
                        {
                            MessageError("Block " + block.Name + " is not consistent. Please compile",
                                         "Export");
                        }
                    }

                    // for data types
                    if (treeView1.SelectedNode.Tag is PlcStruct)
                    {
                        PlcStruct block = (PlcStruct)treeView1.SelectedNode.Tag;

                        if (block.IsConsistent)
                        {
                            string fPath = Application.StartupPath + "\\Export\\plcType_" +
                                           block.Name + "_" +
                                           block.ModifiedDate.ToShortDateString() +
                                           ".xml";
                            fPath = GetNextFileName(fPath);

                            FileInfo f = new FileInfo(fPath);
                            block.Export(f, ExportOptions.None);

                            MessageOK("File " + Path.GetFileName(fPath) + " has beed exported",
                                      "Export");
                        }
                        else
                        {
                            MessageError("Data type " + block.Name + " is not consistent. Please compile",
                                         "Export");
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageError(ex.Message,
                                 "Exception");
                }
            }
        }
Exemplo n.º 2
0
        private void button2_Click(object sender, EventArgs e)
        {
            // nothing selected
            if (treeView1.SelectedNode == null)
            {
                return;
            }
            // only blocks and structs
            if (!(treeView1.SelectedNode.Tag is PlcBlock) && !(treeView1.SelectedNode.Tag is PlcStruct))
            {
                return;
            }

            FolderBrowserDialog folderDialog = new FolderBrowserDialog();

            folderDialog.Description  = "Select export path";
            folderDialog.SelectedPath = Application.StartupPath + "\\Export";

            DialogResult res = folderDialog.ShowDialog();

            // ok now save
            if (res == DialogResult.OK)
            {
                try
                {
                    // for plcBlocks like OB,FB,FC
                    if (treeView1.SelectedNode.Tag is PlcBlock)
                    {
                        PlcBlock block = (PlcBlock)treeView1.SelectedNode.Tag;

                        string fPath = Application.StartupPath + "\\Export\\plcBlock_" + block.ProgrammingLanguage.ToString() + "_" + block.Name + ".xml";
                        fPath = getNextFileName(fPath);

                        FileInfo f = new FileInfo(fPath);
                        block.Export(f, ExportOptions.None);

                        MessageBox.Show("File " + f + " has beed exported",
                                        "Export",
                                        MessageBoxButtons.OK,
                                        MessageBoxIcon.Information);
                    }

                    // fpr data types
                    if (treeView1.SelectedNode.Tag is PlcStruct)
                    {
                        PlcStruct block = (PlcStruct)treeView1.SelectedNode.Tag;

                        string fPath = Application.StartupPath + "\\Export\\plcBlock_" + block.Name + ".xml";
                        fPath = getNextFileName(fPath);

                        FileInfo f = new FileInfo(fPath);
                        block.Export(f, ExportOptions.None);

                        MessageBox.Show("File " + f + " has beed exported",
                                        "Export",
                                        MessageBoxButtons.OK,
                                        MessageBoxIcon.Information);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message,
                                    "Exception",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                }
            }
        }