Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
 Аватар для Hrethgir
421 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,114
Записей в блоге: 171

Таблица с динамически меняющейся детализацией

16.11.2024, 07:34. Показов 3251. Ответов 34
Метки нет (Все метки)

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

Очень нужно, желательно реализовать с возможностью сэйва состояния просмотра. Насколько много придется делать самому и что уже есть? В общем это типа редактора таблицы Менделеева, но для схемотехники.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.11.2024, 07:34
Ответы с готовыми решениями:

Производная динамически меняющейся величины
Здравствуйте! Препод по физике дал задание: у него через АЦП на порт USB подается напряжение в диапазоне от 0 до 5 вольт, регулируется...

Поиск по меняющейся маске для слов из списка(таблица)
Необходимо для слова гора например провести поиск в таблице содержащей 4буквенные слова по маскам *ора,г*ра,го*а и гор* а результаты поиска...

Динамически изменяемая таблица
Подскажите, как можно изменить с помощью мыши размеры таблицы?(перемещение, растягивание) Может кто знает уже готовые библиотеки?

34
Айлурофил
 Аватар для Massaraksh7
500 / 432 / 111
Регистрация: 27.05.2017
Сообщений: 2,548
Записей в блоге: 5
16.11.2024, 07:45
TStringGrid позволяет это делать, в событии OnDrawCell можно рисовать что хочешь, а в свойстве Objects можно хранить любые данные для каждой ячейки.
Цитата Сообщение от Hrethgir Посмотреть сообщение
Насколько много придется делать самому
Всё.
1
 Аватар для Hrethgir
421 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,114
Записей в блоге: 171
16.11.2024, 13:10  [ТС]
Про этот компонент я знаю давно, и пользовался даже на практике, а вот свойство Objects не использовал ещё ни разу, поэтому и тему в общем-то создал вероятно. Остальное по чуть делал. Надо делать, тяжело без прикладных инструментов с схемотехникой работать, даже схема не является её удобным представлением, как и стиль описания поведения и силь описания уравнениями Verilog. По мелочи можно использовать то что есть, но кому нужны мелочи ...
0
Айлурофил
 Аватар для Massaraksh7
500 / 432 / 111
Регистрация: 27.05.2017
Сообщений: 2,548
Записей в блоге: 5
16.11.2024, 13:32
Цитата Сообщение от Hrethgir Посмотреть сообщение
а вот свойство Objects не использовал ещё ни разу,
Вот эту тему посмотри.
Controls в ячейках StringGrid. Артефакты
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33149 / 21441 / 8223
Регистрация: 22.10.2011
Сообщений: 36,773
Записей в блоге: 9
16.11.2024, 13:41
Цитата Сообщение от Massaraksh7 Посмотреть сообщение
TStringGrid позволяет это делать
На фиг тут StringGrid не сдался, замучаешься рисовать на нем. Проще надо быть: создал TFrame, который содержит все, что нужно (чекбокс какой-нибудь, чтобы отметку ставить, Shape, например, для отображения цвета, какие-нибудь нужные Label-ы, в общем, все, что нужно в данный момент), а на форму просто положил TFlowPanel, и в рантайме запихал на эту панель сколько нужно фреймов. И по имени фрейма (или по его абсолютной позиции в ControlList-е панели) можно обращаться к конкретному фрейму и работать с ним.
0
Айлурофил
 Аватар для Massaraksh7
500 / 432 / 111
Регистрация: 27.05.2017
Сообщений: 2,548
Записей в блоге: 5
16.11.2024, 15:06
Цитата Сообщение от volvo Посмотреть сообщение
На фиг тут StringGrid не сдался, замучаешься рисовать на нем.
Это кому что удобнее.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33149 / 21441 / 8223
Регистрация: 22.10.2011
Сообщений: 36,773
Записей в блоге: 9
16.11.2024, 17:17
Лучший ответ Сообщение было отмечено Hrethgir как решение

Решение

Удобнее - то, что делается проще. Сколько тебе придется написать, чтобы отобразить вот такую картинку в StringGrid-е:



?

А у меня это все - 10 строк кода. С учетом создания, изменения цвета по необходимости, и к тому же еще и вывод размеров "грида" в заголовок формы.

Пока ты будешь писать только обработчик OnDrawCell, который за каждым чихом еще и править придется, я уже третью версию приложения выпущу
1
Vala Valechka Valusha
 Аватар для Ludwig Valentin
159 / 252 / 25
Регистрация: 11.08.2022
Сообщений: 2,732
16.11.2024, 17:24
А почему бы не нормализовать базу данных?
Таблица ячейки, таблица данные ячеек.
Или:
Таблица ячейки, Таблица проперти_1, проперти_2, проперти_3... каждая своего типа и со ссылками на ячейку.
0
 Аватар для Hrethgir
421 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,114
Записей в блоге: 171
16.11.2024, 19:43  [ТС]
Спасибо за советы. У volvo, как всегда, лучший совет. Но всё равно всем спасибо. Ладненько, на этих выходных я проведу очередные тестбенчи всех логических элементов танги9к (на установку и на сброс), а заодно и своего сумматора и стандартного. И тогда станет ясно что именно нужно, но вообще кажется нужно будет или два режима одного приложения - в одном просматривать все характеристики логических элементов, примитивов и модулей, а во втором проводить анализ схемы, а так как приложение изначально думать не умеет - то на первой поре забивать много нудо будет руками - через чекбоксы или как-то ещё. В общем сначала хотя-бы аналог таблицы Менделеева сделать, а уже к ней где-то ниже прикручивать инфу об общей схеме, и уже интересующие узлы расчитывать или связи. Так как всё не протестируешь - не всегда это просто, и что-то определённо надо будет рассчитывать. Например скорость сбросов большей (ну или половины) части элементов просто так уже нельзя потестить - это слишком быстро чтобы сделать это ими одними - уже прийдётся встраивать в схему элементы, которые при сбросе тестируемых будут устанавливаться в 1, а скорость сброса соответственно высчитывать. И соответственно понятно, что это будет наблюдаться и дальше с любой схемой в той или иной мере.
0
 Аватар для Hrethgir
421 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,114
Записей в блоге: 171
18.11.2024, 22:25  [ТС]
Начинать надо с малого, и я смотрю как раз на сумматор какоторый слелал в симуляторе. Понятно, что там всё сложно и гораздо проще было брать что есть - натыцать логических элементов не напрягая особо мозги, и забыть про какие-то оптимизации и всплывающие по их осуществлению теории, но - это точно не мой путь. Задача которая просматривается - его оптимизация. Что нужно сделать чтобы сделать оптимизацию - тут нужен симулятор наоборот, или правильнее сказать - тул, который работает на движке обратном симуляторному.
В чём разница - для того чтобы оптимизировать схему нужен массив проводов. То-есть провод - это объект, а все базовые элементы тогда - свойства связывающие между собой провода. Тогда самое интересное свойство получается- ллектронный ключ, так как на один провод можно кинуть несколько их выходов. Это как ... валентность, просто не абы какие электроны, а вот только конкретные, и уровень сигнала сравнить...со спином... . Вот...Это я к тому, что про таблицу Менделеева я не просто так писал, а действиетльно что-то похожее по свойствам надо. То-есть один провод не может иметь сразу два спина, и может иметь какие-то разрешения и запреты, даваемые кинутыми на него выходами ключей электронных...В случае нарушения правила - ошибка. Ну и плюс с таблицы истинности правила.


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

Сам сумматор тут https://www.cyberforum.ru/blog... g8715.html
И у меня есть острое желение, если не оптимизировать его, то получить тул для подобных оптимизаций. Потому что сокращение пути достижения цели техническим средством - одна из главных задач, решаемых мной при его разработке. Точно так-же я и решил в сумматоре сократить логические цепи в сумматоре с нескольких элементов до одного на ответвлении, правда при этом я усложнил механику связей проводов за счёт электронных ключей. И этот тул, если его сделать - он мной будет испольщоваться очень часто, поскольку работы очень много предстоит ещё, сумматор - это только преддверие.

Добавлено через 16 минут
Вобщем, наблюдаемые объекты - провода, у данного тула, самое сложное свойство которое он может иметь - электронный ключ, все остальные свойства - простые и их больше одного быть у провода не может. Это на уровне одного модуля разумеется всё. Вроде так. А ещё - контакт, чтобы входящий можно было программировать...Это второе свойство по сложности, сложность его программирования пока мало понятна, и эта сложность пропорциональна сложности возможности слежения за проводом. В общем на оптимизации сумматора и будет изготавливаться инструмент. Поцесс я себе представляю чётко оптимизации, а вот осуществить без тула - не смогу. И главное - что этот инструмент будет использоваться и для других модулей.

Для начала задача такая - отследить не продублировал ли я где провод по поведению в схеме. Это первый пример слежения. Хотя это вряд-ли что продублировал провод...но вполне может быть. То-есть создаётся массив проводов, иначе мне это как-то трудно представляется...все логические элементы - правила проводов, у каждого провода свой один элемент - и он же его правило, а электронные ключи и контакты - свойства, свойства намного сложнее правил. Фишка - программирование отслеживания образно схоже с правилами накладываемыми на провода...
Такая форма интерпритации мне не представляется тупиковой и в дальнейшем, думаю, её можно будет преобразовать. То-есть для тула нужен ещё свой язык программирования, который с одной стороны представляет собой схему на схемой - описываются связи отслеживаемых проводов или задаётся повдение провода для поиска этого поведения в схеме, и с другой стороны - контакты, поведение контактов входящих, это надо обязательно. О выходящих контактах в этом сообщении ничего нет, да и вообще пока внутри одного модуля - они не нужны.
Вопрос необходимости симулятора спорен - симуляция это поведение и может быть описано выражением, если это поведение внутри одного модуля. Симуляция для тула думаю - не нужна. А вот язык для этого выражения - нужен.

Добавлено через 17 минут
И в общем - исходя из этого уже нужно выбирать компонент, который будет в основном использоваться или базовым для решаемой задачи.
0
 Аватар для Hrethgir
421 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,114
Записей в блоге: 171
19.11.2024, 05:43  [ТС]
Имеется ввиду компонент IDE Lazarus
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33149 / 21441 / 8223
Регистрация: 22.10.2011
Сообщений: 36,773
Записей в блоге: 9
19.11.2024, 11:31
Hrethgir, был на форуме такой пользователь, Mazanton. Посмотри его темы, он занимался чем-то подобным тому, что нужно тебе: реализовывал схемы на логических элементах со связями между ними. Есть в его темах и исходники и проекты... Может, что-то окажется полезным.
1
 Аватар для Hrethgir
421 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,114
Записей в блоге: 171
19.11.2024, 20:41  [ТС]
Реализовать я смогу и так - на FPGA или в симуляторе...хорошо, спасибо. Ну какой компонент можете посоветовать? Условия ТЗ неизменны - базовые логические элементы - правила, электронные ключи и провода - свойства. Нужна реализация интерфейса. Язык - разумеется тут простенький, если будет надо. Ну если что, прошу прощения, справлюсь сам.
0
Модератор
4078 / 2316 / 801
Регистрация: 15.11.2015
Сообщений: 9,195
19.11.2024, 21:37
Первое, что пришло в голову:
Это похоже на то, что делали для программ тестирования. Там тоже разные вопросы могут содержать разные данные - текст, изображение, звук. А так же, варианты для ответа - радиокнопка, чекбоксы, поле ввода. Это всё как-то просто кодируется в файле вопросов.

Так и тут, только без файла вопросов. Каждый объект "логический элемент", "электронный ключ", "провод" и т.д. знает, что у него там внутри и что должно отображаться. Объект, который отображает, берёт из объекта (логический элемент, ключ, провод и т.д.) информацию, список, какие элементы нужно отобразить, Label, Memo, Image и т.д., и на каких координатах внутри своего окна (последнее не обязательно, наверное). Ну и сами данные тоже берёт из объекта и потом создаёт фрейм с нужными компонентами и отображает его.

Добавлено через 5 минут
Ну или объект содержит всю нужную информацию свёрстанную в HTML, а отображается это загрузкой в TWebbrowser.
1
 Аватар для Hrethgir
