Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> В чем ошибка? (Калькулятор) 
V
    Опции темы
Данкинг
Дата 18.9.2011, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Разделитель целой и дробной части числа. Который в "языки и региональные стандарты" системы (винды т.е.) выставляется. Обычно - точка или запятая. В общем, попробуй принудительно в программе указать
Код

DecimalSeparator:=',';



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Чучмек
Дата 18.9.2011, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 7
Всего: 41



Код

a:=strtofloatDef (edit1.text,0);
edit1.text:=floattostr(a);


А если так хочется отследить неправильный ввод
Код

a:=strtofloatDef (edit1.text,0);
if (a=0)and(1=strtofloatDef (edit1.text,1)) then
  begin
  messagebox(0,'error edit1','',0);
  exit;
  end;

p.s.
Только для вещественных чисел "=" не уместно 


Это сообщение отредактировал(а) Чучмек - 18.9.2011, 22:02


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
nonstop1
Дата 20.9.2011, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 17.9.2011

Репутация: нет
Всего: нет



 Наконец-то написала smile .Спасибо всем!!!


Код

procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c: integer;
wynik: real;
begin


if (length(edit1.text) = 0) or (length(edit2.text) = 0) or (length(edit3.text) = 0) then
begin
edit4.Text:= ' ';
showmessage ('pusto');
exit;
end;


a:=strtoint (edit1.text);
b:=strtoint (edit2.text);
c:=strtoint (edit3.text);


if plus.Checked then
begin
wynik:= a+b+c;
edit4.Text:= floattostr(wynik);
 end;


if minus.Checked then
begin
wynik:=a-b-c;
edit4.Text:=floattostr (wynik);
end;

if razy.Checked then
begin
wynik:= a*b*c;
edit4.Text:=floattostr (wynik);
end;


if podzielic.Checked then

if  (b=0) or (c=0) then
begin
showmessage ('Nie dziel przez zero!!!');
exit;

end
else

wynik:=a / b / c;
edit4.Text:=floattostr(wynik);

end;
end.


Это сообщение отредактировал(а) nonstop1 - 20.9.2011, 18:38
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0884 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.