1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Создание окна Combobox

Модератор: специалисты Eplan

Закрыто
Аватара пользователя

Автор темы
Dyma
знаток Eplan
знаток Eplan
Сообщения: 456
Зарегистрирован: 15 май 2012, 12:36
Имя: Чистякова Оксана
Страна: Россия
город/регион: Череповец
Благодарил (а): 4 раза
Поблагодарили: 17 раз

Создание окна Combobox

Сообщение Dyma »

В настройках проекта использую одно из свойств функции "пользователь, доп поле". Это свойство участвует в отчете "Легенда электрошкафа". Необходимо сделать для этого свойства окно Combobox, чтобы был выбор из трех вариантов размещения надписи: на аппарате, табличка, держатель маркировки.
Наполняемость шкафов большая и для каждого элемента набирать в этой строке данные, честно говоря, влом. Может кто сталкивался с этим?
Снимок1.JPG
Снимок2.JPG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
______________________________________________________
Я слышу и забываю. Я вижу и запоминаю. Я делаю и понимаю.
Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3339
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 181 раз
Поблагодарили: 368 раз

Re: Создание окна Combobox

Сообщение AGorskiy »

Сам не сталкивался с этой задачей, да и необходимостью тоже. Подозреваю, что реализации комбобокса возможна только средствами С#, возможно даже только с помощью API. Самый правильный вариант спросить Ёхана Вейхера (Johann Weiher). В его книге увы я не нашел о боксах ничего.
Оксана, напишите ему, по-английски, в данном топике.
===============
Еще мысль пришла, спросить Хреногубку....он проходил курс обучения АПИ.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
Аватара пользователя

Автор темы
Dyma
знаток Eplan
знаток Eplan
Сообщения: 456
Зарегистрирован: 15 май 2012, 12:36
Имя: Чистякова Оксана
Страна: Россия
город/регион: Череповец
Благодарил (а): 4 раза
Поблагодарили: 17 раз

Re: Создание окна Combobox

Сообщение Dyma »

По-русски не знаешь как правильно сформулировать, а тут по-английски предлагаете... Я не решусь.
ЗЫ. попробую продублировать на офсайте.
______________________________________________________
Я слышу и забываю. Я вижу и запоминаю. Я делаю и понимаю.
Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3339
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 181 раз
Поблагодарили: 368 раз

Создание окна Combobox

Сообщение AGorskiy »

Оксана, не знаю ответ вас порадует или нет, но...возможность комбобокса есть, реализация, как я понял возможна без АПИ, но знание Си Шарпа нужно. Джони выложил шаблон под комбобокс
цитата Johann Weiher
Yes, you can add a combobox in Visual Studio.
Use the Windows Form template here:
http://www.suplanus.de/wp-content/uploa ... orlage.zip

Greets
Johann
Реальность такова, что ни я, ни Макс вам не поможем, увы.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
Аватара пользователя

Автор темы
Dyma
знаток Eplan
знаток Eplan
Сообщения: 456
Зарегистрирован: 15 май 2012, 12:36
Имя: Чистякова Оксана
Страна: Россия
город/регион: Череповец
Благодарил (а): 4 раза
Поблагодарили: 17 раз

Re: Создание окна Combobox

Сообщение Dyma »

Будем разбираться )) Интересно, что за библиотека EplAPI? существует ли еще какая-нибудь? что к ним относится? как вытащить нужное свойство, чтобы присвоить созданный элемент.
В общем, вопросов море.
Андрей, спасибо.
______________________________________________________
Я слышу и забываю. Я вижу и запоминаю. Я делаю и понимаю.
Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3339
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 181 раз
Поблагодарили: 368 раз

Корявая реализация "на коленке"

Сообщение AGorskiy »

Пришла одна мысль.
Так как в вашем случае все равно придеться много ручной работы (автоматизировать пока не представляю как) - кликов,
чтобы был выбор из трех вариантов размещения надписи: на аппарате, табличка, держатель маркировки

то используя внешнюю обработку функции вывести данное поле в Эксель, во временном файле экселя создать раскрывающийся список и уже просто кликать мышкой, что немного, но упрощает процесс.
Пытался создать раскрывающийся список в самом шаблоне - не вышло, у меня не вышло, возможно, что то делал не так, а возможно, что это нереализуемо.
Раскрывающийся список.7z
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
Аватара пользователя

Автор темы
Dyma
знаток Eplan
знаток Eplan
Сообщения: 456
Зарегистрирован: 15 май 2012, 12:36
Имя: Чистякова Оксана
Страна: Россия
город/регион: Череповец
Благодарил (а): 4 раза
Поблагодарили: 17 раз

Re: Создание окна Combobox

Сообщение Dyma »

"Умная мысля приходит опосля" ;)
Организовала шаблон под внешнюю обработку. Накидала туда свойств по типу надписи, тексту гравировки, ОУ для идентификации. В принципе, получается быстрее путем того же копи-паста, не нужно каждый раз тыкать в изделие и заполнять свойства.
Спасибо за подсказку.

ЗЫ. по ролику - слишком много движений ))), буду искать проще вариант или остановлюсь пока на том, что описала выше.
______________________________________________________
Я слышу и забываю. Я вижу и запоминаю. Я делаю и понимаю.
Аватара пользователя

MIvanov
знаток Eplan
знаток Eplan
Сообщения: 277
Зарегистрирован: 05 мар 2012, 14:46
Имя: Иванов Максим Евгеньевич
Страна: РФ
город/регион: Казань/РТ
Поблагодарили: 2 раза

Re: Создание окна Combobox

Сообщение MIvanov »

В случае если варианта всего три, проще всего на мой взгляд использовать объект-заполнитель. При вставке макроса присваивать значения текста гравировки: на аппарате, табличка, держатель маркировки.
Максим умер. Прочитайте пожалуйста это сообщение viewtopic.php?f=78&t=3947&p=34780#p34703
Аватара пользователя

Автор темы
Dyma
знаток Eplan
знаток Eplan
Сообщения: 456
Зарегистрирован: 15 май 2012, 12:36
Имя: Чистякова Оксана
Страна: Россия
город/регион: Череповец
Благодарил (а): 4 раза
Поблагодарили: 17 раз

Re: Создание окна Combobox

Сообщение Dyma »

MIvanov писал(а):проще использовать объект-заполнитель. При вставке макроса присваивать значения текста гравировки: на аппарате, табличка, держатель маркировки.
Не поняла. Можно поподробнее, если не затруднит.
______________________________________________________
Я слышу и забываю. Я вижу и запоминаю. Я делаю и понимаю.
Аватара пользователя

Автор темы
Dyma
знаток Eplan
знаток Eplan
Сообщения: 456
Зарегистрирован: 15 май 2012, 12:36
Имя: Чистякова Оксана
Страна: Россия
город/регион: Череповец
Благодарил (а): 4 раза
Поблагодарили: 17 раз

Создание окна Combobox

Сообщение Dyma »

Шаг на пути к победе сделан. Все оказалось намного проще.
Необходимо отредактировать шаблон Excel. В шаблоне создать список, выбрать столбец, в котором будет происходить заполнение, и произвести в нем проверку данных на список.
Выбор типа надписи.JPG
заполнение.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
______________________________________________________
Я слышу и забываю. Я вижу и запоминаю. Я делаю и понимаю.
Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3339
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 181 раз
Поблагодарили: 368 раз

Re: Создание окна Combobox

Сообщение AGorskiy »

Изображение
Вот я это и сделал. Видимо торопился и сделал коряво, в итоге решил посторить это в темповском файле, хотя подозревал, что это реализуемо. Оксана, выложите пожалуйста созданный шаблон. "Выбор типа надписи.JPG" как я понимаю на второй странице шаблона, а вот как реализован выпадающий список, он на первой, хотелось бы посмотреть. Спасибо.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
Аватара пользователя

MIvanov
знаток Eplan
знаток Eplan
Сообщения: 277
Зарегистрирован: 05 мар 2012, 14:46
Имя: Иванов Максим Евгеньевич
Страна: РФ
город/регион: Казань/РТ
Поблагодарили: 2 раза

Re: Создание окна Combobox

Сообщение MIvanov »

2 Dyma
  • Выделить устройство
  • Вставить объект-заполнитель
  • В объекте создать требуемые переменные и наборы значений
  • Создать макрос
При вставке макроса Eplan спросит какой набор значений следует присвоить.
Максим умер. Прочитайте пожалуйста это сообщение viewtopic.php?f=78&t=3947&p=34780#p34703
Аватара пользователя

Автор темы
Dyma
знаток Eplan
знаток Eplan
Сообщения: 456
Зарегистрирован: 15 май 2012, 12:36
Имя: Чистякова Оксана
Страна: Россия
город/регион: Череповец
Благодарил (а): 4 раза
Поблагодарили: 17 раз

Re: Создание окна Combobox

Сообщение Dyma »

MIvanov писал(а): Выделить устройство
1.На какой именно схеме - многополюсной или компановке электрошкафа?
Если я заполняю свойство "пользователь, доп поле"(в проекте как "Тип данных") в многополюсной схеме, то при размещении устройства на МП данное свойство - пустое, значит это не одно и тоже, хотя через свойство блока его можно вытащить.
MIvanov писал(а): Создать макрос
2. Если устройств более 20 разного типа, то для каждого создавать макрос?
______________________________________________________
Я слышу и забываю. Я вижу и запоминаю. Я делаю и понимаю.
Аватара пользователя

Автор темы
Dyma
знаток Eplan
знаток Eplan
Сообщения: 456
Зарегистрирован: 15 май 2012, 12:36
Имя: Чистякова Оксана
Страна: Россия
город/регион: Череповец
Благодарил (а): 4 раза
Поблагодарили: 17 раз

Создание окна Combobox

Сообщение Dyma »

AGorskiy писал(а): как я понимаю на второй странице шаблона, а вот как реализован выпадающий список, он на первой, хотелось бы посмотреть.
Список создается на первой странице (Tabelle1) АА(15:17). Если создавать на формате или на след таблице, то при сохранении файла Excel ругается, и при обработке ничего не меняется, список не будет доступен.
Template_EditPropertiesExternalОкс.xls
в столбце G выводится требуемое свойство через проверку данных. Для первых двух строк проверку аннулируем
проверка данных.JPG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
______________________________________________________
Я слышу и забываю. Я вижу и запоминаю. Я делаю и понимаю.
Аватара пользователя

MIvanov
знаток Eplan
знаток Eplan
Сообщения: 277
Зарегистрирован: 05 мар 2012, 14:46
Имя: Иванов Максим Евгеньевич
Страна: РФ
город/регион: Казань/РТ
Поблагодарили: 2 раза

Re: Создание окна Combobox

Сообщение MIvanov »

Dyma писал(а):.На какой именно схеме - многополюсной или компановке электрошкафа?
Если я заполняю свойство "пользователь, доп поле"(в проекте как "Тип данных") в многополюсной схеме, то при размещении устройства на МП данное свойство - пустое, значит это не одно и тоже, хотя через свойство блока его можно вытащить.
Вносить значения следует в главной функции. Функции можно синхронизировать: Сервисные программы -> синхронизировать. Свойство блока для таких вещей лишнее.
Dyma писал(а):Если устройств более 20 разного типа, то для каждого создавать макрос?
Совершенно верно, для каждого типа устройств свой макрос, и, лучше привязать его к изделию в БДИ.
Максим умер. Прочитайте пожалуйста это сообщение viewtopic.php?f=78&t=3947&p=34780#p34703
Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3339
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 181 раз
Поблагодарили: 368 раз

Re: Создание окна Combobox

Сообщение AGorskiy »

Dyma, а я в использовал при вторую закладку, вот и не получилось, раскрывающийся список не был актиным, чтож, класс. Возьму себе на вооружение.
А кликов то все равно столько же будет - много.
Макс прав, объект - заполнитель интереснее.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
Аватара пользователя

Автор темы
Dyma
знаток Eplan
знаток Eplan
Сообщения: 456
Зарегистрирован: 15 май 2012, 12:36
Имя: Чистякова Оксана
Страна: Россия
город/регион: Череповец
Благодарил (а): 4 раза
Поблагодарили: 17 раз

Re: Создание окна Combobox

Сообщение Dyma »

AGorskiy писал(а):А кликов то все равно столько же будет - много.
Поспорю с этим.
Во-первых, сразу уменьшается количество кликов, т.к. на МП необходимо было открывать свойства каждого размещенного устройства и заполнять 2 строки (прописывать текст гравировки и тип надписи)
Во-вторых, если те же автоматы и клеммники идут попорядку, то можно использовать форматы Excel (автозаполнение) - ускоряет процесс.
______________________________________________________
Я слышу и забываю. Я вижу и запоминаю. Я делаю и понимаю.
Аватара пользователя

Satyr
знаток Eplan
знаток Eplan
Сообщения: 21
Зарегистрирован: 08 авг 2012, 21:33
Имя: Satyr
Страна: Россия
город/регион: Москва
Поблагодарили: 1 раз

Re: Создание окна Combobox

Сообщение Satyr »

http://files.mail.ru/5B66W2
Реализован ComboBox
Логика следующая :
Выбирается макрос
В окошке с боксами выбирается структурный идентификатор и описание страницы


... и вуаля страница с макросом и описанием готова !!!
Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3339
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 181 раз
Поблагодарили: 368 раз

Re: Создание окна Combobox

Сообщение AGorskiy »

Отлично, после тестирования выложу в Сценарии - перезалью.
Судя по вашему описанию, немного не то, что хотела Dyma.
А реализовать оное, строго по задаче, возможно без dll-ки?
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
Аватара пользователя

Satyr
знаток Eplan
знаток Eplan
Сообщения: 21
Зарегистрирован: 08 авг 2012, 21:33
Имя: Satyr
Страна: Россия
город/регион: Москва
Поблагодарили: 1 раз

Re: Создание окна Combobox

Сообщение Satyr »

Вроде получилось
только свойство 40001
[+] Код
using System.Collections;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Text.RegularExpressions;
using Eplan.EplApi.Gui;
using System.Windows.Forms;
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Scripting;
using System;




public class MyClass : System.Windows.Forms.Form
{
public MyClass()
{
InitializeComponent();
}
private System.Windows.Forms.ComboBox MyComBox;
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Код, автоматически созданный конструктором форм Windows

/// <summary>
/// Обязательный метод для поддержки конструктора - не изменяйте
/// содержимое данного метода при помощи редактора кода.
/// </summary>
private void InitializeComponent()
{
this.MyComBox = new System.Windows.Forms.ComboBox();
this.SuspendLayout();
//
// MyComBox
//
this.MyComBox.FormattingEnabled = true;
this.MyComBox.Location = new System.Drawing.Point(70, 93);
this.MyComBox.Name = "MyComBox";
this.MyComBox.Size = new System.Drawing.Size(145, 21);
this.MyComBox.TabIndex = 0;
this.MyComBox.SelectedIndexChanged += new System.EventHandler(this.MyComBox_SelectedIndexChanged);
this.MyComBox.FormattingEnabled = true;
this.MyComBox.Items.AddRange(new object[]
{
"на_аппарате",
"табличка",
"держатель_маркировки",
});

//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(292, 266);
this.Controls.Add(this.MyComBox);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);

}

#endregion
[Start]
public void MyClassVoid()
{
MyClass Frm1 = new MyClass();
Frm1.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
Frm1.ShowDialog();
return;
}
private void MyComBox_SelectedIndexChanged(object sender, System.EventArgs e)
{
//Логика...
CommandLineInterpreter oCLI = new CommandLineInterpreter();
string str = "XEsSetProjectPropertyAction /PropertyId:40001 /PropertyIndex:0 /PropertyValue:" + MyComBox.Text + "";
oCLI.Execute(str);


}
}
Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3339
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 181 раз
Поблагодарили: 368 раз

Re: Создание окна Combobox

Сообщение AGorskiy »

Попробывал, 40001 конечно хорошо, но это свойство проекта доп. поле, к сожалению нужно свойство функции 40201. То, есть выделяем те или иные девайсы, нажимает кнопку со скриптом, вылетает окно комбобокса, выбираем из списка, нажимаем ОК, окно комбобокс закрывается, если все хорошо, то тишина, если произошла ошибка вылетает окно с ошибкой, если данное свойство было заполнено у какого-либо элемента, то окно с перезаписью.

Пытался заменить XEsSetProjectPropertyAction на XDTDataSetProjectPropertyAction с указанием 40201 увы, но я особо и не расчитывал - реакции ноль, результат тоже.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
Аватара пользователя

Satyr
знаток Eplan
знаток Eplan
Сообщения: 21
Зарегистрирован: 08 авг 2012, 21:33
Имя: Satyr
Страна: Россия
город/регион: Москва
Поблагодарили: 1 раз

Re: Создание окна Combobox

Сообщение Satyr »

XEsSetPropertyAction /PropertyId:? /PropertyIndex:0 /PropertyValue:"?"


Нашел!!!
Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3339
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 181 раз
Поблагодарили: 368 раз

Re: Создание окна Combobox

Сообщение AGorskiy »

Заменил 84 строку на
string str = "XEsSetPropertyAction /PropertyId:40201 /PropertyIndex:0 /PropertyValue:"+ MyComBox.Text +"";
Просто замечательно! Спасибо Изображение, Satyr
Satyr_Combobox.cs
Однако хотелось бы, кнопку ОК для явности и она же закрывает окно Комбокса.
\\пока скрипт повисит тут, потом ему место в соотвествующей теме
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
Аватара пользователя

Автор темы
Dyma
знаток Eplan
знаток Eplan
Сообщения: 456
Зарегистрирован: 15 май 2012, 12:36
Имя: Чистякова Оксана
Страна: Россия
город/регион: Череповец
Благодарил (а): 4 раза
Поблагодарили: 17 раз

Re: Создание окна Combobox

Сообщение Dyma »

Добрый день!
Для меня Си шарп - это темный-темный лес. Расскажите, в какое место скрипт прикрутить и что с ним делать, если это не затруднит.
Да, интересно было бы реализовать непосредственно в Еплане, без внешней обработки, Комбобокс, но пока это на втором плане.
[+] не по теме
В один прекрасный день внешняя обработка свойств вообще слетела, ни один из типов внешней обработки (функций, соединений, страниц) не запускался. Долго беседовала с ТП.
В итоге через утилиту ELogFileConfigToolu.exe удалось обнулить пользовательские настройки, после этого шаблоны заработали. На всякий случай, выгрузила стандартные настройки :), чтоб были.
Ну вот, долго сочиняла, чтобы написать - уже что-то выложили )))
______________________________________________________
Я слышу и забываю. Я вижу и запоминаю. Я делаю и понимаю.
Аватара пользователя

MIvanov
знаток Eplan
знаток Eplan
Сообщения: 277
Зарегистрирован: 05 мар 2012, 14:46
Имя: Иванов Максим Евгеньевич
Страна: РФ
город/регион: Казань/РТ
Поблагодарили: 2 раза

Re: Создание окна Combobox

Сообщение MIvanov »

Dyma, в разделе СЦЕНАРИИ все хорошо описано ;)

Дополню сообщение Макса: Оксана, в Eplan'е Satyr и реализовал возможность использования выпадающего меню, без внешней обработки. Попробуйте, скрипт просто использовать, сложнее написать Изображение, но ....ваше желание исполнилось. AGorskiy
Максим умер. Прочитайте пожалуйста это сообщение viewtopic.php?f=78&t=3947&p=34780#p34703
Закрыто

Вернуться в «Сценарии (Только готовые решения)»