Exemple #1
0
        public MyRadioButton Create(int beginline, int endline, string[] lines)
        {
            MyRadioButton o   = new MyRadioButton();
            string        key = "Begin VB.OptionButton ";

            o.General = VBtoNET.PopulateGeneral(key, lines, beginline, endline);

            return(o);
        }
Exemple #2
0
        public string Convert(MyRadioButton o, string s, List <string> controlVariableArray, List <string> controlFormArray,
                              List <string> controlGBArray, object parentObj)
        {
            string name = o.General.Name;

            s = VBtoNET.CreateNETCode(s, o.General, "RadioButton", controlVariableArray, controlFormArray, controlGBArray, parentObj);

            s += VBtoNET.padding + "Me." + name + ".Text = \"" + o.General.Text + "\"" + "\r";

            return(s);
        }
Exemple #3
0
        private void btnExecute_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;
            try {
                ClearData(false);
                InitNetDesigner();

                int    beginline = 0, endline = 0;
                MyForm form    = new MyForm();
                bool   formEnd = false;


                bool   inGroupBox = false, inTabControl = false;
                string s = "";
                //object parentObj = new object();
                //object priorParentObj = new object();

                for (int i = 0; i < rtbVB.Lines.Count(); i++)
                {
                    mylinenumer = i;        // this is used for debugging

                    if (inGroupBox)         // solves issue of the first control of the group box being skipped
                    {
                        inGroupBox = false; // reset the flag
                        i--;
                    }
                    else if (inTabControl)
                    {
                        inTabControl = false; // reset the flag
                        i--;
                    }
                    else
                    {
                        s = rtbVB.Lines[i];
                    }
                    if (s.Contains("Option Explicit"))
                    {
                        for (int j = i; j < rtbVB.Lines.Count(); j++)
                        {
                            codeText = codeText + rtbVB.Lines[j] + "\r\n";
                        }
                        break;
                    }

                    if (s.Contains("Begin VB.Form"))
                    {
                        beginline = i;
                        do
                        {
                            i++;
                            s = rtbVB.Lines[i];
                            if (i > beginline && s.Contains("Begin"))
                            {
                                formEnd = true;
                            }
                        }while (!formEnd && i < rtbVB.Lines.Count());
                        endline = i;
                        form    = form.CreateForm(beginline, endline, rtbVB.Lines);
                        if (form == null)
                        {
                            return;               // bad parsing, exit
                        }
                        txtFormName.Text = form.General.Name;
                        parentArray.Add((MyForm)form);
                    }

                    if (s.Contains("Begin VB.Frame "))
                    {
                        beginline = i;
                        do
                        {
                            i++;
                            s = rtbVB.Lines[i];
                            if (s.Contains("BeginProperty"))
                            {
                                SkipProperties(i, s);
                            }
                        } while (i < rtbVB.Lines.Count() && s.Trim().Length >= 4 && !s.Trim().Substring(0, 4).Equals("End ") && (s.Trim().Length >= 6 && !s.Trim().Substring(0, 6).Equals("Begin ")));
                        //while (!s.Trim().Equals("End") && i < rtbVB.Lines.Count() && controlEnd);
                        endline = i;
                        MyGroupBox o = new MyGroupBox();
                        o      = o.Create(beginline, endline, rtbVB.Lines);
                        output = o.Convert(o, output, controlVariableArray, controlFormArray, controlGBArray, parentArray[parentArray.Count - 1]);
                        parentArray.Add(o);
                        inGroupBox = true;
                    }
                    else if (s.Contains("Begin VB.CommandButton"))
                    {
                        beginline = i;
                        do
                        {
                            i++;
                            s = rtbVB.Lines[i];
                            if (s.Contains("BeginProperty"))
                            {
                                SkipProperties(i, s);
                            }
                        }while (i < rtbVB.Lines.Count() && s.Trim().Length >= 4 && !s.Trim().Substring(0, 4).Equals("End "));
                        endline = i;
                        MyButton button = new MyButton();
                        button = button.CreateButton(beginline, endline, rtbVB.Lines);
                        output = button.ConvertButton(button, output, controlVariableArray, controlFormArray, controlGBArray, parentArray[parentArray.Count - 1]);
                    }
                    else if (s.Contains("Begin VB.CheckBox"))
                    {
                        beginline = i;
                        do
                        {
                            i++;
                            s = rtbVB.Lines[i];
                            if (s.Contains("BeginProperty"))
                            {
                                SkipProperties(i, s);
                            }
                        } while (i < rtbVB.Lines.Count() && s.Trim().Length >= 4 && !s.Trim().Substring(0, 4).Equals("End "));
                        endline = i;
                        MyCheckbox c = new MyCheckbox();
                        c      = c.CreateCheckbox(beginline, endline, rtbVB.Lines);
                        output = c.ConvertCheckbox(c, output, controlVariableArray, controlFormArray, controlGBArray, parentArray[parentArray.Count - 1]);
                    }
                    else if (s.Contains("Begin VB.Label"))
                    {
                        beginline = i;
                        do
                        {
                            i++;
                            s = rtbVB.Lines[i];
                            if (s.Contains("BeginProperty"))
                            {
                                SkipProperties(i, s);
                            }
                        } while (i < rtbVB.Lines.Count() && s.Trim().Length >= 4 && !s.Trim().Substring(0, 4).Equals("End "));
                        endline = i;
                        MyLabel l = new MyLabel();
                        l      = l.Create(beginline, endline, rtbVB.Lines);
                        output = l.Convert(l, output, controlVariableArray, controlFormArray, controlGBArray, parentArray[parentArray.Count - 1]);
                    }
                    else if (s.Contains("Begin VB.TextBox"))
                    {
                        beginline = i;
                        do
                        {
                            i++;
                            s = rtbVB.Lines[i];
                            if (s.Contains("BeginProperty"))
                            {
                                SkipProperties(i, s);
                            }
                        }while (i < rtbVB.Lines.Count() && s.Trim().Length >= 4 && !s.Trim().Substring(0, 4).Equals("End "));
                        endline = i;
                        MyTextbox o = new MyTextbox();
                        o      = o.Create(beginline, endline, rtbVB.Lines);
                        output = o.Convert(o, output, controlVariableArray, controlFormArray, controlGBArray, parentArray[parentArray.Count - 1], datasourceArray);
                    }
                    else if (s.Contains("Begin MSDBCtls.DBCombo"))
                    {
                        beginline = i;
                        do
                        {
                            i++;
                            s = rtbVB.Lines[i];
                            if (s.Contains("BeginProperty"))
                            {
                                SkipProperties(i, s);
                            }
                        }while (i < rtbVB.Lines.Count() && s.Trim().Length >= 4 && !s.Trim().Substring(0, 4).Equals("End "));
                        endline = i;
                        MyCombobox o = new MyCombobox();
                        o      = o.Create(beginline, endline, rtbVB.Lines);
                        output = o.Convert(o, output, controlVariableArray, controlFormArray, controlGBArray, parentArray[parentArray.Count - 1], datasourceArray);
                    }
                    else if (s.Contains("Begin VB.ListBox") || s.Contains("Begin MSDBCtls.DBList"))
                    {
                        beginline = i;
                        do
                        {
                            i++;
                            s = rtbVB.Lines[i];
                            if (s.Contains("BeginProperty"))
                            {
                                SkipProperties(i, s);
                            }
                        }while (i < rtbVB.Lines.Count() && s.Trim().Length >= 4 && !s.Trim().Substring(0, 4).Equals("End "));
                        endline = i;
                        MyListbox o = new MyListbox();
                        o      = o.Create(beginline, endline, rtbVB.Lines);
                        output = o.Convert(o, output, controlVariableArray, controlFormArray, controlGBArray, parentArray[parentArray.Count - 1]);
                    }
                    else if (s.Contains("Begin TabDlg.SSTab "))     // tab control
                    {
                        beginline = i;
                        do
                        {
                            i++;
                            s = rtbVB.Lines[i];
                            if (s.Contains("BeginProperty"))
                            {
                                SkipProperties(i, s);
                            }
                        } while (i < rtbVB.Lines.Count() && s.Trim().Length >= 4 && !s.Trim().Substring(0, 4).Equals("End ") && (s.Trim().Length >= 6 && !s.Trim().Substring(0, 6).Equals("Begin ")));
                        endline = i;
                        MyTabControl o = new MyTabControl();
                        o      = o.Create(beginline, endline, rtbVB.Lines);
                        output = o.Convert(o, output, controlVariableArray, controlFormArray, controlGBArray, parentArray[parentArray.Count - 1]);
                        parentArray.Add(o);
                        inTabControl = true; // not sure if we need another variable specifically for tabcontrols.
                    }
                    else if (s.Contains("Begin MSDBGrid.DBGrid"))
                    {
                        beginline = i;
                        do
                        {
                            i++;
                            s = rtbVB.Lines[i];
                            if (s.Contains("BeginProperty"))
                            {
                                SkipProperties(i, s);
                            }
                        }while (i < rtbVB.Lines.Count() && s.Trim().Length >= 4 && !s.Trim().Substring(0, 4).Equals("End "));
                        endline = i;
                        MyDatagridview o = new MyDatagridview();
                        o      = o.Create(beginline, endline, rtbVB.Lines);
                        output = o.Convert(o, output, controlVariableArray, controlFormArray, controlGBArray, parentArray[parentArray.Count - 1]);
                    }
                    else if (s.Contains("Begin VB.OptionButton"))
                    {
                        beginline = i;
                        do
                        {
                            i++;
                            s = rtbVB.Lines[i];
                            if (s.Contains("BeginProperty"))
                            {
                                SkipProperties(i, s);
                            }
                        }while (i < rtbVB.Lines.Count() && s.Trim().Length >= 4 && !s.Trim().Substring(0, 4).Equals("End "));
                        endline = i;
                        MyRadioButton o = new MyRadioButton();
                        o      = o.Create(beginline, endline, rtbVB.Lines);
                        output = o.Convert(o, output, controlVariableArray, controlFormArray, controlGBArray, parentArray[parentArray.Count - 1]);
                    }
                    else if (s.Contains("Begin ComctlLib.ListView"))
                    {
                        beginline = i;
                        do
                        {
                            i++;
                            s = rtbVB.Lines[i];
                            if (s.Contains("BeginProperty"))
                            {
                                SkipProperties(i, s);
                            }
                        }while (i < rtbVB.Lines.Count() && s.Trim().Length >= 4 && !s.Trim().Substring(0, 4).Equals("End "));
                        endline = i;
                        MyDatagridview o = new MyDatagridview("Begin ComctlLib.ListView");
                        o      = o.Create(beginline, endline, rtbVB.Lines);
                        output = o.Convert(o, output, controlVariableArray, controlFormArray, controlGBArray, parentArray[parentArray.Count - 1]);
                    }
                    else if (s.Contains("Begin"))    // catches and removes unsupported things.

                    {
                        bool knownControl = false;
                        foreach (string ctrl in controlTypeList)
                        {
                            if (s.Contains(ctrl))
                            {
                                knownControl = true;
                            }
                        }
                        do
                        {
                            i++;
                            s = rtbVB.Lines[i];
                            if (s.Contains("BeginProperty"))
                            {
                                SkipProperties(i, s);
                            }
                        } while (!knownControl && i < rtbVB.Lines.Count() && s.Trim().Length >= 4 && !s.Trim().Substring(0, 4).Equals("End "));
                    }


                    if (s.Trim().Equals("End") && rtbVB.Lines[i - 1].Trim().Equals("End")) // two Ends alone means end of a parent
                    {
                        // end of group box
                        if (parentArray.Count > 0)
                        {
                            parentArray.RemoveAt(parentArray.Count - 1); //pop
                        }
                        foreach (string ctrlstr in controlGBArray)
                        {
                            output += VBtoNET.padding + ctrlstr;
                        }

                        controlGBArray = new List <string>();
                    }
                }
                // set up form
                output = form.ConvertForm(form, output, controlFormArray);

                // end the file
                EndDesigner();
                this.Cursor = Cursors.Arrow;
                Clipboard.SetText(rtbNET.Text);
            } catch (Exception ex) {
                this.Cursor = Cursors.Arrow;
                MessageBox.Show("Exception in VB6 Parsing line: " + this.mylinenumer.ToString() + " " + ex.Message);
            }
        }