Форум: "Начинающим";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
ВнизDivMod Найти похожие ветки
← →
valua (2007-03-23 15:38) [0]Господа , прошу прощения за элементарный вопрос , но ...
Функция DivMod(Div:Integer,Del:Word,var:Result,Remainder:Word)
var Del,Remainder:Words;
Result,Div:Integer;
.....
определяю переменные в соответствии с типами функции.
пишу ->
DivMod(X,Del,Result,Remainder)
выдает ошибку на Remainder.
Господа как правильно описать типы , что не так .
Всем спасибо .
← →
Elen © (2007-03-23 15:53) [1]
> Функция DivMod(Div:Integer,Del:Word,var:Result,Remainder:Word)
>
> var Del,Remainder:Words;
Разницу видишь?
← →
valua (2007-03-23 16:21) [2]Спасибо , сегодня явно не мой день , но теперь другая ошибка (надо
сделать) :
var X:Real;
ix1:Integer;
Remainder:Word;
Resullt:Integer;
begin
str := FloatToStr(int(X));
ix1 := StrToInt(str);
DivMod(ix1,1000000,Result,Remainder);
выдает ошибку на Result ->
constant expression violates subrange bounds
← →
Сергей М. © (2007-03-23 16:29) [3]Удалено модератором
← →
Loginov Dmitry © (2007-03-23 16:30) [4]См [1]
← →
Elen © (2007-03-23 16:37) [5]
> Resullt:Integer;
Вместо этого пиши Result:Word!
← →
Правильный Вася (2007-03-23 17:21) [6]> Del:Word,
> 1000000
не сходицца
← →
valua (2007-03-23 17:43) [7]Если пишу Result:Word! , дает ошибку ->
Identifier redeclaried : "result" .
Если пишу d := 1000000; (d:Word;) - дает еще и ошибку на эту строку ,
кто знает как правильно определить типы , и как правильно записать (мне надо делить на 1000000 , 10000 и т.д.) .
Всем спасибо .
var X:Real;
str:String;
ix1:Integer;
Remainder:Word;
Resullt:Word;
begin
str := FloatToStr(int(X));
ix1 := StrToInt(str);
DivMod(ix1,1000000,Result,Remainder);
Попробуйте на практике , все написано как в справочнике .
Если убираю Resullt:Word; - дает ошибку .
← →
Desdechado © (2007-03-23 17:48) [8]Почитай хоть про типы данных, что ли.
Не каждой число подойдет для запихивания в любой тип данных.
← →
RASkov (2007-03-23 17:54) [9]> Если пишу Result:Word! , дает ошибку ->
> Identifier redeclaried : "result" .
В каждой функции переменная Result обявлена неявно, и в нее записывается результат функции.
← →
valua (2007-03-26 10:51) [10]Господа , прошу прощения за свой вопрос . Пятница - действительно не мой день .
Ошибка в том , что
DivMod(ix1, Div, Result, Remainder);
Div - выходит за границы предела значения типа Word - 65500 .
Вот и весь глюк .
Если число Div > 65500 , надо писать свою функцию .
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.038 c