Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2017, 19:07   #1
Djavol
Пользователь
 
Регистрация: 17.04.2016
Сообщений: 18
По умолчанию Перевод в строку. Сложение edit

Код:
  azd1:=FloatToStr((StrToFloat (edit7.text)+StrToFloat(edit8.text)+StrToFloat(edit9.text)+StrToFloat(edit10.text)+StrToFloat(edit11.text))/5);
  bpw1:=FloatToStr((StrToFloat(edit22.text)+StrToFloat(edit23.text)+StrToFloat(edit24.text)+StrToFloat(edit25.text)+StrToFloat(edit26.text))/5);
  azd2:=FloatToStr((StrToFloat(edit17.text)+StrToFloat(edit18.text)+StrToFloat(edit19.text)+StrToFloat(edit20.text)+StrToFloat(edit21.text))/5);
  bpw2:=FloatToStr((StrToFloat(edit12.text)+StrToFloat(edit13.text)+StrToFloat(edit14.text)+StrToFloat(edit15.text)+StrToFloat(edit16.text))/5);
 
  listbox1.Items.add((FloatToStr(StrToFloat(azd1+bpw1)/2))+(FloatToStr(StrToFloat(azd2+bpw2)/2)));
Складывает строки, а не числа. Как правильнее написать?
Djavol вне форума Ответить с цитированием
Старый 20.02.2017, 22:19   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Это задание такое идиотское - или его воплощение? Почему azd1,bpw1 и т.п. должны храниться в строках, если дальше с числами проводятся операции ?
Первую строчку я проверил, работает нормально. Дальше нервов не хватило.
Для отладки можно после каждой azd1:= и пр. сделать вывод полученных промежуточных результатов в listbox или memo на известных наборах данных, если уж лень прогнать в режиме отладки.
Научить никого нельзя - можно научиться.
А правильнее завести нужное число переменных float, скинуть туда данные из едитов и работать с числами - вместо заниматься брейнфакингом.
digitalis вне форума Ответить с цитированием
Старый 21.02.2017, 06:06   #3
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Цитата:
Сообщение от Djavol Посмотреть сообщение
azd1:=FloatToStr
Похоже azd1 типа string

Цитата:
Сообщение от Djavol Посмотреть сообщение
(FloatToStr(StrToFloat(azd1+bpw1)/2)
А это лишнее в преобразованиях string - integer - string

Цитата:
Сообщение от Djavol Посмотреть сообщение
azd1+bpw1
строка + строка

Код:
var azd1,bpw1,azd2,bpw2:real;
***
azd1:=(StrToFloat (edit7.text)+StrToFloat(edit8.text)+StrToFloat(edit9.text)+StrToFloat(edit10.text)+StrToFloat(edit11.text))/5;
bpw1:=(StrToFloat(edit22.text)+StrToFloat(edit23.text)+StrToFloat(edit24.text)+StrToFloat(edit25.text)+StrToFloat(edit26.text))/5;
azd2:=(StrToFloat(edit17.text)+StrToFloat(edit18.text)+StrToFloat(edit19.text)+StrToFloat(edit20.text)+StrToFloat(edit21.text))/5;
bpw2:=(StrToFloat(edit12.text)+StrToFloat(edit13.text)+StrToFloat(edit14.text)+StrToFloat(edit15.text)+StrToFloat(edit16.text))/5;
 
listbox1.Items.add((FloatToStr((azd1+bpw1)/2)+FloatToStr((azd2+bpw2)/2));
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]

Последний раз редактировалось newerow1989; 21.02.2017 в 06:10.
newerow1989 вне форума Ответить с цитированием
Старый 21.02.2017, 11:02   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Цитата:
Цитата:
(FloatToStr(StrToFloat(azd1+bpw1)/2)
А это лишнее в преобразованиях string - integer - string
Серьёзно ?
Мало того, что лишнее, так оно и нерабочее : если azd1, к примеру, = '1.5', а bpw1 = '1.7', то при попытке StrToFloat('1.51.7') комп с ума свихнется.

Последний раз редактировалось digitalis; 21.02.2017 в 11:21.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
записать строку из edit в listbox martofpain Компоненты Delphi 5 03.04.2016 23:07
перевод в строку из Double Dimarik Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 18.09.2011 15:32
Перевод на новую строку Fanyuus Помощь студентам 6 15.05.2011 13:01
Не хочет работать перевод из Edit в StringGrid Лия92 Общие вопросы C/C++ 2 01.12.2010 19:23
Перевод времени в строку noob_11 Общие вопросы C/C++ 2 18.04.2010 21:30