421 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,114
Записей в блоге: 171
19.11.2024, 21:55  [ТС]
AzAtom, спасибо за посильную помощь и любой вклад.
Цитата Сообщение от AzAtom Посмотреть сообщение
Это похоже на то, что делали для программ тестирования. Там тоже разные вопросы могут содержать разные данные - текст, изображение, звук. А так же, варианты для ответа - радиокнопка, чекбоксы, поле ввода. Это всё как-то просто кодируется в файле вопросов.
это очень интересно было-бы, взять готовое или наработку, и использовать в своих целях.
А вот тут
Цитата Сообщение от AzAtom Посмотреть сообщение
Каждый объект "логический элемент", "электронный ключ", "провод" и т.д. знает, что у него там внутри
уже не совсем так. Главные объекты - это действительно провода, и они могут быть связаны друг с другом , но через правила - базовые логические элементы , например провод "выход" связан с проводами "вход1" и "вход2" через правило логического элемента И, сам логический элемент при этом совсем не нужен, дастачно знать правило (или его таблицу "истинности"), что если на проводе "вход1" и "вход2" подан сигнал единицы, то на проводе "выход" тоже будет единица. Это на самом деле решает очень много - логику и механику работы предполагаемой программы, и правила - это самое простое что можно придумать, всё гораздо сложнее с электронными ключами, их на провод может быть кинуто много выходов с других проводов. И под них лучше иметь особый тип данных. Про контакты я вообще зря рано речь завёл - пока рассматриваем провода без контактов. Я не знаю к чему отнести контакты : то-ли к правилам, то-ли к чему-то ещё...
0
Модератор
4078 / 2316 / 801
Регистрация: 15.11.2015
Сообщений: 9,195
19.11.2024, 22:00
Цитата Сообщение от Hrethgir Посмотреть сообщение
провод "выход" связан с проводами "вход1" и "вход2" через правило логического элемента И, сам логический элемент при этом совсем не нужен, дастачно знать правило (или его таблицу "истинности"), что если на проводе "вход1" и "вход2" подан сигнал единицы,
Я такое впервые читаю. Провод - это провод, просто соединение между "выход" и "вход" элементов. Как понял, так и написал выше.
1
 Аватар для Hrethgir
421 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,114
Записей в блоге: 171
19.11.2024, 22:35  [ТС]
Цитата Сообщение от AzAtom Посмотреть сообщение
Я такое впервые читаю. Провод - это провод, просто соединение между "выход" и "вход" элементов.
потому что это абстракция, упрощение. Провод - это объект, а логические элементы (у них у всех всего один выход, у базовых) - правила провода. Например если модуль содержит всего один элемент И, то для него верно выше сказанное
Цитата Сообщение от Hrethgir Посмотреть сообщение
Главные объекты - это действительно провода, и они могут быть связаны друг с другом , но через правила - базовые логические элементы , например провод "выход" связан с проводами "вход1" и "вход2" через правило логического элемента И, сам логический элемент при этом совсем не нужен, дастачно знать правило (или его таблицу "истинности"), что если на проводе "вход1" и "вход2" подан сигнал единицы, то на проводе "выход" тоже будет единица.
Это значительно упрощает задачу составления логики программы - позволит быстро её запустить в применение для оптимизации модулей, или их тестирования. А вот с электронными ключами всё уже намного сложнее. Ну и с контактами.
0
 Аватар для Hrethgir
421 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,114
Записей в блоге: 171
20.11.2024, 22:34  [ТС]
Значит, компонент мне никто не посоветует, видимо. Ладно, отложу тогда работу над инструментом, на время.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33149 / 21441 / 8223
Регистрация: 22.10.2011
Сообщений: 36,773
Записей в блоге: 9
21.11.2024, 20:00
Лучший ответ Сообщение было отмечено Hrethgir как решение

Решение

Цитата Сообщение от Hrethgir Посмотреть сообщение
компонент мне никто не посоветует, видимо
Есть EvsSimpleGraph, есть канва, на которой вообще что угодно можно рисовать. Что еще можно посоветовать?
1
 Аватар для Hrethgir
421 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,114
Записей в блоге: 171
21.11.2024, 23:24  [ТС]
Спасибо, похоже EvsSimpleGraph будет то что надо. Я почти оптимизировал сумматор "вручную", думаю что почти в два раза он будет эффективнее стандартного. Просто сократил цепь раздвоив её, но так или иначе нужен свой инструмент, иначе тяжело как-то без него, потихоньку буду пытаться делать.

Не по теме:

версия сумматора тут https://www.cyberforum.ru/blog... g8718.html
за предыдущие версии прошу извинить, если что

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.11.2024, 23:24
Помогаю со студенческими работами здесь

Динамически пополняемая Web-таблица для Access 2007
через неделю зашита диплома) застопорился на таком вопросе: нужно сделать страницу накоторой будет отображаться динамически пополняемая...

Построение таблицы с переменной детализацией
Здравствуйте Есть задача: построить отчёт в виде таблицы по данным из базы Загвоздка в том, что таблица непостоянной структуры и от...

Эффект рисунка с высокой детализацией
подскажите пожалуйста как сделать такой эфект??

Не получается отобразить для каждого конкретного товара в онлайн-магазине свою собственную страницу с детализацией
Для каждого товара на главной странице магазина беру данные из БД, вывожу там картинку, название товара, цену. Переход на страницу...

Кнопка с меняющейся прозрачностью
Как создать кнопку(именно "button"), у которой можно менять прозрачность? Метод, https://www.cyberforum.ru/win-api/thread338133.html по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »