дата и время таблицы
-
- Участник
- Сообщения: 66
- Зарегистрирован: 03 авг 2010, 04:24
- Репутация: 0
Re: дата и время таблицы
Я запустил Вашу программу (от 26 марта 2013г.) . Она выдала результат: день 18415632 Час 0.
Реально этот файл 29.07.2013 08:33
Как мне изменить программу, чтобы я видел 29.07.2013 ?
Пожалуйста, помогите!
Реально этот файл 29.07.2013 08:33
Как мне изменить программу, чтобы я видел 29.07.2013 ?
Пожалуйста, помогите!
-
- Участник
- Сообщения: 66
- Зарегистрирован: 03 авг 2010, 04:24
- Репутация: 0
Re: дата и время таблицы
Или отдельно 2013, 07, 29. Или как перевести число 18415632? Но дата 29.07.2013 - это число 41484.
- dab
- Гуру
- Сообщения: 671
- Зарегистрирован: 16 дек 2011, 20:02
- Репутация: 170
- Ваше звание: Гуру
- Откуда: Москва
- Контактная информация:
Re: дата и время таблицы
Роман я же написал, что "В принципе должно быть приблизительно так"Роман01 писал(а):Я запустил Вашу программу (от 26 марта 2013г.) . Она выдала результат: день 18415632 Час 0.
Суть сюжета к Mapbasic не имеет никакого отношения, это WinAPI.
Быть может этот код и не должен работать в MB из-за различия в типах данных, а работает только в VB.
Не зацикливайтесь, воспользуйтесь, например, советом thegeo
-
- Участник
- Сообщения: 66
- Зарегистрирован: 03 авг 2010, 04:24
- Репутация: 0
Re: дата и время таблицы
А там еще хуже:
Declare Sub Main
Declare Method myDateFileCreation
Class "dttm.myDateTime" Lib "dttm.dll"
(ByVal pth As String) As String
Sub Main
dim fullFileName as string
fullFileName="C:\_00\SpData.txt"
print myDateFileCreation(fullFileName)
end sub
Выдает ошибки в строках:
2: Found [method] while searching for [sub]
6: Excepting sub or function
9: Unrecognized comman: (
Declare Sub Main
Declare Method myDateFileCreation
Class "dttm.myDateTime" Lib "dttm.dll"
(ByVal pth As String) As String
Sub Main
dim fullFileName as string
fullFileName="C:\_00\SpData.txt"
print myDateFileCreation(fullFileName)
end sub
Выдает ошибки в строках:
2: Found [method] while searching for [sub]
6: Excepting sub or function
9: Unrecognized comman: (
-
- Завсегдатай
- Сообщения: 265
- Зарегистрирован: 22 окт 2012, 08:35
- Репутация: 50
- Откуда: Нижний Новгород
Re: дата и время таблицы
Проблема в типе. WORD = SmallInt.dab писал(а):Роман, извините, не могу помочь - не понимаю в чём проблема с этим кодомРоман01 писал(а): Помогите, пожалуйста, определить настоящую дату файла.
Код: Выделить всё
Type SystemTime
wYear As SmallInt
wMonth As SmallInt
wDayOfWeek As SmallInt
wDay As SmallInt
wHour As SmallInt
wMinute As SmallInt
wSecond As SmallInt
wMilliseconds As SmallInt
End Type
-
- Участник
- Сообщения: 66
- Зарегистрирован: 03 авг 2010, 04:24
- Репутация: 0
Re: дата и время таблицы
Type SystemTime
wYear As SmallInt
wMonth As SmallInt
wDayOfWeek As SmallInt
wDay As SmallInt
wHour As SmallInt
wMinute As SmallInt
wSecond As SmallInt
wMilliseconds As SmallInt
End Type
Type FileTime
dwLowDateTime As SmallInt
dwHighDateTime As SmallInt
End Type
Declare Function GetFileTime Lib "kernel32" Alias "GetFileTime"
(ByVal hFile As SmallInt, lpCreationTime As FILETIME,
lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As SmallInt
Declare Function lopen Lib "kernel32" Alias "_lopen"
(ByVal lpFileName As String, ByVal wReadWrite As SmallInt) As SmallInt
Declare Function lclose Lib "Kernel32" Alias "_lclose"
(ByVal hFile As SmallInt) As SmallInt
Declare Function FileTimeToSystemTime Lib "kernel32" Alias "FileTimeToSystemTime"
(lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As SmallInt
Declare Function FileTimeToLocalFileTime Lib "kernel32" Alias "FileTimeToLocalFileTime"
(lpFileTime As FILETIME, lpLocalFileTime As FILETIME) As SmallInt
Dim ihFile As SmallInt
Dim ftLocal, ftCreate, ftAccess, ftWrite As FileTime
Dim stCreateFile As SystemTime
Dim iTemp As SmallInt
ihFile = lOpen("C:\Mapinfo\mapbasic\T_kolw.dat", 0)
iTemp = GetFileTime(ihFile, ftCreate, ftAccess, ftWrite)
iTemp = FileTimeToLocalFileTime(ftCreate, ftLocal)
iTemp = FileTimeToSystemTime(ftLocal, stCreateFile)
Note "День " + Str$(stCreateFile.wDay) + "месяц " + Str$(stCreateFile.wMonth)
+"год " + Str$(stCreateFile.wYear)
iTemp = lClose(ihFile)
Но почему-то выдает текущую дату, а не дату файла.
Помогите, пожалуйста!
wYear As SmallInt
wMonth As SmallInt
wDayOfWeek As SmallInt
wDay As SmallInt
wHour As SmallInt
wMinute As SmallInt
wSecond As SmallInt
wMilliseconds As SmallInt
End Type
Type FileTime
dwLowDateTime As SmallInt
dwHighDateTime As SmallInt
End Type
Declare Function GetFileTime Lib "kernel32" Alias "GetFileTime"
(ByVal hFile As SmallInt, lpCreationTime As FILETIME,
lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As SmallInt
Declare Function lopen Lib "kernel32" Alias "_lopen"
(ByVal lpFileName As String, ByVal wReadWrite As SmallInt) As SmallInt
Declare Function lclose Lib "Kernel32" Alias "_lclose"
(ByVal hFile As SmallInt) As SmallInt
Declare Function FileTimeToSystemTime Lib "kernel32" Alias "FileTimeToSystemTime"
(lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As SmallInt
Declare Function FileTimeToLocalFileTime Lib "kernel32" Alias "FileTimeToLocalFileTime"
(lpFileTime As FILETIME, lpLocalFileTime As FILETIME) As SmallInt
Dim ihFile As SmallInt
Dim ftLocal, ftCreate, ftAccess, ftWrite As FileTime
Dim stCreateFile As SystemTime
Dim iTemp As SmallInt
ihFile = lOpen("C:\Mapinfo\mapbasic\T_kolw.dat", 0)
iTemp = GetFileTime(ihFile, ftCreate, ftAccess, ftWrite)
iTemp = FileTimeToLocalFileTime(ftCreate, ftLocal)
iTemp = FileTimeToSystemTime(ftLocal, stCreateFile)
Note "День " + Str$(stCreateFile.wDay) + "месяц " + Str$(stCreateFile.wMonth)
+"год " + Str$(stCreateFile.wYear)
iTemp = lClose(ihFile)
Но почему-то выдает текущую дату, а не дату файла.
Помогите, пожалуйста!
- dab
- Гуру
- Сообщения: 671
- Зарегистрирован: 16 дек 2011, 20:02
- Репутация: 170
- Ваше звание: Гуру
- Откуда: Москва
- Контактная информация:
Re: дата и время таблицы
Я поменял тип Integer на SmallInt только при определении типа SystemTime, как и указано в постеРоман01 писал(а):...
Но почему-то выдает текущую дату, а не дату файла.
viewtopic.php?f=17&t=10137&view=unread& ... b99#p94103
Всё работает правильно.
-
- Участник
- Сообщения: 66
- Зарегистрирован: 03 авг 2010, 04:24
- Репутация: 0
Re: дата и время таблицы
Еще одна небольшая просьба.
А как узнать дату последнего изменения? (а не создания файла)
Что нужно и на что исправить?
Пожалуйста, помогите!
А как узнать дату последнего изменения? (а не создания файла)
Что нужно и на что исправить?
Пожалуйста, помогите!
-
- Завсегдатай
- Сообщения: 265
- Зарегистрирован: 22 окт 2012, 08:35
- Репутация: 50
- Откуда: Нижний Новгород
Re: дата и время таблицы
В результате вызова GetFileTime(ihFile, ftCreate, ftAccess, ftWrite)
ftCreate - время создания
ftAccess - время доступа
ftWrite - время модификации (изменения)
Дальнейшие действия с ftAccess и ftWrite такие же как и с ftCreate.
P.S. Читайте Windws API.
ftCreate - время создания
ftAccess - время доступа
ftWrite - время модификации (изменения)
Дальнейшие действия с ftAccess и ftWrite такие же как и с ftCreate.
P.S. Читайте Windws API.
-
- Участник
- Сообщения: 66
- Зарегистрирован: 03 авг 2010, 04:24
- Репутация: 0
Re: дата и время таблицы
Спасибо!
Почему у меня в строке Commit Table ... выдает Unable to create new table. (Не удалось создать новую таблицу?)
if od1>od2 or ihFile2=-1 Then
Open Table "\\192.168.1.1\public\Proekty\MapBasic\T_kolk.tab" Interactive As Dob4
Commit Table Dob4 As "c:\MapInfo\MapBasic\T_kolk.tab"
Close Table Dob4
end if
Почему у меня в строке Commit Table ... выдает Unable to create new table. (Не удалось создать новую таблицу?)
if od1>od2 or ihFile2=-1 Then
Open Table "\\192.168.1.1\public\Proekty\MapBasic\T_kolk.tab" Interactive As Dob4
Commit Table Dob4 As "c:\MapInfo\MapBasic\T_kolk.tab"
Close Table Dob4
end if
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя