Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / разделение на тысячи / 7 сообщений из 7, страница 1 из 1
21.01.2008, 14:49
    #35076131
МашкоБ.В.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разделение на тысячи
Столкнулся с такой проблемой, поставил в TextBox где вводится сумма в InputMask
Код: plaintext
 999 , 999 , 999 , 999   
и сумма когда вводится разбивается на тысячи. Но при вводе не совсем корректно например число 1234567 отображается так 123,456,7 если перевести курсор на другой объект, то число отобразиться корректно 1,234,567. Как сделать так чтобы сразу при вводе число вводилось корректно, как на больших калькуляторах. VFP 9.
...
Рейтинг: 0 / 0
21.01.2008, 15:22
    #35076255
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разделение на тысячи
Никак. Простыми средствами.

Проблема в том, что в процессе ввода числа выравниваются по левому краю. А в процессе отображения - по правому.

Т.е. для правильного отображения разделителей в процессе ввода надо сделать так, чтобы вводимое число было прижато к правому краю и отодвигался левый край. Но, повторюсь, простыми способами в FoxPro этот "фокус" не провернуть.
...
Рейтинг: 0 / 0
21.01.2008, 15:34
    #35076308
МашкоБ.В.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разделение на тысячи
Спасибо большое за объяснения.
Может кто сталкивался с подобным, и подскажет вариант решения.
...
Рейтинг: 0 / 0
21.01.2008, 15:53
    #35076393
разделение на тысячи
C этим сталкивались все, но подавляющее большинство посчитало такое выравнивание недосточно стОящим для ковыряния с ним.
...
Рейтинг: 0 / 0
21.01.2008, 16:22
    #35076511
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разделение на тысячи
МашкоБ.В.Спасибо большое за объяснения.
Может кто сталкивался с подобным, и подскажет вариант решения.
Только свой контрол делать, перехватывать нажатия кнопок и выводить как нравится.
...
Рейтинг: 0 / 0
22.01.2008, 10:57
    #35077923
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разделение на тысячи
"Dima T" <nospam@sql.ru>; сообщил/сообщила в новостях следующее:
news:5181319@sql.ru...
Автор: Dima T
МашкоБ.В.
Спасибо большое за объяснения.
Может кто сталкивался с подобным, и подскажет вариант решения.



Cталкиваться не сталвкивался, но малость поковырялся и вот что получилось на
скорую руку:

В GotFockus
sys(2002) - отключили курсор, чтобы не морочится с ним (ну и ты сам
хотел, чтобы "все было как в калькуляторе")

в lostfockus
sys(2002,1) - включили курсор обратно, чтобы в других объектах он все
таки был

в keypress:

LPARAMETERS nKeyCode, nShiftAltCtrl

DO CASE

CASE between(nKeyCode, 48, 57) && Цифры

IF BETWEEN(This.Value, -9999999, 9999999) && Здесь цифр на одну меньше, чем
предполагается в Input mask (для знака "-")

This.Value=This.Value*10+nKeyCode-48

ENDIF

NODEFAULT



CASE nKeyCode=127 && BackSpace

This.Value=INT(This.Value/10)

NODEFAULT

CASE nKeyCode=45 && Минус

This.Value=-This.Value

NODEFAULT

CASE nKeyCode=7 && Del

NODEFAULT

ENDCASE



Может чего конечно и забыл - дальше сам смотри :)


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25.01.2008, 16:07
    #35088291
s_gonch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разделение на тысячи
МашкоБ.В.Столкнулся с такой проблемой, поставил в TextBox где вводится сумма в InputMask
Код: plaintext
 999 , 999 , 999 , 999   
и сумма когда вводится разбивается на тысячи. Но при вводе не совсем корректно например число 1234567 отображается так 123,456,7 если перевести курсор на другой объект, то число отобразиться корректно 1,234,567. Как сделать так чтобы сразу при вводе число вводилось корректно, как на больших калькуляторах. VFP 9.

В GotFocus Event пишешь

this.InputMask=''"

В LostFocus Event пишешь

this.InputMask=''999,999,999"

И все.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / разделение на тысячи / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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