|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.02.2008, 15:12 | #1 |
Пользователь
Регистрация: 21.01.2008
Сообщений: 28
|
Метод Ньютона
Здравствуйте!
Я сейчас делаю программу "Метод Ньютона" на языке "Delphi 7.0". Цель: разработать программу, которая решает линейные алгебраические уравнения методом Ньютона. Вид уравнений, которые будет решать программа, такой: Ax(3)+Bx(2)+Cx+D=0, где: x - неизвестное; A,B,C,D - заданные числа. Сейчас делаю защиту "от дурака". Надо сделать так, чтобы в поле "TEdit", можно было вводить только цифры, знаки "-", "." или ",". Так вот, я сделал только то, что можно ввести: 1) цифры. 2) "-", но только чтобы выводился на первом месте и чтобы нельзя было ввести повторно это символ. 3) "." или ",", чтобы если пользователь введет "." или ",", то автоматически вместо это символа появлялся тот, который по умолчанию стоит в Windows для ввода действительных чисел, также чтобы нельзя было ввести "," на первом месте. А вот чтобы "," или "." можно было ввести только 1 раз никак не получается. Помогите, пожалуйста, кто знает, как это сделать. Вот код защиты, которую я сделал: Код:
|
07.02.2008, 15:44 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
07.02.2008, 16:44 | #3 |
Пользователь
Регистрация: 21.01.2008
Сообщений: 28
|
Stilet, это совсем не то.
Компонент "TMaskEdit" нужен для создания маски ввода. Но мне нужна не маска ввода, т.е. там ввод идет по конкретной маске, а в моем случае, это не подходит, т.к. ввести можно, например: "-0,5" или "1". Нужно создать условие в "Procedure TForm1.Edit1KeyPress" по вводу. Помогите, кто знает, как это сделать. |
07.02.2008, 17:13 | #4 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Напиши так:
if Pos(DecimalSeparator,Edit1.Text) <> 0 then Key := Chr(0); |
07.02.2008, 18:18 | #5 |
Пользователь
Регистрация: 21.01.2008
Сообщений: 28
|
Спасибо тебе большое, Puporev. Выручил.
|
07.02.2008, 18:22 | #6 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
А TryStrToInt и дальнейшая проверка значения не подходит?
|
09.02.2008, 19:07 | #7 |
Пользователь
Регистрация: 21.01.2008
Сообщений: 28
|
Re: Метод Ньютона
Ребят, спасибо всем, кто пытался помочь мне.
Защиту от дурака я уже сделал. У меня для Вас есть еще 1 вопрос: Как сделать, так, чтобы выводилось действительное число с определенным количеством символов, т.е. "X=0,983928383", нужно вывести "X" в таком виде "X=0,98". В "Borland Pascal 7.0" это делается вот так: Код:
|
09.02.2008, 19:25 | #8 |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
Writeln(x:2:2);
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... |
09.02.2008, 19:33 | #9 |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
uses Math;
Str := FloatToStr(RoundTo(X, -2)); |
09.02.2008, 20:01 | #10 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Форматированный вывод можно делать по разному, например так:
StrtofloatF(x,ffFixed,5,2), где 5 - общее количество знаков, 2 - после запятой. Во вложении несколько способов форматированного вывода вещественных чисел. Последний раз редактировалось puporev; 09.02.2008 в 20:18. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Решение СНАУ методом Ньютона | Tina | Помощь студентам | 7 | 09.04.2012 08:52 |
Метод Ньютона(помогите исправить ошибку) | Юлёк | Общие вопросы C/C++ | 2 | 07.07.2008 12:47 |
Метод Ньютона | Durak | Помощь студентам | 1 | 30.04.2008 21:55 |
Интерполяционный полином Ньютона | Skay | Общие вопросы Delphi | 2 | 19.10.2007 22:18 |