Наведена функція дозволяє згенерувати спойлери для власних потреб:
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> і виконати підсвічування синтаксису.
Немає коментарів :
Дописати коментар