Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.01;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.011 c
3-61
SergikSoft
2002-03-06 12:54
2002.04.01
Создание клиент-сервера в


14-294
Fellomena
2002-02-13 15:53
2002.04.01
Помяните меня в своих молитвах - в ближайшее время меня обрекли на Фортран =(


6-258
greenrul
2002-01-17 18:49
2002.04.01
Как убрать scrollbar ы у WebBrowser?


3-12
Basile
2002-02-27 20:30
2002.04.01
Компоненты для доступа к MSSQL Server?


4-345
Di_wind
2002-01-30 20:20
2002.04.01
TerminateProccess