Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];

Вниз

Неудача с делением   Найти похожие ветки 

 
Greenchel ©   (2007-06-16 13:41) [0]

Проблема такова, я сейчас пишу программулину для игры, мне в ней надо рассчитывать ресурсы...
В общем проблема в следующем:
в edit1, edit2 и edit3 вводятся целые числа
затем я перевожу строку в число (ни в integer ни в real не помогает) и вычисляю нужные 2 числа по формуле
1) a:= (c-b) div d;
2) x:= (c-b) mod d;

трабл в том, что я объявляю гобальные переменные, считаю, но в итоге выдаётся ошибка [Error] Unit1.pas(221): Operator not applicable to this operand type

какие только типы я не пробовал integer, real :( ничего не помогает
делал strtoint и strtofloat

помогите плиз :(


 
Desdechado ©   (2007-06-16 13:44) [1]

Тексты проб где?


 
Германн ©   (2007-06-16 13:46) [2]


> трабл в том, что я объявляю гобальные переменные, считаю,
>  но в итоге выдаётся ошибка [Error] Unit1.pas(221): Operator
> not applicable to this operand type
>
> какие только типы я не пробовал integer, real :( ничего
> не помогает
> делал strtoint и strtofloat
>
> помогите плиз :(
>

Чем помочь-то? Верёвку намылить? Или может покажешь реальный код, который не работает?


 
Greenchel ©   (2007-06-16 13:46) [3]

исходники в смысле?


 
Greenchel ©   (2007-06-16 13:48) [4]

var
 Form1: TForm1;
 a, b, c, d, e, f, g, k, l, m, n, o: real;
 xa, xb, xc, xd, xe, xf, xg, xk, xl, xm, xn, xo: real;

implementation

{$R *.dfm}


procedure TForm1.Edit1Change(Sender: TObject);
begin
try
a:= strtofloat(edit1.Text);
except
Edit1.Text:= "0";
MessageBeep(MB_OK);
ShowMessage("Введите верное число");
end;
end;


тоже самое с двумя остальными edit"ами

procedure TForm1.Image5Click(Sender: TObject);
begin
xa:= ((e-a)/(l/60)) div 60;
xb:= ((e-a)/(l/60)) mod 60;
end;


 
{RASkov} ©   (2007-06-16 13:58) [5]

> [4] Greenchel ©   (16.06.07 13:48)

Операторы div и mod для целочисленных типов....


 
Германн ©   (2007-06-16 13:58) [6]


> Greenchel ©   (16.06.07 13:48) [4]

Операторы div и mod применимы только к целым числам.


 
Greenchel ©   (2007-06-16 14:01) [7]

:( и как же мне тогда делить?

я пробовал делать всё в integer

xa:= ((e-a) div (l div 60)) div 60;

тут по идее целые числа выходят, но всё равно та же самя ошибка...


 
{RASkov} ©   (2007-06-16 14:03) [8]

> xa:= ((e-a) div (l div 60)) div 60;

здесь либо все должны быть Integer

либо так:

xa:= (Round[Trunc](e-a) div (l div 60)) div 60;
где
xa, l : Integer;
e, a : Double;


 
Greenchel ©   (2007-06-16 14:08) [9]

[Error] Unit1.pas(220): "(" expected but "[" found


 
{RASkov} ©   (2007-06-16 14:11) [10]

> [9] Greenchel ©   (16.06.07 14:08)

Выбери ченить одно :)
Round
Trunc
;)


 
{RASkov} ©   (2007-06-16 14:19) [11]

> в edit1, edit2 и edit3 вводятся целые числа

Ну и юзай все целые

> a:= strtofloat(edit1.Text);

Замени на
a:=StrToInt(edit1.Text);
и соответственно
xa:= ((e-a) div (l div 60)) div 60;


> [0] Greenchel ©   (16.06.07 13:41)
> я сейчас пишу программулину для игры

Как можно такое писать незная элементарных действий над числами?


 
Greenchel ©   (2007-06-16 14:20) [12]

элементарные знаю, просто где-то ошибку допустил, а найти не могу =(
спасибо, если что, ещё спрошу =)


 
{RASkov} ©   (2007-06-16 14:22) [13]

> [12] Greenchel ©   (16.06.07 14:20)
> элементарные знаю



> a, b, c, d, e, f, g, k, l, m, n, o: real;
> xa, xb, xc, xd, xe, xf, xg, xk, xl, xm, xn, xo: real;


> a:= strtofloat(edit1.Text);


> xa:= ((e-a)/(l/60)) div 60;
> xb:= ((e-a)/(l/60)) mod 60;


> [Error] Unit1.pas(220): "(" expected but "[" found

НЕ ЗНАЕШЬ! ;)


 
Германн ©   (2007-06-16 14:34) [14]


> Greenchel ©   (16.06.07 14:20) [12]
>
> элементарные знаю, просто где-то ошибку допустил, а найти
> не могу =(

Оч сильно сомневаюсь. Особенно после такого:

> xa:= ((e-a) div (l div 60)) div 60;

Я бы так не делал расчет чего либо в программе для РС.


 
Greenchel ©   (2007-06-16 14:38) [15]

учусь на ошибках :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.041 c
2-1181717276
DEVELA
2007-06-13 10:47
2007.07.08
Ужасно много кушается памяти!!!


2-1181919052
леВый позЕр
2007-06-15 18:50
2007.07.08
рисование


1-1178550696
Виктор007
2007-05-07 19:11
2007.07.08
Как узнать высоту документа загруженного в TWebBrowser


2-1181903874
лЕвый поЗер
2007-06-15 14:37
2007.07.08
esc


3-1176197793
vlva
2007-04-10 13:36
2007.07.08
Ошибка Share violation





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский