Редактор генерит комментарии перед каждым блоком с параметрами элемента, можно от этого отталкиваться
// // button1 // this.button1.Location = new System.Drawing.Point(12, 121); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(75, 23); this.button1.TabIndex = 0; this.button1.Text = "button1"; this.button1.UseVisualStyleBackColor = true;
Почему-то в скайпе, а не здесь, посоветовали обратить внимание на редактор https://glade.gnome.org , который генерит в формате XML, парсить который проще и есть стандартные тулзы. Ок, я не маньяк и не фанат VS, рассмотрю и этот вариант.
PS: Пишите сюда, зачем в скайп или личку-то?
- glade.gnome.org
Почему-то в скайпе, а не здесь, посоветовали обратить внимание на редактор https://glade.gnome.org , который генерит в формате XML, парсить который проще и есть стандартные тулзы. Ок, я не маньяк и не фанат VS, рассмотрю и этот вариант.
PS: Пишите сюда, зачем в скайп или личку-то?
Давно есть идея сделать на основе редактора Visual Studio генератор графического интерфейса для программ на MQL4/5. Чтобы не набивать весь GUI ручками, как в начале 90-х, а рисовать его в редакторе, а полученное конвертировать в код MQL.
Тем более, что сейчас Microsoft выпускает редактор отдельно от студии, естественно, бесплатно. Итак, небольшой пример панельки и код, который порождает редактор. Задача для начала - вытянуть в массивы все кнопки, чекбоксы и эдит. Формат на выходе для начала неважен, главное, как грамотно сделать такой парсинг? У меня в парсинге и регулярных выражения опыта мало, поэтому прошу совета.
И код, который генерит редактор
Зачем редактор? Я пользуюсь стандартной библиотекой + написал несколько классов - меню, таблицы и т.д. Раз сделал каркас и потом для разных роботов его использую, правда приходится руками классы фреймов в каркасе дополнять/убирать поля, дополнять пункты меню и т.д., но после генерации предложенным тобой вариантом, все равно придется лезть в код и писать обработчики тех же кнопок и полей...
Зачем редактор? Я пользуюсь стандартной библиотекой + написал несколько классов - меню, таблицы и т.д. Раз сделал каркас и потом для разных роботов его использую, правда приходится руками классы фреймов в каркасе дополнять/убирать поля, дополнять пункты меню и т.д., но после генерации предложенным тобой вариантом, все равно придется лезть в код и писать обработчики тех же кнопок и полей...
можно автоматизировать и обработчики
да хотя бы дизайн заценить визуально, и то будет хорошо
руками надоело
this.button1 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button(); this.button3 = new System.Windows.Forms.Button(); this.checkBox1 = new System.Windows.Forms.CheckBox(); this.checkBox2 = new System.Windows.Forms.CheckBox(); this.checkBox3 = new System.Windows.Forms.CheckBox(); this.textBox1 = new System.Windows.Forms.TextBox();
Строка начинается с "this.", содержит " = new". Между "this." и "= new" нет точки. Получим имена.
Потом для каждого имени формировать строки начинающиеся с "this.[name].Location" и с "this.[name].Size", искать их и смотреть, то что в конце в скобках. Еще найти строку начинающуюся с this.ClientSize.
Можно и без регулярок, чисто поиском подстрок в цикле, теста не много, и вообще парсинг простой.
Строка начинается с "this.", содержит " = new". Между "this." и "= new" нет точки. Получим имена.
Потом для каждого имени формировать строки начинающиеся с "this.[name].Location" и с "this.[name].Size", искать их и смотреть, то что в конце в скобках. Еще найти строку начинающуюся с this.ClientSize.
Можно и без регулярок, чисто поиском подстрок в цикле, теста не много, и вообще парсинг простой.
Это понятно, проято я уверен, есть какие-то библиотеки. Или как-то библиотеку рег. выражений по умному использовать.
Для чего библиотека? Для mql5 есть такая библиотека в кодабазе. В C# вроде есть - using System.Text.RegularExpressions;
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Давно есть идея сделать на основе редактора Visual Studio генератор графического интерфейса для программ на MQL4/5. Чтобы не набивать весь GUI ручками, как в начале 90-х, а рисовать его в редакторе, а полученное конвертировать в код MQL.
Тем более, что сейчас Microsoft выпускает редактор отдельно от студии, естественно, бесплатно. Итак, небольшой пример панельки и код, который порождает редактор. Задача для начала - вытянуть в массивы все кнопки, чекбоксы и эдит. Формат на выходе для начала неважен, главное, как грамотно сделать такой парсинг? У меня в парсинге и регулярных выражения опыта мало, поэтому прошу совета.
И код, который генерит редактор