|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
|
.NET 4.x Показ список файлов из определенных папок26.11.2017, 22:00. Показов 7099. Ответов 80
Метки нет (Все метки)
Здравствуйте. Короче идея такая. Есть некоторые виды папок
DATA Campaigns Downloads Maps Multiplayer Maps Single Maps Battle Tutorial Town Tutorial Есть checkedListBox со списком этих файлов Есть ListBox в котором нужно показать файлы из этих папок. Весь прикол в том что эти папки необязательно должны лежать в корне и нужно также искать файлы в подпапках этих папок. Но также известно что файлы которые нужно отобразить могут находится только в этих папках. Как сделать так чтобы можно было управлять отображаемыми файлами в ListBox У меня есть идея использовать под каждую папку отдельный list<string> но тогда не получится использовать BindingSource для отображения. Может у кого есть эффективный способ отображать имена файлов из папок выбранных в checkedListBox Также еще хотелось к List перекрутить свойство возвращать от полного имени только имя файла. И да. Узнать хочу может использовать FileInfo для этих целей так как эти файлы не только отображать нужно. В listBox их нужно будет выбирать для их дальнейшей загрузки редактирования и сохранения.
0
|
|
| 26.11.2017, 22:00 | |
|
Ответы с готовыми решениями:
80
Распаковка определённых папок/файлов из 7z (JEDI)
Копирование нескольких определённых файлов и папок в одну определённую папку |
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
||
| 01.12.2017, 11:09 [ТС] | ||
|
Короче можнешь поэтапно объяснить как релизовать. И пример на патоки скинуть. А то именно с патоками я както не владах.Не знаю вроде бы и не так сложно но в памяти почемуто не остается.
0
|
||
|
14577 / 9479 / 1360
Регистрация: 21.01.2016
Сообщений: 35,759
|
|
| 01.12.2017, 11:23 | |
|
Alexandr_7, вы сначала без потоков, с тормозами сделайте. А то вы ещё прошлую задачу не решили. Про потоки сначала прочитайте соответствующую главу в учебнике, а потом уже примеры просите, иначе это всё будет бесполезно.
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
|||||||
| 03.12.2017, 12:24 [ТС] | |||||||
|
Короче на данный момент поиск идет вот так
0
|
|||||||
|
14577 / 9479 / 1360
Регистрация: 21.01.2016
Сообщений: 35,759
|
|
| 03.12.2017, 12:37 | |
|
Alexandr_7, чтобы можно было показать прогрессбар нужно знать сколько файлов всего. Чтобы узнать сколько файлов всего - нужно выполнить поиск)
Гуглите применение класса Task. Его использование тривиально. Заблокируете UI и в другом потоке запустите писк файлов.
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
|
| 03.12.2017, 13:43 [ТС] | |
|
Не ну объясните ккакой метод поиска должен быть. Таск это отвечает за поиск в другом потоке но сам метод поиска нужно переделать
Добавлено через 1 минуту Ах да Версия Net - 4.0
0
|
|
|
14577 / 9479 / 1360
Регистрация: 21.01.2016
Сообщений: 35,759
|
||
| 03.12.2017, 13:47 | ||
|
Что значит "какой метод поиска должен быть"? Какой вам надо, такой и делайте. Прогрессбар показать не получится по причинам описанным выше. А сам поиск лучше производить при выборе соответствующих пунктов, а не заранее. Это всё, что я могу посоветовать.
Добавлено через 49 секунд
0
|
||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
||||||
| 03.12.2017, 14:54 [ТС] | ||||||
|
Тогда не понятно как прикрутить Task к методу поиска и что метод поиска должен возвращать
Например идея следущая. Сделать поиск который будет заносить файлы в лист и при удачном занесении возвращать истину. Это 1 вопрос и не понятно только одно. Что использовать лучше Ref или Out для листинга. По идеи элементы листа использоваться не будут за исключением его очистка. Туда лишь будут добавлятся файлы 2 Вопросок к слову перед методом поиска надо сначало разобраться со списком Файлов. И класс ExtendedFileInfo нужно переделать хотя по идеи он не нужен ведь в списке имена файлов будут хранится в таком виде: text.{0}.libx А не в text.eng.libx где eng это язык. Не по теме: И вообще. Я думаю зря я вздумал писать утилиту на C# Причина следующая:
Тоесть мы добавляем или убираем 1 миссию или нод и весь список обновляется путем очистки и занового создания элементов.
0
|
||||||
|
14577 / 9479 / 1360
Регистрация: 21.01.2016
Сообщений: 35,759
|
|
| 03.12.2017, 15:20 | |
|
Alexandr_7, проблема не в C# и не в Delphi. Проблема в том, что программирование не ваша стезя. Вообще. Я бы рекомендовал вам вообще оставить эту затею и другим чем-то заняться. Оно вам не даётся. Вы уже четыре страницы не можете получить сраный список файлов. Это вообще ни в какие ворота.
Я больше не вижу смысла вам что-то советовать. Планомерное изучение используемых вами инструментов для вас нонсенс. Метод тыка - ваше всё. Когда дозреете до банального прочтения учебника по C#, тогда можно будет пообщаться. Не по теме: P.S. Перед изучением C# рекомендую прочитать учебник по Русскому языку хотя бы класс за седьмой, чтобы глаза не кровоточили при чтении ваших постов. Доброго дня.
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
||
| 03.12.2017, 15:48 [ТС] | ||
|
Второе. Если уж не хранить весь список файлов в программе а при каждом снаятии или поставки галки то идея здес следущая: Отдельный список. При каждом И изменении галки стирать его и заново добавлять найденые файлы. А уже сам список связывать с listFilesLibx Выже мне предлагаете список файлов хранить SourceDirectoryItem А я говорю что нельзя так. Ведь DirLibxName это массив классов SourceDirectoryItem и хранится он в классе Конфиг который сериализуется в XML формат. Так что нельзя список хранить SourceDirectoryItem так как сам список с файлами будет тоже записываться в конфиг. Если только перед тем как конфиг записать не обнулить список. Но я не совсем уверен что правильным решением будет хранить список в SourceDirectoryItem но видимо что верным. Ладно впрос решили. Буду делать по вашим советам. Добавлено через 5 минут А на счет обнуления списка. Предположим что DirLibxName равен массиву 100 элементов SourceDirectoryItem И что перед закрытием чтобы обнулить список в каждом элементе DirLibxName да прога тупо может зависнуть. Закрытие должно быть моментальным. Тогда прийдется делать отдельный поток котррый обнулит данные, Сохранит а потом и сам себя закроет. Поток должен быть отдельно от программы чтобы программу можно было закрыть. Вы как всегда скажите что делать это через Task но вот я еще не сталкивался в том чтобы делать поток работающий отдельно от проги в данном случае утилите. К томуже некоторые антивирусники будут данный способ считать вирусом.
0
|
||
|
14577 / 9479 / 1360
Регистрация: 21.01.2016
Сообщений: 35,759
|
|||||||
| 04.12.2017, 06:42 | |||||||
0
|
|||||||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
|
| 04.12.2017, 09:39 [ТС] | |
|
И как его использовать. Тоесть вы предлагаете 2 штуки DirLibxName создать
1 в конфиге а второй в классе формы. Ну и приравнивать DirLibxNameF.DirectoryItem = Config.DirLibxName; Если нет то не понял вас?
0
|
|
|
14577 / 9479 / 1360
Регистрация: 21.01.2016
Сообщений: 35,759
|
|
| 04.12.2017, 09:45 | |
|
Alexandr_7, это просто невероятно.
![]() Я предлагаю связывать с CheckListBox не класс SourceDirectoryItem, а ввести другой, DirectoryItem (к примеру, можно назвать как угодно, лишь бы суть отражало название), в который запихнуть как сведения о директориях (SourceDirectoryItem) так и файлы найденные в них). И использовать этот новый класс. Т.е. вы не трогаете свой драгоценный SourceDirectoryItem, он как нёс данные из настроек, так и продолжает это делать. Вы объединяете всё что нужно в другом классе и его подвязываете к контролам.
0
|
|
| 04.12.2017, 10:28 | |
|
0
|
|
| 04.12.2017, 10:30 | |
|
Не по теме: Rius, я такого выдающегося человека впервые встречаю... Т.е. бывали несообразительные, но чтобы настолько...
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
||
| 07.12.2017, 04:27 [ТС] | ||
|
0
|
||
|
14577 / 9479 / 1360
Регистрация: 21.01.2016
Сообщений: 35,759
|
|
| 07.12.2017, 04:41 | |
|
Alexandr_7, что? Это на полном серьёзе спрошено? Или вы меня троллите?
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
||||||||||||||||||||||
| 09.12.2017, 17:41 [ТС] | ||||||||||||||||||||||
Вот по твоим словам я понял что нужно создать отдельный класс
Но способ что я показал не эфективен.
0
|
||||||||||||||||||||||
|
14577 / 9479 / 1360
Регистрация: 21.01.2016
Сообщений: 35,759
|
|
| 10.12.2017, 08:51 | |
|
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
|
| 01.01.2018, 00:16 [ТС] | |
|
Не имеет значения. Данную утилиту я пишу на Delphi по причине того что
Есть такое свойство у игры обновлятся. Если писать на C# то тут и нельзя кодом игры воспользоваться. Все с нуля. И бесконца следить за изменениями. Так что по данным причинам решил переписать с нуля на Delphi
0
|
|
|
|
|
| 01.01.2018, 00:31 | |
|
И как же вы кодом игры пользуетесь, в процессе написания программы на дельфи?
0
|
|
| 01.01.2018, 00:31 | |
|
Удаление определённых файлов из профильных папок пользователей, имена которых заранее неизвестны Список папок и файлов Список файлов и папок
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла:
Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
|
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет
Новости компьютерного мира и их обсуждение (4)
Салют, шампанское, овации!
:drink:
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|