Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Вниз

HexToInt   Найти похожие ветки 

 
Board   (2002-06-27 20:30) [0]

Нужно такое проделать, но Дельфи ругается. Может подскажите?


 
rhf   (2002-06-27 20:38) [1]

а в чем проблема?


 
pusrg   (2002-06-27 20:40) [2]

Hex, это тоже число, но шестнадцатиричное.

Ф-ция IntToHex возвращает представление числа ввиде "шестнадцатиричной" строки и только.
Для обратного преобразования нужно перед этой строкой ставить знак $ и использовать ф-цию StrToInt, тоесть:

MyInt:=StrToInt(Format("$%s",[MyStr]));


P.S. Кстати этот вопрос недели полторы назад на форуме уже был.


 
Board   (2002-06-27 20:40) [3]

Просто число 00FFCC нужно перевести в Integer. Т.е. HexToInt(...)


 
McSimm   (2002-06-27 20:43) [4]

I := StrToInt("$00ffcc");
обрати внимание - не # а $
:)


 
McSimm   (2002-06-27 20:45) [5]

смешно :),
когда я писал ответ я еще не видел >Board (27.06.02 20:40)


 
Board   (2002-06-27 21:06) [6]

OK. Вот скажите, у меня программа раньше брала из файла номера цветов в 16-ричном виде и преобразовывала по способу, подсказанному вами выше. НО теперь проблема. Ясно, что 16-ричный формат такой $00FFCC, но чёрный цвет там $FFFFFFFF. Т.е. на 2 символа больше. Как мне теперь исправить этот код:

var
I, J: Integer;
begin
For I := 1 to image2.height do
For J := 1 to Image2.Width do
Image2.Canvas.Pixels[I,J] := StrtoInt(Copy(Memo2.Text, i*height+j+1, 7))
end;


Просто теперь получается надо брать по строкам начинающимися с $ и до строки заканчивающимся $.


 
pusrg   (2002-06-27 21:36) [7]

В том случае, если у тебя в каждой строчке 1 цвет, не проще ли использовать:
Image2.Canvas.Pixels[I,J] := StrtoInt(Memo1.Lines[k]);


 
B0ard   (2002-06-27 21:39) [8]

2pusrg
В том то и дело, что в Memo1 строки не столбиком, а сплошным текстом :-((


 
McSimm   (2002-06-28 12:35) [9]

>но чёрный цвет там $FFFFFFFF.

Вообще-то это белый цвет.
Кроме того, для передачи цвета RGB достаточно 6ти - значного значения, т.е. $FFFFFF

Может проще найти ошибку в коде, который эти строки формирует?
Насколько я помню там была строка
S := S + "#"+inttohex(image1.canvas.pixels[J, I],6);

Подправь так:
S := S + "#"+inttohex($FFFFFF and image1.canvas.pixels[J, I],6);
Тогда все значения будут 6ти-значными



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.471 c
3-47161
Aleksandr
2002-06-18 12:30
2002.07.15
Отчего жуткое торможение ADO-запросов и ошибка?


1-47497
TT
2002-07-04 12:10
2002.07.15
Как загрузить в ТImage курсор из ресурсов?


4-47899
Alexander
2002-05-16 02:49
2002.07.15
Как поменять курсор? С LoadCursor и SetCursor разобрался, но


14-47789
Виктор
2002-06-15 14:56
2002.07.15
Посоветуйте, чем создавать help-файлы по компонентам Delphi


4-47882
SLY-YO
2002-05-11 14:22
2002.07.15
Как на Delphi отключить отдельные кнопки.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский