Модераторы: Се ля ви
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Техническая сторона интерфейса, если в программе много-много рюшечек 
:(
    Опции темы
UniBomb
Дата 3.3.2007, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Вот интересно, если скажем есть программа которая считывает, обрабатывает выводит большое количество информации с разных источников. Соответсвенно должно быть море едитов, лейблов, баттонов и прочих фенек. Лично у меня общее количество их достигает около полутора сотен. Так как же всё таки их грамотнее и удобнее создавать? Пока я знаю два способа - это в момент создания натыкать все элементы на форму и потом писать длинные коды для работы с каждым элементом поотдельности. Второй способ это создание массива элементов и пототот в цикле всех их и отображать. Но и этот способ мне не особо нравится... Есть ли другие методы?


--------------------
PM MAIL ICQ Skype   Вверх
skyboy
Дата 3.3.2007, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



Цитата(UniBomb @  3.3.2007,  12:54 Найти цитируемый пост)
Есть ли другие методы? 

ясень пень! в первую очередь, есть другие методы ввода, кроме полей для ручного набора. можно вводить график какой-то зависимости, просто рисуя мышкой. можно определять ключевые точки, а потом сплайновой интерполяцией  получать промежуточные данные. можно, в конце концов, заменить гору edit'ов для однотипных данных одним StringGrid'om. Можно...  Кстати, а  какая задача? какие данные? почему их так много?
PM MAIL   Вверх
UniBomb
Дата 3.3.2007, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 97



skyboy

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

А СтрингГрид мне не нравится - что то он больно кривовато выглядит((


--------------------
PM MAIL ICQ Skype   Вверх
Sartorius
Дата 3.3.2007, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



 Для ввода действительно большого набора данных обычно используются заранее подготовленные файлы. Это и проще и надежней.
PM MAIL ICQ   Вверх
UniBomb
Дата 3.3.2007, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Sartorius

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


--------------------
PM MAIL ICQ Skype   Вверх
skyboy
Дата 3.3.2007, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



Цитата(UniBomb @  3.3.2007,  13:20 Найти цитируемый пост)
выводит предварительную инфу о них

в виде графика? таблицы? treeView?
Цитата(UniBomb @  3.3.2007,  13:20 Найти цитируемый пост)
В программу вводятся значения текущей погоды (давление, влажность, тепература и т.д.)

от датчиков эти данные получить нельзя?
Цитата(UniBomb @  3.3.2007,  13:20 Найти цитируемый пост)
А СтрингГрид мне не нравится - что то он больно кривовато выглядит(( 

чем тебе не нравится список значений? или дело во внешнем виде? бери DrawGrid и разукрашивай, как угодно.
PM MAIL   Вверх
Sartorius
Дата 3.3.2007, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



Я бы предложил сделать так:
 - Все данные, которые меняются редко прописывать в отдельном файле и сделать возможой загрузку его в момент работы проги

Цитата

 причём если в газосигнализаторе не пердусмотрена опция интерфейса общения с компом


 Вот это плохо. Если есть время - то может быть все таки сделать все обстоятельно - спроектировать программно-аппаратный комплекс. Подключить все приборы к АЦП и снимать все параметры без участия человека.

PM MAIL ICQ   Вверх
UniBomb
Дата 3.3.2007, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Цитата

Я бы предложил сделать так:
 - Все данные, которые меняются редко прописывать в отдельном файле и сделать возможой загрузку его в момент работы проги


Есть данные, которые меняются всего один раз - для формирования отчёта, для них выполнены значения "по умолчанию". Но тем не менее количество рющек для отображения/изменения меньше не становится...

Цитата

 Вот это плохо. Если есть время - то может быть все таки сделать все обстоятельно - спроектировать программно-аппаратный комплекс. Подключить все приборы к АЦП и снимать все параметры без участия человека.


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

Цитата

в виде графика? таблицы? treeView?


в виде чисел))

Цитата

от датчиков эти данные получить нельзя?

Если бы было можно, то эти датчики стоили бы кучу денег. Ведь необходимо ещё ставить сенсор влажности, калибровка которого требует уйму времени и дорогого оборудования... ну и т.д. в том же духе...

Цитата

чем тебе не нравится список значений? или дело во внешнем виде? бери DrawGrid и разукрашивай, как угодно.


Ну например у тебя есть таблица 12х6 и тебе надо удалить одну строку. Все шесть значений столбцов ты должен гдето сохранить, все ниже лежащие строки сдвинуть вверх, потом если необходимо опять показать эту строку, то нужно все строки от нужной сдвинуть вниз, потом вставить сохранённые значения и так для всех строк. С эдитами как мне кажется проще - просто поставить ивизибль, поотом лёгким движением кода сдвигать...

И вообще, давайте не переходить на конкретные примеры)) Вот скажем задача - отобразить матрицу 25х35 едитов (для примера), как вы это сделаете?


--------------------
PM MAIL ICQ Skype   Вверх
skyboy
Дата 3.3.2007, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



Цитата(UniBomb @  3.3.2007,  14:10 Найти цитируемый пост)
тебе надо удалить одну строку. <...> потом если необходимо опять показать эту строку

если такая ситуация возникает, лучше просто скрывать строку.
Цитата(UniBomb @  3.3.2007,  14:10 Найти цитируемый пост)
Вот скажем задача - отобразить матрицу 25х35 едитов

данные могут быть сгруппированы по каким-либо обобщающим признакам? если да - разобью на группы(при помощи закладок, панелей, даже разных форм); если нет - воспользуюсь таблицей.
а какие данные в этих edit'ах? например, если 0/1, то лучше сделать таблицу checkbox'ов.  
если фиксированный набор - таблица выпадающих списков(combobox'ов).
я ведь все ещё не знаю, какими данными ты оперируешь. и - на каком языке собираешься реализовывать программу.
PM MAIL   Вверх
UniBomb
Дата 3.3.2007, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 97



skyboy

Я имел в виду несколько другое - вручную понатыкаеш или сделаеш что то типа 
Код

TEdit *MyEdit = new TEdit(this)

или сделаеш дллку, в которй всё это дело укажеш...


Цитата

разобью на группы(при помощи закладок, панелей, даже разных форм);например, если 0/1, то лучше сделать таблицу checkbox'ов.  
если фиксированный набор - таблица выпадающих списков(combobox'ов).

У меня примерно так и есть))


--------------------
PM MAIL ICQ Skype   Вверх
skyboy
Дата 3.3.2007, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



Цитата(UniBomb @  3.3.2007,  14:29 Найти цитируемый пост)
У меня примерно так и есть)) 

