Formatowanie tekstu tablicą MsgFormat w komponencie tgglite

0

Mógłby mi ktoś wytłumaczyć jak działają tablice w wypadku tej funkcji? Na oficjalnej stronie tgglite 'innosetup' jakoś dziwnie to opisali i za nic nie mogę tego zrozumieć na tym przykładzie.

"Tablica MsgFormat musi zawierać parzystą liczbę elementów. W numerach parzystych podajemy pozycję znaku od którego zaczyna się dane formatowanie (0 - pierwszy znak) a w nieparzystych określamy formatowanie, np. [0,'<c><red>',5,'<n>' ]. Określnienie koloru może wystąpić tylko na początku i dotyczyć będzie całości tekstu."

Mam tu kod z tablicą fotmatujący tekst:

MsgFormat2 := VarArrayCreate([0,1], varVariant);
MsgFormat2[0]:=0;
MsgFormat2[1]:='<b><c><green>';  //<b> to pogrubienie; <c><green> to zielony kolor

Teraz za pomocą tej funkcji wysyłam wiadomość ze sformatowanym tekstem:

gg.GGSendMessage(true,'numer odbiorcy','tekst',MsgFormat2);

Tekst jest pogrubiony i zielony. A co zrobić, żeby ten zielony tekst skończył się np na 5 znaku? Lub żeby na zielono zaznaczone były same znaki zapytania? Nie mogę jakoś tego zaczaić...</b></b>

0

Musisz analizować cały tekst i w zależności od jego zawartości tworzyć odpowiednią tablicę... I tyle. :P A żeby usunąć formatowanie, musisz ustawić "puste" formatowanie w miejscu gdzie ma się ono skończyć.

0

hehe no fajnie :D analizuję użycie tych tablic formatując kawałek tekstu i dalej nie mogę rozgryźć pewnej rzeczy. Zmieniłem trochę kod do formatowania tak, żeby wyglądał jak przykład na stronie oficjalnej komponentu (w poście wyżej podałem przykład).
A oto zmieniony kod:

MsgFormat2 := VarArrayOf([3, '<b>', 6,'<n>', 9, '<b>', 12, '<n>', 15,'<b>', 18, '<n>']);  
//formatowanie tekstu; <b> to pogrubienie; <n> to brak formatowania; int: pozycja w tekście; str: formatowanie -naprzemian
gg.GGSendMessage(true,MsgFrom,'dupa dupa dupa dupa dupa',MsgFormat2); //wysylanie wiadomosci z ustawieniem powyzszego fotmatowania

Zgodnie z powyższym przykładem użycia tej tablicy: od 3 znaku tekst podrubiony, od 6znaku brak formatowania, od 9 znaku tekst pogrubiony, od 12 brak, od 15 pogrubiony, 18 brak (dupa dupa dupa dupa dupa) - tak ma wyglądać tekst wysyłany, no i wszystko ładnie działa, wysyła mi taki tekst.
MAM jednak problem z ustawianiem kolorów. Pogrubianie, podkreślanie, italic działają fajnie, jednak kiedy chcę wysłać różnokolorowy tekst coś mi się chrzani.

Może nie będę opisywał dalej, tylko załączę pliczek z programkiem i sami zobaczcie:

http://www.speedyshare.com/739640886.html</b></b></b></b>

1 użytkowników online, w tym zalogowanych: 0, gości: 1