Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
ВнизHex to Dec Найти похожие ветки
← →
Greenchel © (2007-02-24 23:30) [0]Приведите пожалуйста кто-нибудь нормальный работающий код, для конвертации Hex в Dec. По всему интернету искал, ничего не нашёл, а очень нужно и очень срочно :(
← →
Kolan © (2007-02-24 23:33) [1]http://delphimaster.net/view/1-1172164213/
Читай внимательно, там 2 варианта.
← →
Greenchel © (2007-02-24 23:39) [2]Kolan, большое спасибо, пришлось правда немног править код, но всё таки он сработал =)
← →
Greenchel © (2007-02-25 00:24) [3]Ещё подскажите пожалуйста как на TEdit наложить ограничение на ввод только символов (1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F), причём если юзер введёт маленькую букву из предложенного набора, на автоматически станет заглавной.
← →
DrPass © (2007-02-25 00:29) [4]OnKeyPress
← →
Германн © (2007-02-25 00:34) [5]
> Greenchel © (25.02.07 00:24) [3]
Еще полезно добавить перевод русских "ф, и, с, в, у, а" в латинские.
← →
Greenchel © (2007-02-25 00:41) [6]ммм... спасибо попробую сейчас...
← →
Greenchel © (2007-02-25 00:46) [7]сорри за то что так туплю, но как сделать:
Если нажата клавиша, то вместо неё будет введена клавиша2?
← →
Greenchel © (2007-02-25 00:58) [8]+ к тому вопросу (наверное это мои последние вопросы)
как перевести число в двоичную систему, проверить чему равен его 0 бит, если он равен нулю, то надо заменить его на 1 и перевести его в десятичную систему, если он равено 1, то перевести в десятичную без изменений.
← →
Eraser © (2007-02-25 01:04) [9]> [0] Greenchel © (24.02.07 23:30)
StrToInt.
> как перевести число в двоичную систему
в Indy есть ф-ция IntToBin, посмотри как сделана.
← →
Германн © (2007-02-25 01:07) [10]
> Если нажата клавиша, то вместо неё будет введена клавиша2?if Key = клавиша1 then Key:=клавиша2
> как перевести число в двоичную систему, проверить чему равен
> его 0 бит, если он равен нулю, то надо заменить его на 1
> и перевести его в десятичную систему, если он равено 1,
> то перевести в десятичную без изменений.
>Число:=число or 1
и переводи
← →
Greenchel © (2007-02-25 01:15) [11]Пытаюсь перевести hex to bin таким образом:
function IntToBin(IValue : Int64; NumBits : word = 64) : string;
var RetVar : string;
i,ILen : byte;
begin
RetVar := "";
case NumBits of
32 : IValue := dword(IValue);
16 : IValue := word(IValue);
8 : IValue := byte(IValue);
end;
while IValue <> 0 do begin
Retvar := char(48 + (IValue and 1)) + RetVar;
IValue := IValue shr 1;
end;
if RetVar = "" then Retvar := "0";
Result := RetVar;
end;
Функцию вызываю так:
HexToBin(Edit5.Text)
Но выдаёт ошибку:
[Error] Unit1.pas(131): Incompatible types: "TCaption" and "PAnsiChar"
В чём дело :S :(
← →
Eraser © (2007-02-25 01:20) [12]> [11] Greenchel © (25.02.07 01:15)
в модуле Classes есть стандартная ф-ция HexToBin.
← →
Greenchel © (2007-02-25 01:26) [13]Eraser, наверное я всё таки тупой ((((( В classes нашёл HexToBin но так и не врубился как переделать содержимое TEDIT =((((
← →
Германн © (2007-02-25 01:34) [14]
> Greenchel © (25.02.07 01:15) [11]
Сбил тебя Лёха с толку :)
Перевод в двоичное представление тебе НАФИГ НЕ НУЖЕН!
Прочитай вот это http://www.delphikingdom.com/asp/viewitem.asp?catalogid=838 и да пребудет тебе счастье.
← →
Greenchel © (2007-02-25 01:44) [15]В общем вот что мне надо реализовать:
Переводим число в поле F2(D) в двоичную систему отсчёта и получаем 111 (у вас другое число, начинающееся с 0 справа!).
Нам нужно присвоить биту 0 значение 1. Тут главное не ошибиться. ВНИМАНИЕ: отсчёт битов ведётся справа с нуля!!! (самое правое число соответствует нулевому биту)
Для наглядности напишу так:
Что у меня получилось : 0 0 0 0 0 1 1 1
Соответствующие биты: 7 6 5 4 3 2 1 0
Как видно из моего примера, у меня включены биты 0,1 и 2, а все остальные выключены. У вас вместо 1 над битом 0 будет тоже стоять 0.
Для присвоения биту 0 значение 1 надо просто записать то, что у вас получилось с заменой 0 на 1 справа (в моём случае без изменений). Далее переводим то, что у нас получилось в десятичную систему исчисления.
Это единственное что я так и не смог реализовать, осталось совсем немного =((( помогиитееее плиииззззззззз....
← →
Юрий Зотов © (2007-02-25 01:49) [16]См. [10].
N or 1 - устанавливает в единицу нулевой бит числа N.
← →
Германн © (2007-02-25 02:05) [17]
> Greenchel © (25.02.07 01:44) [15]
Ты прочитал урок АП по моей ссылке? Там не так много текста, не затруднит прочитать. Но в твоём случае польза может быть просто неоценима!
Кстати что ты привел в [15] в синем цвете? Откуда ты это взял!!! ?
← →
Greenchel © (2007-02-25 02:13) [18]Всё, всем спасибо, во всём разобрался
Германн, Юрий Зотов, Eraser, вам особое спасибо =)
← →
Kolan © (2007-02-25 11:01) [19]«
Еще полезно добавить перевод русских „ф, и, с, в, у, а“
в латинские.»
Идея хорошая.
«пришлось правда немног править код»
Функция :function HexToInt(Hex: string): Longint;
которуя с привел по ссылке работает отлично. Что там править?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.043 c