Ogłoszenie
Zwiń
No announcement yet.
Zmiana stylu czcionki w bocie.
Zwiń
X
-
Dałeś kod i każdy zmienia. Na kompie to czasem nie widać co pisze, ale działa i to sie chyba liczy.
-
Zmiana stylu czcionki w bocie.
Już chwilę temu analizując bibliotekę MessageBuilder znalazłem oraz sprawdziłem, że jest to możliwe. Tylko dlaczego niby robić to manualnie poprzez edycję klasy? Tutaj opiszę co należy edytować w klasie aby dodać taką możliwość. Jako, że nie widzę potrzeby wykorzystywania zmiany stylu kilkakrotnie podczas działania skryptu moja metoda będzie zmieniała styl, aż do wyczyszczenia obiektu
Zmiany są bardzo łatwe, także zachęcam każdego do takowej edycji. Zmiany(przynajmniej mnie) zajęły 5 min
1. Na początek odpalamy sobie w naszym edytorze bibliotekę MessageBuilder i odszukujemy fragment
W najnowszej wersji biblioteki są to linijki kolejno 50, 5q, 52. Poniżej dodajemy linijkęKod php:public $html='';
public $text='';
public $format='';
W tym momencie dodajemy prywatne pole zawierające styl.Kod php:private $style='MS Shell Dlg 2';
2. Teraz zajmiemy się dodaniem metody, która edytuje nam to pole. Nie ważne w którym miejscu ją umieścimy ale dla ładu i składu umieśćmy ją zaraz po metodzie clear. Skoro jesteśmy już na wysokości tej metody edytujmy, także ją, aby po wyczyszczeniu styl wracał do oryginalnego stanu. Prawidłowy kod powinien wyglądać tak:
3. Jak na razie praktycznie nie ingerowaliśmy w działanie klasy. Doczepiliśmy jedynie nasz dodatkowy fragment. Pora to zmienićKod php:public function clear()
{
$this->recipientNumbers=array();
$this->sendToOffline=true;
$this->html='';
$this->text='';
$this->format='';
$this->style = 'MS Shell Dlg 2';
$this->R=0;
$this->G=0;
$this->B=0;
}
public function setStyle($style)
{
$this->style=$style;
return $this;
}

Odszukujemy ten fragment w metodzie getProtocolMessage
i edytujemy naKod php:if (preg_match('/^<span[^>]*>.+<\/span>$/s', $this->html, $o)) {
if ($o[0]!=$this->html)
$this->html='<span style="color:#000000; font-family:\'MS Shell Dlg 2\'; font-size:9pt; ">'.$this->html.'</span>';
} else
$this->html='<span style="color:#000000; font-family:\'MS Shell Dlg 2\'; font-size:9pt; ">'.$this->html.'</span>';
$s=pack('VVVV', strlen($this->html)+1, strlen($this->text)+1, 0, ((empty($this->format)) ? 0 : strlen($this->format)+3)).$this->html."\0".$this->text."\0".((empty($this->format)) ? '' : pack('Cv', 0x02, strlen($this->format)).$this->format);
No i koniec. Od dzisiaj za pomocą metody setStyle możecie zmienić styl czciokiKod php:if (preg_match('/^<span[^>]*>.+<\/span>$/s', $this->html, $o)) {
if ($o[0]!=$this->html)
$this->html='<span style="color:#000000; font-family:\''.$this->style.'\'; font-size:9pt; ">'.$this->html.'</span>';
else
$this->html='<span style="color:#000000; font-family:\''.$this->style.'\'; font-size:9pt; ">'.$this->html.'</span>';
} else
$this->html='<span style="color:#000000; font-family:\''.$this->style.'\'; font-size:9pt; ">'.$this->html.'</span>';
$s=pack('VVVV', strlen($this->html)+1, strlen($this->text)+1, 0, ((empty($this->format)) ? 0 : strlen($this->format)+3)).$this->html."\0".$this->text."\0".((empty($this->format)) ? '' : pack('Cv', 0x02, strlen($this->format)).$this->format);
Zostaw komentarz: