- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
procedure TForm1.CloseChecker1Click(Sender: TObject);
begin
Halt;
end;
procedure TForm1.CoolTrayIcon1DblClick(Sender: TObject);
begin
Form1.Show;
CoolTrayIcon1.IconVisible:=false;
end;
end.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+140
procedure TForm1.CloseChecker1Click(Sender: TObject);
begin
Halt;
end;
procedure TForm1.CoolTrayIcon1DblClick(Sender: TObject);
begin
Form1.Show;
CoolTrayIcon1.IconVisible:=false;
end;
end.
Продолжение. Начало на http://govnokod.ru/13317, http://govnokod.ru/13318
+139
procedure TMyTr.Execute;
var
s,resp,ip,port:string;
cw,i:integer;
begin
http:=TIdHTTP.Create(nil);
cw:=getnumberproxy;
while cw<form1.Memo1.Lines.Count do
begin
s:=form1.Memo1.Lines[cw];
i := Pos(':',s);
IP := Copy(s,1,i-1);
PORT := Copy(s,i+1,Length(s));
try
http.ProxyParams.ProxyServer:=ip;
http.ProxyParams.ProxyPort:=StrToInt(port);
http.ReadTimeout:=Form1.SpinEdit2.Value*1000;
resp:=http.Get('http://ya.ru/');
if pos('ya.ru',resp)<>0 then
form1.Memo2.Lines.Add(ip+':'+port);
except
end;
cw:=getnumberproxy;
checked:=checked+1;
end;
http.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
ind:=-1;
label6.caption:=inttostr(Memo1.Lines.count);
for i:=1 to spinedit1.Value do
begin
thr[i]:=TMyTr.Create;
thr[i].Pause(1);
thr[i].Resume;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
form1.label4.caption:=IntToStr(Form1.Memo2.Lines.Count);
Form1.Label6.Caption:=IntToStr(form1.Memo1.Lines.Count);
Form1.Label3.Caption:=IntToStr(checked);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Memo1.Clear;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Form1.Memo2.Clear;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
if SaveDialog1.Execute=true then
Form1.Memo2.Lines.SaveToFile(Form1.SaveDialog1.FileName);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if Form1.OpenDialog1.Execute=True
then
Form1.Memo1.lines.LoadFromFile(Form1.OpenDialog1.FileName);
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Form1.CoolTrayIcon1.IconVisible:=True;
Form1.Hide;
end;
procedure TForm1.Show1Click(Sender: TObject);
begin
Form1.Show;
Form1.CoolTrayIcon1.IconVisible:=false;
end;
procedure TForm1.SaveGood1Click(Sender: TObject);
begin
if SaveDialog1.Execute=true then
Form1.Memo2.Lines.SaveToFile(Form1.SaveDialog1.FileName);
end;
procedure TForm1.ClearGood1Click(Sender: TObject);
begin
Form1.Memo2.Clear;
end;
Продолжение. Начало на http://govnokod.ru/13317
+135
(***************************************************************************
_____ _ _ __ __ _ _ _____
/ ____| | (_) \ \ / / | | | | | __ \
| | ___ __| |_ _ __ __ \ \ /\ / /__ _ __| | __| | | |__) | _
| | / _ \ / _` | | '_ \ / _` \ \/ \/ / _ \| '__| |/ _` | | _ / | | |
| |___| (_) | (_| | | | | | (_| |\ /\ / (_) | | | | (_| |_| | \ \ |_| |
\_____\___/ \__,_|_|_| |_|\__, | \/ \/ \___/|_| |_|\__,_(_)_| \_\__,_|
__/ |
|___/
*****************************************************************************)
(*****************************************************************************
Автор программы - CraftR14
Исходники предоставлены для форума CodingWorld.Ru
*****************************************************************************)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
gsvThread, idhttp, Spin, ShellAPI, Menus, CoolTrayIcon, Dialogs,
ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
SpinEdit1: TSpinEdit;
Button1: TButton;
Memo2: TMemo;
Label5: TLabel;
Label6: TLabel;
Timer1: TTimer;
SpinEdit2: TSpinEdit;
Label1: TLabel;
Label4: TLabel;
Label2: TLabel;
Label3: TLabel;
Button2: TButton;
Button3: TButton;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Button4: TButton;
Button5: TButton;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
Label7: TLabel;
Label8: TLabel;
GroupBox5: TGroupBox;
SaveDialog1: TSaveDialog;
OpenDialog1: TOpenDialog;
Bevel1: TBevel;
Button6: TButton;
CoolTrayIcon1: TCoolTrayIcon;
PopupMenu1: TPopupMenu;
PopupMenu2: TPopupMenu;
Show1: TMenuItem;
SaveGood1: TMenuItem;
ClearGood1: TMenuItem;
CloseChecker1: TMenuItem;
Label9: TLabel;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Show1Click(Sender: TObject);
procedure SaveGood1Click(Sender: TObject);
procedure ClearGood1Click(Sender: TObject);
procedure CloseChecker1Click(Sender: TObject);
procedure CoolTrayIcon1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
TMyTr = class(TgsvThread)
http:TidHttp;
protected
procedure Execute; override;
end;
var
Form1: TForm1;
ind:integer=-1;
thr: array [1..900] of TMyTr;
checked:Integer=0;
implementation
{$R *.dfm}
function getnumberproxy:integer;
begin
if ind<>form1.Memo1.Lines.Count then
inc(ind);
result:=ind;
end;
Вот эта вот, херня ходит по интернету и называется "Прокси-чеккер". Особо умилило то, что автор каким-то макаром приплел сюда GSVthreads.
+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/