Форум: "Основная";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];
ВнизGetFileTime и SetFileTime Найти похожие ветки
← →
Zool (2002-03-18 19:22) [0]Добройночи, доброе утро госпада программисты!
Подскажите почему не пашет такой код :
..........
var
T1, T2, T3 : PFileTime;
begin
GetFileTime(FileOpen("File.txt", fmOpenRead), T1, T2, T3);
SetFileTime(FileOpen("File.txt", fmOpenWrite), T2, T2, T2);
end;
При запуске Делфи ужасно матерится, а причуну не пойму, плиз хелп. Спосибо.
← →
LLL (2002-03-18 19:54) [1]Указатели не иниц-ны.
var
T1, T2, T3 : TFileTime;
begin
GetFileTime(FileOpen("Test.dpr",fmOpenRead),@T1, @T2, @T3);
должно сработать.
← →
Anatoly Podgoretsky (2002-03-18 20:07) [2]Zool (18.03.02 19:22)
При ссылке на матюги желательно их приводить полностью
Но возможно у тебя не дельфи матюгается, а система, надо проверять работу функции на ошибку
if GetFileTime(FileOpen("File.txt", fmOpenRead),@T1,@T2,@T3) = 0 then
ShowMessage("Error: " + IntToStr(GetLastError)):
А еще лучше Win32Check(GetFileTime(FileOpen("File.txt", fmOpenRead),@T1,@T2,@T3));
← →
Zool (2002-03-18 20:09) [3]Может оно и работает, но ф-ция SetFileTime(FileOpen("File.txt", fmOpenWrite), @T2, @T2, @T2), приносит 0 эффекта! Почему?!
← →
Zool (2002-03-18 20:16) [4]Win32Check улётная вещь! Короче если в var написать T1, T2, T3 : PFileTime, а не
TFileTime, тогда ошибка : неверный дискриптор, а если наоборот, то вообще нифига не происходит!
← →
Anatoly Podgoretsky (2002-03-18 20:26) [5]А между Get и Set есть что нибудь?
← →
Zool (2002-03-18 20:32) [6]Win32Check улётная вещь! Короче если в var написать T1, T2, T3 : PFileTime, а не
TFileTime, тогда ошибка : неверный дискриптор, а если наоборот, то вообще нифига не происходит!
← →
Zool (2002-03-18 20:33) [7]Нету, ето весь код! И скажите на милось чего не пашет?
← →
Anatoly Podgoretsky (2002-03-18 20:44) [8]А что значит не пашет, выдает какую лиюо ошибку?
Я сейчас в чате.
← →
Zool (2002-03-18 21:31) [9]Ничё не выдаёт, а просто нефига не делает, не делает того, чего от нее просят!
← →
Anatoly Podgoretsky (2002-03-18 22:02) [10]Я не значю чего тч от нее ожидаешь, но ты ничего не просишь
← →
Zool (2002-03-19 10:15) [11]А разве данный код не должен в файле File.txt, изменить дату создания, открытия, изминения на дату открытия?
← →
Zool (2002-03-19 12:57) [12]А разве данный код не должен в файле File.txt, изменить дату создания, открытия, изминения на дату открытия?
← →
Zool (2002-03-19 17:23) [13]А разве данный код не должен в файле File.txt, изменить дату создания, открытия, изминения на дату открытия?
← →
Anatoly Podgoretsky (2002-03-19 20:51) [14]Должен ихменить, но она то у тебя не отличается, ты же обратно записывешь старое значение, кроме того еще и окрываешь два раза один и тот же файд, неплохо бы и закрыть.
h :=FileOpen
GetFileTime(h, T1, T2, T3);
изменить что нибудь в T1, T2, T3
SetFileTime(h, T2, T2, T2);
FileClose
примерно так
← →
Zool (2002-03-20 17:58) [15]Ну я и запарился с етой фигнёй! Мне, как я понял T2 менять не надо, я его меняю с помощью FileSetDate. И ещё как я понимаю, мы считываем с помощью ф-ции GetFileTime, а потом с помощью SetFileTime, заменяем двсе даты на дату открытия, то есть T2, я прав? Ну если я прав, то я не понимаю почему ета прога ровным счётом нифига не делает!
<T2 уже предстовляет собой дату 20 марта 2003 года :)>
procedure TForm1.Button4Click(Sender: TObject);
var
T1, T2, T3 : TFileTime;
begin
GetFileTime(FileOpen("S.txt", fmShareDenyNone), @T1, @T2, @T3);
SetFileTime(FileOpen("S.txt", fmOpenWrite), @T2, @T2, @T2);
FileClose(FileOpen("S.txt", fmOpenWrite));
end;
← →
Rooman (2002-03-20 19:40) [16]ты некорректно используешь функцию FileOpen.
GetFileTime(FileOpen("S.txt", fmShareDenyNone), @T1, @T2, @T3);
// ты открыл файл s.txt и считал его параметры
SetFileTime(FileOpen("S.txt", fmOpenWrite), @T2, @T2, @T2);
// ты открыл тот же файл повторно
FileClose(FileOpen("S.txt", fmOpenWrite));
// ты открыл тот же файл третий раз и закрыл его
А первые две открытых, скажем так, копии этого файла - ты хрен закрыл!
Исправь так:
procedure TForm1.Button4Click(Sender: TObject);
var
T1, T2, T3 : TFileTime;
h:THandle;
begin
h:=FileOpen("S.txt", fmOpenReadWrite);
GetFileTime(h, @T1, @T2, @T3);
SetFileTime(h, @T2, @T2, @T2);
FileClose(h);
end;
← →
Zool (2002-03-20 21:44) [17]Всем сенкс! наконец-то всё пашет!!!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c