Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
ВнизПомогите разобраться. Глючит Format! Найти похожие ветки
← →
Gek1 (2004-12-04 11:36) [0]Мастера, проблема такая:
Есть у меня Buf: array[0..61] of byte
в Buf содержиться некая последовательность байтиков.
Хочу посмотреть что лежит в Buf. Пишу:
for i := 0 to 61 do SHex := SHex + Format("%x", [Buf[I]]);
Form1.ListBox1.Items.Add(inttostr(Length(SHex)));
В итоге я вижу что длина Shex 123. На скока я знаю 62*2 будет 124 а никак не 123!
Мастера, подскажите в чем проблема?
← →
begin...end © (2004-12-04 11:42) [1]> Gek1 (04.12.04 11:36)
> подскажите в чем проблема?
Проблема, наверное, в том, что, например, Format("%x", [1]) = "1", а не "01".
← →
Gek1 (2004-12-04 11:46) [2]
> begin...end
подскажи пожалуйста как можно эту проблему решить?
← →
begin...end © (2004-12-04 11:53) [3]> [2] Gek1 (04.12.04 11:46)
А разве это проблема? Но если надо получать шестнадцатеричное представление, состоящее обязательно из двух символов, то я тут вижу два пути:
1) анализ результата Format: если длина равна 1, то дополнение нулём спереди;
2) использование IntToHex с параметром Digits = 2.
2-й вариант лучше.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.048 c