- 1
- 2
Не поленись, пройди по анкетам и поставь всем минусы.
минуисуя участников, ты помогаешш обществу.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+133
Не поленись, пройди по анкетам и поставь всем минусы.
минуисуя участников, ты помогаешш обществу.
+125
<Target Inputs="@(DeployLabel)" Name="GenericDeploy" Outputs="%(Identity).Dummy">
<PropertyGroup>
<TargetFilter>%(DeployLabel.Dir)</TargetFilter>
<TargetFilterReplaced>$(TargetFilter.Replace('\', ''))</TargetFilterReplaced>
</PropertyGroup>
<WriteLinesToFile
File="$(ProjectDir)tsfiles.txt"
Condition="$([System.Text.RegularExpressions.Regex]::IsMatch(%(Filter),
'$(TargetFilterReplaced)'))"
Lines="@(TypeScriptCompile ->'"%(fullpath)"', ' ')"
Overwrite="false" />
<PropertyGroup>
<TSFilesFiltered>$([System.IO.File]::ReadAllText($(ProjectDir)tsfiles.txt))</TSFilesFiltered>
<TSFilesOneLine>$([System.Text.RegularExpressions.Regex]::Replace(
$(TSFilesFiltered), "[\n\r]+", " "))</TSFilesOneLine>
</PropertyGroup>
<Exec Command="tsc --target ES3 -c -d --out $(Deployroot)\foo.js $(TSFilesOneLine)" />
<Delete Files="$(ProjectDir)tsfiles.txt"/>
</Target>
Кто не был, тот будет, кто был, тот не забудет.
MSBuild: задача отфильтровать массив из строк. Я за два дня ничего лучшего не придумал.
+124
[% FOREACH i IN DYN_DATE_OPT %]
<td class="number [% IF loop.count mod 2 != 0 %]odd[% END %] distri_td" [% distri_style %]>[% DYN_FILTER_COMMIFY( distr_row.lic.$i ) || 0 %]</td>
[% UNLESS DYN_PARAMS.display_unprocent %]
<td class="number right_b [% IF loop.count mod 2 != 0 %]odd[% END %] distri_td" [% distri_style %]>[% DYN_FILTER_PERCENT( distr_row.lic.$i, distr_row.commonper.$i ) %]</td>
[% END %]
<td class="number left_b [% IF loop.count mod 2 != 0 %]odd[% END %] distri_td" [% distri_style %]>[% DYN_FILTER_COMMIFY( distr_row.gsn_lic.$i ) || 0 %]</td>
[% UNLESS DYN_PARAMS.display_unprocent %]
<td class="number right_b [% IF loop.count mod 2 != 0 %]odd[% END %] distri_td" [% distri_style %]>[% DYN_FILTER_PERCENT( distr_row.gsn_lic.$i, distr_row.gsnper.$i ) %]</td>
[% END %]
<td class="number left_b [% IF loop.count mod 2 != 0 %]odd[% END %] distri_td" [% distri_style %]>[% DYN_FILTER_COMMIFY( distr_row.lic_ov.$i, 'red' ) || 0 %]</td>
[% UNLESS DYN_PARAMS.display_unprocent %]
<td class="number [% IF loop.count mod 2 != 0 %]odd[% END %] distri_td" [% distri_style %]>[% DYN_FILTER_PERCENT( distr_row.lic_ov.$i, distr_row.gsnper.$i ) %]</td>
[% END %]
[% END %]
Template::Toolkit
236 вот такого вот шаблона. Во всём сервисе их пачка, и все аналогичны.
+119
border-color: #dadada #ebebeb #ebebeb #dadada;
CSS. Встречено в проекте, разработчики с пост-совка :)
+118
<table width="630" border="1" class="main">
<!-- Распирай. Властвуй. Унижай. -->
<table border="1" width="800" class="main">
<tr align="center"><td class="tds">
....
</td></tr>
</table></table>
Цель была- просто впихнуть широкую таблицу, когда "голова", и кусок основной таблицы сайта (то, что до "распирай") отдаются скриптом. Дабы не вносить существенных поправок в движковую часть, и страницы- пришлось наговнокодить.
+132
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
tmythread=class(tthread)
private
filename:string;
procedure execute;override;
public
constructor create(filename:string);
destructor destroy;
end;
type
TForm1 = class(TForm)
Button2: TButton;
Button3: TButton;
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
tlst:tthreadlist;
implementation
{$R *.dfm}
function getCount : integer;
begin
Result := tlst.LockList.Count;
tlst.UnlockList;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
tlst:=tthreadlist.Create;
end;
{ tmythread }
constructor tmythread.create(filename: string);
begin
self.FreeOnTerminate:=true;
self.filename:=filename;
inherited create(true);
self.Priority:=tphigher;
self.Resume;
tlst.LockList.Add(self);
tlst.UnlockList;
end;
destructor tmythread.destroy;
begin
tlst.Remove(self);
tlst.UnlockList;
end;
procedure tmythread.execute;
begin
while not terminated do
sleep(100); // в качестве примера, чем-то нагружаем цикл.
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
n:string;
temp:tmythread;
s:string;
begin
try
for i:=0 to getcount-1 do
begin
temp:=tlst.LockList.Items[i]; // вот это место. Как Вам кажется, это правильно, или не?
if assigned(temp) then
n:=temp.filename;
if n='ololo' then // это просто пример, не смеемся) АХАХАХАХ )
begin
showmessage('Сканирование этого файла уже выполняется') ;
exit;
end;
end;
tmythread.create('ololo');
except
end;
end;
end.
Стоит задача сканировать файлы в разных потоках. Как Вам кажется, это адекватное решение?
Код полностью.
+107
Jenkins Auto-Updater added a comment - Today 00:35
UNSTABLE: Integrated in contoso #223
Create unit test for CN-858; Currently fails
+147
А не использовать ли нам пиписюнчик?
+141
ПОСОНЫ, МНЕ НАКОНЕЦ ТО ДАЛИ!
+147
Куда пропадают мои г-коды?