| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Ввод чисел перед переменными в выражении в edit. |
| Автор: Grol 22.5.2005, 02:31 |
| Уважаемые Мастера Delphi! Вот у меня есть выражение: 'Eo+Em*Sin(w*t+y)'. Это выражение в моей программе уже введенно в edit. Но перед каждой переменной в выражении, например перед Eo или Em, могут стоять еще коэффициенты. К примеру: '-1,5*Eo+2*Em*Sin(w*t+5*y)'. Вопрос такой, как сделать так, чтоб эти числовые коэффициенты можно было вводить только перед переменными в выражении. Нужно сделать так, чтоб числа не вводились между 'E' и 'o' или 'E' и 'm'. И числовые коэффициенты могут быть отрицательными и положительными, дробными и целыми а после них обязательно должен следовать знак '*', а если забыть то он должен принудительно ставиться!!! Помогите пожалуйста Мега Мастера Delphi!!! P.S. Меня этот курсовик уже задолбал...:-((( |
| Автор: December 22.5.2005, 11:30 |
| Ну, как вариант: в событии OnKeyPress проверять значение свойства SelStart - это даст тебе информацию о положении твоего курсора относительно ключевых элементов. Для того, тобы подавить ввод символа в этом событии, надо аргументу Key присвоить значение 0. |
| Автор: remax 22.5.2005, 19:07 |
| А я бы сделал по другому: 1) В строке ввода оставил бы 'A*Eo+B*Em*Sin(C*w*t+D*y)' 2) Добавил бы на форму еще четыре соответствующих edit для ввода коэффициентов A,B,C и D. (По умолчанию в них поставил бы 1) Таким образом, очень здорово бы облегчил себе жизнь, хотя бы тем, что для ввода коэффициентов можно использовать специализированные для чисел с плавающей запятой edit (например, из библиотеки JEDI VCL). И все. И не надо никаких сложных обработчиков и супер интерпретаторов! |
| Автор: Dynamic 23.5.2005, 08:06 | ||||
А это смотря какое задание:
|