Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.08;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.02 c
15-1180439749
Tauler
2007-05-29 15:55
2007.07.08
Книга по BDS 2006


2-1181817593
Кирей
2007-06-14 14:39
2007.07.08
Пути к базам в ADOConnection


2-1180973368
Bora_ru
2007-06-04 20:09
2007.07.08
Копирование папок


2-1181721270
Nucer
2007-06-13 11:54
2007.07.08
Как правильно передать параметр функции


1-1178632596
Kav
2007-05-08 17:56
2007.07.08
Программа которая записывает на какие сайты ходили пользователи