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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2017, 10:38   #1
Геноцид еклеров
Новичок
Джуниор
 
Регистрация: 13.01.2017
Сообщений: 1
По умолчанию Помогите, выбивает такую ошибку : Incompatible types 'String' and 'Extended'??

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
L: extended ;
x,y,a,b,n,m,Q1,Q2: string;

begin
  x:=Edit1.Text;
  y:=Edit2.Text;
  L:=strtofloat(Edit3.Text);
  a:=Edit4.Text;
  b:=Edit5.Text;
  Q1:=Edit6.Text;
  Q2:=Edit7.Text;
  n:=x+a;
  m:=y+b;
  Q1:=n*cos(L)-m*sin(L);
  Q2:=m*cos(L)+n*sin(L);

end;
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 13.01.2017 в 11:07.
Геноцид еклеров вне форума Ответить с цитированием
Старый 13.01.2017, 10:42   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А чего хотел? Строку умножаешь на косинус-синус
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.01.2017, 11:10   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
троку умножаешь на косинус-синус
самое удивительное в этом кусочке кода,
что переменная L всё таки переводится из строки в число.
Т.е. для неё нужно преобразование в числовой вид.
А почему это не нужно для x,y,a,b - не понятно.
ну и откровенные логические ляпы, когда в переменную Qx читается значение из Edit6/7, а потом оно нигде не используется.


думаю, что планировалось что-то вроде:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
L, x,y,a,b,n,m,Q1,Q2: extended;

begin
  x:=StrToFloat(Edit1.Text);
  y:=StrToFloat(Edit2.Text);
  L:=StrToFloat(Edit3.Text);
  a:=StrToFloat(Edit4.Text);
  b:=StrToFloat(Edit5.Text);
  n:=x+a;
  m:=y+b;
  Q1:=n*cos(L)-m*sin(L);
  Q2:=m*cos(L)+n*sin(L);
  Edit6.Text := FloatToStr(Q1);
  Edit7.Text := FloatToStr(Q2);
end;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Error] Unit1.pas(34): Incompatible types: 'String' and 'Extended' reapple Общие вопросы Delphi 1 20.04.2015 12:05
E2010 Incompatible types: 'string' and 'Extended' WeezyWayne Общие вопросы Delphi 2 26.04.2014 19:00
Incompatible types: 'Integer' and 'Extended' flouwjke Общие вопросы Delphi 2 21.04.2012 01:07
Incompatible types: 'Integer' and 'Extended'.. zak_87 Общие вопросы Delphi 3 06.10.2010 15:25
Incompatible types: 'Integer' and 'Extended' evgenext Общие вопросы Delphi 9 05.07.2010 08:03