Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.48 MB
Время: 0.005 c
1-164
Shadow77
2002-03-22 09:16
2002.04.01
Текущий язык Windows


6-274
Krok
2002-01-15 02:34
2002.04.01
Как реализовать СЕТЕВОЕ ОКРУЖЕНИЕ


1-183
Tsatur Soft
2002-03-16 22:09
2002.04.01
Поиск


1-101
SergeyVP
2002-03-21 11:45
2002.04.01
Как правильно переопределить конструктор?


1-214
Ivan_A
2002-03-20 01:26
2002.04.01
Как притрупить форму?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский