- 1
- 2
- 3
- 4
- 5
$host = str_replace( "www.", "", getenv( "HTTP_HOST" ) );
if ( $host != "" )
{
exit();
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+164
$host = str_replace( "www.", "", getenv( "HTTP_HOST" ) );
if ( $host != "" )
{
exit();
}
+118
Функция ext служит для формирования расширения файла с ЭС. Еe алгоритм основан на логике работы программы АРМ КБР.
В зависимости от порядкового номера файла ЭС вырабатывается расширение к этому файлу в диапазоне от «001» до «zzz». В листинге приведены построчные комментарии.
Листинг 14-Функция ext
function ext(num integer): string;
var
i : integer;
s1. s2. s3 : char: //условно разделим расширение на три части - гри символа;
// расширение представляет собой конкатенацию s1+s2-s3
begin
s1:='0'; s2:='0'; s3:='0'; изначально 000
for i := 0 to num-1 do begin //счетчик от 0 до порядкового номера файла
if(s3 in ['0'..'8']) then s3:=char(ord(s3)+1) //увеличиваем s3
else if(s3='9') then s3:='a' // если s3 достигло 9 то заменяем символом 'а'
else if(s3 in ['a'..'y']) then s3:=char(ord(s3)+1) // если s3 символ - берем следующий
else begin //если s3 достигло значения "/'
s3:='0'; //обнуляем s3
if(s2 in ['0'..'8']) then s2:=char(ord(s2)+1) //увеличиваем s2
else if(s2='9') then s2:='a' // если s2 достигло 9 то заменяем символом 'a'
else if (s2 in ['a'..'y']) ihen s2:=char(ord(s2) + 1) //если s2 символ - берем следующий
else begin // если s2 достигло значения z
s2:='0'; // обнуляем s2
if (s1 in ['0'..'B']) then s1:=char(ord(s1)+1) //увеличиваем s1 else if (s1 ='9') then s1:='a' //если s1 достигло 9 то заменяем символом 'а'
else if(s1 in ['a'..'y']) then s1:=char(ord(s1)+1) //если s2 символ - берем следующий
end;
end;
end;
result:=s1+s2+s3; //возвращаем конкатенацию сформированных частей расширения
end;
Пару дней назад моему начальнику принесли на рецензию магистерскую диссертацию специалиста по информационным технологиям. Ржали всем отделом! Магистерская листов так на 170. Я предлагаю Вашему вниманию одну функцию будущего специалиста-программиста :-)
Кстати, разрабатывает он информационную систему для электронного документооборота внутри банка (по его словам даже уже внедрил), при этом большая часть кода на Паскале и также есть модуль для вывода различных диаграмм (в количестве 2х штук) на Дельфи.
К слову, традиционно магистры в нашем университете претендуют на оценку "отлично".
+173
echo("
<div id='navigation'>
<center>
<ul>
<li><a href='http://URL' id='homelink' onmouseover=" . '"Enlarge(' ."'#homelink')" . '"'. " onmouseout='" . 'Normalize("#homelink")' . "'>Домой</a></li>
<li><a href='#' id='aboutlink' onmouseover=" . '"Enlarge(' ."'#aboutlink')" . '"'. " onmouseout='" . 'Normalize("#aboutlink")' . "'>О нас</a></li>
<li><a href='http://URL' id='bdlink' onmouseover=" . '"Enlarge(' ."'#bdlink')" . '"'. " onmouseout='" . 'Normalize("#bdlink")' . "'>База знаний</a></li>
<li><a href='#' id='chatlink' onmouseover=" . '"Enlarge(' ."'#chatlink')" . '"'. " onmouseout='" . 'Normalize("#chatlink")' . "'>Общение</a></li>");
Вот так вот справляемся с двумя видами кавычек.
+161
$f = true;
$arOrder = CSaleOrder::GetByID($id_order);
$f = $f && ($arOrder ? true : false);
if ($f) $f = $f && CSaleOrder::StatusOrder($id_order,$status);
if ($f) $f = $f && CSaleOrder::DeliverOrder($id_order,"Y");
if ($f) $f = $f && CSaleOrder::PayOrder($id_order, "Y", true, true);
+117
WorksheetRow row = new WorksheetRow();
row.Cells.Add("");
// ispublished
row.Cells.Add(point.IsPublished ? "+" : "");
// id superregion
row.Cells.Add(point.Town.Region.SuperRegion.Id.ToString());
// name superregion
if (cleanupTags)
row.Cells.Add(CleanXMLTags(point.Town.Region.SuperRegion.Name));
else row.Cells.Add(point.Town.Region.SuperRegion.Name);
// id rregion
row.Cells.Add(point.Town.Region.Id.ToString());
// name region
if (cleanupTags)
row.Cells.Add(CleanXMLTags(point.Town.Region.DefaultText.Name));
else row.Cells.Add(point.Town.Region.DefaultText.Name);
...
StringBuilder subwayIDs = new StringBuilder("");
StringBuilder subwayNames = new StringBuilder("");
foreach (Subway subway in point.Subways)
{
subwayIDs.Append(subway.Id).Append(", ");
subwayNames.Append(subway.DisplayName).Append(", ");
}
string sIDs = subwayIDs.ToString();
if (sIDs.Length > 0) sIDs = sIDs.Substring(0, sIDs.Length - 2);
string sNames = subwayNames.ToString();
if (sNames.Length > 0) sNames = sNames.Substring(0, sNames.Length - 2);
Это 10% от метода. Там все в том же духе.
+146
<br style="font-size: 19.5px; line-height: 28.5px;" />
"Шоколадная" верстка
+139
For i:=1 to 70 do
Begin
a[i]:=random(9);
if a[i] div 2 = 0 then
a[i]:=a[i]
else begin
a[i]:=0;
i:=i-1;
end;
end;
Одноклассница поразила.
Задача - заполнить массив из 70 элементов чётными числами [1..8]
Над блонидинками конечно неприлично шутить, но...
Чем был хуже простой a[i]:=random(5)*2;
+147
void
syslog(int pri, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
vsyslog(pri, fmt, ap);
va_end(ap);
}
......................................
void
vsyslog(int pri, const char *fmt, va_list ap)
{
vsyslog_r(pri, &sdata, fmt, ap);
}
....................................
void
vsyslog_r(int pri, struct syslog_data *data, const char *fmt, va_list ap)
{
int cnt;
char ch, *p, *t;
time_t now;
int fd, saved_errno, error;
#define TBUF_LEN 2048
#define FMT_LEN 1024
char *stdp = NULL, tbuf[TBUF_LEN], fmt_cpy[FMT_LEN];
int tbuf_left, fmt_left, prlen;
#define INTERNALLOG LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID
/* Check for invalid bits. */
if (pri & ~(LOG_PRIMASK|LOG_FACMASK)) {
if (data == &sdata) {
syslog(INTERNALLOG,
"syslog: unknown facility/priority: %x", pri);
} else {
syslog_r(INTERNALLOG, data,
"syslog_r: unknown facility/priority: %x", pri);
}
pri &= LOG_PRIMASK|LOG_FACMASK;
}
.......................
}
......................
Из исходников Bioninc - Android libc.
В реализации сислога, в случае ошибки, вызывается syslog
+161
//main.cpp
#include "head.h"
int main()
{
//fcii.cpp
#include "head.h"
void odin (vector<Zapis> &mas)
{
Zapis buf;
cout<<"Введите номер УДК: ";
cin>>buf.id;
cout<<"Введите фамилию и инициалы автора: ";
cin>>buf.fio;
cout<<"Введите название книги: ";
cin>>buf.nazv;
cout<<"Введите год издания: ";
cin>>buf.god;
cout<<"Введите количество экземпляров: ";
cin>>buf.kol;
mas.resize(mas.size()+1,buf);
vivod (mas);
}
void dva (vector<Zapis> &mas)
{
char udk[4];
cout<<"Введите УДК книги, которую необходимо удалить: ";
cin>>udk;
int flag=1;
int k=0;
for (vector<Zapis>::iterator i=mas.begin();i!=mas.end();i++)
{
flag=1;
if (strlen(udk)==strlen(mas[k].id))
for (int j=0;udk[j]!=0;j++)
if (udk[j]!=mas[k].id[j])
flag=0;
if (flag==1)
{
mas.erase(i);
flag=-1;
break;
}
k++;
}
if (flag!=-1)
{
cout<<endl<<"Книги с данным УДК не существует"<<endl;
}
else vivod(mas);
}
void tri(vector<Zapis> &mas)
{
vector<int> mas_buf(mas.size());
for (int i=0;i<mas.size();i++)
mas_buf[i]=mas[i].god;
sort(mas_buf.begin(),mas_buf.end()) ;
for (int i=0;i<mas.size();i++)
mas[i].god=mas_buf[i];
vivod(mas);
}
int zapros (vector<Zapis> &mas)
{
int otvet;
cout<<endl<<"Если вы хотите добавить данные о книгах - нажмите 1;"<<endl;
cout<<"Если вы хотите удалить данные о списываемых книгах - нажмите 2;"<<endl;
cout<<"Если вы хотите упорядочить книги по годам издания - нажмите 3;"<<endl;
cout<<"Если вы хотите завершить работу программы - нажмите 0."<<endl;
cin>>otvet;
switch (otvet)
{
case 0: {return 0;}
case 1: {
odin(mas);
zapros(mas);break;
}
Взято отсюда: http://programmersforum.ru/forumdisplay.php?f=14
+165
Ckey::Ckey(const String& name, const String& suffix1, const String& suffix2, const String& suffix3)
{
ASSERT(name.Size(), "Key with emty name are invalid!");
if (!name.Size())
{
return;
}
PushBack(name);
if (!suffix1.Size())
{
return;
}
PushBack(suffix1);
if (!suffix2.Size())
{
return;
}
PushBack(suffix2);
if (!suffix3.Size())
{
return;
}
PushBack(suffix3);
}
Ну просто замечательный конструктор класса.
Собственно сам класс унаследован (public-ом, причем) от местной реализации класса vector, отсюда загадочные методы PushBack.
А String - это не менее замечательная, местная, реализация строк.