Форум Рубцовска

Форум Рубцовска (http://rub.altai.su/index.php)
-   Программирование (http://rub.altai.su/forumdisplay.php?f=11)
-   -   моя практика в программировании (http://rub.altai.su/showthread.php?t=94098)

Neil 28.08.2021 10:48

моя практика в программировании
 
возможно будет кому-нибудь полезна :)

скачать E-num 0.0.1

https://i.postimg.cc/w7HkmFhk/1.png
https://i.postimg.cc/bsT9Hbgf/2.png
https://i.postimg.cc/LJ8ByXQY/3.png
https://i.postimg.cc/sMfPxXpf/4.png

p.s.:

сегодня-завтра допишу обработку ошибок.

планирую расширение функционала до сканирования пула IP и вывода таблицы с конфигурациями.

возможен экспорт в Excel.

после ввода пароля будет работать по клавише Enter :D

принимаю пожелания для изменения интэрфейса программы :)

writer22rus 28.08.2021 11:39

Серег, по интерфейсам почитай основы UI/UX
И эспортировать лучше в csv, а не проприетарный формат.

chip 28.08.2021 12:30

https://i115.fastpic.org/big/2021/08...311a4d5ee4.png

Neil 28.08.2021 15:00

при тестировании на win7 выяснилось, что для работы сервиса необходимо добавить в исключения ещё один порт.
поправил инструкцию, актуальный дистриб тут.

Цитата:

Сообщение от writer22rus (Сообщение 1312740)
Серег, по интерфейсам почитай основы UI/UX...

хорошо, Лёх, Благодарю :)

Цитата:

Сообщение от writer22rus (Сообщение 1312740)
... И эспортировать лучше в csv, а не проприетарный формат.

тоже верно :)

Цитата:

Сообщение от chip (Сообщение 1312741)

попробовать от Админа выполнить, если выдаст ту же ошибку, - подождать версию 0.0.2 :)
допишу обработчики ошибок. ну и уже там буду смотреть что не так :)
а пока стандартный вопрос - версия ОС? :) и если можно скрин с развёрнутой кнопкой "Details" :)
Спасибо :)

---------- Добавлено 28.08.2021 в 14:59 ----------

версия 0.0.2 :)

скачать

добавил обработчики ошибок на этапах определения каждого устройства и
на этапе подключения к удалённому компьютеру.

думаю, если теперь программа столкнётся с неизвестным ей устройством,
то её работа всё-равно завершится правильно ;)

chip 28.08.2021 16:56

https://i115.fastpic.org/big/2021/08...7e74e100d1.png

память не определил, и монитор не понятно.
Windows 7 64, а слабо версию windows определить?

Neil 28.08.2021 18:03

окно ввода данных для подключения к компьютеру в сети
теперь работает по клавише Enter и "ругается" если пароль пустой.

скачать

Цитата:

Сообщение от chip (Сообщение 1312747)
https://i115.fastpic.org/big/2021/08...7e74e100d1.png

память не определил...

Андрюх, я посмотрю, что можно сделать.
если это болячка 7-ки, то проще,
НО что то мне подсказывает, что это скорее исключение,
чем правило :)

Цитата:

Сообщение от chip (Сообщение 1312747)
... монитор не понятно...

а с мониторами вообще не понятно... и ни мне одному :)
пока эта строчка в коде скорее рудимент.
раскодировать показания системных методов не получается...*PARDON*
зато я увидел лишнюю табуляцию и убрал её ;)

определение мониторов это одна из первостепенных задач... на потом :)
программа создаётся для того, чтобы сидя провести ревизию по технике,
поэтому с мониторами мне так и так разбираться :)

Цитата:

Сообщение от chip (Сообщение 1312747)
...
Windows 7 64, а слабо версию windows определить?

наверное нет, не замарачивался как то. может замарочусь :)

Midday 28.08.2021 18:40

Ну мониторы не всегда и не всякая проф программа типа аиды64 определяет, если только у монитора нет своего драйвера от производителя)

Neil 28.08.2021 19:29

Цитата:

Сообщение от Midday (Сообщение 1312750)
Ну мониторы не всегда и не всякая проф программа типа аиды64 определяет, если только у монитора нет своего драйвера от производителя)

я искал как украсть данные у винды, она обычно неплохо определяет.
так и не нашёл... нашёл некие данные в виде кодов.
ну типа сколько то символов отвечают за производителя,
сколько то за модель итд. НО там не так всё просто. решил оставить на потом :)

