- 1
- 2
- 3
- 4
- 5
- 6
- 7
// Delpih 7 отказывается компилировать этот код, тогда как в Delphi 2010 он вполне успешно компилируется.
// Отчего это?
for pthread in lst do
...
>>[Error] Unit1.pas(89): Operator not applicable to this operand type
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+129
// Delpih 7 отказывается компилировать этот код, тогда как в Delphi 2010 он вполне успешно компилируется.
// Отчего это?
for pthread in lst do
...
>>[Error] Unit1.pas(89): Operator not applicable to this operand type
−95
obj.serialized_data = str(serialized_data).replace(
" u'", " '").replace("{u'", "{'").replace(" '", ' "').replace("':", '":').replace(
"{'", '{"').replace("', ", '", ').replace("'}", '"}').replace(' True,', ' true,').replace(
'None', 'null').replace(' False,', 'false,')
Сериализация словаря
+134
using System;
using System.Security.Cryptography;
namespace sha1_calc
{
class Program
{
static void Main(string[] args)
{
SHA1 sha = new SHA1CryptoServiceProvider();
foreach (var fname in args)
{
Console.WriteLine("file: " + fname);
try
{
System.IO.FileStream fs = System.IO.File.Create(fname);
byte [] res = sha.ComputeHash(fs);
fs.Close();
Console.Write("0x");
foreach (var i in res)
{
Console.Write(i.ToString("X"));
}
Console.WriteLine();
Console.WriteLine("---------------------------------");
}
catch(Exception e)
{
Console.WriteLine("error: " + e);
}
}
Console.ReadKey();
}
}
}
Скачал парочку образов и решил проверить их чексуммы. Протестировал программу на скачанных файлах. Удивился, почему же у них хеши одинаковые?
−103
- (void)updateRating
{
[NSObject cancelPreviousPerformRequestsWithTarget:self
selector:@selector(delayedUpdateRating)
object:nil];
[self performSelector:@selector(delayedUpdateRating)
withObject:nil
afterDelay:0];
}
Коллега занес покушать.
Большой проект, для американцев, пишут ребята из Днепра...
+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 вот такого вот шаблона. Во всём сервисе их пачка, и все аналогичны.
+137
// "Красная Шапочка, ты снова - девочка. Тимур и его команда" :-)
// Почему-то в случае типа picture сюда передавалось вместо GUID-а заглушки такая вот строковая константа
// так как надо было срочно делать, было сделано так. Потом было исправлено, но удалять эту строчку страшно.
// Вдруг ещё работать перестанет.
// TODO: Исключить из backup коллекцию colAbbreviation
// Все объекты в ней бэкапятся внутри DataDeduplication.SaveAbbreviation
// Или не надо? Лучше синица в руках, чем утка под кроватью... :-)
// Ну-ка, ну-ка... Может, она раньше выполнялась, и об этом что-то известно?
// Вызываем клиента в другом потоке, иначе - фигня-с...
// Кажется "добрые люди" уже удалили этот классификатор...
// Начать их переделывать - рухнет что-нить в другом месте,
// а низзя - скоро нужна рабочая версия... :-)
// Таким вот финтом ушами(из-за бага) заставляем перейти фокус на последнюю строку :-)
// к сожалению - Z-Order окон из WinForms недоступен - придется запоминать только активное окно
//(можно конечно было прикрутиться к WinAPI - но не кошерно это :-) )
// God mode :-)
// Пытаемся получить "человеческий" sid для ADObject
// Спасибо дата-провайдеру Oracle за счастливое детство и невозможность попользоваться
// параметрами при сложном запросе с произвольным размещением параметров в запросе :-(
// нехорошо так делать - но переписывать форму редактирования позиции пока не будем -
// может что нибудь отъехать перед сдачей :-(
/// <summary>
/// Очень грязный хак - для того, чтобы хоть как-то заставить грид отобразить
///"+" для строк слева
/// </summary>
void DirtyHack()
Продакшен-код. Комментарии
+138
В этой статье я расскажу как сделать дополнительный поток в программе.
Приступим.
1. Создаём форму
2. Кидаем на форму кнопку со вкладки Standart
3. Кидаем на форму Memo со вкладки Standart
Переходим в код и после
private
{ Private declarations }
public
{ Public declarations }
end;
Пишем следующие:
TVANSThread=class(TThread)
Private
Protected
Procedure Execute; override;
Public
Constructor Create(CreateSuspended: boolean);
end;
Далее кликаем по строчке Constructor Create(CreateSuspended: boolean); и жмём сочентание клавиш Ctrl+Shift+C
После чего должно появится следующие:
constructor TVANSThread.Create(CreateSuspended: boolean);
begin
end;
В эту процедуру вписываем следующею строчку:
inherited Create(CreateSuspended);
Прокрутим чуть ниже и увидим процедуру TVANSThread.Execute;
Она выглядит так:
procedure TVANSThread.Execute;
begin
end;
В неё вписываем следующий код:
for i:=0 to 10000 do Form1.Memo1.Lines.Add(IntToStr(i))
И не забываем о переменных:
var i:integer;
Далее кликаем по кнопке и вписываем следующий код:
TVANSThread.Create(false);
Анальный урок.
Автор - анальный учитель с сайта www.vans-soft.ru/
+132
procedure TNewThread.Execute;
var Shellapi, Account, Username, Password:string;
Pars_1, Pars_2:integer;
begin
Form1.Caption:='E-mail spamer by klychev - Work!';
while Work do
begin
Form1.ProgressBar1.Position:=Form1.ProgressBar1.Position+1;
if Form1.Edit3.Text=Form1.Edit4.Text then
begin
Work:=False;
Form1.Button1.Enabled:=True;
Form1.Button2.Enabled:=False;
Form1.Caption:='E-mail spamer by klychev - Finish!';
end
else
begin
Account:='.'+Form1.Memo1.Lines[strtoint(Form1.Edit1.Text)]+'.';
Pars_1:=Pos('.',Account)+Length('.');
for Pars_2:=Pars_1 to Length(Account) do
if Account[Pars_2]=';' then Break;
Username:=Copy(Account,Pars_1,Pars_2-Pars_1);
Pars_1:=Pos(';',Account)+Length(';');
for Pars_2:=Pars_1 to Length(Account) do
Попытка посношаться, через открытое окно движущегося поезда.
+124
// System.Web.Security.FormsAuthentication
/// <summary>Returns the redirect URL for the original request that caused the redirect to the login page.</summary>
/// <returns>A string that contains the redirect URL.</returns>
/// <param name="userName">The name of the authenticated user. </param>
/// <param name="createPersistentCookie">This parameter is ignored.</param>
public static string GetRedirectUrl(string userName, bool createPersistentCookie)
{
if (userName == null)
{
return null;
}
return FormsAuthentication.GetReturnUrl(true);
}
http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication. getredirecturl.aspx
Разработчики ASP.NET'а опять доставляют... И не лень было столько параметров делать, а потом ещё и описывать...
+117
if (!authorized)
{
// No, "I'm a teapot" is not what we really want, but the BuildMaster security module will
// replace it with a 401 (which we actually want)
context.Response.StatusCode = 418;
context.Response.Write("Not authorized");
context.Response.AddHeader("WWW-Authenticate", "Basic realm=\"BuildMaster URL Trigger\"");
context.ApplicationInstance.CompleteRequest();
return;
}
...
context.EndRequest += (s,e) =>
{
HttpApplication app = (HttpApplication)s;
if (app.Context.Response.StatusCode == 418)
app.Context.Response.StatusCode = 401;
}
http://blog.inedo.com/2010/10/12/http-418-im-a-teapot-finally-a-%E2%80%9Clegitimate%E2%80%9D-use/
Костыль для обхода "шибко умного" поведения ASP.NET Forms Authentication, который меняет код 401 на 302-перенаправление на форму логина. А разработчику нужен именно 401.