Форум: "Основная";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
ВнизФункция не работает, что в ней не так? Найти похожие ветки
← →
Bloody-Wolf © (2005-02-28 21:51) [0]пытался написать функцию, каторая переводит Hex число в Dec,
вроде, все правильно написал, и дельфа не ругается, но если для проверки вводишь 0000, то в ответе, вместо 0, получаеш какую-то многозначную чушь, типа 12456214, что в ней не так, я уже битых 2 часа бьюсь, и ничего не получается:
function HexToDec(text:string):integer;
const
characters = "abcdef";
var
contr,stepen,i,j,sum: integer;
begin
stepen:=12;
for i := 1 to 4 {length(text)} do
begin
contr:=0;
stepen:=1 shl stepen;
for j := 1 to 6 {length(characters)} do
begin
if text[i]=characters[j] then
begin
sum:=sum + (j+9)*stepen;
contr:=1;
end;
end;
if contr = 0 then
begin
sum:=sum + StrToInt(text[i])*stepen;
end;
stepen:=stepen-4;
end;
HexToDec:=sum;
end;
← →
DrPass © (2005-02-28 21:55) [1]Это у тебя задание такое - написать? Или ты просто не знаешь о библиотечной функции StrToInt?
← →
begin...end © (2005-02-28 21:59) [2]> Bloody-Wolf © (28.02.05 21:51)
Честно говоря, не совсем понятны манипуляции с переменной stepen. А вообще - см. [1].
← →
Bloody-Wolf © (2005-02-28 22:01) [3]DrPass, не вы не поняли, мне надо с клавы вводить Hex число, разве StrToInt будет работать, она ведь будет думать что ето десятичное число
← →
begin...end © (2005-02-28 22:03) [4]> Bloody-Wolf © (28.02.05 22:01) [3]
Вы ошибаетесь. Внимательно прочитайте справку по функции StrToInt.
← →
Bloody-Wolf © (2005-02-28 22:03) [5]А манипуляции со stepen, это степень 16, ну 16^0, 16^1, 16^2 и т.д
← →
DrPass © (2005-02-28 22:05) [6]
> разве StrToInt будет работать, она ведь будет думать что
> ето десятичное число
Будет. Она считает число шестнадцатеричным, если оно начинается на символ $
← →
Bloody-Wolf © (2005-02-28 22:06) [7]Begin...end, извините, я начинающий, в справке вроде сказано что если вводить число с префиксом $, то оно будет считаться Hex, это правда, или нет, и прокатит ли это.
← →
Bloody-Wolf © (2005-02-28 22:07) [8]Ага, всем огромное спасибо, просто я видимо не внимательно читал ХЕЛП, еще раз спасибо
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c