powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Чем отличается RangeLow от Valid
21 сообщений из 21, страница 1 из 1
Чем отличается RangeLow от Valid
    #35597228
ННовичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть VFP9, форма, на форме TEXTBOX, в который надо вводить только положительные числа и 0
Конечно можно в LostFocus или Valid, написать код проверки если отрицательное то выдать сообщение, и курсор не выпускать из текст бокса, но есть метод RangeLow, в хелпе написано, что есть параметр в этом методе, на самом деле параметра почему то нет, как он работает не понятно или это не тот случай, и RangeLow не для этих целей предназначен.. или есть другие способы контроля нижней границы при вводе..
...
Рейтинг: 0 / 0
Чем отличается RangeLow от Valid
    #35597453
12345зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
положите на форму вместо текстбокса спиннер
и настройте ему необходимые св-ва (миним. и максим. значения)
...
Рейтинг: 0 / 0
Чем отличается RangeLow от Valid
    #35597732
ННовичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, спинер не прокатит, вводится сумма и она не должна быть меньше 0...поэтому и вводится Textbox, вот и возник вопрос можно ли воспользоваться RangeLow и как в Textbox(е)
...
Рейтинг: 0 / 0
Чем отличается RangeLow от Valid
    #35597948
54321зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А все-таки чем спиннер не хорош.
Там задается и верхнее максимальное и нижнее минимальное и шаг
Установите от 0 и до +2147483647 и будет Вам счастье Value -> 0.00
...
Рейтинг: 0 / 0
Чем отличается RangeLow от Valid
    #35597979
ННовичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну у спинера нет дробных чисел..., конечно можно и спиннер, на крайняк...но как это сделать в textbox
...
Рейтинг: 0 / 0
Чем отличается RangeLow от Valid
    #35598015
54321зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насчет отсутствия дробных чисел - вы неправы.
...
Рейтинг: 0 / 0
Чем отличается RangeLow от Valid
    #35598087
XAndy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В KeyPress() написать обработку клавиши '-', чтоб она игнорировалась. Или лучше в InteractiveChange() проверять значение, если отрицательное, то убирать знак числа.
...
Рейтинг: 0 / 0
Чем отличается RangeLow от Valid
    #35598120
ННовичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конечно же можно воспользоваться и KeyPress() и InteractiveChange() и Valid и LostFocus, всё это можно сделать....но для чего в TextBox стоит метод RangeLow(контроль нижней границы, как я понимаю ), как им пользоваться, и в чём отличие от приведённых выше методов
...
Рейтинг: 0 / 0
Чем отличается RangeLow от Valid
    #35598179
ННовичокКонечно же можно воспользоваться и 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
Чем отличается RangeLow от Valid
    #35598184
54321зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из Help
авторСобытие RangeLow может вернуть численное значение в Visual FoxPro с помощью оператора RETURN. Для элементов управления spinner или text box, оперирующих с численными значениями, в случае, если значение, возвращаемое в Visual FoxPro, больше, чем значение, введенное в текстовой части элемента управления, фокус остается на элемента управления.
...
Рейтинг: 0 / 0
Чем отличается RangeLow от Valid
    #35598473
Grey Cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ННовичокну у спинера нет дробных чисел..., конечно можно и спиннер, на крайняк...но как это сделать в textbox
...
Рейтинг: 0 / 0
Чем отличается RangeLow от Valid
    #35598474
ННовичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да читал я этот хелп, просто не въезжаю, открываю этот метод
где я должен написать Return и т.д....вот и просил что-нибудь для примера...
если я буду писать типа
if this.value<0
return 0
endif
то этот код могу написать и в Lostfocus, и возник вопрос в отличии, хелп, хелпом , но может на каком-нибуль примереююючто там пишется в методе RangeLow
...
Рейтинг: 0 / 0
Чем отличается RangeLow от Valid
    #35598686
ННовичокДа читал я этот хелп, просто не въезжаю, открываю этот метод
где я должен написать Return и т.д....вот и просил что-нибудь для примера...
если я буду писать типа
if this.value<0
return 0
endif
то этот код могу написать и в Lostfocus, и возник вопрос в отличии, хелп, хелпом , но может на каком-нибуль примереююючто там пишется в методе RangeLow
В методе реакции на выход за границу разрешенного диапазона еще раз делать проверку на этот же самый выход? Не находите это несколько ... не правильным? Метод вызывается для обработки события выхода за пределы, а не для проверки. Разница чуствуется?
...
Рейтинг: 0 / 0
Чем отличается RangeLow от Valid
    #35599794
ННовичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Фу-у-у, ну наконец-то мы подошли к самому главному....где ставить в TextBox(vfp9) "границу разрешенного диапазона"...
Например в FPD 2.6. Help написано...
"...RANGE [nLowerBound] [, nUpperBound]
Задает диапазон допустимых значений для поля ввода значения. Если введенное в поле значение не принадлежит указанному диапазону, выдается сообщение, показывающее правильный диапазон....."
...
Рейтинг: 0 / 0
Чем отличается RangeLow от Valid
    #35600120
krin2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Чем отличается RangeLow от Valid
    #35600134
12345зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторФу-у-у, ну наконец-то мы подошли к самому главному

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

предлагаю Вам решение Вашей проблемы
...
Рейтинг: 0 / 0
Чем отличается RangeLow от Valid
    #35600488
ННовичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я конечно извиняюсь, что у меня наверное анахраичное мышление...но я работаю через 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
Чем отличается RangeLow от Valid
    #35600619
krin2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ННовичок, правильно сделал, но посмотри у себя TYPE('txt.Value') - не зря же oFrm.txt1.Value=0
...
Рейтинг: 0 / 0
Чем отличается RangeLow от Valid
    #35600654
12345зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторда и с классами никогда не приходилось сталкиваться

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

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

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

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

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

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


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