|
|
|
Два вопросика?!
|
|||
|---|---|---|---|
|
#18+
Вопросы наверно элементарные, но я никак не могу разобраться. 1). Как сделать, чтоб в TextBox е набирались цифры как в калькуляторе Windows. 2). При конвертации числа в строку str(23.45) пропадает точка и все после нее, т.е. получается 23 . Возможно я не так конвертирую??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2005, 18:30 |
|
||
|
Два вопросика?!
|
|||
|---|---|---|---|
|
#18+
>При конвертации числа в строку str(23.45) пропадает точка и все после нее, т.е. получается 23. Возможно я не так конвертирую??? STR(23.45 , 5, 2 ) >Как сделать, чтоб в TextBoxе набирались цифры как в калькуляторе Windows Честноговоря не понял что имено надо, но возможно ThisForm.Text1.Alignment=1 ThisForm.Text1.InputMask='9999999' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2005, 18:58 |
|
||
|
Два вопросика?!
|
|||
|---|---|---|---|
|
#18+
Спасибо, второй вопрос снимается=) А вот по поводу первого, суть вот в чем: при запуске в TextBoxе уже как бы стоят пробелы и я могу куда угодно поставить курсор, а в калькуляторе винды там нет их и число как бы наростает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2005, 19:19 |
|
||
|
Два вопросика?!
|
|||
|---|---|---|---|
|
#18+
Пишешь событие KeyPress. В нем обрабатываешь текущее значение TextBox'а и только что введенный символ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2005, 20:08 |
|
||
|
Два вопросика?!
|
|||
|---|---|---|---|
|
#18+
Akelпри запуске в TextBoxе уже как бы стоят пробелы и я могу куда угодно поставить курсор, а в калькуляторе винды там нет их и число как бы наростает. Нет. В FoxPro простыми способами этого не сделать. Требуется относительно сложное программирование. В большинстве случаев, в этом нет смысла. Просто вопрос привычки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2005, 23:07 |
|
||
|
Два вопросика?!
|
|||
|---|---|---|---|
|
#18+
Akel Как сделать, чтоб в TextBox е набирались цифры как в калькуляторе Windows. Решение не тривиальное, но оно есть и основано на перехвате события KeyPress и его обработки. При этом надо учитывать знаки, десятичные дроби дроби, клавиши Del, BAckSpace, стрелки и пр.. С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2005, 23:11 |
|
||
|
Два вопросика?!
|
|||
|---|---|---|---|
|
#18+
ВладимирМНет. В FoxPro простыми способами этого не сделать. Требуется относительно сложное программирование. В большинстве случаев, в этом нет смысла. Просто вопрос привычки. Обидно... Мне то все равно, я привыкну, а вот что скажут пользователи?! А я еще не настолько хорошо знаю FOX, чтоб такое написать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2005, 13:31 |
|
||
|
Два вопросика?!
|
|||
|---|---|---|---|
|
#18+
Решение не тривиальное, но оно есть и основано на перехвате события KeyPress и его обработки Я использую InterActiveChange на мой взляд так проще, а KeyPress может в некоторых случаях формой перехватываться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 11:02 |
|
||
|
Два вопросика?!
|
|||
|---|---|---|---|
|
#18+
Akel ВладимирМНет. В FoxPro простыми способами этого не сделать. Требуется относительно сложное программирование. В большинстве случаев, в этом нет смысла. Просто вопрос привычки. Обидно... Мне то все равно, я привыкну, а вот что скажут пользователи?! А я еще не настолько хорошо знаю FOX, чтоб такое написать...Пользователи привыкнут. И довольно быстро. Временами и мне хочется, чтобы числовые поля вели себя так, как Вы описали, но это желание никогда не было для меня поводом затевать глобальное кодирование. Тем более, числа получаются в итоге такими, какими они должны быть, ну так и пусть себе вводятся слева направо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 11:10 |
|
||
|
Два вопросика?!
|
|||
|---|---|---|---|
|
#18+
Ребята, у меня таая же проблема возникала, но в другой ситуации. Я просто считал поле ввода текстовым - value=space(50), а потом (после применения замены , на .) делал val(). Тогда набирай любое число с любым кол-вом символов до и после! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 11:50 |
|
||
|
Два вопросика?!
|
|||
|---|---|---|---|
|
#18+
IdSyzРебята, у меня таая же проблема возникала, но в другой ситуации. Я просто считал поле ввода текстовым - value=space(50), а потом (после применения замены , на .) делал val(). Тогда набирай любое число с любым кол-вом символов до и после! Ты в курсе, что предельно допустимое количество символов (включая разделитель целой и дробной части) в любом поле числового типа FoxPro - это 20 символов. FoxPro работает только и исключительно с 16 значащими цифрами - это значит, что доверять можно только 14 значащим цифрам. 15 и 16 - сомнительны, а остальные заполняются случайгым образом. Следовательно, из всех введенных тобой 50 символов (space(50)) после конвертации через функцию VAL() останется только 16 значащий цифр, а доверять ты сможешь только первым 14 из них. Далее, функция VAL() обладает некоторой интелектуальностью. Т.е. переводить символьную строку в число она будет до тех пор, пока не встретиться символ отличный от цифры или символа разделителя целой и дробной части. Ты анализировал только запятую, но ведь возможен ввод и других символов: ?VAL("123 456.78") ?VAL("456.78.91") Это значит, что тебе либо придется ввести маску ввода (InputMask = "9999.99"), либо писать относительно сложный анализ нажатых клавишь, либо перед конвертацией по VAL() анализировать введенное значение на предмет выбрасывания лишних символов. Не надо "мудрить" с форматами ввода, если в этом нет действительной необходимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 12:09 |
|
||
|
Два вопросика?!
|
|||
|---|---|---|---|
|
#18+
Согласен со всем! Просто у меня задача стояла простенькая - пользователь набирал на правой клавиатуре цену в определенном диапазоне. После этого и шла конвертация и проверка. Насчет 50 символов я загнул - использовал только 15! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 14:10 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33078839&tid=1594184]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
184ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 466ms |

| 0 / 0 |
