Нужен счетчик считающий в 16-ных числах
Здравствуйте, я в последнее время работаю с графикой и мне понадобилось
изменять значения в переменной в 16-ричной системе.
например комманды
Код:
convert -size 50x50 xc:'#00FF00FF' color_hex_1.png
convert -size 50x50 xc:'#00FF00C0' color_hex_2.png
convert -size 50x50 xc:'#00FF0090' color_hex_3.png
convert -size 50x50 xc:'#00FF0060' color_hex_4.png
convert -size 50x50 xc:'#00FF0030' color_hex_5.png
convert -size 50x50 xc:'#00FF0000' color_hex_6.png
я могу заменить одной просто меняя значение переменной.
SET /A "variable=expression"
как мне сделать что бы считало нужным мне образом?
SET /A "variable=00АА00+00СС22" и так далее?
|
hp1nt0, «в уме надо, в уме»™ ;).
В справке же по set написано:
Цитата:
Числовые значения рассматриваются как десятичные, если перед ними не стоит префикс 0x для шестнадцатеричных чисел, и 0 для восьмеричных чисел. Например, числа 0x12, и 022 обозначают десятичное число 18. Обратите внимание на запись восьмеричных числе: 08 и 09 не являются допустимыми числами, так как в восьмеричной системе исчисления цифры 8 и 9 не используются.
|
Плюс небольшой трюк (работает с ограничениями). Т.е., в Вашем случае:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
set /a iVar = 0x00aa00 + 0x00cc22
call "%comspec%" /c exit /b %iVar%
set sVar=%=exitCode%
echo [%sVar%]
endlocal
exit /b 0
P.S. Возьмите себе за правило не писать латынь:
Цитата:
Цитата hp1nt0
SET /A "variable=00АА00+00СС22" »
|
кириллицей.
P.P.S. Переходите на WSH/PoSH, там нет проблем с подобными извращениями, а ImageMagic доступен и как объект Automation.
|
Вот пусть железяка и считает в уме. Она умная :)
Я пока формулировал задачу придумал как составить запрос гуглу (ну как обычно)
ведь как известно все уже придумано до нас. Пока остановился на следующем варианте:
с шагом в 1
Код:
@echo off
set NUM=0 1 2 3 4 5 6 7 8 9 A B C D E F
for %%x in (%NUM%) do (
for %%y in (%NUM%) do (
color %%x%%y
echo %%x%%y
timeout 1 >nul
)
)
с шагом в 4
Код:
@echo off
set NUM=0 1 2 3 4 5 6 7 8 9 A B C D E F
set NUM2=4 8 B F
for %%x in (%NUM%) do (
for %%y in (%NUM2%) do (
color %%x%%y
echo %%x%%y
timeout 1 >nul
)
)
вполне кузяво.
По поводу PoSH вы абсолютно правы но условия сейчас не те углубленно заниматься штудиями.
По поводу объекта Automation, спасибо со временем и до него доберемся я пока с фонтами разбираюсь.
спасибо за помощь.
|
Время: 14:45.
© OSzone.net 2001-