Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Чем отличается RangeLow от Valid / 21 сообщений из 21, страница 1 из 1
16.10.2008, 07:31
    #35597228
ННовичок
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
Есть VFP9, форма, на форме TEXTBOX, в который надо вводить только положительные числа и 0
Конечно можно в LostFocus или Valid, написать код проверки если отрицательное то выдать сообщение, и курсор не выпускать из текст бокса, но есть метод RangeLow, в хелпе написано, что есть параметр в этом методе, на самом деле параметра почему то нет, как он работает не понятно или это не тот случай, и RangeLow не для этих целей предназначен.. или есть другие способы контроля нижней границы при вводе..
...
Рейтинг: 0 / 0
16.10.2008, 10:11
    #35597453
12345зайчик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
положите на форму вместо текстбокса спиннер
и настройте ему необходимые св-ва (миним. и максим. значения)
...
Рейтинг: 0 / 0
16.10.2008, 11:25
    #35597732
ННовичок
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
Нет, спинер не прокатит, вводится сумма и она не должна быть меньше 0...поэтому и вводится Textbox, вот и возник вопрос можно ли воспользоваться RangeLow и как в Textbox(е)
...
Рейтинг: 0 / 0
16.10.2008, 12:22
    #35597948
54321зайчик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
А все-таки чем спиннер не хорош.
Там задается и верхнее максимальное и нижнее минимальное и шаг
Установите от 0 и до +2147483647 и будет Вам счастье Value -> 0.00
...
Рейтинг: 0 / 0
16.10.2008, 12:28
    #35597979
ННовичок
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
ну у спинера нет дробных чисел..., конечно можно и спиннер, на крайняк...но как это сделать в textbox
...
Рейтинг: 0 / 0
16.10.2008, 12:37
    #35598015
54321зайчик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
Насчет отсутствия дробных чисел - вы неправы.
...
Рейтинг: 0 / 0
16.10.2008, 13:01
    #35598087
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
В KeyPress() написать обработку клавиши '-', чтоб она игнорировалась. Или лучше в InteractiveChange() проверять значение, если отрицательное, то убирать знак числа.
...
Рейтинг: 0 / 0
16.10.2008, 13:13
    #35598120
ННовичок
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
Конечно же можно воспользоваться и KeyPress() и InteractiveChange() и Valid и LostFocus, всё это можно сделать....но для чего в TextBox стоит метод RangeLow(контроль нижней границы, как я понимаю ), как им пользоваться, и в чём отличие от приведённых выше методов
...
Рейтинг: 0 / 0
16.10.2008, 13:34
    #35598179
Чем отличается RangeLow от Valid
ННовичокКонечно же можно воспользоваться и KeyPress() и InteractiveChange() и Valid и LostFocus, всё это можно сделать....но для чего в TextBox стоит метод RangeLow(контроль нижней границы, как я понимаю ), как им пользоваться, и в чём отличие от приведённых выше методов
Ну, прочитайте же, наконец Хелп!!!
Visual FoxPro 9.0

RangeLow Event

For a spinner or text box, occurs when the control loses the focus. For a combo box or list box, occurs when the control receives the focus.


PROCEDURE Object.RangeLow


Remarks
Applies To: ComboBox | ListBox | Spinner | TextBox

A RangeLow event can return a numeric value to Visual FoxPro through a RETURN statement. For a spinner or a text box with a numeric value, if the value returned to Visual FoxPro is greater than the value entered in the control, the control retains the focus. For a combo box or list box, the value returned to Visual FoxPro specifies which item in the control is initially selected, For example, if 2 is returned to Visual FoxPro, the second item in the control is initially selected.

See Also
Reference
KeyboardHighValue, KeyboardLowValue Properties
RangeHigh Event
RETURN Command
SpinnerHighValue, SpinnerLowValue Properties

Other Resources
Events (Visual FoxPro)
...
Рейтинг: 0 / 0
16.10.2008, 13:35
    #35598184
54321зайчик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
Из Help
авторСобытие RangeLow может вернуть численное значение в Visual FoxPro с помощью оператора RETURN. Для элементов управления spinner или text box, оперирующих с численными значениями, в случае, если значение, возвращаемое в Visual FoxPro, больше, чем значение, введенное в текстовой части элемента управления, фокус остается на элемента управления.
...
Рейтинг: 0 / 0
16.10.2008, 14:59
    #35598473
Grey Cat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
ННовичокну у спинера нет дробных чисел..., конечно можно и спиннер, на крайняк...но как это сделать в textbox
...
Рейтинг: 0 / 0
16.10.2008, 14:59
    #35598474
ННовичок
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
Да читал я этот хелп, просто не въезжаю, открываю этот метод
где я должен написать Return и т.д....вот и просил что-нибудь для примера...
если я буду писать типа
if this.value<0
return 0
endif
то этот код могу написать и в Lostfocus, и возник вопрос в отличии, хелп, хелпом , но может на каком-нибуль примереююючто там пишется в методе RangeLow
...
Рейтинг: 0 / 0
16.10.2008, 15:56
    #35598686
Чем отличается RangeLow от Valid
ННовичокДа читал я этот хелп, просто не въезжаю, открываю этот метод
где я должен написать Return и т.д....вот и просил что-нибудь для примера...
если я буду писать типа
if this.value<0
return 0
endif
то этот код могу написать и в Lostfocus, и возник вопрос в отличии, хелп, хелпом , но может на каком-нибуль примереююючто там пишется в методе RangeLow
В методе реакции на выход за границу разрешенного диапазона еще раз делать проверку на этот же самый выход? Не находите это несколько ... не правильным? Метод вызывается для обработки события выхода за пределы, а не для проверки. Разница чуствуется?
...
Рейтинг: 0 / 0
17.10.2008, 05:46
    #35599794
ННовичок
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
Фу-у-у, ну наконец-то мы подошли к самому главному....где ставить в TextBox(vfp9) "границу разрешенного диапазона"...
Например в FPD 2.6. Help написано...
"...RANGE [nLowerBound] [, nUpperBound]
Задает диапазон допустимых значений для поля ввода значения. Если введенное в поле значение не принадлежит указанному диапазону, выдается сообщение, показывающее правильный диапазон....."
...
Рейтинг: 0 / 0
17.10.2008, 10:33
    #35600120
krin2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
oFrm = CREATEOBJECT('Form')
oFrm.ADDOBJECT('txt1', 'oTxt')
oFrm.txt1.Value=0
oFrm.txt1.Visible=.T.
oFrm.Show(1)

DEFINE CLASS oTxt AS textbox
nLow = -5
nHigh = 5

PROCEDURE RangeLow
RETURN This.nLow
ENDPROC

PROCEDURE RangeHigh
RETURN This.nHigh
ENDPROC
ENDDEFINE
...
Рейтинг: 0 / 0
17.10.2008, 10:38
    #35600134
12345зайчик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
авторФу-у-у, ну наконец-то мы подошли к самому главному

ага, самое главное это то, что старшая версия отличается от 2.6

предлагаю Вам решение Вашей проблемы
...
Рейтинг: 0 / 0
17.10.2008, 12:17
    #35600488
ННовичок
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
Я конечно извиняюсь, что у меня наверное анахраичное мышление...но я работаю через Form Disagner, поэтому оба варианты хороши, но вариант через класс реализован в Textbox через Valid, да и с классами никогда не приходилось сталкиваться, как-то без них всё проходило...а вариант от "krin2"..я не смог перенести в Form Disagner, так как RETURN This.nLow, это надо задать как-то свойство объекту TextBox(никогда не использовал метод AddProperty), попытался писать и RETURN -5 и RETURN nLow (предварительно объъявив nlow,nhigh в процедуре load) и RETURN Thisform.nLow(предварительно создав свойства nlow), не получается контроль, выходит ошибка несоответствия типа данных, хотя оба предложенных варианта работают отлично...но хотелось бы то же самое, но через Form Disagner
...
Рейтинг: 0 / 0
17.10.2008, 12:48
    #35600619
krin2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
ННовичок, правильно сделал, но посмотри у себя TYPE('txt.Value') - не зря же oFrm.txt1.Value=0
...
Рейтинг: 0 / 0
17.10.2008, 12:58
    #35600654
12345зайчик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
авторда и с классами никогда не приходилось сталкиваться

ну может тогда использовать 2,6?

не нужно применять приемы, которые использовались ранее

разработка без использования ООП в вфп9 и то,
что Вы не желаете освоить эти приемы программирования - это как раз и беда.
...
Рейтинг: 0 / 0
17.10.2008, 13:36
    #35600795
12345зайчик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
классы из виз-х библиотек
можно визуально положить на обычную scx-форму

вот пример этого

посмотрите на пример разработки класса и использование его
в форме

используя данный прием Вы облегчите себе разработку
+разработанное Вами приложение с примернением приемов ООП
будет более стабильным
+Вы облегчите себе задачу при дальнейшем
масштабировании и сопровождении(видоизменнении) таких приложений
...
Рейтинг: 0 / 0
17.10.2008, 19:51
    #35601862
ННовичок
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем отличается RangeLow от Valid
Большое спасибо,всем ответившим....теперь стало всё понятно...хотя остлсь пара вопросов...типа как осуществить контроль в этом случае только отрицательных чисел, если в RangeHigh, поставить 0, то 0 будет включён в отрицательные числа, хотя его надо исключить(типа все отрицательные числа до 0) ...ну и сообщения о выходе за пределы, как я понимаю тоже не редактируются..., но не актуально...если прижмёт, то у меня в запасе второй вариант напишем всё через классы...:-))) ещё раз спасибо....:-))
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Чем отличается RangeLow от Valid / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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