strtofloat lazarus



Lazarus strtofloat

Автор Ёергей Войнов задал вопрос в разделе Другие языки и технологии

Нужна помощь по lazarus.Ошибка при нажатии на кнопку... и получил лучший ответ

Ответ от ?[гуру]
Мммм, как занятно. А угадать, где обработчик этой кнопки, нам предлагаешь?

Высший разум
(529218)
У тебя дохуища обработчиков
procedure TForm1.ButtonXXXClick(Sender: TObject);
Какой тот - знает только дьявол.

Ответ от Виктор К[гуру]
Ошибка как я понимаю в конструкции типа:
x:=strtofloat(Edit1.Text);
Edit1.Clear;
n:= strtofloat(Edit1.Text);
if n=0 then
showmessage( 'на нуль делить нельзя' )
else c:=x/n;
Edit1.Clear;
Честно говоря это бред.
Вы сначала передаете переменной x числовое значение текстового поля. Потом очищаете это поле и передаете его числовое значение в переменную n. в итоге, или n будет равно 0 всегда, или в этот момент программа выдаст ошибку.
Или создайте второе текстовое поле (Edit2) или работайте со строками разделяя их по знаку-действию
Edit1.Text = "1+2"
a = Edit1.Text[1]
znak = Edit1.Text[2]
b = Edit1.Text[3]
только знак придется искать в строке один из (+-*/), потом получить его индекс в строке, разделить строку на три части по этому индексу (первое число, знак, второе число)
и потом уже проводить операцию, в зависимости от знака.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Нужна помощь по lazarus.Ошибка при нажатии на кнопку...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*