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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2014, 14:23   #1
Nightway
Пользователь
 
Регистрация: 18.05.2013
Сообщений: 57
По умолчанию Ошибка Incompatible types: 'Byte' and 'Extended'

Ошибка Incompatible types: 'Byte' and 'Extended'...как решать?
Nightway вне форума Ответить с цитированием
Старый 03.04.2014, 14:24   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

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

Цитата:
Сообщение от Аватар Посмотреть сообщение
Нужный тип использовать
+1
Либо приведение типов надо выполнить

byte - целое безнаковое число, от 0 до 255
extended - дробное (вещественное) число.
Вы явно пытаетесь либо байту присвоить вещественное число, либо там, где требуется байт, передать вещественное число.

Определитесь, какой тип Вам нужен и используейте его.

какую задачу Вы решаете и в какой строчке кода возникает ошибка?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.04.2014, 18:26   #4
Nightway
Пользователь
 
Регистрация: 18.05.2013
Сообщений: 57
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
+1
Либо приведение типов надо выполнить

byte - целое безнаковое число, от 0 до 255
extended - дробное (вещественное) число.
Вы явно пытаетесь либо байту присвоить вещественное число, либо там, где требуется байт, передать вещественное число.

Определитесь, какой тип Вам нужен и используейте его.

какую задачу Вы решаете и в какой строчке кода возникает ошибка?
Ввести с эдитов значения в массив,потом всё считается по сложной формуле,вот код:

Код:
procedure TForm1.btn3Click(Sender: TObject);
var ss:array [0..100,0..4] of Real;q1,q2,q3,q4,q5,q6,q7,q8,q9,q10,kg,p:Real; i,j,q:byte; k1,k2,k3,k4,k5,k6:array[1..5]of real;
begin
k1[1]:=strtofloat(edt1.text);
k1[2]:=strtofloat(edt2.text);
k1[3]:=strtofloat(edt3.text);
k1[4]:=strtofloat(edt4.text);
k1[5]:=strtofloat(edt5.text);

k2[1]:=strtofloat(edt6.text);
k2[2]:=strtofloat(edt7.text);
k2[3]:=strtofloat(edt8.text);
k2[4]:=strtofloat(edt9.text);
k2[5]:=strtofloat(edt10.text);

k3[1]:=strtofloat(edt11.text);
k3[2]:=strtofloat(edt12.text);
k3[3]:=strtofloat(edt13.text);
k3[4]:=strtofloat(edt14.text);
k3[5]:=strtofloat(edt15.text);

k4[1]:=strtofloat(edt16.text);
k4[2]:=strtofloat(edt17.text);
k4[3]:=strtofloat(edt18.text);
k4[4]:=strtofloat(edt19.text);
k4[5]:=strtofloat(edt20.text);

k5[1]:=strtofloat(edt21.text);
k5[2]:=strtofloat(edt22.text);
k5[3]:=strtofloat(edt23.text);
k5[4]:=strtofloat(edt24.text);
k5[5]:=strtofloat(edt25.text);

k6[1]:=strtofloat(edt26.text);
k6[2]:=strtofloat(edt27.text);
k6[3]:=strtofloat(edt28.text);
k6[4]:=strtofloat(edt29.text);
k6[5]:=strtofloat(edt30.text);



kg:=strtofloat(edt31.text);
for i:= 0 to 50 do
p:=StrToFloat(edt36.Text);
p:=StrToFloat(edt36.Text) * i;
for j:=0 to 4 do
begin
ss[i,j]:= k1[j] * kg *p[i];
q1:=1-p[i];
q2:=1-kg;
begin
q1:=q1 *(1-p[i]);
q2:=q2*(1-kg);
q3:=q1 *(1-p[i])*(1-p[i]);
q4:=q1*(1-kg)*(1-kg);
q5:=q1 *(1-p[i])*(1-p[i])*(1-p[i]);
q6:=q1*(1-kg)*(1-kg)*(1-kg);
q7:=q1 *(1-p[i])*(1-p[i])*(1-p[i])*(1-p[i]);
q8:=q1*(1-kg)*(1-kg)*(1-kg)*(1-kg);
q9:=q1 *(1-p[i])*(1-p[i])*(1-p[i])*(1-p[i])*(1-p[i]);
q10:=q1*(1-kg)*(1-kg)*(1-kg)*(1-kg)*(1-kg);

ss[i,j]:=ss[i,j]+k2[j]*(1-q1)*(1-q2)+k3[j]*(q3*q4)+k4[j]*(q5+q6)+k5[j]*(q7*q8)+k6[j]*(q9*q10);
ошибка появляется там где есть [i]
Nightway вне форума Ответить с цитированием
Старый 03.04.2014, 19:45   #5
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,882
По умолчанию

А что подразумевается под p[i]?
northener вне форума Ответить с цитированием
Старый 03.04.2014, 20:14   #6
Nightway
Пользователь
 
Регистрация: 18.05.2013
Сообщений: 57
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
А что подразумевается под p[i]?
p это переменная которая тоже вводится с эдита. I точно не могу сформулировать что это) короче была вот такая формула,которую я перевели из маткада,но похоже это счётчик(вот оригинальный кодss (2014-04-02 at 01.37.24).jpg)
Nightway вне форума Ответить с цитированием
Старый 03.04.2014, 20:57   #7
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,882
По умолчанию

Не знаю что там где и кто переводил, но в паскале p[i] это i-тый элемент массива p, что не соответствует объявленному типу переменной p
northener вне форума Ответить с цитированием
Старый 03.04.2014, 21:15   #8
Nightway
Пользователь
 
Регистрация: 18.05.2013
Сообщений: 57
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Не знаю что там где и кто переводил, но в паскале p[i] это i-тый элемент массива p, что не соответствует объявленному типу переменной p
значит p-должен быть массивом?
Nightway вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Error] Unit1.pas(40): Incompatible types: 'Integer' and 'Extended BETONOMESHALKA Общие вопросы Delphi 9 15.03.2014 17:26
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