Midday 28.08.2021 19:59

Цитата:

Сообщение от Neil (Сообщение 1312751)
я искал как украсть данные у винды, она обычно неплохо определяет.
так и не нашёл... нашёл некие данные в виде кодов.
ну типа сколько то символов отвечают за производителя,
сколько то за модель итд. НО там не так всё просто. решил оставить на потом :)

У винды обычно все еще хуже, пишет что универсальный PnP монитор, драйвер поставишь - тогда пишет модель (у меня из таких были дома Samsung 740N, LG какой-то, и Acer на работе):)

Neil 28.08.2021 20:27

Цитата:

Сообщение от Midday (Сообщение 1312752)
... универсальный PnP монитор...

не напоминай :D я этих надписей, да по разным закаулкам понасмотрелся когда искал... :)

Дем 28.08.2021 21:04

Цитата:

Сообщение от Neil (Сообщение 1312751)
я искал как украсть данные у винды, она обычно неплохо определяет.

А wmic не умеет, там много добра можно найти, а вообще библиотек на этот случай нет?

Neil 28.08.2021 21:58

Цитата:

Сообщение от Дем (Сообщение 1312754)
А wmic не умеет, там много добра можно найти...?

wmic работает на WMI. моя программа тоже :)
я только выбрал нужный для себя (когда то) функционал ;)
обрыл глоб... толком ничего не нашёл. по постам людей понял, что и они тоже.

Цитата:

Сообщение от Дем (Сообщение 1312754)
... а вообще библиотек на этот случай нет?

не натыкался...

Eugeny 29.08.2021 01:15

Нейл, привет, а встроенные виндовые фишки не пробовал использовать? Или они не всегда работают?

1)
Команда SYSTEMINFO отображает сведения о конфигурации операционной системы на локальном или удаленном компьютере, включая уровни пакета обновления.

Формат командной строки:
SYSTEMINFO [/S <система> [/U <пользователь> [/P [<пароль>]]]] [/FO формат] [/NH]
Список параметров:
/S <система> Подключаемый удаленный компьютер.
/U [<домен>\]<пользователь>
Пользовательский контекст, в котором
должна выполняться эта команда.
/P [<пароль>] Пароль для этого пользовательского контекста.
Запрашивает ввод пароля, если он не задан.
/FO <формат> Описание формата выходного файла.
Допустимые значения: "TABLE", "LIST", "CSV".
/NH Отключение отображения заголовка "Column Header"
в выходных данных.
Допустимо для форматов "TABLE" и "CSV".
/? Вывод справки по использованию.

2)
Команда MSINFO32
Встроенный компонент Windows, имеет собственную оболочку, так же имеет возможность указать в меню удаленный компьютер и так же позволяет выполнить экспорт части параметров файл или сохранить все параметры так же в файл

3)
Команда WMIC
Так же встроенный компонент, имеющий множество функций

Примеры использования:
WMIC /Node:имя_компьютера_или_IP-адрес CPU Get /Value
WMIC /Node:имя_компьютера_или_IP-адрес CPU Get Name
WMIC /Node:имя_компьютера_или_IP-адрес ComputerSystem Get TotalPhysicalMemory
WMIC /Node:имя_компьютера_или_IP-адрес MemoryChip Get /Value

Neil 29.08.2021 08:10

Цитата:

Сообщение от Eugeny (Сообщение 1312756)
Нейл, привет, а встроенные виндовые фишки не пробовал использовать? Или они не всегда работают?

1)
Команда SYSTEMINFO...

2)
Команда MSINFO32...

3)
Команда WMIC...

Привет! :)

похоже, что все они используют WMI либо, что не всегда удобно, SMBIOS.
я SMBIOS использую для определения типа (DDR2, DDR3, DDR4 etc...) памяти.
все остальные данные получаю из Windows Management Instrumentation.
единственное устройство, которое может некорректно распазнаваться т.о. - это монитор.

и ладноб я понял, если VGA :) НО DVI, HDMI, Display Port ;)*PARDON*

Neil 29.08.2021 11:38

E-num 0.0.3 :)

скачать

https://i.postimg.cc/hJYJ0Mmz/1.png https://i.postimg.cc/k6t2Y8Nj/2.png https://i.postimg.cc/tnQYKT29/3.png https://i.postimg.cc/QKQHh3y1/4.png https://i.postimg.cc/xqMkKv18/5.png https://i.postimg.cc/D8hS5SSg/6.png

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

осталось научить программу сохранять в *.csv :)

Midday 29.08.2021 12:03

Вложений: 1
А то что в USB есть, не опрашивает что-ли?

Вложение 91666

Neil 29.08.2021 12:13

Цитата:

Сообщение от Midday (Сообщение 1312761)
А то что в USB есть, не опрашивает что-ли?

зависит от самой флэшки. видимо её контроллера. некоторые распознаёт как винты/ssd, некоторые нет.
да собственно и не за чем при ревизии конфига ПК знать кто и что там воткнул в USB ;)

microsoftexam 29.08.2021 17:03

Добрый день! А чем плох PowerShell и WMI?

Neil 29.08.2021 17:13

Цитата:

Сообщение от microsoftexam (Сообщение 1312767)
Добрый день! А чем плох PowerShell и WMI?

в принципе ничем. данная программа творилась как практическое задания при самостоятельном обучении C#.
просто я на практике быстрее усваиваю материал :) а если что то подзабуду, то всегда есть куда подсмотреть :)

microsoftexam 29.08.2021 21:57

Цитата:

Сообщение от Neil (Сообщение 1312769)
в принципе ничем. данная программа творилась как практическое задания при самостоятельном обучении C#.
просто я на практике быстрее усваиваю материал :) а если что то подзабуду, то всегда есть куда подсмотреть :)

Понятно, успехо, дело хорошее, просто скриптов на пошике уже существует тьма

MaSteRk 30.08.2021 15:16

почему пароль не может быть пустым?

Neil 30.08.2021 15:19

Цитата:

Сообщение от MaSteRk (Сообщение 1312777)
почему пароль не может быть пустым?

требование системы безопасности windows.
если не путаю, - пошло с 2003 сервера.

MaSteRk 30.08.2021 16:25

но у меня комп без пароля, что делать?фенита ля?

---------- Добавлено 30.08.2021 в 16:31 ----------

извини, но это вообще убивает. Зачем переводить сеть? а если это домен? а если домен то можно через домен выполнить удаленную команду
На компьютере в сети нужно выполнить:

1. Переводим Сетевой профиль из Общедоступная сеть в Частная сеть.
(Параметры -> Сеть и Интернет -> Свойства (подключения))

2. Выполняем от Администратора в Командной строке:

winrm quickconfig -q
netsh advfirewall firewall add rule name="!!! Удалённое управление WinRM" dir=in protocol=TCP localport=135,5985,49667,49668,49154 action=allow

за то время что это делаешь, можно глянуть свойства ПК.

Neil 30.08.2021 17:35

Цитата:

Сообщение от MaSteRk (Сообщение 1312782)
но у меня комп без пароля, что делать?фенита ля?

для того, чтобы программа отработала на локальном ПК пароль не нужен.
если на ПК в ЛВС нет пароля, то что то не так с безопасностью.

Цитата:

Сообщение от MaSteRk (Сообщение 1312782)
... Зачем переводить сеть?...

изменение сетевого профиля оказывает влияние на настройки правил брандмауэра.
скорее всего будет работать и без этого, если просто применить правило из файла с настройками в архиве.
я не проверял, НО думается будет работать. рекомендация взята из руководства MS по использованию их средств.

Цитата:

Сообщение от MaSteRk (Сообщение 1312782)
... а если это домен? а если домен то можно через домен выполнить удаленную команду...

безусловно.

Цитата:

Сообщение от MaSteRk (Сообщение 1312782)
...
На компьютере в сети нужно выполнить:

1. Переводим Сетевой профиль из Общедоступная сеть в Частная сеть.
(Параметры -> Сеть и Интернет -> Свойства (подключения))

2. Выполняем от Администратора в Командной строке:

winrm quickconfig -q
netsh advfirewall firewall add rule name="!!! Удалённое управление WinRM" dir=in protocol=TCP localport=135,5985,49667,49668,49154 action=allow

за то время что это делаешь, можно глянуть свойства ПК.

ну не знаю... имея "на руках" ip, "логины", пароли от, скажем 100 узлов, мне проще клацать мышкой и клавиатурой,
выясняя конфиги ПК, чем устраивать пешую прогулку по конторе, отвлекая людей от работы...
да и вряд ли я сделаю это быстро... прошу учесть, что настройки единовременные, а ревизии - постоянные :)

Копатель 30.08.2021 18:04

Для изучения программирования - вполне норм задача. Я как-то пользовался для подобных целей программой Total Network Inventory, которая мне очень понравилась и функциональностью, и удобством работы с ней.
Глянь на досуге, может какие идеи полезные можно "подсмотреть".

Neil 30.08.2021 18:33

Цитата:

Сообщение от Neil (Сообщение 1312784)
скорее всего будет работать и без этого, если просто применить правило из файла с настройками в архиве.
я не проверял, НО думается будет работать...

10-ке "домашней" похоже побоку какой профиль. 7-ка "домашняя расширенная" при смене с "сеть предприятия" на "общественная сеть" отказала в доступе.
посмотреть на каких портах блокирует доступ не удалось. видимо это связано со спецификой работы "Службы удаленного управления Windows" на Win7.

Цитата:

Сообщение от Копатель (Сообщение 1312787)
Для изучения программирования - вполне норм задача...

Благодарю :)

Цитата:

Сообщение от Копатель (Сообщение 1312787)
... Total Network Inventory...
Глянь на досуге, может какие идеи полезные можно "подсмотреть".

я как то много таких программ пересмотрел.
для меня их минусы были очевидны - платные, очень много лишнего.
найти что то простое, легковесное и бесплатное так и не получилось.
зародилась "идея фикс", вылившаяся в написание своей, собственной программы :)

(предварительно были написаны программы "калькулятор" сети,
перебор диапазона ip от и до :) как оказалось - в реализации не пригодились *PARDON*:))

kirill 30.08.2021 18:45

https://alternativeto.net/software/puppet/

Neil 30.08.2021 19:00

напоминаю, что
Цитата:

Сообщение от Neil (Сообщение 1312769)
... данная программа творилась как практическое задания при самостоятельном обучении C#...

о кучи других решений я знаю, а другие могут и сами почитать в глобе :)

Цитата:

Сообщение от Neil (Сообщение 1312788)
10-ке "домашней" похоже побоку какой профиль. 7-ка "домашняя расширенная" при смене с "сеть предприятия" на "общественная сеть" отказала в доступе...

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

Дем 30.08.2021 19:37

А на чём у тебя гуй?

Neil 30.08.2021 19:45

Цитата:

Сообщение от Дем (Сообщение 1312791)
А на чём у тебя гуй?

использовал Windows Forms в Visual Studio Community 2019

Копатель 30.08.2021 20:19

Цитата:

Сообщение от Neil (Сообщение 1312788)
для меня их минусы были очевидны - платные, очень много лишнего.

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

writer22rus 30.08.2021 20:44

Цитата:

Сообщение от Neil (Сообщение 1312788)
я как то много таких программ пересмотрел.
для меня их минусы были очевидны - платные, очень много лишнего.
найти что то простое, легковесное и бесплатное так и не получилось.
зародилась "идея фикс", вылившаяся в написание своей, собственной программы :)

Еще совет: умей грамотно тырить идеи.
https://glpi-project.org/ru/
Абсолютно бесплатное. Есть серверная часть с базой, есть кроссплатформенные клиентские, как раз для сбора информации.

Neil 30.08.2021 20:59

Цитата:

Сообщение от writer22rus (Сообщение 1312794)
Еще совет: умей грамотно тырить идеи.
https://glpi-project.org/ru/
Абсолютно бесплатное. Есть серверная часть с базой, есть кроссплатформенные клиентские, как раз для сбора информации.

Лёх, Спасибо, конечно :) НО на пред-предыдущей работе я её посмотрел.
нифига мне glpi не понравилась :) или она была так настроена/оформлена...
для меня лучшей альтернативой казался libreOffice calc + что то похожее на то, что написал сейчас я.
смотрел в сторону конфигураций на 1С, НО сразу нет! лучше уж что то типа zabbix'а ;)

Fiast 31.08.2021 17:02

glpi готовое решение, ставь и работай. либр офис для учета пяти компьютеров пойдет. но это не бест практис

Neil 01.04.2022 23:25

очередная практика
 
для тех, кому интересно
очередная практика :)
давно хотел написать что то подобное,
заодно и попрактиковался в работе со структурами (маленько :)).

обычный калькулятор ЛВС
с возможностью деления исходной сети на подсети :)

если интересно, можете "потыкать" *CRAZY*
если нет, то нахрен вообще открывали спойлер? :D (риторика)

заметите косяк, если не сложно, отпишите.
(нет. это не бета-тест! просто практика.
мне будет полезно поисправлять свой же код ;))

Вложение 91962

для мена важна работа алгоритма деления на подсети.
побитовые операции вычисления параметров сети это легко и уже не интересно :)

Копатель 02.04.2022 00:01

Тебе пора уже на гитхабе репозиторий заводить.

Neil 02.04.2022 00:13

Цитата:

Сообщение от Копатель (Сообщение 1316648)
Тебе пора уже на гитхабе репозиторий заводить.

знаю :)
вот допилю функционал и заведу ;)
хочу исправить алгоритм деления на подсети,
чтобы можно было делить на не 2 в степени n,
а рандомно.
считай вторая прога в кармане...

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

ну короче как то так :)

BigO 02.04.2022 06:40

Цитата:

Сообщение от Neil (Сообщение 1316647)
заметите косяк, если не сложно, отпишите.

Не то чтоб косяки, но все таки, если хочется чтобы приложение не ощущалось как из начала двухтысячных:
1. Маска. Зачем показывать ошибку выбора маски, когда можно показывать только те варианты, которые работают? Неподходящие опции можно либо удалить из списка, либо сделать не активными
2. Опять же маска. Маску и префикс (бит в маске) было бы неплохо объединить при выборе, ибо во входных условиях может быть именно префикс (аля 192.168.0.1/24) и кастовать туда-сюда в голове не каждый может/хочет.
3. Число подсетей. Видно только 2 знака у выбранного значения, остальные потеряны.
4. Снова число подсетей. Аналогично пункту 1 - недоступные варианты стоит исключить из выбора.
5. Кнопка очистить. Она рядом с разделением подсетей, но чистит и вкладку "рассчитанные данные", что не очевидно. Собственно, зачем она вообще нужна тоже не понятно.
6. Общая композиция интерфейса. Кнопки подсчитать и разделить доступны сразу в основном окне, но их результат в разных вкладках. Да, они переключаются автоматически (за что плюс), но таки лучше эти вещи фундаментально разделить между теми же вкладками. Выбрали что хотим - сделали. Почему IP адрес - это входные данные, а число подсетей - нет? Тоже не понятно.
7. Интерактивность. В дополнение к пунктам 1 и 4. Кнопки подсчитать и разделить тоже лишние. Пересчитывать таблицы можно сразу при изменении входных данных. Если уж очень хочется сохранять состояния в процессе выбора (или между выбором) - это лучше сделать в явном виде, как историю операций (например, как у того же калькулятора начиная с десятки).
8. Последствия отсутствия интерактивности. Входные данные имеют значения по умолчанию, но рассчитанные данные пустые. Имеет смысл синхронизировать на старте, хотя бы как пример работы. Кнопка "разделить" недоступна пока не нажмешь "посчитать", но остается доступной при изменении входных данных. Если результат деления на подсети зависит от рассчитанных данных, то это ошибка. Если не зависит, то почему кнопка не доступна сразу?

Понимаю, что программа создана для локального использования конкретным человеком, и технически она работает, но не считаю подход "в одной ситуации делаем хорошо, а в другой как повезет" правильным, никто не сможет провести черту когда одно перетекает в другое без ошибок. В конце концов эта программа ведь выложена тут, надеюсь, для того чтобы сделать её лучше.
Цитата:

Сообщение от Копатель (Сообщение 1316648)
Тебе пора уже на гитхабе репозиторий заводить.

С этого начинать стоит. Это и дисциплинирует, ибо стыдно в вечную память интернета выкладывать совсем уж плохой код, как минимум будешь его перечитывать перед тем как отправить. Сам по себе навык работы с гитом так же важен и ценен (мое откровение последних лет, раньше не представлял, что такого может не быть). Да и посмотреть код куда интересней, чем сидеть и тыкать в приложение.

Neil 02.04.2022 09:22

Цитата:

Сообщение от BigO (Сообщение 1316650)
Не то чтоб косяки, но все таки, если хочется чтобы приложение не ощущалось как из начала двухтысячных...

если оно так ощущается, то наверное потому, что пишет его не профи в этом деле ;)

Цитата:

Сообщение от BigO (Сообщение 1316650)
...
1. Маска. Зачем показывать ошибку выбора маски, когда можно показывать только те варианты, которые работают? Неподходящие опции можно либо удалить из списка, либо сделать не активными

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

Цитата:

Сообщение от BigO (Сообщение 1316650)
...
2. Опять же маска. Маску и префикс (бит в маске) было бы неплохо объединить при выборе, ибо во входных условиях может быть именно префикс (аля 192.168.0.1/24) и кастовать туда-сюда в голове не каждый может/хочет...

досадное упущение :) действительно, дописать префиксы рядом с маской будет лёгким занятием.

Цитата:

Сообщение от BigO (Сообщение 1316650)
...
3. Число подсетей. Видно только 2 знака у выбранного значения, остальные потеряны...

исправлю, когда допилю рандом в выборе числа.

Цитата:

Сообщение от BigO (Сообщение 1316650)
...
4. Снова число подсетей. Аналогично пункту 1 - недоступные варианты стоит исключить из выбора...

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

Цитата:

Сообщение от BigO (Сообщение 1316650)
...
5. Кнопка очистить. Она рядом с разделением подсетей, но чистит и вкладку "рассчитанные данные", что не очевидно. Собственно, зачем она вообще нужна тоже не понятно...

я её как то убирал на первых этапах, потом вернул. для чего то понадобилась :D
надо будет "покурить" это дело... может действительно убрать её совсем *SCRATCH*

Цитата:

Сообщение от BigO (Сообщение 1316650)
...
6. Общая композиция интерфейса. Кнопки подсчитать и разделить доступны сразу в основном окне, но их результат в разных вкладках. Да, они переключаются автоматически (за что плюс), но таки лучше эти вещи фундаментально разделить между теми же вкладками. Выбрали что хотим - сделали. Почему IP адрес - это входные данные, а число подсетей - нет? Тоже не понятно...

без ip и маски (префикса) не посчитать сеть. это то, без чего деление на подсети бессмысленно.
логика - человек считает параметры сети, а затем принимает решение о её делении.
хотел же сделать маленькое по размеру окошко, нет, блин... :D
теперь думать придётся как и что :) НО потом.

Цитата:

Сообщение от BigO (Сообщение 1316650)
...
7. Интерактивность. В дополнение к пунктам 1 и 4. Кнопки подсчитать и разделить тоже лишние. Пересчитывать таблицы можно сразу при изменении входных данных. Если уж очень хочется сохранять состояния в процессе выбора (или между выбором) - это лучше сделать в явном виде, как историю операций (например, как у того же калькулятора начиная с десятки)...

если имеется ввиду расчёт "налету", без кнопок, то да, сделать можно.
НО мне почему то такой подход видится неправильным.
опять же по логике моего ответа по пункту 1.

Цитата:

Сообщение от BigO (Сообщение 1316650)
...
8. Последствия отсутствия интерактивности. Входные данные имеют значения по умолчанию, но рассчитанные данные пустые. Имеет смысл синхронизировать на старте, хотя бы как пример работы...

здравый смысл в этом есть. НО опять же - а какую маску выбрать для примера?
если только минимальную для каждой подсети, чтобы показать общее кол-во хостов в каждой...
ну может быть :unsure::dnt:

Цитата:

Сообщение от BigO (Сообщение 1316650)
... Кнопка "разделить" недоступна пока не нажмешь "посчитать", но остается доступной при изменении входных данных. Если результат деления на подсети зависит от рассчитанных данных, то это ошибка. Если не зависит, то почему кнопка не доступна сразу?...

ip и маска (префикс) - это то, без чего вообще никак :)
как только сеть рассчитана, можно её и поделить.
соответственно, после расчёта, включается возможность деления...

пришлось поразмышлять про ошибку...
ну наверное можно очищать результаты деления после каждого пересчёта параметров сети :unsure:

делать кнопку разделения невидимой после подсчёта нет смысла.
ибо есть возможность изменения выбора числа деления подсетей... *SCRATCH*

Цитата:

Сообщение от BigO (Сообщение 1316650)
...
Понимаю, что программа создана для локального использования конкретным человеком, и технически она работает, но не считаю подход "в одной ситуации делаем хорошо, а в другой как повезет" правильным...

а разработчик был рад, пока не пришёл тэстировщик... :D

p.s.: Благодарю! ;)

Neil 03.04.2022 13:24

немного поправил :)

Вложение 91969

- добавил префикс к списку масок
- увеличил длину поля с числом подсетей
- изменил расположение элементов
- убрал вкладки
- убрал кнопку "очистить" :)


Часовой пояс GMT +7, время: 07:57.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot