Главная страница
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.035 c
3-1108409767
New-user
2005-02-14 22:36
2005.03.13
TTreeView & DataBase: Как правильно создать


1-1109361938
ЦУКОР5
2005-02-25 23:05
2005.03.13
Bitmap


1-1109626493
dmk
2005-03-01 00:34
2005.03.13
Как определить длину текста в Clipboard?


1-1109315695
Нуждающийся в помощи
2005-02-25 10:14
2005.03.13
Бинарные операции


14-1109097853
asdqwer
2005-02-22 21:44
2005.03.13
Страх