powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Определение возраста
12 сообщений из 187, страница 8 из 8
Определение возраста
    #38035636
Дима1991 я только учить начал его.. в университете поверхностно прошли, сейчас заново изучаю

Совет простой. Возьми книжку по SQL. Можно Грубера "Понимание SQL" и читай до просветления. Ибо Фокс 9.0 поддерживает почти все "примочки" стандарта SQL-92. Когда разберешься со стандартом - только тогда лезь в Фокс!!!
...
Рейтинг: 0 / 0
Определение возраста
    #38035650
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991на счет того что не мое.. я только учить начал его.. в университете поверхностно прошли, сейчас заново изучаю
Без обид. Пишу как думаю.

У тебя реально знаний чуть больше нуля. Совсем чуть-чуть больше. Тебе сначала надо подучится, а потом уже за самостоятельную работу браться. Прочитай книжку какую-нибудь, повыполняй примеры оттуда, разберись как они работают.
Почитай свои топики: "Я так написал, не работает" - "Исправь тут" - "Исправил, не помогло" - "Поставь точку с запятой" ... реально работа под диктовку. Обычно с таким отправляют на форум "работа", чтоб заплатил денег - получил результат.

Тут не курсы для начинающих. Никто тут лекции не читает, подразумевается что человек имеет базовые знания и не может решить конкретную задачу. Таким просто подсказывают направление в котором искать решение - а дальше сам.

Так что сначала тебе надо подучится. Судя по твоей настырности - упорства тебе не занимать :)
Если есть возможность - может где какие курсы читают в институтах, туда попробуй сунуться.

Удачи.
...
Рейтинг: 0 / 0
Определение возраста
    #38035703
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T, я знаю что совсем немного знаю. Я вот устроился на работу, когда пришел мне сказали будешь заниматься изучением программного комплекса по медицине типа покупаем новую систему.. Но пока что ничего не купили и мне дают такие задания. Не думал что буду так долго работать с фокспро тут на работе, поэтому пока не купят программу приходится писать на фокс. А на счет SQL в университете на 3-4 курсе мы прошли полностью, но когда не практикуешься забываешь понемногу. Сейчас постепенно восстанавливаю забытое.
...
Рейтинг: 0 / 0
Определение возраста
    #38035908
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991,

Создай свой топик. Зачем в чужой-то все постить?
...
Рейтинг: 0 / 0
Определение возраста
    #38102735
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я возраст определяю красиво - вот так!

FUNCTION vozrast(sd,nk) && sd - Дата рождения, nk - сегодня или произвольная дата но больше sd
LOCAL s_year
s_year=YEAR(nk)-YEAR(sd)
s_year=IIF(GOMONTH(sd,s_year*12)>nk,s_year-1,s_year)
RETURN IIF(s_year<0,0,s_year)

Дарю!
...
Рейтинг: 0 / 0
Определение возраста
    #38144752
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На досуге протестила на скорость определение возраста на 30000 базе.
1.Вариант работал - 1.546 сек.
x=SECONDS()
SCAN
n=0
dr=Drod
DO WHILE dr<=DATE()
dr=GOMONTH(dr,12)
n=n+1
ENDDO
n=n-1 && Возраст
ENDSCAN
messageb(seco()-x)

2.Вариант работал - 0.360
x=SECONDS()
SCAN
n=0
dr=drod
DO WHILE dr<=DATE()
dr=GOMONTH(dr,120)
n=n+10
ENDDO
DO WHILE dr>DATE()
dr=GOMONTH(dr,-12)
n=n-1
ENDDO
n && Возраст
ENDSCAN
MESSAGEB(SECONDS()-x)

3.Вариант - 0.071 сек .
x=SECONDS()
td=DATE()
SCAN
dr=Drod
n=YEAR(td)-YEAR(dr)
n=IIF(GOMONTH(dr,n*12)>td,n-1,n)
n=IIF(n<0,0,n) && Возраст
ENDSCAN
MESSAGEBOX(SECONDS()-x)

и это ещё не предел?
...
Рейтинг: 0 / 0
Определение возраста
    #38144823
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Людмila , то. что скорости так изменяются - ничего удивительного. Вы же заменяте вложенный цикл на вычисление разности

А как вам это
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
x=SECONDS()

td=DATE()
ntd=VAL(DTOC(td,1))

SCAN
 dr=Drod
 n=INT((ntd-VAL(DTOC(dr,1))/1000)
ENDSCAN

MESSAGEBOX(SECONDS()-x)


а также
Код: sql
1.
2.
3.
FUNCTION Age(dBirth, dCurrent)
 RETURN INT((VAL(DTOC(dCurrent,1))-VAL(DTOC(dBirth,1)))/10000)
ENDFUNC
...
Рейтинг: 0 / 0
Определение возраста
    #38144828
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM
Код: sql
1.
 n = INT((ntd-VAL(DTOC(Datar,1)))/10000)
...
Рейтинг: 0 / 0
Определение возраста
    #38144867
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Децл выкраивает DTOS(dExpression) вместо - DTOС(dExpression,1)
...
Рейтинг: 0 / 0
Определение возраста
    #38145234
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4.Вариант от AndreTM - 0.055 сек.! (с DTOS())

Извините! сегодня перекомпилирую все проги.
...
Рейтинг: 0 / 0
Определение возраста
    #38145619
VIVA_CA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините!!! Уважаемая Людмила, просмотрите пожалуйста Ваш запрос "КА и индексация" и если можно ответьте.
...
Рейтинг: 0 / 0
Определение возраста
    #38158172
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ради спортивного интереса в данную Функцию добавила счетчик!
За 7 дней к ней обратилось около 18000! раз
улучшив производительность на 0.02сек - получилось за недалю 6 минут
...
Рейтинг: 0 / 0
12 сообщений из 187, страница 8 из 8
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Определение возраста
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]