|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Задача. Нужно скопировать файлы с текущей датой модификации минус один день ( прошлые сутки ) и типом Например: из папки "Дир1" скопировать файлы тест1.среда, тест2.среда2, тест3.среда3 в папку "Среда" соответственно в четверг из папки "Дир1" файлы с именами тест1.среда и датой модификации не копировать. В пятницу и так дальше для остальных дней недели всё повторить... Вопрос: как мне сравнить две даты - день,месяц,год - текущую дату модификации файла с системной датой, чтобы отбросить время: часы, минуты, секунды ? Делаю так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Модератор: Учимся использовать тэги оформления кода - FAQ ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2013, 09:54 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2013, 09:59 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2013, 09:59 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2013, 11:17 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Akina, то что надо! Shocker.Pro,qwerty112 Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 11:19 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
А почему в первой строке переменная DataOnlyFileMod имеет значение даты, а в следующей, после If уже она Empty ? Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 14:04 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Почему я пью чай, а у меня на балконе нет синицы? Код в студию. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 14:17 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Shocker.Pro, Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 14:23 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
А где пресловутая проверка на Empty? Кроме того, зачем вы присваиваете дату переменной типа String? это чревато косяками на разных компьютерах, где разные национальные настройки даты. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 14:26 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Shocker.Pro, Исправил на: Код: vbnet 1.
Пресловутая ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 14:34 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
ШмелеводПресловутая ?Шмелевода в следующей, после If уже она Emptyкак именно вы определяете, что ДО if она не Emply, а после If - Empty. В коде я этого не вижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 14:39 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Shocker.Pro, Ставлю брекпоинт на "пресловутую" строку, всплывающее окно показывает значение переменной. У меня 6-я версия басика. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 14:43 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
на строку FileSource = Dir ? а если поставить на If DataOnlyFileMod = PreviousDay Then то что показывает? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 14:49 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Shocker.Pro, Код: vbnet 1.
Вот на её и ставлю. Пишет: DataOnlyFileMod = Empty Вопрос в этом и был... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 14:52 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Тогда вы не правы. Команда, на которой остановилось выполнение, еще не выполнена Так что в этом случае DataOnlyFileMod = Empty ДО выполнения If, а не ПОСЛЕ. Впрочем, я нашел ошибку Как ее исправить ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 14:59 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Shocker.Pro, Сорри, я ошибся.. конечно же после - на строке: Код: vbnet 1.
брекпоинт и см. что произошло после If т.е. строкой выше. И там пусто... Option Explicit у меня в самом начале кода включена. Если тут вкл. то выдает ошибку при компиляции Compile error. invalid inside procedure Сделал всё, как сказано в Вашей ссылке. Ситуация не поменялась. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 15:30 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
ШмелеводЕсли тут вкл. то выдает ошибку при компиляциину естественно, а если выключить, то ошибки не видно и все как бы хорошо. Option Explicit надо написать в начале модуля Если выдает ошибку, так с ней надо разобраться, а не проигнорировать путем отключения. Переменная DataOnlyFileMod у вас не объявлена, на что и должен указать Option Explicit (когда разберетесь с тем, на что он помимо этого ругается) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 15:42 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Shocker.Pro, Код: vbnet 1.
Объявлено всё тут. На строку Код: vbnet 1.
ругается. Compile error. invalid inside procedure ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 15:51 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Шмелевод, Option Explicit должно быть написано в начале МОДУЛЯ, а не в начале ПРОЦЕДУРЫ, о чем вам и сообщает эта ошибка. Ctrl+Home нажмите и там пишите. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 16:01 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Shocker.Pro, Спасибо! У меня так и сделано. Выполняется без ошибок. Результат прежний... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 16:14 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Не верю ибо DateOnlyFileMod<>DataOnlyFileMod, при этом DataOnlyFileMod не объявлена и Option Explicit никак не может не ругаться на это ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 16:19 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Shocker.ProНе верю ибо DateOnlyFileMod<>DataOnlyFileMod, при этом DataOnlyFileMod не объявлена и Option Explicit никак не может не ругаться на этохотя, конечно, есть вариант, что DataOnlyFileMod объявлена где-то еще на уровне модуля или вообще глобально, тогда таки-да, ругаться не будет. Проверить можно просто - правой кнопкой на DataOnlyFileMod и Definition ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 16:21 |
|
сравнить две даты: только день,месяц,год - без времени, часов,минут,секунд.
|
|||
---|---|---|---|
#18+
Shocker.Pro, :)) эх,Семён Семёныч...! сразу две очепятки... Эта объявлена в процедуре. DateOnlyFileMod А эта глобальная. Забыл про неё. DataOnlyFileMod Вот Option Explicit и не ругается. Спасибо огроменное, Shocker.Pro! Выручил. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2013, 16:28 |
|
|
start [/forum/topic.php?fid=60&msg=38388721&tid=2156773]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 279ms |
total: | 425ms |
0 / 0 |