Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Отслеживание оставшихся дней / 25 сообщений из 53, страница 1 из 3
20.05.2009, 10:32
    #35995921
Danmer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
Всем доброе время суток!!! У меня такой вопрос... Как можно сделать чтобы когда я задаю дату какую то, то в текст боксе отображалось колличество оставшихся дней с текущей даты до той которую я ввожу в ручную???
Помогите пожалуйста......
...
Рейтинг: 0 / 0
20.05.2009, 10:35
    #35995929
Отслеживание оставшихся дней
Danmer,
даты можно вычитать.
...
Рейтинг: 0 / 0
20.05.2009, 10:35
    #35995931
ПД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
Вычтите из назначенной даты сегодняшнюю.
...
Рейтинг: 0 / 0
20.05.2009, 10:40
    #35995945
Danmer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
ну а как это написать то?
...
Рейтинг: 0 / 0
20.05.2009, 10:55
    #35996004
Отслеживание оставшихся дней
Danmerну а как это написать то?
Код: plaintext
Textbox.value - date()
...
Рейтинг: 0 / 0
20.05.2009, 11:24
    #35996106
Danmer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
а текстбокс в котором находится та дата или же в котором будем отображать оставшиеся дни?
...
Рейтинг: 0 / 0
20.05.2009, 11:40
    #35996175
GermanGM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
Danmer, вопрос, конечно, интересный... :) Вам, как минимум, требуется 2 Textbox-а - в один Вы вводите дату, в другом отображается кол-во дней (последний можно заменить и на LAbel, в зависимости от обстоятельств). Для 2-х texbox-ов можно написать следующее:

При вводе даты в 1-й (в событии Valid):

Код: plaintext
1.
2.
3.
local nDay
nDay=max(date()-this.value, 0 )
this.parent.Text2.value=IIF(nDay= 0 ,[],allt(str(nDay))+[ ]+IIF(betw(nDay% 100 , 11 , 19 ) or inlist(nDay% 10 , 0 , 5 , 6 , 7 , 8 , 9 ),[дней],IIF(betw(nDay% 10 , 2 , 4 ),[дня],[день])))
this.parent.text2.refresh()
...
Рейтинг: 0 / 0
20.05.2009, 11:44
    #35996195
Danmer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
а у меня такая ситуация что в первом текст боксе отображается уже существующая дата
...
Рейтинг: 0 / 0
20.05.2009, 11:59
    #35996260
GermanGM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
Danmer, а зачем она? Если под "существующей" имеется в виду текущая дата, то программа рассчитана, видимо, на пользователей, приходящих на работу с большого похмела! :) Ну пусть будет 3 TextBox-а...
...
Рейтинг: 0 / 0
20.05.2009, 12:04
    #35996278
Danmer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
GermanGM - вы не так поняли меня..... в первом текстбоксе введена не текущая дата, а отображается ранее заданная... Так вот нужно во втором текстбоксе вывести сколько дней между текущей и введеной в первый текстбокс.....
...
Рейтинг: 0 / 0
20.05.2009, 12:07
    #35996290
Отслеживание оставшихся дней
Danmer,
ну так напишите в LostFocus первого бокса
Код: plaintext
1.
thisform.textbox2.value = this.value - date()
thisform.refresh()
...
Рейтинг: 0 / 0
20.05.2009, 12:22
    #35996327
GermanGM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
Danmer, замените DATE() на this.parent.Text1.value. Если обе даты могут меняться пользователем, то расчет кол-ва дней надо будет продублировать для обоих Control-ов
...
Рейтинг: 0 / 0
20.05.2009, 15:52
    #35996917
Danmer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
Спасибо всем, получилось!!!!

вот этим методом:
Код: plaintext
1.
thisform.textbox2.value = this.value - date()
thisform.refresh()

Но теперь другая проблема.... У меня первый текстбок обновляется, тоесть я в гриде выбираю значение и дата в текстбоксе меняется автоматически, а вот дни в текстбоксе не обновляются, обновление происходит только когда курсор сначала поставишь в первый текстбокс а потом во второй, только тогда меняется.....

Как сделать чтобы вместе с первым текстбоксом обновлялся и второй???
...
Рейтинг: 0 / 0
20.05.2009, 15:54
    #35996922
