Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
 Аватар для FreeWay
84 / 84 / 19
Регистрация: 17.12.2007
Сообщений: 574

Работа с файлами, котологом (время создания файла)

15.02.2010, 13:08. Показов 2007. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!!!!!
в полном ступоре и тупике, не могу найти ошибку.

Есть путь к каталогу, есть маска файлов.
Необходимо проверить время создания файлов
делаю так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
                labelPathToDir.Text = "Путь к файлам - " + TasksMonitorDir[i].PathToDir;
 
                DateTime NowTime = DateTime.Now;
                DirectoryInfo dirr = new DirectoryInfo(@TasksMonitorDir[i].PathToDir);
                FileInfo[] files = dirr.GetFiles(TasksMonitorDir[i].Mask); //вижу что массив заполняется файлами (по маске которые есть в каталоге) 
                int ProstoyMin = 0;
 
                if (dirr.GetFiles(TasksMonitorDir[i].Mask).Length > 0)//файлы есть - вызывает истину
                {                    
                    foreach (FileInfo FileOfDir in files)
                    {                      
                        DateTime FileTimeGreat = FileOfDir.CreationTime;
                        TimeSpan span = NowTime - FileTimeGreat;
 
                        if (Convert.ToInt32(span.TotalMinutes) > Convert.ToInt32(TasksMonitorDir[i].ConditionValue))
                        {
                            ProstoyMin = Convert.ToInt32(span.TotalMinutes);
                            textBoxFiles.AppendText(FileOfDir.Name + "\n".Trim());
                            break;            
                        }
                    }
                    labelTimeGreatFlg.Text = "Файл создан - " + Convert.ToString(ProstoyMin) + " мин назад";
                }
labelTimeGreatFlg.Text - выводит 0.
FileTimeGreat тоже ничего не содержит
начал в дебагере по этапно смотреть, оказывается FileOfDir не инициализируется, то есть он пустой.
не могу понять где я напортачил...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.02.2010, 13:08
Ответы с готовыми решениями:

Работа с файлами (чтение из файла)
Кто-нибудь может помочь с заданием: В исходном текстовом файле подготовить данные о программе телепередач одного телевизионного канала на...

Работа с файлами по их времени создания
Здравствуйте, необходимо в WF создать кнопку, при нажатии на которую пользователю будет дан выбор папки и всех файлов в ней , после выбора...

Время создания файла
Как сделать условие, что бы считывался последний созданный документ?

1
 Аватар для FreeWay
84 / 84 / 19
Регистрация: 17.12.2007
Сообщений: 574
19.02.2010, 15:05  [ТС]
похоже это была бочина студии, сделал клин солютишн, клин проект, - попустило.
Но нашел еще ошибку:

FileInfo[] files = dirr.GetFiles(TasksMonitorDir[i].Mask);

TasksMonitorDir[i].Mask - равно - t:\ISAOD\SEP\ODB_O\$*.*

а когда в дебагере просматриваю массив files (который должен содержать массив файлов по моей маске в указанном каталоге), то он содержит как и нужные мне файлы, так и присутствующие в указанном каталоге, подкаталоги

посмотрел в справке, все правильно, он так и должен все возвращать, поэтому внес такую корректировку:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
                            foreach (FileSystemInfo FileOfDir in Filesinfos)
                            {
                                [COLOR="Red"]if (FileOfDir.Attributes != FileAttributes.Directory)[/COLOR]
                                {
                                    DateTime FileTimeGreat = FileOfDir.CreationTime;
                                    TimeSpan span = NowTime - FileTimeGreat;
 
                                    if (Convert.ToInt32(span.TotalMinutes) > Convert.ToInt32(TasksMonitorDir[i].ConditionValue))
                                    {
                                        if (tabPageMonitorFolder.ImageIndex == -1) { tabPageMonitorFolder.ImageIndex = 1; }
                                        if (STRUCT_AppSetting.MonitoFHasErrors == false) { STRUCT_AppSetting.MonitoFHasErrors = true; }
                                        listViewMonitorDir.Items[i].ForeColor = Color.Red;
                                        break;
                                        //checkedListBoxLogs.Items[i].ForeColor = Color.Red;
                                    }
 
                                }
                            }
но в массив лезут все файлы
FileInfo[] files = dirr.GetFiles(TasksMonitorDir[i].Mask);
маска $*.* их не отсеивает...
можно как то изгольнуться?????

Добавлено через 18 часов 55 минут
все пашет, всем спас...

это условие лишнее:
C#
1
              if (dirr.GetFiles(TasksMonitorDir[i].Mask).Length > 0)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.02.2010, 15:05
Помогаю со студенческими работами здесь

Как изменить время создания файла?
!!!

Определить время создания файла и отнять 24 часа
Как получить все файлы в директории, время создания которых текущее время - минус 24 часа от запуска программы, которая это проверяет....

Как принудительно изменить время создания файла?
Файла грузятся с сервера каждый раз при запуске программы. Хочу сделать чтобы дата изменения этих файлов всегда точно совпадала с датой...

Как изменить время создания открытого файла?
изменить время создания файла не сложно System.IO.File.SetCreationTime(@"H:\test.txt", new DateTime(1812, 3, 16)); а как быть...

Как выводится дата и время создания файла на экран консоли?
C# Как выводится дата и время создания файла на экран консоли?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru