Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 textbox & currency  [new]
Антон Зимин
Member

Откуда: Krasnoyarsk
Сообщений: 30
У textbox'a в controlsource прописано поле типа Currency. Стандартный ввод в него данных - просто идиотский: курсор скачет по текстбоксу, чтобы ввести сотые, нужно поставить его после точки...

А как сделать так чтобы..
-не отображались ведущие пробелы/нули
-вводились сначала целые, а при вводе символа '.' (точки) вводились сотые


Заранее спасибо.
7 янв 05, 15:53    [1230343]     Ответить | Цитировать Сообщить модератору
 Re: textbox & currency  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Антон Зимин
У textbox'a в controlsource прописано поле типа Currency. Стандартный ввод в него данных - просто идиотский: курсор скачет по текстбоксу, чтобы ввести сотые, нужно поставить его после точки...

Это не идиотский стандарт, а непривычный. Такой стандарт для всех без исключения числовых данных в FoxPro.

Антон Зимин
А как сделать так чтобы..
-не отображались ведущие пробелы/нули

Убрать из свойства FORMAT этого TextBox символ "L". Если такое свойство прописано непосредственно в свойстве Format поля исходной таблицы, то достаточно в свойстве TextBox.Format присвоить пустую строку. Главное, чтобы значение этого свойства было выделено жирным шрифтом.

Антон Зимин

-вводились сначала целые, а при вводе символа '.' (точки) вводились сотые

Если речь идет о символе на цифровой клавиатуре с надписью "Del", то проблема в раскладке клавиатуры. При русской раскладке эта клавиша генерит символ запятой, а не точки. Отсюда проблемы.

В событии KeyPress твоего TextBox напиши примерно такой код:

LPARAMETERS nKeyCode, nShiftAltCtrl
IF InList(CHR(nKeyCode),'.',',') AND CHR(nKeyCode)<>SET('POINT')
	NODEFAULT
	KeyBoard SET('POINT') PLAIN CLEAR
ENDIF
7 янв 05, 16:27    [1230386]     Ответить | Цитировать Сообщить модератору
 Re: textbox & currency  [new]
Антон Зимин
Member

Откуда: Krasnoyarsk
Сообщений: 30
ВладимирМ
Это не идиотский стандарт, а непривычный. Такой стандарт для всех без исключения числовых данных в FoxPro.


Ну согласен, в Фоксе везде так. Просто я хотел спросить, можно ли переключиться на обычный стандарт (Access,Excel)? Просто когда редактируешь число,,, пишешь цифры в начале, то последние "уезжают" вправо и в числе получается пробел.

А насчет точки, это я ошибся. Все работает.
8 янв 05, 09:32    [1230945]     Ответить | Цитировать Сообщить модератору
 Re: textbox & currency  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Антон Зимин
ВладимирМ
Это не идиотский стандарт, а непривычный. Такой стандарт для всех без исключения числовых данных в FoxPro.


Ну согласен, в Фоксе везде так. Просто я хотел спросить, можно ли переключиться на обычный стандарт (Access,Excel)? Просто когда редактируешь число,,, пишешь цифры в начале, то последние "уезжают" вправо и в числе получается пробел.

Нет. Изменить стандарт редактирования числовых полей невозможно.

Пробелов в числе в любом случае не получится, по окночании ввода все лишние пробелы автоматически будут удалены. Вообще-то, основная стратегия исправления числовых данных в FoxPro сводится к удалению того что ввели и вводе заново.

Отличие от Excel в том, что числа в FoxPro "прижаты" к правому краю. А в Excel в окне редактирования они "прижаты" к левому краю, поэтому при начале редактирования автоматом попадаем на первую цифру. А в FoxPro попадаем на первый символ данного поля.
8 янв 05, 13:01    [1231127]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить