On-line: SergKis, гостей 1. Всего: 2 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 2827
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.05.13 12:38. Заголовок: Новые типы переменных ?


Подскажите пожалуйста, а с какого времени существуют новые типы данных в базах Харбор/хХарбор ?
+ AutoInc 4 Auto increment
= ModTime 8 Last modified date & time of this record
^ RowVers 8 Row version number; modification count of this record
@ DayTime 8 Date & Time
I Integer 1, 2, 3, 4 or 8 Signed Integer ( Width : )" },;
T Time 4 or 8 Only time (if width is 4 ) or Date & Time (if width is 8 ) (?)
V Variant 3, 4, 6 or more Variable type Field
Y Currency 8 64 bit integer with implied 4 decimal
B Double 8 Floating point / 64 bit binary

Не заметил разницы между этими типами (или не понял):
+ AutoInc 4 Auto increment
^ RowVers 8 Row version number; modification count of this record
Кто может разъяснить их применение ?

Какой максимальный размер импорта файла для типов:
M Memo
P Picture
B Blob
V VarField

Не смог записать ни в одно поле файл размером 3198 Мб через утилиту DBedit.
Ошибка - Скрытый текст

Может что не так делаю ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 158 , стр: 1 2 3 4 5 6 7 8 All [только новые]


Администратор




Пост N: 3962
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 25.06.20 13:46. Заголовок: dBASE Version 7 - эт..


dBASE Version 7 - это продукт еще из прошлого века, со своим форматом, там имя поля может быть до 32-х символов.
Харбор его не поддерживает.

Что касается номера версии dbf - это сигнатура файла, его первый байт, то стандартными средствами харбора его считать нельзя

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 256
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 25.06.20 22:55. Заголовок: Pasha пишет: станда..


Pasha пишет:

 цитата:
стандартными средствами харбора его считать нельзя



Любой файл можно прочитать. Просто как файл, не dbf.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3963
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 26.06.20 09:00. Заголовок: Стандарт - это получ..


Стандарт - это получить средствами rdd. Все остальное - неформат. Например, в pArea есть структура dbfHeader, в которой этот байт уже есть, и файл читать не надо

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3271
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.06.20 10:50. Заголовок: rvu пишет Любой файл..


rvu пишет
 цитата:
Любой файл можно прочитать. Просто как файл, не dbf


Не все так просто. Например установка cdp в dbf не держится, точно уже не помню, но после закрытия dbf терялась. Пробовали устанавливать, правда, еще на hb 2.0 потом забросили с cdp. Ф-я была такая
 
HB_FUNC( DBSETCDP )
{
AREAP pArea = hb_rddGetCurrentWorkAreaPointer();

if( pArea && ISCHAR(1) )
{
char * pCdp = hb_parc(1);
if( pCdp )
pArea->cdPage = hb_cdpFind( (char *) pCdp );
}
}


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6734
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.07.20 14:56. Заголовок: Всё понятно, что про..


Всё понятно, что прочитать какой формат DBF - это сложно.
А есть список какие типы DBF может читать Харбор ?
Я так понял что не все DBF можно открыть Харбором.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6799
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.08.20 20:07. Заголовок: Беру поле базы "..


Беру поле базы "T" и загоняю в System.Clipboard := cValToChar(oBrw:GetValue(nCol))
Как эту строку записать в другое поле "T" ?

Пробовал так, что то не та функция:
 
xWrt := HB_STRTOTS( System.Clipboard )
oBrw:SetValue(nCol, xWrt)


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6801
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.08.20 23:05. Заголовок: Ответ получил, xWrt ..


Ответ получил, xWrt := hb_CToT( System.Clipboard )

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6994
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.07.21 21:07. Заголовок: Есть такие преобразо..


Есть такие преобразования поля:
 tRecno := SKLAD->TSZ  // тип поля "=",  RDD-TimeStamp дата+время+миллисекунды 

? HB_TSTOSTR( tRecno ) , '"' + VALTYPE( HB_TSTOSTR( tRecno ) ) + '"' // "C" 2021-07-03 22:31:58.984
? HB_TTOC( tRecno ) , '"' + VALTYPE( HB_TTOC( tRecno ) ) + '"' // "C" 03.07.21 22:31:58.984
? HB_TTOD( tRecno ) , '"' + VALTYPE( HB_TTOD( tRecno ) ) + '"' // "D" 03.07.2021
? HB_TTON( tRecno ) , '"' + VALTYPE( HB_TTON( tRecno ) ) + '"' // "N" 2459399.94
? HB_TTOS( tRecno ) , '"' + VALTYPE( HB_TTOS( tRecno ) ) + '"' // "C" 20210703223158984
cDT := HB_TSTOSTR( tRecno )
? HB_STRTOTS( cDT ) , '"' + VALTYPE( HB_STRTOTS( cDT ) ) + '"' // "T" 2021-07-03 22:31:58.699
? HB_CToT(cDT) , '"' + VALTYPE( HB_CToT(cDT) ) + '"' // "T" 22:33:09.809

А как можно получить только время - 22:31:58.984 - строку ?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4038
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 18.07.21 11:59. Заголовок: А как можно получить..



 цитата:
А как можно получить только время - 22:31:58.984 - строку ?



Так ответ же сидит прямо в вопросе. Через substr
? substr(hb_ttoc(tRecno), 10)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1707
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 18.07.21 13:24. Заголовок: Andrey пишет: как м..


Andrey пишет:

 цитата:
как можно получить только время

посмотреть параметры hb_ttoc() и выбрать нужный шаблон

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3790
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.07.21 13:29. Заголовок: Andrey пишет А как м..


Andrey пишет
 цитата:
А как можно получить только время - 22:31:58.984 - строку ?


cTime := hb_TtoC( tDateTime )
cTime := Subs( cTime, At(" ", cTime) + 1 )
или
cTime := Subs(HB_TSTOSTR( tDateTime ), 12 )
cTime := Subs(HB_TSTOSTR( tDateTime ), 12, 8 )
или
cTm1 := cTm2 := ""
tDtm := hb_DateTime()
tUtc := hb_TSToUTC( tDtm )
HB_TTOD( tDtm, @cTm1, "hh:mm:ss" )
HB_TTOD( tUtc, @cTm2, "hh:mm:ss" )

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6996
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.07.21 15:07. Заголовок: Pasha пишет: Так от..


Pasha пишет:

 цитата:
Так ответ же сидит прямо в вопросе. Через substr
? substr(hb_ttoc(tRecno), 10)


Ну это понятно, что можно через substr(), хотелось как правильней.

SergKis пишет:

 цитата:
cTm1 := cTm2 := ""
tDtm := hb_DateTime()
tUtc := hb_TSToUTC( tDtm )
HB_TTOD( tDtm, @cTm1, "hh:mm:ss" )
HB_TTOD( tUtc, @cTm2, "hh:mm:ss" )


Спасибо !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6997
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.07.21 15:32. Заголовок: Что-то не идёт.... ..


Что-то не идёт....
 
cTm1 := cTm2 := ""
? 8, tDtm := HB_DATETIME() , '"' + VALTYPE( tDtm ) + '"'
? 9, tUtc := hb_TSToUTC( tDtm ) , '"' + VALTYPE( tUtc ) + '"'
? 10, HB_TTOD( tDtm, @cTm1, "hh:mm:ss" ) , '"' + VALTYPE( HB_TTOD( tDtm, @cTm1, "hh:mm:ss" ) ) + '"'
? 11, HB_TTOD( tUtc, @cTm2, "hh:mm:ss" ) , '"' + VALTYPE( HB_TTOD( tUtc, @cTm2, "hh:mm:ss" ) ) + '"'

8 2021-07-18 15:30:45.254 "T"
9 2021-07-18 12:30:45.254 "T"
10 18.07.2021 "D"
11 18.07.2021 "D"


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7414
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.07.21 15:55. Заголовок: Лови :sm12: hb_Reg..


Лови
 
hb_Regex( "([\d+]{2}[:][\d+]{2}[:][\d+]{2}[.][\d+]{3})" , hb_ttoc(HB_DATETIME()),.f.)[1]


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6998
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.07.21 16:09. Заголовок: Dima пишет: Лови ..


Dima пишет:

 цитата:
Лови


Спасибо большое !
Но это уже извращение...
Хочется понять, какие есть функции в Харборе для этих операций ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3791
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.07.21 16:12. Заголовок: Andrey cTm1 := cT..


Andrey
 
cTm1 := cTm2 := ""
tDtm := hb_DateTime()
tUtc := hb_TSToUTC( tDtm )
HB_TTOD( tDtm, @cTm1, "hh:mm:ss" )
HB_TTOD( tUtc, @cTm2, "hh:mm:ss" )
s_nHour := Val(cTm1) - Val(cTm2)
? procname()
? tDtm, cTm1
? tUtc, cTm2
?
результат
GMT2UTC
2021-07-18 16:09:11.557 16:09:11
2021-07-18 13:09:11.557 13:09:11


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6999
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.07.21 16:15. Заголовок: SergKis пишет: резу..


SergKis пишет:

 цитата:
результат


Ступил...
Но мне нужно время полностью 16:09:11.557 !
Как тогда указать формат ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3792
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.07.21 16:35. Заголовок: Andrey используй ко..


Andrey
используй короткое cTime := Subs(HB_TSTOSTR( tDateTime ), 12 )
формат
hh:mm:ss.fff

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7000
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.07.21 16:38. Заголовок: SergKis пишет: форм..


SergKis пишет:

 цитата:
формат
hh:mm:ss.fff


Спасибо БОЛЬШОЕ !
По инету искал и не нашёл, всякую фигню поиск предлагает.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7040
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.09.21 08:53. Заголовок: А как допустим выбра..


А как допустим выбрать все записи по определённой дате по базе, по полю типа "Т" ?
Допустим есть база с полем SKLAD->TSZ, нужно выбрать все записи за текущую дату.
dDate := DATE() 
cDate := ????
cFilter := "TSZ == " + cDate + ".AND. !DELETED()"
SET FILTER TO &cFilter


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 158 , стр: 1 2 3 4 5 6 7 8 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 237
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет