Вернуться   Форум Рубцовска > Городской Интернет > Программирование
+10°Давление 746
Ветер 2 м/с ССВ
Комфорт +9°

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 04.09.2022, 10:36
Аватар для Neil
Neil Neil вне форума
Генерал-Полковник
 
Регистрация: 26.01.2008
Сообщений: 7,374
Спасибо: 2,775
Neil стоит на развилке
Восклицание

ух ты! много написал. почитаю.
а пока так, с базой, для наглядности
Вложение 92076

p.s.: разработка чуть-чуть затормозилась -
перевели на другую работу и график. надо попривыкнуть
зато з.плата подрастёт
__________________
"любой вопрос имеет право на жизнь, любой человек может ошибаться или не знать каких-то простых вещей" © serr (lubuntu.ru)

Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
Мальчик сказал папе: “Я хочу кушать”. Папа отправил его к маме.
Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
И бегал так мальчик, пока в один момент не упал.
Что случилось с мальчиком? TTL кончился.


три слова - это два слова! © banda agency Киев

Последний раз редактировалось Neil; 23.01.2023 в 22:09.
Ответить с цитированием
  #2  
Старый 06.09.2022, 15:01
Аватар для Чужой
Чужой Чужой вне форума
Младший лейтенант
 
Регистрация: 28.07.2006
Сообщений: 576
Спасибо: 151
Чужой стоит на развилке
По умолчанию

Актунг! На 2003-ей винде не запускается. Какие-то рунтаймы нужны?
__________________

9231624540
Ответить с цитированием
  #3  
Старый 06.09.2022, 22:00
Аватар для Neil
Neil Neil вне форума
Генерал-Полковник
 
Регистрация: 26.01.2008
Сообщений: 7,374
Спасибо: 2,775
Neil стоит на развилке
По умолчанию

Цитата:
Сообщение от Чужой Посмотреть сообщение
Актунг! На 2003-ей винде не запускается. Какие-то рунтаймы нужны?
может ОСь обновить, спустя 19 лет то?

p.s.: чё пишет?
__________________
"любой вопрос имеет право на жизнь, любой человек может ошибаться или не знать каких-то простых вещей" © serr (lubuntu.ru)

Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
Мальчик сказал папе: “Я хочу кушать”. Папа отправил его к маме.
Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
И бегал так мальчик, пока в один момент не упал.
Что случилось с мальчиком? TTL кончился.


три слова - это два слова! © banda agency Киев
Ответить с цитированием
  #4  
Старый 07.09.2022, 13:53
Аватар для Чужой
Чужой Чужой вне форума
Младший лейтенант
 
Регистрация: 28.07.2006
Сообщений: 576
Спасибо: 151
Чужой стоит на развилке
По умолчанию

Цитата:
Сообщение от Neil Посмотреть сообщение
может ОСь обновить, спустя 19 лет то?

p.s.: чё пишет?
Это именно тестовая машина, смысл которой именно в её старости, для тестов и запуска устаревших всяких штук.

Пишет "... не является приложением Win32", при этом в хэдере файла написано, что это Win32 (i386 compatible) экзешник.
__________________

9231624540
Ответить с цитированием
  #5  
Старый 07.09.2022, 14:35
Midday Midday вне форума
Майор
 
Регистрация: 12.11.2013
Сообщений: 2,959
Спасибо: 1,137
Midday стоит на развилке
По умолчанию

Цитата:
Сообщение от Чужой Посмотреть сообщение
Это именно тестовая машина, смысл которой именно в её старости, для тестов и запуска устаревших всяких штук.

Пишет "... не является приложением Win32", при этом в хэдере файла написано, что это Win32 (i386 compatible) экзешник.
Случайно апдейт пак от simplix не ставил на неё?
Ответить с цитированием
  #6  
Старый 11.09.2022, 01:18
Аватар для Ghost
Ghost Ghost вне форума
Старший сержант
 
Регистрация: 03.08.2006
Адрес: Рубцовск
Сообщений: 158
Спасибо: 17
Ghost стоит на развилке
По умолчанию

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++;
                    }
                }
Что это за цикл? Ты считаешь длину массива без пустых строк? Не ложи их туда, сделай массив динамическим. Poisk.stroka.Length? И почему там статика?
Код:
            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;
это не ООР. У тебя все в статике, всё нужно переписать и тогда твой проект станет в два раза меньше, гораздо понятнее и масштабируемым.
__________________
Ответить с цитированием
  #7  
Старый 18.09.2022, 15:54
Аватар для Neil
Neil Neil вне форума
Генерал-Полковник
 
Регистрация: 26.01.2008
Сообщений: 7,374
Спасибо: 2,775
Neil стоит на развилке
Восклицание

Вложение 92090
https://github.com/Intern-box/DevList


Цитата:
+ выделение строк

+ если НЕ было изменений, НЕ спрашивать "сохранить или нет"

+ при открытии другой БД, если БЫЛИ изменения, спрашивать "сохранить или нет"

+ если просто в БД, то "кнопка фильтра" НЕ активна, если ищем, то красная

+ если строки фильтра пустые, то чистим список вывода

+ после нажатия отмены в поиске поиск отрабатывает

+ горячие клавиши

+ строка поиска по всем ячейкам в БД на главном окне

+ нужны колонки IP, hostname, комбобокс "рабочее/в ремонте/сломано/в наличие/утеряно", дата приобретения, последняя инвентаризация, изменил ФИО
сделал (вроде) проверяйте
просьба проверить запуск "голого" DevList.exe в пустой папке (Спасибо! )

Цитата:
? поле комментариев сделать многострочным
комменты читайте по кнопке править в столбце

Цитата:
- БД для удалённых МЦ + кнопка "Удалённые"

- "История" действий и возврат по строкам истории по Ctrl+Z + колонка "дата списания"

- нужна сортировка по колонкам

- отчёт по кол-ву МЦ в типе оборудования, общее кол-во всего, где сколько должно по помещениям. печать отчёта

- если системник собирался по комплектующим (у них разные инв.№'а) то подумать над выводом списка комплектующих

- импорт из другого *.csv
занимаюсь...

p.s.: Чужой, запуск под старую ОСь попробую поправить позже.

Ghost, крутые замечания НО попозже. Спасибо!
__________________
"любой вопрос имеет право на жизнь, любой человек может ошибаться или не знать каких-то простых вещей" © serr (lubuntu.ru)

Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
Мальчик сказал папе: “Я хочу кушать”. Папа отправил его к маме.
Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
И бегал так мальчик, пока в один момент не упал.
Что случилось с мальчиком? TTL кончился.


три слова - это два слова! © banda agency Киев

Последний раз редактировалось Neil; 23.01.2023 в 22:09.
Ответить с цитированием
Этот пользователь поблагодарил Neil(а) за это полезное сообщение:
Чужой (19.09.2022)
  #8  
Старый 19.09.2022, 01:20
Аватар для Ghost
Ghost Ghost вне форума
Старший сержант
 
Регистрация: 03.08.2006
Адрес: Рубцовск
Сообщений: 158
Спасибо: 17
Ghost стоит на развилке
По умолчанию

Цитата:
Сообщение от Neil Посмотреть сообщение
Ghost, крутые замечания НО попозже. Спасибо!
Да не за что)
Позже нужно будет больше переписывать.
И ещё, GUI и логика должны быть в разных потоках, особенно тяжелые операции как файловый ввод\вывод, иначе твой интерфейс будет виснуть. Form_Load как раз можешь использовать для сигнализации потоку, что форма загружена и готова к приёму данных.
Миниатюры
Нажмите на изображение для увеличения
Название: 234.jpg
Просмотров: 138
Размер:	53.6 Кб
ID:	92092   Нажмите на изображение для увеличения
Название: 123.jpg
Просмотров: 142
Размер:	54.8 Кб
ID:	92091  
__________________
Ответить с цитированием
  #9  
Старый 19.09.2022, 08:44
Аватар для Чужой
Чужой Чужой вне форума
Младший лейтенант
 
Регистрация: 28.07.2006
Сообщений: 576
Спасибо: 151
Чужой стоит на развилке
По умолчанию

Я тут был в барне на IT форуме, чел из компании Postgres PRO очень сильно хотел нанять каких-нибудь разработчиков на C. Ну так, если кто хотит.
__________________

9231624540
Ответить с цитированием
  #10  
Старый 19.09.2022, 12:21
Arnold Arnold вне форума
Капитан
 
Регистрация: 21.10.2010
Сообщений: 1,074
Спасибо: 341
Arnold стоит на развилке
По умолчанию

Цитата:
Сообщение от Чужой Посмотреть сообщение
Я тут был в барне на IT форуме, чел из компании Postgres PRO очень сильно хотел нанять каких-нибудь разработчиков на C. Ну так, если кто хотит.
Так то все хотят нанять разработчиков. Только не каких-нибудь, а альфа-самцов.
Ответить с цитированием
  #11  
Старый 19.09.2022, 13:15
Аватар для Capsaicin
Capsaicin Capsaicin вне форума
Прапорщик
 
Регистрация: 13.11.2014
Сообщений: 308
Спасибо: 216
Capsaicin стоит на развилке
По умолчанию

Цитата:
Сообщение от Чужой Посмотреть сообщение
Я тут был в барне на IT форуме, чел из компании Postgres PRO очень сильно хотел нанять каких-нибудь разработчиков на C. Ну так, если кто хотит.
Так то C, а тут C#. Какая з/п вилка?
__________________
Только ситхи всё возводят в абсолют.
Ответить с цитированием
  #12  
Старый 19.09.2022, 17:39
Аватар для Копатель
Копатель Копатель вне форума
Майор
 
Регистрация: 16.11.2010
Сообщений: 2,739
Спасибо: 2,063
Копатель стоит на развилке
По умолчанию

Цитата:
Сообщение от Capsaicin Посмотреть сообщение
Так то C, а тут C#. Какая з/п вилка?
Очевидно 200-350к.
Ответить с цитированием
Эти 2 пользователей(ля) поблагодарили Копатель за это полезное сообщение:
Capsaicin (20.09.2022), Чужой (20.09.2022)
  #13  
Старый 20.09.2022, 11:44
Аватар для Capsaicin
Capsaicin Capsaicin вне форума
Прапорщик
 
Регистрация: 13.11.2014
Сообщений: 308
Спасибо: 216
Capsaicin стоит на развилке
По умолчанию

Цитата:
Сообщение от Копатель Посмотреть сообщение
Очевидно 200-350к.
Ой не, там работать похоже надо. Спасибо.
__________________
Только ситхи всё возводят в абсолют.
Ответить с цитированием
  #14  
Старый 19.09.2022, 12:19
Аватар для MaSteRk
MaSteRk MaSteRk вне форума
Майор
 
Регистрация: 17.05.2006
Адрес: Поспелиха
Сообщений: 2,370
Спасибо: 914
MaSteRk стоит на развилке
По умолчанию

а я чет не поехал. опять
__________________
http://rub.altai.su/image.php?type=sigpic&userid=254&dateline=1339222324
Ответить с цитированием
  #15  
Старый 20.09.2022, 12:43
Arnold Arnold вне форума
Капитан
 
Регистрация: 21.10.2010
Сообщений: 1,074
Спасибо: 341
Arnold стоит на развилке
По умолчанию

Современные СУБД, это не хухры-мухры.
Даже страшно подумать, что там надо уметь.
Тут не могу решить задачку по информатике с олимпиады за 8-11класс.
Ответить с цитированием
  #16  
Старый 20.09.2022, 14:25
Аватар для Копатель
Копатель Копатель вне форума
Майор
 
Регистрация: 16.11.2010
Сообщений: 2,739
Спасибо: 2,063
Копатель стоит на развилке
По умолчанию

Я как-то раз был на выступлении Бартунова. Он рассказывал как раз, как он работал над реализацией JSON в Postgres. Там вообще неслабый бэкграунд нужен. В нашей деревне вряд ли найдутся такие дарования.
Ответить с цитированием
Этот пользователь поблагодарил Копатель(а) за это полезное сообщение:
Чужой (23.09.2022)
  #17  
Старый 20.09.2022, 15:17
Arnold Arnold вне форума
Капитан
 
Регистрация: 21.10.2010
Сообщений: 1,074
Спасибо: 341
Arnold стоит на развилке
По умолчанию

Цитата:
Сообщение от Копатель Посмотреть сообщение
Я как-то раз был на выступлении Бартунова. Он рассказывал как раз, как он работал над реализацией JSON в Postgres. Там вообще неслабый бэкграунд нужен. В нашей деревне вряд ли найдутся такие дарования.
ручной тестировщик получает 60руб,
автотестер - уже 80
Хороший автотестер - до 150.
Не столица же, в Рубцовке с такой зп можно чувствовать себя олегархом.
Ответить с цитированием
  #18  
Старый 25.12.2022, 03:44
Аватар для Neil
Neil Neil вне форума
Генерал-Полковник
 
Регистрация: 26.01.2008
Сообщений: 7,374
Спасибо: 2,775
Neil стоит на развилке
Восклицание

работа не заброшена.
пришлось отложить...

Вложение 92136
Вложение 92137


https://github.com/Intern-box/DevList

...
переписал код. вроде в ООП
на днях постараюсь добавить "Базу с историей удалений"
печать "Отчётов" пока не планирую. там сами разберётесь
про базы к комплектующим пока не думал...

жду обратную связь

p.s.: просьба копипастить коды ошибок полностью
__________________
"любой вопрос имеет право на жизнь, любой человек может ошибаться или не знать каких-то простых вещей" © serr (lubuntu.ru)

Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
Мальчик сказал папе: “Я хочу кушать”. Папа отправил его к маме.
Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
И бегал так мальчик, пока в один момент не упал.
Что случилось с мальчиком? TTL кончился.


три слова - это два слова! © banda agency Киев

Последний раз редактировалось Neil; 23.01.2023 в 22:09.
Ответить с цитированием
  #19  
Старый 27.12.2022, 14:58
Аватар для Копатель
Копатель Копатель вне форума
Майор
 
Регистрация: 16.11.2010
Сообщений: 2,739
Спасибо: 2,063
Копатель стоит на развилке
По умолчанию

В таблице сортировка по столбцам не работает (плюс хотелось бы иметь возможность скрывать ненужные столбцы).
При клике правой кнопкой мыши по заголовкам столбцов таблицы - появляется контекстное меню, которое не работает для этой строки.
В окне поиска не работают кнопки +/-
Ответить с цитированием
  #20  
Старый 22.01.2023, 20:10
Аватар для Neil
Neil Neil вне форума
Генерал-Полковник
 
Регистрация: 26.01.2008
Сообщений: 7,374
Спасибо: 2,775
Neil стоит на развилке
Восклицание

Вложение 92149

https://github.com/Intern-box/DevList


Можно скрывать/отображать ненужные колонки в таблице

Появилась "История" (напишите какие инструменты Вам там нужны, открою)

Поиск и ряд некоторых функций из меню Правка работают только если выделена некоторая строка (так логичнее )

================

пока специально не правлю мелкие глюки вроде ошибки чтения файла с настройками (ибо не известно что ещё придётся воткнуть) или ошибки когда нету файла с Историей, а проге ну очень хочется туда что-нибудь записать

в принципе приложуха почти готова. далее разберусь с "Историей" и буду править всякое.

обратная связь приветствуется
__________________
"любой вопрос имеет право на жизнь, любой человек может ошибаться или не знать каких-то простых вещей" © serr (lubuntu.ru)

Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
Мальчик сказал папе: “Я хочу кушать”. Папа отправил его к маме.
Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
И бегал так мальчик, пока в один момент не упал.
Что случилось с мальчиком? TTL кончился.


три слова - это два слова! © banda agency Киев

Последний раз редактировалось Neil; 23.01.2023 в 22:09.
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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


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