![]() |
Модераторы: Се ля ви |
![]() ![]() ![]() |
|
UniBomb |
|
|||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
Вот интересно, если скажем есть программа которая считывает, обрабатывает выводит большое количество информации с разных источников. Соответсвенно должно быть море едитов, лейблов, баттонов и прочих фенек. Лично у меня общее количество их достигает около полутора сотен. Так как же всё таки их грамотнее и удобнее создавать? Пока я знаю два способа - это в момент создания натыкать все элементы на форму и потом писать длинные коды для работы с каждым элементом поотдельности. Второй способ это создание массива элементов и пототот в цикле всех их и отображать. Но и этот способ мне не особо нравится... Есть ли другие методы?
|
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
ясень пень! в первую очередь, есть другие методы ввода, кроме полей для ручного набора. можно вводить график какой-то зависимости, просто рисуя мышкой. можно определять ключевые точки, а потом сплайновой интерполяцией получать промежуточные данные. можно, в конце концов, заменить гору edit'ов для однотипных данных одним StringGrid'om. Можно... Кстати, а какая задача? какие данные? почему их так много? |
|||
|
||||
UniBomb |
|
|||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
skyboy,
Ну если конкретные пример - программа опрашивает хренову тучу датчиков, выводит предварительную инфу о них, расчитывает передаваемые значение, рачитывает обсолютные и относительные погрешности. В программу вводятся значения текущей погоды (давление, влажность, тепература и т.д.), должны вводится результаты внешнего осмотра и опробывания по нескольки пороговым значениям и т.д. (если ещё более конкретно - программа автоматизации поверки газосигнализаторов, причём если в газосигнализаторе не пердусмотрена опция интерфейса общения с компом, то абсолютно все данные вводятся ручками). А СтрингГрид мне не нравится - что то он больно кривовато выглядит(( |
|||
|
||||
Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
Для ввода действительно большого набора данных обычно используются заранее подготовленные файлы. Это и проще и надежней.
|
|||
|
||||
UniBomb |
|
|||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
Sartorius,
Дык, а если данные - это отображение текущих значений чего либо? Т.е. динамически изменяющихся и в зависимости от этих данных надо делоть что то другое? (Хм... надеюсь понятно)) |
|||
|
||||
skyboy |
|
||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
в виде графика? таблицы? treeView?
от датчиков эти данные получить нельзя?
чем тебе не нравится список значений? или дело во внешнем виде? бери DrawGrid и разукрашивай, как угодно. |
||||
|
|||||
Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
Я бы предложил сделать так:
- Все данные, которые меняются редко прописывать в отдельном файле и сделать возможой загрузку его в момент работы проги
Вот это плохо. Если есть время - то может быть все таки сделать все обстоятельно - спроектировать программно-аппаратный комплекс. Подключить все приборы к АЦП и снимать все параметры без участия человека. |
|||
|
||||
UniBomb |
|
||||||||||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
Есть данные, которые меняются всего один раз - для формирования отчёта, для них выполнены значения "по умолчанию". Но тем не менее количество рющек для отображения/изменения меньше не становится...
Вот тут уже ничего селать низя. Т.к. приборы уже готовые, с тремя модификациями - с интерфесом(можно подключить к компу), с релейными выходами и с транзиторным выходом (например с открытым коллектором). Соответсвенно и методика поверки меняется. НО! независимо от модификации необходимо сохранять все показания, все погрешности и т.д.
в виде чисел))
Если бы было можно, то эти датчики стоили бы кучу денег. Ведь необходимо ещё ставить сенсор влажности, калибровка которого требует уйму времени и дорогого оборудования... ну и т.д. в том же духе...
Ну например у тебя есть таблица 12х6 и тебе надо удалить одну строку. Все шесть значений столбцов ты должен гдето сохранить, все ниже лежащие строки сдвинуть вверх, потом если необходимо опять показать эту строку, то нужно все строки от нужной сдвинуть вниз, потом вставить сохранённые значения и так для всех строк. С эдитами как мне кажется проще - просто поставить ивизибль, поотом лёгким движением кода сдвигать... И вообще, давайте не переходить на конкретные примеры)) Вот скажем задача - отобразить матрицу 25х35 едитов (для примера), как вы это сделаете? |
||||||||||
|
|||||||||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
если такая ситуация возникает, лучше просто скрывать строку. данные могут быть сгруппированы по каким-либо обобщающим признакам? если да - разобью на группы(при помощи закладок, панелей, даже разных форм); если нет - воспользуюсь таблицей. а какие данные в этих edit'ах? например, если 0/1, то лучше сделать таблицу checkbox'ов. если фиксированный набор - таблица выпадающих списков(combobox'ов). я ведь все ещё не знаю, какими данными ты оперируешь. и - на каком языке собираешься реализовывать программу. |
|||
|
||||
UniBomb |
|
||||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
skyboy,
Я имел в виду несколько другое - вручную понатыкаеш или сделаеш что то типа
или сделаеш дллку, в которй всё это дело укажеш...
У меня примерно так и есть)) |
||||
|
|||||
skyboy |
|
||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
насколько "примерно"? ![]()
не знаю. насколько динамичен этот набор? как часто что-то скрывается или отображается? а смысл? настолько все часто меняется, или что? повторю вопрос:
|
||||
|
|||||
UniBomb |
|
||||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
skyboy,
В приципе да - для вывода концентрации, для вывода серийнико, для вывода погрешностей, для ввода предварительного опробывания и т.д.
Ну смысл что бы описывать каждые элемент не в теле программы а в библиотеке, дабы визуальнее код был меньше.
Весь набор мимеет постоянное количество, 1/3 элементов изменяется один раз, скрывается всё простым инвизиблём... Чуть позже выложу скрины... |
||||
|
|||||
skyboy |
|
||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
я не про это. насколько часто возникает потребность что-то скрывать?
тогда и правда - лучше сгруппировать. если "групп данных" много - используй представление в виде дерева(назвал бы язык разработки - указал бы, куда копать); если групп несколько - лучше закладки.
разбивай на функции код. dll не для "визуального уменьшения кода", у них - другое назначение. |
||||
|
|||||
UniBomb |
|
|||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
||||
|
||||
![]() ![]() ![]() |
Правила раздела "Философия программирования": | |
|
Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО: • вопросы перспективного развития методов написания ПО; • изменяющиеся языки и методологии программирования; Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Философия программирования | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |