|
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 40
|
||||||
Вывод результата исходя из желаний пользователя30.07.2021, 20:26. Показов 7506. Ответов 62
Метки нет (Все метки)
Добрый вечер, форумчане. Извините за некорректную постановку вопроса в заголовке, очень тяжело придумать правильное название темы.
Собственно суть темы: Я имею в одной форме datagridview, в котором содержатся данные, вот в таком виде (привожу скрин). В этой форме пользователь заполняет данные о разных показателях для бухгалтерского счёта некоторой организации, затем по нажатию кнопки "сохранить" сохраняет показатели каждого элемента в XML, для последующей работы с сохраненной организацией. Так вот. Как вы могли заметить здесь есть различные показатели. Так же мы имеем форму "Коэффициенты" (скрин 2), который содержит в себе список вероятных коэффициентов (расчётов). Есть несколько "дефолтных" коэффициентов, которые рассчитывают результат некоторой формулы, так, например,
В изменении (либо создании новой) формулы необходимо создать выбор предлагаемых элементов формулы: статей баланса (на основе которых коэффициент и высчитывается) а также математических знаков, т.е. сочитаем мы резервный капитал с нераспределенной прибылью или же вычитаем, либо умножаем, быть может. Собственно ряд вопросов: 1. Как правильно реализовать создание коэффициента, как правильно получает данные необходимых строк. 2. Возможно ли создать удобный конструктор формул для пользователя и как реализовать это? Я не прошу выполнить работу за меня, я лишь прошу рассуждений неравнодушных. Буду благодарен каждому, кто хоть подаст идею, и, может быть, покажет свой пример. Спасибо.
0
|
||||||
| 30.07.2021, 20:26 | |
|
Ответы с готовыми решениями:
62
Запрос и ввод имени пользователя, сравнение с текущим логическим именем пользователя и вывод результата Сделать вывод информации о новости, исходя из данных о имени пользователя и id категории Вывод результата в файл, при переводе чисел по выбору пользователя |
|
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 40
|
||||
| 02.08.2021, 17:57 [ТС] | ||||
![]() Ну вообще по этому пункту я открыт к обсуждению
0
|
||||
|
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 40
|
|||
| 02.08.2021, 18:14 [ТС] | |||
|
0
|
|||
|
|
|
| 02.08.2021, 21:21 | |
|
AviacionnyUser, вот теперь мы пришли к некоему консенсусу. Это радует.
Добавлено через 2 часа 55 минут AviacionnyUser, давайте отдохнем немного. А потом продолжим. Добавлено через 3 минуты А над Камчаткой погода не очень, опять туман.... (с) гр. "Любэ"
0
|
|
|
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
|
||||||
| 03.08.2021, 11:04 | ||||||
|
если используются только примитивные математические операции+-/*(), то можно обойтись
0
|
||||||
|
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 40
|
||||
| 03.08.2021, 12:31 [ТС] | ||||
|
upd: Нет, действительно, возможно это пригодится (я сомневаюсь), но пока еще до расчётов даже дело не дошло Добавлено через 1 минуту
0
|
||||
|
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 40
|
|||
| 03.08.2021, 19:30 [ТС] | |||
|
Вернее будет сказать, что коэффициент редактировать мы действительно НЕ будем, а вот формулу его расчёта будем Я бы уже пример бы какой нибудь сделал нормальный, но у меня в голове всё еще не созрело ничего адекватного. Не быть мне архитектором
0
|
|||
|
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 40
|
||||
| 03.08.2021, 19:45 [ТС] | ||||
|
Еще раз... Коэффициент N = сумме или разности некоторых компонентов. Каких компонентов? Ответ: решает пользователь (либо по умолчанию, формулы дефолтных коэффициентов кидал выше). Так сумме или разности? Ответ: решает пользователь. Добавляет столько компонентов сколько ему нужно и добавляет произвольные значения по желанию и расставляет между этими компонентами операции сложения, либо вычитания, либо умножения, либо деления, либо скобки. Надеюсь всё уточнил.
0
|
||||
|
|
||||||||||||||||||||||
| 03.08.2021, 21:36 | ||||||||||||||||||||||
![]() Понятно. Попробуем что-нибудь соорудить. Добавлено через 1 час 45 минут AviacionnyUser, допустим, введено выражение:
Но, подумал я. Добавьте в проект вот этот класс: Класс RPN
Проверим его работу:
0
|
||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 40
|
|
| 04.08.2021, 14:41 [ТС] | |
|
wizard41, это хороший класс, хороший функционал. По прежнему вопрос остается актуальным о конструкторе. Понимаете ли, реализовать процесс расчёта я вполне в состоянии (хотя и не спорю, что RPN, который вы ввели в эту тему, намного безупречнее, чем любой другой аналог, который я бы смог придумать для расчёта).
Мне нужна помощь именно в реализации конструктора коэффициентов. Чтобы можно было буквально строить "по кирпичикам" компоненты с операторами в ряд (а уже после этого делать расчёт). Вероятно, у нас разный подход к построению процессов, у вас, если угодно Code-First, а мне б View-First и от этого отталкиваться
0
|
|
|
|
|||
| 04.08.2021, 15:23 | |||
![]() Добавлено через 25 минут AviacionnyUser, вообще то, начало положено еще в этом моем посте. Добавьте кнопок /*=, отмена, стереть и т.п. В листбоксе уже не коэффициенты, а компоненты. Таким же образом можно переделать и второй мой пример.
0
|
|||
|
|
||||||||||||||||
| 05.08.2021, 12:13 | ||||||||||||||||
|
AviacionnyUser, и снова здравствуйте.
Вот эти списки явно напрашиваются в Dictionary
Зачем вот это сохранять в файл, если это жестко прописанные константы в программе: Кликните здесь для просмотра всего текста
Все еще остается открытым вопрос - от куда берутся численные значения этих компонент? Вот тут "123" от куда взялось? Кликните здесь для просмотра всего текста
0
|
||||||||||||||||
|
|
|||||||||||||||||||||||||||
| 05.08.2021, 15:01 | |||||||||||||||||||||||||||
|
Выкиньте из своего кода List'ы с разделами и компонентами и замените на вот этот словарь: Кликните здесь для просмотра всего текста
На первый взгляд, слегка сложноватая конструкция, но на самом деле более удобная в плане выборок. При показе формы Ред. Коэффициентов
События первого листбокса
второго
События операторских кнопок
Получится такое: Сейчас (для примера) в формулу вставляются коды выбранных строк из словаря. По ним как бы видно, что с чем складывается/отнимается. Где-то в глубине кода по этим "кодам строк" мы должны получать реальные числовые значения и производить математические операции над ними. Предполагается, что данное окно редактора вызвано из Главного окна, где уже определено текущее предприятие, для которого эти формулы строятся. Вопрос, куда и в каком формате сохранять эти формулы - так же открыт.
0
|
|||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 40
|
|||||
| 09.08.2021, 12:20 [ТС] | |||||
|
Просто сделал два конструктора (один вызывается без входящих параметров, "новые данные", где вызываются эти константы. Второй с входящим параметром path (путь до xml сохраненного) и десериализуется, при этом константы там не вызываются (посмотрите конструкторы в NewDataForm и станет яснее). Добавлено через 2 минуты Куда? В Application.StartupPath (директория с приложением). В каком формате? Я думаю, что удобнее всего xml или json.
0
|
|||||
|
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 40
|
|||
| 09.08.2021, 20:12 [ТС] | |||
|
Да и как это сериализовать в xml...
0
|
|||
| 09.08.2021, 20:12 | |
|
Помогаю со студенческими работами здесь
60
Заполнить массив исходя из результата побитовой проверки числа Средняя температура исходя из сведений пользователя Вывод исходя из условия Вывод результата: вывод результата процедуры Вывод значения исходя из условий Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible". . .
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|