- 1
- 2
- 3
- 4
- 5
- 6
- 7
int i = 0;
foreach (SomeType item in someCollection)
{
if (i > 0) break;
// ... обрабатываем item
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+100
int i = 0;
foreach (SomeType item in someCollection)
{
if (i > 0) break;
// ... обрабатываем item
}
Берём первый элемент коллекции и обрабатываем...
+100
<?php
/*
Все очень просто. Создаем файл.
Например login.php (что бы никто не догадался=) )
И записываем в него несколько функций
*/
function echoJavaScript($str)
{
echo " <script type=\"text/javascript\">
<!--
window.alert(\"$str\");
//-->
</script>";
}
function JavaScript_href()
{
echo " <script type=\"text/javascript\">
<!--
location.href = '/';
//-->
</script>";
}
?>
<?php
/*Создаем еще один файл, где эти функции мы будем вызывать
Ну, например, у вас имеются на сайте скрипты,
доступные только зарегистрированным пользователям
Получив отрицательный результат проверки юзера,
Вы вызываете эти функции, не забыл, естественно,
предварительно подключить нужный файл
*/
include("login.php");
#Вначале популярно объясняем что к чему
echoJavaScript('Вы не имеете прав доступа к этой странице.');
#А потом перенаправляем на главную страницу
JavaScript_href();
?>
Прячем JavaScript от пользователя.
+100
<form action="/cgi-bin/repare.mpl" method="post" enctype="multipart/form-data" class="frm">
<input type="hidden" name="sql" value="UPDATE parcels p, parcels_doc d SET p.state = 'transporter_store' WHERE d.doctype = 'confirm.L' AND d.docid IN ($SORD) AND p.good IN ($ter) AND d.docitem = p.good AND p.state <> 'transporter_store' AND d.parcel = p.id">
<input type="submit" class="butt" name="main_ok" value="Исправить">
</form>
Нашли тут в боевом проекте шедевральную SQL Injection "by design".
+100
procedure TDetailForm.GridPanel1Click(Sender: TObject);
var
i: Integer;
s: String;
begin
//set title and subtitle
if Pos('Item', TControl(Sender).Name) > 0 then begin
if Sender.ClassName = 'TImage' then begin
i := Length(TControl(Sender).Name) - Length('ItemImage') - 1;
s := Copy(TControl(Sender).Name, Length(TControl(Sender).Name) - i, Length(TControl(Sender).Name));
ItemTitle.Caption := TLabel(DetailForm.FindComponent('ItemTitle' + s)).Caption;
ItemSubtitle.Caption := TLabel(DetailForm.FindComponent('ItemSubTitle' + s)).Caption;
end else if Pos('ItemSubTitle', TControl(Sender).Name) > 0 then begin
ItemSubtitle.Caption := TLabel(Sender).Caption;
i := Length(TControl(Sender).Name) - Length('ItemSubTitle') - 1;
s := Copy(TControl(Sender).Name, Length(TControl(Sender).Name) - i, Length(TControl(Sender).Name));
ItemTitle.Caption := TLabel(DetailForm.FindComponent('ItemTitle' + s)).Caption;
end else if Pos('ItemDescription', TControl(Sender).Name) > 0 then begin
i := Length(TControl(Sender).Name) - Length('ItemDescription') - 1;
s := Copy(TControl(Sender).Name, Length(TControl(Sender).Name) - i, Length(TControl(Sender).Name));
ItemTitle.Caption := TLabel(DetailForm.FindComponent('ItemTitle' + s)).Caption;
ItemSubtitle.Caption := TLabel(DetailForm.FindComponent('ItemSubTitle' + s)).Caption;
end else begin
ItemTitle.Caption := TLabel(Sender).Caption;
i := Length(TControl(Sender).Name) - Length('ItemTitle') - 1;
s := Copy(TControl(Sender).Name, Length(TControl(Sender).Name) - i, Length(TControl(Sender).Name));
ItemSubTitle.Caption := TLabel(DetailForm.FindComponent('ItemSubTitle' + s)).Caption;
end;
end;
end;
Код из шаблона New Metropolis UI Application в новом Delphi XE3. Рефлексия так и прет.
+100
synchronized(new Object()){
...
}
http://stackoverflow.com/questions/9840959/how-to-judge-which-object-to-be-synchronized-in-java-thread
+100
function Tf_MainFrame.DateToText(d: TDate; tp: integer): string;
var s: string;
g: integer;
begin
if DateToStr(d) = '00.00.0000' then
begin
result := '';
end else begin
case tp of
2:begin
s := ''; DateTimeToString(s,'dd',d);
result := s;
DateTimeToString(s,'mm',d);
g := StrToInt(s);
DateTimeToString(s,'yyyy',d);
case g of
1: begin result := result + ' января ' + s; end;
2: begin result := result + ' февраля ' + s; end;
3: begin result := result + ' марта ' + s; end;
4: begin result := result + ' апреля ' + s; end;
5: begin result := result + ' майя ' + s; end;
6: begin result := result + ' июня ' + s; end;
7: begin result := result + ' июля ' + s; end;
8: begin result := result + ' августа ' + s; end;
9: begin result := result + ' сентября ' + s; end;
10: begin result := result + ' октября ' + s; end;
11: begin result := result + ' ноября ' + s; end;
12: begin result := result + ' декабря ' + s; end;
end;
end
else begin
result := DateToStr(d);
end;
end;
end;
end;
Календарь ацтеков, месяц майя:)
+100
$sql = "SELECT (SELECT Name FROM dbo.RoutesTypes WHERE RowID = Type) AS Name --Название маршрута
,(SELECT Name FROM dbo.Destinations WHERE Name = '$Src') AS DestA --Пункт отправления
,(SELECT Name FROM dbo.Destinations WHERE Name = '$Dst') AS DestB --Пункт назначения
--,(SELECT COUNT([RowID]) FROM [RoutePartInstances] WHERE [RoutePartType] = RoutesTypes.RowID AND [Occuped] = 0) AS FreePlaces --Количество свободных мест на выбранную часть маршрута
,(SELECT SUM(Cost) From RoutesParts WHERE Ordern >= RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type) AS TicketCost --Стоимость билета на выбранную часть маршрута
,(SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern >= RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type) AS TimeInWay --Время в пути на выбранной части маршрута
--Расчёт времени отправления
,(SELECT DATEADD(Minute,
(SELECT
CASE
WHEN RoutesTypes.OrderA > 1 THEN (SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern < RoutesTypes.OrderA AND InstanceID = Type)+10*(SELECT COUNT(RowID) From RoutesParts WHERE Ordern < RoutesTypes.OrderA AND InstanceID = Type)
ELSE 0
END),[DateStart])) AS DepartureTime
--Расчёт времени прибытия
,(SELECT DATEADD(Minute,
(SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern >= RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type)+10*(SELECT COUNT(RowID) From RoutesParts WHERE Ordern > RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type),
(SELECT DATEADD(Minute,
(SELECT
CASE
WHEN RoutesTypes.OrderA > 1 THEN (SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern < RoutesTypes.OrderA AND InstanceID = Type)+10*(SELECT COUNT(RowID) From RoutesParts WHERE Ordern < RoutesTypes.OrderA AND InstanceID = Type)
ELSE 0
END),[DateStart])))) AS ArrivalTime
--,RoutesTypes.OrderA --Порядок выбранной точки отправления в маршруте. Это нам понадобится при покупке билета
--,RoutesTypes.OrderB --Порядок выбранной точки назначания в маршруте. Это нам понадобится при покупке билета
--,RoutesTable.[RowID] AS RouteID --Идентификатор рейса из таблицы расписаний. Это нам понадобится при покупке билета
--,RoutesTable.[Type] AS RouteTypeID --Идентификатор типа маршрута из таблицы типов маршрутов. Это нам понадобится при покупке билета
FROM [RoutesTable] AS RoutesTable
INNER JOIN (SELECT RoutesParts_A.[InstanceID],RoutesParts_A.[TimeA],RoutesParts_B.TimeB,RoutesParts_A.RowID,RoutesParts_ A.Ordern AS OrderA,RoutesParts_B.Ordern AS OrderB
FROM [RoutesParts] AS RoutesParts_A
INNER JOIN (SELECT [InstanceID],[TimeB],[Ordern] FROM [RoutesParts] WHERE [DestBID] = (SELECT RowID FROM Destinations WHERE Name = '$Dst')) AS RoutesParts_B ON RoutesParts_B.InstanceID = RoutesParts_A.InstanceID
WHERE [DestAID] = (SELECT RowID FROM Destinations WHERE Name = '$Src'))AS RoutesTypes ON RoutesTable.Type = RoutesTypes.InstanceID";
Встретил на форуме phpforum.ru. Человек интересовался почему не работает запрос :)
+100
if ($node->title == 'Главная страница' || $node->title == 'Home')
{print '<img src="sites/all/themes/them/images/stock.png" />';
}
Говнокод по Drupal-овски.
Найден в шаблоне page.tpl.php
+100
procedure interpretation;
var
s,f:string;
i,m,v:integer;
begin
s:=#0;
for I:=0 to form9.Memo2.Lines.Count-1 do begin
s:=form9.Memo2.Lines.Strings[i];//ïðîñìîòð ñòðîê èäåò
//ñâåðõó âíèç
if s='hex' then hex;
if s='acsii' then acsii;
if (s[1]='a') and (s[2]='d') and (s[3]='d') then begin
form9.Edit6.Text:=s[5];
form9.Edit5.Text:=s[7];
peredsim;
end;
if (s[1]='s') and (s[2]='a') and (s[3]='m') then begin
form9.Edit2.Text:=s[5];
form9.Edit4.Text:=s[7];
samsimbyl;
end;
if (s[1]='d') and (s[2]='e') and (s[3]='l') then begin
form9.Edit3.Text:=s[5];
for v:=1 to length(s) do
deletesimbyl;
end;
if (s[1]='d') and (s[2]='e') and (s[3]='l') and (s[4]='s') then begin
form9.Edit3.Text:=s[6];
dels;
end;
if (s[1]='i') and (s[2]='n') and (s[3]='f') then begin
form9.Memo1.Text:=s[5]+form9.Memo1.Text;
end;
if (s[1]='f') and (s[2]='n') and (s[3]='i') then begin
form9.Memo1.Text:=form9.Memo1.Text+s[5];
end;
if (s[1]='p') and (s[2]='h') and (s[3]='e') then RapsrRedel;
if (s[1]='n') and (s[2]='a') and (s[3]='b') then PerstNO;
if (s[1]='a') and (s[2]='t') and (s[3]='s') then acsiitosim;
if (s[1]='h') and (s[2]='t') and (s[3]='s') then hextosim;
if (s[1]='h') and (s[2]='t') and (s[3]='a') then hextoacsii;
if (s[1]='a') and (s[2]='t') and (s[3]='h') then acsiitohex;
end;
end;
Нужно было быстро накодить интерпретатор, которым никто пользоваться не будет, кроме собственно автора программы, для создания простеньких скриптов (сами понимаете семантический анализатор писать, в данном случае не улыбалось). Потому получился такой МегОАдЪовый говнокод!
+100
var s: string;
res: string;
begin
readln(s);
res := 'Слишком большая строка';
if length(s) = 0 then res := s;
if length(s) = 1 then res := s;
if length(s) = 2 then res := s;
if length(s) = 3 then res := s;
if length(s) = 4 then res := s[0] + ' ' + s[1] + s[2] + s[3];
if length(s) = 5 then res := s[0] + s[1] +' ' + s[2] + s[3] + s[4];
if length(s) = 6 then res := s[0] + s[1] + s[2] +' ' + s[3] + s[4] + s[5];
if length(s) = 7 then res := s[0] + ' ' + s[1] + s[2] + s[3] +' ' + s[4] + s[5] + s[6];
if length(s) = 8 then res := s[0] + s[1] + ' ' + s[2] + s[3] + s[4] +' ' + s[5] + s[6] + s[7];
if length(s) = 9 then res := s[0] + s[1] + s[2] + ' ' + s[3] + s[4] + s[5] +' ' + s[6] + s[7] + s[8];
writeln(res);
end.
Код масштабируемый - сейчас он обрабатывает строки, в которые можно записать от нуля до девяти символов, но его прозрачно можно смасштабировать до обработки хоть 20, хоть 50 символов.
Кроме того, тут не используются платформозависимые API.