mgz » Пт дек 16, 2005 6:17 pm
2 DruiD
И снова я <!--emo&:)-->[img]style_emoticons/<#EMO_DIR#>/smile.gif[/img]<!--endemo-->
Вот есть такой кусок кода:
<!--QuoteBegin--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--QuoteEBegin-->//-Border-Width--min-22-
$puts(BW,53)
$puts(bg,$rgb(184,184,184))
$puts(line,$rgb(128,128,128))
$puts(font,$rgb(0,0,0))
$puts(Bf,$rgb(128,128,128))
$puts(HQ,319)
$puts(HQc,$rgb(0,0,230))
$puts(SHQ,499)
$puts(SHQc,$rgb(230,0,0))
//-border-style-symbol-ONLY-1-symbol-
$puts(TL,╓)
$puts(TLine,─)
$puts(TTL,┐)
$puts(TTR,┌)
$puts(TR,╖)
$puts(LS,╟)
$puts(RS,║)
$puts(ACT,→)
$puts(DL,╙)
$puts(DR,╜)
$puts(TO,┤)
$puts(TC,├)
$puts(space,_)
$puts(CODEC/TIMER,
$get(line)$get(TL)$repeat($get(TLine),3)$get(TTL)$get(Bf)CODEC/TIMER$get(line)$get(TTR)$repeat($get(TLine),$add($get(BW),-18))$get(TR)$char(10)
$get(line)$get(LS)$get(ACT)$get(bg)$get(space)$get(font)$puts(len,$add($get(BW),-4))
$puts(str,$codec(): $if2($num(%__bitrate_dynamic%,3),%__bitrate%) kbps.%__samplerate% kHz.$if2(%__mp3_stereo_mode%,$channels()))
$puts(str,
$replace($trim($padcut($get(str),$get(len),$get(space))),' ',$get(bg)$get(space)$get(font),'_',$get(bg)$get(space)$get(font))$get(line)$get(RS)$char(10)
)$get(str)
$get(line)$get(RS)$get(bg)$get(space)$get(space)$transition($repeat($get(TLine),$add($get(BW),-4)),$get(line),$get(bg))$get(line)$get(RS)$char(10)
)$get(CODEC/TIMER)$if(%_isplaying%,$get(line)$get(DL)$progress(%_time_elapsed_seconds%,%_time_total_seconds%,$add($get(BW),-11),$get(TO)$get(font)$left('00:00:00',$sub(8,$len(%_time_elapsed%)))%_time_elapsed%$get(line)$get(TC),$get(TLine))$get(DR),$get(line)$get(DL)$repeat($get(TLine),$add($get(BW),-2))$get(DR))
//- - - -Need COLOR bitRate- - - -
$char(10)$char(10)
$get(line)$get(TL)$repeat($get(TLine),3)$get(TTL)$get(Bf)CODEC/TIMER$get(line)$get(TTR)$repeat($get(TLine),$add($get(BW),-18))$get(TR)$char(10)
$get(line)$get(LS)$get(ACT)$get(bg)$get(space)$get(font)$if(%_isplaying%,$codec():$rgb(184,184,184)$get(space)$rgb(0,0,0)$if2([$left('000',$sub(3,$len(%__bitrate_dynamic%)))$ifgreater(%__bitrate_dynamic%,500,$rgb(230,0,0)%__bitrate_dynamic%$rgb(0,0,0),$ifgreater(%__bitrate_dynamic%,320,$rgb(0,0,230)%__bitrate_dynamic%$rgb(0,0,0),%__bitrate_dynamic%))],%__bitrate%)$rgb(184,184,184)$get(space)$rgb(0,0,0)kbps.%__samplerate%$rgb(184,184,184)$get(space)$rgb(0,0,0)kHz.$if2(%__mp3_stereo_mode%,$channels()),)$char(10)
$get(line)$get(RS)$get(bg)$get(space)$get(space)$transition($repeat($get(TLine),$add($get(BW),-4)),$get(line),$get(bg))$get(line)$get(RS)$char(10)
$get(line)$get(DL)$progress(%_time_elapsed_seconds%,%_time_total_seconds%,$add($get(BW),-11),$get(TO)$get(font)$left('00:00:00',$sub(8,$len(%_time_elapsed%)))%_time_elapsed%$get(line)$get(TC),$get(TLine))$get(DR)<!--QuoteEnd--></div><!--QuoteEEnd-->
Это дело вставляется в ТрэкИнфоПанель.
Там 2 варианта вывода информации. Первый - правильный. При изменении ширины поля (значение переменной $puts(BW,53)) рамка должна подгоняЦЦа.
Для настройки ТрекИнфоПанели: шрифт ЛюсидаКонсоль 8пт, обновлять панель каждую секунду, цвет фона $rgb(184,184,184).
Но мне хочеЦЦа, чтоБ битрейт менял цвет, в зависимости от $puts(HQ,319) - $puts(HQc,$rgb(0,0,230)), $puts(SHQ,499) - $puts(SHQc,$rgb(230,0,0)).
Тут проблема: как только я пытаюсь обрабатывать строку и сразу закрашЫвать %__bitrate_dynamic%, то строка скачет, правый борт прыгает, как только закрашивание происходит. В общем попробуй и увидешь.
Я тут думаю эту строку потом отдельно парьсить, находить знак : (двоеточие) и скакать от него. НО... может есть лучший способ?