Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2010, 16:03   #1
Vohakisa
Пользователь
 
Регистрация: 11.05.2009
Сообщений: 47
По умолчанию Проверка на существование файлов

Выводит ошибку несовместимости типов String and Boolean в условии разветвления. Возможно мне нужно сделать проверку на существования файлов уже после проверки даты изменения файлов, а не вместе с ней? Код ниже:
Код:
 if DatetimeToStr(ti)>GetFileDate(GetCurrentDir+'\Data\way.n') and FileExists(GetCurrentDir+'Data\way.n')
     and FileExists(GetCurrentDir+'Data\koord.n')=true and FileExists(GetCurrentDir+'Data\block.n')=true
  then begin
    copyfile(pchar(GetCurrentDir+'\Data\way.n'),pchar(GetCurrentDir+'\TEMP\way.n'),false);
    copyfile(pchar(GetCurrentDir+'\Data\koord.n'),pchar(GetCurrentDir+'\TEMP\koord.n'),false);
    copyfile(pchar(GetCurrentDir+'\Data\block.n'),pchar(GetCurrentDir+'\TEMP\block.n'),false);
Vohakisa вне форума Ответить с цитированием
Старый 01.06.2010, 16:15   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Код:
if (DatetimeToStr(ti)>GetFileDate(GetCurrentDir+'\Data\way.n')) and FileExists(GetCurrentDir+'Data\way.n')
в Delphi приоритет сравнения (<, >, =,...) меньше чем у логических (and, or, ...)

а как узнать дату файла если его нет
сначала надо проверить есть ли файл а потом проверять дату и прочее
Код:
 if [U]FileExists[/U](GetCurrentDir+'Data\way.n') and
( DatetimeToStr(ti)>GetFileDate(GetCurrentDir+'\Data\way.n') )
     and FileExists(GetCurrentDir+'Data\koord.n')=true and  
FileExists(GetCurrentDir+'Data\block.n')=true
выделенное =TRUE можно не писать
if TRUE=TRUE i<=> f TRUE
if FALSE=TRUE i<=> f FALSE
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 01.06.2010 в 16:18.
evg_m на форуме Ответить с цитированием
Старый 01.06.2010, 16:27   #3
Vohakisa
Пользователь
 
Регистрация: 11.05.2009
Сообщений: 47
По умолчанию

Спасибо, заработало. Всегда при проверки нескольких условий заключаю каждое условие в скобки, в этот раз не заметил, видимо заработался.

Ловите плюс в репу.
Vohakisa вне форума Ответить с цитированием
Старый 01.06.2010, 16:30   #4
baster128
Форумчанин
 
Аватар для baster128
 
Регистрация: 24.04.2010
Сообщений: 205
По умолчанию Ошибка

DatetimeToStr(ti) -это строка. Насколько я помню GetFileDate возвращает дату. Может из-за этого ошибка. И как правильно сказал предыдущий оратор, нужно сначала проверить наличие файлов, а потом к ним обращаться.
baster128 вне форума Ответить с цитированием
Старый 01.06.2010, 16:35   #5
Vohakisa
Пользователь
 
Регистрация: 11.05.2009
Сообщений: 47
По умолчанию

Да вы верно сказали, что DateTimeToStr это строка, но GetFileDate, это описанная функция в моём проекте, которая возвращает строку.
Vohakisa вне форума Ответить с цитированием
Старый 01.06.2010, 16:40   #6
baster128
Форумчанин
 
Аватар для baster128
 
Регистрация: 24.04.2010
Сообщений: 205
По умолчанию

Во я лажанулся!
baster128 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка на существование слова в базе при добавлении santax БД в Delphi 0 09.05.2010 22:34
Проверка на существование графического файла, false - скачать с сервера kotzzz Общие вопросы Delphi 7 22.01.2010 13:10
проверка на существование папки D_E_N Общие вопросы Delphi 3 05.10.2009 22:48
Проверка на существование БД перед запуском приложения Fantom БД в Delphi 7 08.09.2008 23:09
Проверка на существование Lonix Общие вопросы Delphi 2 19.03.2007 19:42