Отслеживание оставшихся дней
DanmerСпасибо всем, получилось!!!!

вот этим методом:
Код: plaintext
1.
thisform.textbox2.value = this.value - date()
thisform.refresh()

Но теперь другая проблема.... У меня первый текстбок обновляется, тоесть я в гриде выбираю значение и дата в текстбоксе меняется автоматически, а вот дни в текстбоксе не обновляются, обновление происходит только когда курсор сначала поставишь в первый текстбокс а потом во второй, только тогда меняется.....

Как сделать чтобы вместе с первым текстбоксом обновлялся и второй???Значит приведенный код переместить в то место, откуда обновляется информация в первом боксе.
...
Рейтинг: 0 / 0
20.05.2009, 16:06
    #35996965
Danmer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
Ну у меня в гриде в процедуре AfterRowColChange прописано thisform.Refresh. Таким образом и обновлятся первый текстбокс

Получается здесь же и прописать код?
...
Рейтинг: 0 / 0
20.05.2009, 16:28
    #35997041
Danmer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
Разобрался.... Но теперь када запускаю форму то сразу на первой записи в гриде во втором текстбоксе ничего не отображается, а когда нажму на другую запись в гриде то отображается....

Как сделать чтобы сразу грузилось значение во втором текстбоксе?
...
Рейтинг: 0 / 0
21.05.2009, 09:30
    #35998115
Danmer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
ну неужели никто ниче не знает по данной сетуации......
...
Рейтинг: 0 / 0
21.05.2009, 09:51
    #35998167
ПД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
Куда катится этот мир :(
...
Рейтинг: 0 / 0
21.05.2009, 10:31
    #35998257
reware
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
Danmerну неужели никто ниче не знает по данной сетуации......

Ей богу, как обиженный ребенок, у которого отняли погремушку. Кто хотел это узнать, давно уже самостоятельно узнал.
...
Рейтинг: 0 / 0
21.05.2009, 10:35
    #35998268
Danmer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
Вообщем прописал в гриде в методе refresh:

Код: plaintext
thisform.text2.value = thisform.text1.value - date()

и в load формы прописал

Код: plaintext
1.
thisform.text1.Refresh
thisform.text2.Refresh

Но когда запускаю форму, то выдается ошибка...... Но если нажать игнорировать то все работает как надо....... По другому ваще никак не работает. Дело еще в том что эта форма запускается из другой с помощью грида, т.е. при нажатии на записи появляется подробная информация в данной форме.... Так вот всегда во втором текстбоксе отображается колличество дней по первой зиписи таблицы.....Даже если нажать в первой форме какуюнибудь 5 запись, то в данной форме при появлении во втором текстбоксе отображает кол-во дней по первой записи....

Ошибка при запуске следующая:
...
Рейтинг: 0 / 0
21.05.2009, 10:37
    #35998277
Danmer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
...
Рейтинг: 0 / 0
21.05.2009, 10:42
    #35998295
Отслеживание оставшихся дней
Danmerи в load формы прописал

Код: plaintext
1.
thisform.text1.Refresh
thisform.text2.Refresh

Но когда запускаю форму, то выдается ошибка.В этом методе еще ниет никаких контролов на форме. И самой формы еще нет. Перенисе это в Init формы
Ошибка при запуске следующая:Надо приводить текст ошибки, а не картинку. Ибо с картинки только текст и берется. :)
...
Рейтинг: 0 / 0
21.05.2009, 10:49
    #35998328
Danmer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
Я уже пробовал прописать это в ините, но снова отображает первую запись
...
Рейтинг: 0 / 0
21.05.2009, 10:53
    #35998345
Отслеживание оставшихся дней
DanmerЯ уже пробовал прописать это в ините, но снова отображает первую записьА это и недолжно было решить проблему отображения только первой записи. Это устранение причины сообщения об ошибке.
А по первой записи - Datasession у формы чему равен?
...
Рейтинг: 0 / 0
21.05.2009, 10:57
    #35998363
Danmer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отслеживание оставшихся дней
Datasession - 1
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Отслеживание оставшихся дней / 25 сообщений из 53, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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