насколько "примерно"? smile
Цитата(UniBomb @  3.3.2007,  14:29 Найти цитируемый пост)
Я имел в виду несколько другое - вручную понатыкаеш или сделаеш что то типа ...

не знаю. насколько динамичен этот набор? как часто что-то скрывается или отображается?
Цитата(UniBomb @  3.3.2007,  14:29 Найти цитируемый пост)
или сделаеш дллку, в которй всё это дело укажеш...

а смысл? настолько все часто меняется, или что?
повторю вопрос:
Цитата(skyboy @  3.3.2007,  14:22 Найти цитируемый пост)
данные могут быть сгруппированы по каким-либо обобщающим признакам?


PM MAIL   Вверх
UniBomb
Дата 3.3.2007, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 97



skyboy
В приципе да - для вывода концентрации, для вывода серийнико, для вывода погрешностей, для ввода предварительного опробывания и т.д. 

Цитата

а смысл? настолько все часто меняется, или что?


Ну смысл что бы описывать каждые элемент не в теле программы а в библиотеке, дабы визуальнее код был меньше.

Цитата

не знаю. насколько динамичен этот набор? как часто что-то скрывается или отображается?


Весь набор мимеет постоянное количество, 1/3 элементов изменяется один раз, скрывается всё простым инвизиблём... Чуть позже выложу скрины...


--------------------
PM MAIL ICQ Skype   Вверх
skyboy
Дата 3.3.2007, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



Цитата(UniBomb @  3.3.2007,  14:52 Найти цитируемый пост)
1/3 элементов изменяется один раз

я не про это. насколько часто возникает потребность что-то скрывать?
Цитата(UniBomb @  3.3.2007,  14:52 Найти цитируемый пост)
В приципе да - для вывода концентрации, для вывода серийнико, для вывода погрешностей, для ввода предварительного опробывания и т.д. 

тогда и правда - лучше сгруппировать.
если "групп данных" много - используй представление в виде дерева(назвал бы язык разработки - указал бы, куда копать);
если групп несколько - лучше закладки.
Цитата(UniBomb @  3.3.2007,  14:52 Найти цитируемый пост)
что бы описывать каждые элемент не в теле программы а в библиотеке, дабы визуальнее код был меньше

разбивай на функции код. dll не  для "визуального уменьшения кода", у них - другое назначение.
PM MAIL   Вверх
UniBomb
Дата 3.3.2007, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Вот примерный вид программы:

Присоединённый файл ( Кол-во скачиваний: 31 )
Присоединённый файл  programm.PNG 83,35 Kb


--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила раздела "Философия программирования":
Се ля ви

Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО:

• вопросы перспективного развития методов написания ПО;

• изменяющиеся языки и методологии программирования;


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Философия программирования | Следующая тема »


 




[ Время генерации скрипта: 0.0919 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.