Наведена функція дозволяє згенерувати спойлери для власних потреб:
function GetSpoilerTag(aCaption, aText: string): string; begin if (Trim(aText) <> '') then Result := Concat( '<td class="msgBody">', '<table width="95%" border="1" bordercolor="gray" bgcolor="#85ACE3" cellspacing="0" cellpadding="2">', '<tr>', '<td>', '<span style="font-family:monospace;padding:1px;cursor:pointer;background-color:#DDECFE;border:1px solid #gray;txt-align:center;" ', 'onclick="var el=this.parentNode.parentNode.parentNode.rows[1]; el.style.display=el.style.display==''none''?'''':''none'';this.innerHTML=this.innerHTML==''+''?''-'':''+'';">+</span> ', aCaption, '</td>', '</tr>', '<tr style="display:none">', '<td bgcolor="#E8E8E8">', aText, '</td>', '</tr>', '</table>', '</td>'); end;
В результаті роботи функції отримаємо щось подібне:
+ Some Caption |
Можна створити же одну функцію, що буде аналогічна за оформленням, але без спойлера. Інколи потрібно показати шматок якогось коду, оформленого відповідним стилем. Весь код можна заховати під спойлер:
function GetSrcTag(aCaption, aText: string): string; begin if (Trim(aText) <> '') then Result := Concat( '<table width="95%" border="1" bordercolor="gray" bgcolor="#85ACE3" cellspacing="0" cellpadding="2">', '<tr>', '<td>', aCaption, '</td>', '</tr>', '<tr>', '<td bgcolor="#E8E8E8">', '<pre>', aText, '</pre>', '</td>', '</tr>', '</table>'); end;
Результат роботи:
Some Caption |
select name from employee e join (select department_id, max(salary) as max_salary /* Comment 1 */ from employee e2 group by department_id) d on d.department_id=e.department_id --Comment 2 where e.salary = d.max_salary |
Для виведення тексту програм варто цей текст взяти в тег <pre> і виконати підсвічування синтаксису.
Немає коментарів :
Дописати коментар