|
|
|
Опции темы | Опции просмотра |
#81
|
||||
|
||||
Говоришь обратная связь приветствуется? Ну держись...
Можно при желании посмотреть какой уже есть софт на эту тему и двигаться в ту же сторону. Например тот же Friendly Pinger, обычный Excel. Подумать над пользой от конечного продукта. Ну и предложения, возможно заинтересует: - У меня в вайне по-прежнему существующие строки не выбираются. Пачку можно выделить, а по одному - нет. - Когда программу просто открыл и закрыл, она спросит "Сохранить изменения?" - но их не было, изменений. Диалог с вопросом системный или самодельный? - Фильтр (меню поиск). Во-первых, когда он задан - надо это в интерфейсе где то показать (Чтобы понятно было, что сейчас не просто половины объёктов нет, а это фильтр такой задан). Меню "перечитать БД" для меня не было понятно, что это сброс фильтра. Нужно или обозвать "Сброс фильтра" или "Назад, к полному списку" или ка кто ещё подумать. Во-вторых, если ни одной строки не подходит под условие, показывает прошлый список (а должен очистить). - Убрать функционал "Читать" в редакторе, сразу при открытии редактора прочитать выбранную строку - Развесить хоткеи (Ловить нажатия Del, Ins, Ctrl+C/V, Ctrl+O, F2...) - Буттоны в окнах по-умолчанию, которые на Enter должны иметь соответствующий стиль - чёрный бордер. В делфи это достигалось установкой свойства Default. В окне "Править" Enter срабатывает, в фильтре - нет, в других не проверял. Esc тоже надо на отмену. но при этом когда открыт список типов - Enter и Esc должны с ним работать, сейчас вот Enter вместо подтверждения выбранного в списке пункта закрывает окно. - При открытии файла или создании нового надо ругаться, что текущий список не сохранён - В списке типов в окне создания/редактирования добавлять список уже добавленных пользователем - Помещения сделать списком, как типы - Поле комментариев сделать многострочным - Прикрутить открывание файла из командной строки, чтобы дабл-кликом по файлу программа открывала свои файлы - Возможно пригодиться окно настроек, например там можно добавить галочку "Автосохранение" - Как так, нету пункта Справка с диалогом эбаут и весёлой картинкой Ну и такое уже, пофантазировать: - Программа вроде не содержит манифест и не рендерит кнопочки с использованием красивой темы виндовс - При удалении скрывать, а не удалять (помещать в "корзину") - Научить программу копировать строку в буфер, и в другое окно программы вставлять - Добавить перемещение стрелочками с клавиатуры, в том числе по ячейкам, то есть строка подсвечивается синим как выбранная, а ячейка в фокусе пунктиром обводится - Добавить Ctrl+Z (Отмену действий, еслиф честно до сих пор удивляюсь, как это реализовано) - Добавить к строкам или ячейкам иконки - например значки типов - Добавить на главное окно поисковую строку, типа местный яндекс, которая ищет по всем полям - Добавить фото к объекту - Сортировка по выбранному столбцу - Добавить отчеты, начать с количества объектов по типам - сколько системников, сколько мониторов. Вообще подумать - если прога для инвентаризации - то люди ходят с планшетом или распечаткой и отмечают наличие, а по итогу принимают какие то решения - что списать, кого наказать за отсутствие. Как программа может в этом помочь? Печать списка минимум нужна. - Набор столбцов позволить юзеру редактировать, добавлять свои, как минимум могут пригодиться поля IP/hostname, но тех же IP может быть несколько. Может столбец с флажками или комбо-боксами типа "В порядке"/"Сломано", "В наличии"/"Проёбано". Даты нужны обязательно - дата создания, редактирования, прошлая инвентаризация, следующая инвентаризация, дата приобретения, дата списания. Поле под автора (кто внёс, кто изменил). История событий (ну типа запись с одним ID будет за собой иметь список скрытых строк из прошлого). Тут на самом деле прям отдельная наука, посидеть, самому себе ТЗ составить на структуру базы. - Если кто упарывается по учёту процов/памяти и т.п., то может пригодиться связывание объектов между собой - как будто один "системник" становится помещением для другого "процессора". Так ты получишь вместо списка дерево. В сурьёзных прогах сейчас этим вручную никто не занимается, инфа о составе железа собирается по сети и журналируются события изменения. Но для начала можно реализовать вручную. - Привязать системную команду (предположу что для начала к типу объекта привязка будет), ну что-то вроде "ping %IP" для всех системников. Скорее всего для этого понадобится добавить вкладку "Свойства типа" на страницу редактирования, или в настройки программы, или добавить окно настроек базы (это если команда будет храниться в базе, а не будет общей для всех баз) - Импорт данных из чужого файла/из буфера обмена, вообще подумать - допустим у чела есть в экзеле строк 600 инвентарников - ему что, вручную в твою прогу переносить? - Смена режима отображения главного списка - как в проводнике: таблица, значки, эскизы. Тут может потребоваться меню "Вид" или ползунок с лупой - крупнее/мельче делать.
__________________
9231624540 |
Этот пользователь поблагодарил Чужой(а) за это полезное сообщение: | ||
Копатель (12.08.2022) |
#82
|
||||
|
||||
ух ты! много написал. почитаю.
а пока так, с базой, для наглядности Вложение 92076 p.s.: разработка чуть-чуть затормозилась - перевели на другую работу и график. надо попривыкнуть зато з.плата подрастёт
__________________
"любой вопрос имеет право на жизнь, любой человек может ошибаться или не знать каких-то простых вещей" © serr (lubuntu.ru) Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе. Мальчик сказал папе: “Я хочу кушать”. Папа отправил его к маме. Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе. И бегал так мальчик, пока в один момент не упал. Что случилось с мальчиком? TTL кончился. три слова - это два слова! © banda agency Киев Последний раз редактировалось Neil; 23.01.2023 в 22:09. |
#83
|
||||||||||||
|
||||||||||||
будет. НО потом
Цитата:
Цитата:
Цитата:
Цитата:
сделаю Цитата:
ну разве что для прикола, когда ПО будет готово хотя бы на 90% от пожеланий юзверей Цитата:
хмм... тогда создам ещё один список как основную БД и добавлю кнопку "Удалённое" Цитата:
Цитата:
Цитата:
занятно... а нафига? добавлю функционал в самом конце. почему то мне кажется не обязательным делаю сейчас. в C# как то не очень удобно реализована работа с сортировкой массивов Цитата:
это очень круто! Цитата:
добавить какие то?... подумаю. Цитата:
хорошая мысль отмечу!
__________________
"любой вопрос имеет право на жизнь, любой человек может ошибаться или не знать каких-то простых вещей" © serr (lubuntu.ru) Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе. Мальчик сказал папе: “Я хочу кушать”. Папа отправил его к маме. Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе. И бегал так мальчик, пока в один момент не упал. Что случилось с мальчиком? TTL кончился. три слова - это два слова! © banda agency Киев |
#84
|
||||
|
||||
Актунг! На 2003-ей винде не запускается. Какие-то рунтаймы нужны?
__________________
9231624540 |
#85
|
||||
|
||||
может ОСь обновить, спустя 19 лет то?
p.s.: чё пишет?
__________________
"любой вопрос имеет право на жизнь, любой человек может ошибаться или не знать каких-то простых вещей" © serr (lubuntu.ru) Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе. Мальчик сказал папе: “Я хочу кушать”. Папа отправил его к маме. Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе. И бегал так мальчик, пока в один момент не упал. Что случилось с мальчиком? TTL кончился. три слова - это два слова! © banda agency Киев |
#86
|
||||
|
||||
Это именно тестовая машина, смысл которой именно в её старости, для тестов и запуска устаревших всяких штук.
Пишет "... не является приложением Win32", при этом в хэдере файла написано, что это Win32 (i386 compatible) экзешник.
__________________
9231624540 |
#87
|
|||
|
|||
Случайно апдейт пак от simplix не ставил на неё?
|
#88
|
||||
|
||||
System.ObjectDisposedException: Cannot access a disposed object.
System.IO.DirectoryNotFoundException: Could not find a part of the path... Код:
try { ListViewHitTestInfo stroka_v_tablice = listView_Tablica_Vivoda_Bazi.HitTest(e.X, e.Y); if (stroka_v_tablice != null) { nomer_najatoi_stroki = stroka_v_tablice.Item.Index; nomer_najatoi_stroki++; } } catch (Exception) { // где обработка исключений? } Код:
if (Directory.Exists("БД") == false) // зачем тут лишняя проверка? { Directory.CreateDirectory("БД"); } Что это за файлы? Что если в них миллион строк? Я главное окно через полчаса увижу? Завтра вместо файлов нужна будет база данных будешь всё приложение переписывать? Слишком много логики в одном классе, инкапсулируй её. Где тесты? ---------- Добавлено 11.09.2022 в 03:09 ---------- Код:
foreach (string stroka in Poisk.stroka) { if (stroka != "") { chislo_parametrov_dlia_sravnenia++; } } Код:
string[] stolbci = new string[] { listView_Tablica_Vivoda_Bazi.Columns[0].Text, // ID listView_Tablica_Vivoda_Bazi.Columns[1].Text, // Дата приобретения listView_Tablica_Vivoda_Bazi.Columns[2].Text, // Инв. № listView_Tablica_Vivoda_Bazi.Columns[3].Text, // Помещение listView_Tablica_Vivoda_Bazi.Columns[4].Text, // Закреплено за ФИО listView_Tablica_Vivoda_Bazi.Columns[5].Text, // Наименование listView_Tablica_Vivoda_Bazi.Columns[6].Text, // Тип listView_Tablica_Vivoda_Bazi.Columns[7].Text, // Состояние listView_Tablica_Vivoda_Bazi.Columns[8].Text, // Инвентаризация listView_Tablica_Vivoda_Bazi.Columns[9].Text, // Комментарий listView_Tablica_Vivoda_Bazi.Columns[10].Text, // Hostname listView_Tablica_Vivoda_Bazi.Columns[11].Text, // IP listView_Tablica_Vivoda_Bazi.Columns[12].Text, // Изменил ФИО }; Код:
private void ToolStripMenuItem_Sohranit_Kak_Click(object sender, EventArgs e) { SaveFileDialog put_k_failu = new SaveFileDialog() { Filter = "*.CSV|*.csv" }; if (put_k_failu.ShowDialog() == DialogResult.OK) { File.WriteAllLines(put_k_failu.FileName, spisok_stolbcov.Select(x => string.Join(",", x))); File.AppendAllLines(put_k_failu.FileName, baza.Select(x => string.Join(",", x))); put_do_BD = put_k_failu.FileName; } } private void ToolStripMenuItem_Sohranit_Click(object sender, EventArgs e) { try { File.WriteAllLines(put_do_BD, spisok_stolbcov.Select(x => string.Join(",", x))); File.AppendAllLines(put_do_BD, baza.Select(x => string.Join(",", x))); } catch (Exception) { ??????????????? } } Сделай нормальный рефакторинг. Придерживайся одного codestyle. Ну и название методов, свойств, полей и переменных пиши на английском. ---------- Добавлено 11.09.2022 в 03:30 ---------- Код:
public static string put_do_BD = ""; // Путь к файлу с базой public static string put_do_spiska_pomeschenii = ""; // Путь к списку помещений public static string put_do_spiska_sotrudnikov = ""; // Путь к списку сотрудников public static string put_do_spiska_tipov_oborudovania = ""; // Путь к списку типов оборудования public static List<string[]> baza = new List<string[]>(); // БД в виде списка для удобной работы public static int index = 0; // Индекс элемента в БД. При добавлении +, при удалении - public static bool kopirovanie; // Флаг копирования при операции "Копирование" public static bool peremeschenie; // Флаг перемещения при операции "Перемещение" public static int nomer_najatoi_stroki; // При клике мышкой запоминает номер строки в таблице на главном окне public static bool izmeneniia_s_otkritiia = false; // Отслеживает были ли изменения с открытия программы. public static string[] pomescheniia; public static string[] sotrudniki; public static string[] tipi; public static string[] stroka = new string[13]; public static bool otmenit = true; public static string[] pomescheniia; public static string[] sotrudniki; public static string[] tipi; public static string[] pomescheniia; public static string[] sotrudniki; public static string[] tipi; public static string[] stroka = new string[13]; public static bool otmenit = true;
__________________
|
#89
|
||||
|
||||
Вложение 92090
https://github.com/Intern-box/DevList Цитата:
просьба проверить запуск "голого" DevList.exe в пустой папке (Спасибо! ) Цитата:
Цитата:
p.s.: Чужой, запуск под старую ОСь попробую поправить позже. Ghost, крутые замечания НО попозже. Спасибо!
__________________
"любой вопрос имеет право на жизнь, любой человек может ошибаться или не знать каких-то простых вещей" © serr (lubuntu.ru) Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе. Мальчик сказал папе: “Я хочу кушать”. Папа отправил его к маме. Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе. И бегал так мальчик, пока в один момент не упал. Что случилось с мальчиком? TTL кончился. три слова - это два слова! © banda agency Киев Последний раз редактировалось Neil; 23.01.2023 в 22:09. |
Этот пользователь поблагодарил Neil(а) за это полезное сообщение: | ||
Чужой (19.09.2022) |
#90
|
||||
|
||||
Да не за что)
Позже нужно будет больше переписывать. И ещё, GUI и логика должны быть в разных потоках, особенно тяжелые операции как файловый ввод\вывод, иначе твой интерфейс будет виснуть. Form_Load как раз можешь использовать для сигнализации потоку, что форма загружена и готова к приёму данных.
__________________
|
#91
|
||||
|
||||
Я тут был в барне на IT форуме, чел из компании Postgres PRO очень сильно хотел нанять каких-нибудь разработчиков на C. Ну так, если кто хотит.
__________________
9231624540 |
#92
|
||||
|
||||
а я чет не поехал. опять
__________________
|
#93
|
|||
|
|||
Так то все хотят нанять разработчиков. Только не каких-нибудь, а альфа-самцов.
|
#94
|
||||
|
||||
Так то C, а тут C#. Какая з/п вилка?
__________________
Только ситхи всё возводят в абсолют. |
#97
|
|||
|
|||
Современные СУБД, это не хухры-мухры.
Даже страшно подумать, что там надо уметь. Тут не могу решить задачку по информатике с олимпиады за 8-11класс. |
#98
|
||||
|
||||
Я как-то раз был на выступлении Бартунова. Он рассказывал как раз, как он работал над реализацией JSON в Postgres. Там вообще неслабый бэкграунд нужен. В нашей деревне вряд ли найдутся такие дарования.
|
Этот пользователь поблагодарил Копатель(а) за это полезное сообщение: | ||
Чужой (23.09.2022) |
#99
|
|||
|
|||
Цитата:
автотестер - уже 80 Хороший автотестер - до 150. Не столица же, в Рубцовке с такой зп можно чувствовать себя олегархом. |
#100
|
||||
|
||||
работа не заброшена.
пришлось отложить... Вложение 92136 Вложение 92137 https://github.com/Intern-box/DevList ...
__________________
"любой вопрос имеет право на жизнь, любой человек может ошибаться или не знать каких-то простых вещей" © serr (lubuntu.ru) Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе. Мальчик сказал папе: “Я хочу кушать”. Папа отправил его к маме. Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе. И бегал так мальчик, пока в один момент не упал. Что случилось с мальчиком? TTL кончился. три слова - это два слова! © banda agency Киев Последний раз редактировалось Neil; 23.01.2023 в 22:09. |