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

Вниз

Функция не работает, что в ней не так?   Найти похожие ветки 

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

Наверх




Память: 0.48 MB
Время: 0.027 c
14-1108988555
Soft
2005-02-21 15:22
2005.03.13
Вы всё ещё кипятите? Тогда мы идём к вам!


1-1109265207
novice_man
2005-02-24 20:13
2005.03.13
Очистка списка указателей.


14-1108805918
Иксик2
2005-02-19 12:38
2005.03.13
А чего так тихо?


1-1109606243
markers
2005-02-28 18:57
2005.03.13
TreeView


6-1104670234
volser
2005-01-02 15:50
2005.03.13
Мониторинг http