Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/34: Рейтинг темы: голосов - 34, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 04.11.2013
Сообщений: 18

Изменить дату создания файла

22.11.2015, 17:54. Показов 6426. Ответов 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
24
void __fastcall TForm1::Button4Click(TObject *Sender)
{       SYSTEMTIME lf;
        FILETIME ftCreationTime;
        AnsiString NameFile;
        NameFile = Form1->ComboBox1->Text;
        int i=0;
        hFile = FindFirstFile(cPath,&winFileData);
        do
        {
                if(AnsiString(winFileData.cFileName) == NameFile) {  
                   ftCreationTime = winFileData.ftCreationTime ;
                   Form1->FileList->Selected[i]=True;
                    lf.wYear=2002;
                    lf.wMonth=11;
                    lf.wDay=15;
                   SystemTimeToFileTime(&lf, &ftCreationTime);
                   SetFileTime(hFile, &ftCreationTime, NULL, NULL);
 
                }
                i++;
        }
        while (FindNextFile(hFile,&winFileData)!=0);
        FindClose(hFile);
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.11.2015, 17:54
Ответы с готовыми решениями:

Изменить дату и время создания файла
Собственно, не меняется дата и время, не могу понять в чем ошибка. STK segment para stack 'stack' db 200 dup(?) STK ends ...

Изменить дату и время создания файла
Здравствуйте! Сразу извиняюсь за флуд, ведь точно такой же вопрос я задал в https://www.cyberforum.ru/vba/thread1277997.html, но там...

Изменить дату и время создания файла
Можно ли средствами VBA изменить дату создания текстового файла?

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33404 / 21514 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
22.11.2015, 18:22
Чего ж там правильно? Первый параметр SetFileTime:
Цитата Сообщение от MSDN
A handle to the file or directory. The handle must have been created using the CreateFile function with the FILE_WRITE_ATTRIBUTES access right
У твоего хендла таких прав нет. Проверил бы ошибку после неудачного вызова SetFileTime:
C++
1
2
3
4
            if(!::SetFileTime(hFile, &ftCreationTime, NULL, NULL))
            {
                ShowMessage(SysErrorMessage(::GetLastError()));
            }
- не было бы таких вопросов.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
    SYSTEMTIME lf;
    FILETIME ftCreationTime;
    AnsiString NameFile;
    NameFile = Form1->ComboBox1->Text;
    int i = 0;
 
    hFile = ::FindFirstFile(cPath, &winFileData);
    do
    {
        if (AnsiString(winFileData.cFileName) == NameFile)
        {
            AnsiString FullPath = ExtractFilePath(AnsiString(cPath)) + NameFile;
 
            // Вот с этим хендлом все прекрасно сработает
            HANDLE file_handle =
                ::CreateFile(FullPath.c_str(), FILE_WRITE_ATTRIBUTES,
                FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
                FILE_ATTRIBUTE_NORMAL, 0);
 
            ftCreationTime = winFileData.ftCreationTime;
            // Form1->FileList->Selected[i] = True;
            ::FileTimeToSystemTime(&ftCreationTime, &lf);
            lf.wYear = 2002;
            lf.wMonth = 11;
            lf.wDay = 15;
            ::SystemTimeToFileTime(&lf, &ftCreationTime);
            if (!::SetFileTime(file_handle, &ftCreationTime, NULL, NULL))
            {
                ShowMessage(SysErrorMessage(::GetLastError()));
            }
            ::CloseHandle(file_handle);
 
        }
        i++;
    }
    while (::FindNextFile(hFile, &winFileData) != 0);
    ::FindClose(hFile);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.11.2015, 18:22
Помогаю со студенческими работами здесь

Как изменить дату создания файла
Как в Perl изменить дату создания файла при этом не модифицируя его содержания?

Изменить дату создания файла
Требуется помощь. Нужно создать файл, а потом изменить дату его создания. Кроме того, сделать обработку ошибки, если диск отсутствует. Дата...

Как изменить дату создания файла?
Всем привет! Собственно вопрос: Как можно изменить дату создания и модификации в *nix системах?

Как изменить дату создания/изменения файла
Как изменить дату создания/изменения файла (желательно приведите фрагмент кода)?

Вывести и изменить дату создания или изменения файла
1 задача) На форму установлена метка Label1. Вывести в нее расстояние в мм. Между точкой нажатия кнопки мыши на форме и точкой отпускания...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru