On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
администратор




Пост N: 3384
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.08.13 15:56. Заголовок: Есть ли такой шаблон GET ?


Часы:минуты

PS
До кучи.
Если я верно понял ADS не поймет поле типа TIME из Harbour или это не так ?
Похоже на то -> Available only in ADT tables а у меня DBF


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 10 [только новые]


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




Пост N: 2942
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 16.08.13 10:25. Заголовок: В харборе есть тип д..


В харборе есть тип данных datetime

Пример:

Local dd := Date()
Local dt := hb_DateTime()
@ 1,0 get dd
@ 2,0 get dt
read

Вроде бы в src\rtl\tget.prg отрабатывается шаблон "@T", но что-то он не дает эффекта.
А что касается dbf, в харборе тоже поддерживается расширенный тип данных datetime.
Впрочем, возможно, сам ads не поддерживает datetime в dbf

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




Пост N: 2943
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 16.08.13 10:31. Заголовок: Dima пишет: Похоже ..


Dima пишет:

 цитата:
Похоже на то -> Available only in ADT tables а у меня DBF



Да, похоже. Advantage Data Architect для dbf при добавлении поля не содержит типа данных DateTime

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




Пост N: 3389
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.08.13 11:12. Заголовок: Pasha пишет: Local ..


Pasha пишет:

 цитата:
Local dd := Date()
Local dt := hb_DateTime()
@ 1,0 get dd
@ 2,0 get dt
read



Да вот так работает @ 2,0 get dt Picture "@T" во всяком случае контролируется не верный ввод

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




Пост N: 3390
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.08.13 11:15. Заголовок: Dima пишет: Да вот ..


Dima пишет:

 цитата:
Да вот так работает @ 2,0 get dt Picture "@T" во всяком случае контролируется не верный ввод


Поспешил я с выводом......не работает как надо

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





Пост N: 123
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 16.08.13 12:21. Заголовок: У меня есть функция,..


У меня есть функция, которая позволяет создавать ЛЮБЫЕ формы ввода, используя стандартный механизм @ ... SAY ... GET - без использования объектов в теле программы.

Все что требуется - добавить функцию-обработчик, например:

@ 1,2 SAY "Клиент" GET nClient VIA ClientTrap WHEN... VALID... // выпадающий список клиентов с поиском
@ 1,3 SAY "Автомобиль" GET nCar VIA CarTrap WHEN... VALID // выпадающий список машин
@ 1,4 SAY "Грузовик" GET lCargo PICT "Y" // будет реализован чек-бокс [v]
READ

Требования к функциям ClientTrap, CarTrap:
1) сформировать строку с "изображеннием" переменной (например по номеру клиента - его название)
2) осуществить проверку правильности переменной
3) осуществить ввод данных - хоть через DBEDIT(), хоть через ACHOICE() - вот реализация выпадающего списка с привязкой к ROW(),COL() текущего GET поля
4) процедура получает координаты ROW(),COL() текущего GET поля, актуальную переменную в нем и команду, что именно от нее требуется: проверка правильности, вывод значения в строку (для SAY) или работу с юзером.

Таким образом - если реализовать краткую процедуру ввода времени с проверкой вводимых данных - ее можно будет привязать к любому GET.

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




Пост N: 3391
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.08.13 12:47. Заголовок: Sergy пишет: Таким ..


Sergy пишет:

 цитата:
Таким образом - если реализовать краткую процедуру ввода времени с проверкой вводимых данных



Предложи корректный VALID
 
proc main
Local Ntime:=0
cls

@ 10,10 get Ntime Picture "@R 99:99" Valid Test(@Ntime)
Read

return
******************
Func Test(Ntime)
local ret:=.t.
local ctime
local lenctime:=len(alltrim(str(Ntime,4)))

do while .t.
if Ntime<0
ret:=.f.
exit
endif



if lenctime==2
Ntime*=100
elseif lenctime==1
Ntime*=1000
endif

ctime:=str(Ntime,4)

if val(left(ctime,2))>23
ret:=.f.
exit
endif

if val(right(ctime,2))>59
ret:=.f.
exit
endif



exit
enddo
return ret






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





Пост N: 124
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 16.08.13 14:39. Заголовок: Dima пишет: Предлож..


Dima пишет:

 цитата:
Предложи корректный VALID



Пока не проверял (пишу с компа без клиппера), но идея должна быть понятна:

@ 1,2 SAY "Время" GET cTime PICT "##:##" VALID TIMETOSEC(cTime) > 0

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




Пост N: 3392
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.08.13 15:11. Заголовок: Sergy пишет: TIMETO..


Sergy пишет:

 цитата:
TIMETOSEC


Меня тоже только что посетила такая мысль

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



Пост N: 19
Зарегистрирован: 20.04.07
ссылка на сообщение  Отправлено: 17.08.13 05:47. Заголовок: Sergy пишет: VALID TIMETOSEC(cTime) > 0



 цитата:

VALID TIMETOSEC(cTime) > 0



А можно и так:

#define VALID_TIME(cTime) ((VAL(SUBSTR(cTime, 1, 2)) >= 0 .AND. VAL(SUBSTR(cTime, 1, 2)) < 24) .AND.;
(VAL(SUBSTR(cTime, 3, 2)) >= 0 .AND. VAL(SUBSTR(cTime, 3, 2)) < 60))

@ 1,2 SAY "Время" GET cTime PICT "##:##" VALID VALID_TIME(cTime)



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



Пост N: 20
Зарегистрирован: 20.04.07
ссылка на сообщение  Отправлено: 17.08.13 08:11. Заголовок: Ошибочка, извиняюсь


Конечно не VAL(SUBSTR(cTime, 3, 2)), а VAL(SUBSTR(cTime, 4, 2))
и шаблон лучше не "##:##", а "99:99"

#define VALID_TIME(cTime) ((VAL(SUBSTR(cTime, 1, 2)) >= 0 .AND. VAL(SUBSTR(cTime, 1, 2)) < 24) .AND.;
(VAL(SUBSTR(cTime, 4, 2)) >= 0 .AND. VAL(SUBSTR(cTime, 4, 2)) < 60))

@ 1,2 SAY "Время" GET cTime PICT "99:99" VALID VALID_TIME(cTime)

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

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