Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Шутки Программистов
DF2 :: ФОРУМЫ > Основные форумы > Свободное Общение
Страницы: 1, 2
t800
Преамбула: Заметил что все вдруг стали делать форумные игры. Решил тоже одну сделать[i]


Игра-Загадка

Правила:

1) Участник игры пишет смешной код
2) Другой участник должен объяснить почему, написанный предыдущим участником, код - смешной
3) И написать свой смешной код.

--------------------------------------------------------------


Итак поехали!

Код на С++ , позволяющий в 3 раза повысить "случайность" генератора случайных чисел:

Код
RANDOM = (rand() + rand() + rand()) / 3;
tolich
В каком месте смеяться? Распределение Пуассона это смешно?
feanor
Цитата
В каком месте смеяться? Распределение Пуассона это смешно?
Гаусса же, не? ЦПТ.

И да, я таким кодом иногда пользуюсь, когда нужен быдлогаусс.

//предлагаю участникам, которые пояснили, почему код на самом деле не смешной, постить несмешной код. Следующие участники обязаны проявить сочувствие и виртуально похлопать по плечу.

Жуткое легаси, на которое я смотрю..боже мой, сколько же я на него смотрю и боюсь трогать.
codebox во избежание одномоментного передоза, а еще из-за того, что спойлеры не работают.
CODE
if (RadioButtonList1.SelectedIndex == 0 && Button4.Enabled)
{
if ( !(kn.Length == 0 && nud.Length == 0) && TextBox2.Text.Length != 0 && TextBox3.Text.Length != 0 &&
TextBox4.Text.Length != 0 && TextBox5.Text.Length != 0
&& (RadioButtonListOksZU.Items[0].Selected || RadioButtonListOksZU.Items[1].Selected)
&& IsSendingMethodsFilled() && RadioButtonList2.SelectedValue.Length != 0)
{
if (RadioButtonList3.SelectedIndex == 0 || GridView1.SelectedIndex != -1)
{
string m = "";
if (CheckBoxCrossdepartmentRequest.Checked)
{
m = "+";
}
SqlDataSource1.InsertCommand =
"INSERT INTO SCOTT.ZAPROS_A(KN, NZ, DZ, ADR, POVZ, ISPF, NUD, T_ZAP, DIV, NDIV, OTPZF, OTPZI, OTPZO, Z_INF, MV, N_MV,REQUEST_SENDING_TYPE, OBJ_TYPE, SITE, OKTMO,NSMEV,DSMEV) VALUES ('" +
TextBox1.Text.Trim(':',' ') + "','" + TextBox2.Text.Trim() + "',TO_DATE('" + TextBox3.Text +
"','DD.MM.YYYY'),'" + TextBox4.Text.Trim() + "','" + RadioButtonList3.SelectedValue + "','" +
TextBox5.Text.Trim() + "','"+TextBox18.Text+"','" + RadioButtonList2.SelectedValue + "','" +
Convert.ToString(Session["UserIDDIV"]) + "','" + Convert.ToString(Session["UserNDIV"]) +
"','" + Convert.ToString(Session["UserF"]) + "','" + Convert.ToString(Session["UserI"]) +
"','" + Convert.ToString(Session["UserO"]) + "', '" + s + "', '" + m + "', '" +
TextBox16.Text.Trim() + "','" + sending_methods + "'," + (RadioButtonListOksZU.Items[0].Selected?2:1)
+ ",'"+TextBoxADR.Text.Trim()+ "','"+TextBoxOKATO.Text.Trim()+ "','"+TextBoxNSMEVz.Text+"',to_date('"+TextBoxDSMEVz.Text+"','DD.MM.YYYY') )";
SqlDataSource1.Insert();
}

if (RadioButtonList3.SelectedIndex == 1 && GridView1.SelectedIndex != -1)
{
SqlDataSource1.InsertCommand =
"INSERT INTO SCOTT.OTVET_A(KN, NOM_OTV, DO, ISPF, RO, PRIM, DVNS, NZ, DZ, REGN, NUDZ, DIV, NDIV, ISPI, ISPO) VALUES ('" +
Server.HtmlDecode(GridView1.Rows[GridView1.SelectedIndex].Cells[1].Text) +
"','нет ответа',TO_DATE('" + TextBox3.Text + "','DD.MM.YYYY'),'" +
Convert.ToString(Session["UserF"]) +
"',null,'Истек срок ответа, направлен повторный запрос',TO_DATE('" +
DateTime.Today.ToShortDateString() + "','DD.MM.YYYY'),'" +
Server.HtmlDecode(GridView1.Rows[GridView1.SelectedIndex].Cells[2].Text) + "',TO_DATE('" +
Convert.ToDateTime(Server.HtmlDecode(GridView1.Rows[GridView1.SelectedIndex].Cel
ls[3].Text))
.ToShortDateString() + "','DD.MM.YYYY'),null,null,'" +
Convert.ToString(Session["UserIDDIV"]) + "','" + Convert.ToString(Session["UserNDIV"]) +
"','" + Convert.ToString(Session["UserI"]) + "','" + Convert.ToString(Session["UserO"]) +
"')";
SqlDataSource1.Insert();
GridView1.SelectedIndex = -1;
RadioButtonList3.SelectedIndex = 0;
}
if (GridView1.SelectedIndex != -1 || RadioButtonList3.SelectedIndex != 1)
{
Image1.ImageUrl = "~/Image/Выполнено.JPG";
Button1.Enabled = false;
Button2.Enabled = true;
TextBox1.Enabled = false;
RadioButtonListOksZU.Enabled = false;
TextBoxOKATO.Enabled = false;
TextBoxADR.Enabled = false;
TextBoxNSMEVz.Enabled = false;
TextBoxDSMEVz.Enabled = false;
TextBox2.Enabled = false;
TextBox3.Enabled = false;
TextBox4.Enabled = false;
TextBox16.Enabled = false;
TextBox18.Enabled = false;
CheckBoxCrossdepartmentRequest.Checked = false;
CheckBoxCrossdepartmentRequest.Enabled = false;
RadioButtonList2.Enabled = false;
/*if (RadioButtonList2.SelectedIndex == 0 || RadioButtonList2.SelectedIndex == 1)
{
CheckBoxList1.Enabled = false;
}*/
Button1.Text = "Внести сведения";
Button2.Text = "Добавить новую запись";
//привязка ФЛК к запросу

var zap = Bf.SqlConnect("ZKP-DB-01", "select o.id from scott.oshibki o where o.cad_num='" + TextBox1.Text.Trim() +
"' and o.status is null ");
if (zap.Table.Rows.Count != 0)
{
SqlDataSource1.UpdateCommand =
"UPDATE SCOTT.OSHIBKI SET STATUS ='Отправлен запрос', D_V =to_date('" +
DateTime.Today.ToShortDateString() + "','dd.mm.yyyy'), FIO_N='" + TextBox5.Text.Trim() +
"', OMSU='+' WHERE (ID = '" + Convert.ToString(zap.Table.Rows[0][0]) + "')";
SqlDataSource1.Update();
}
}
if (GridView1.SelectedIndex == -1 && RadioButtonList3.SelectedIndex == 1)
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран повторный запрос";
}
}
else
{
if (kn.Length == 0 && nud.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Кадастровый номер' или 'Номер учетного дела'";
}
if(!(RadioButtonListOksZU.Items[0].Selected || RadioButtonListOksZU.Items[1].Selected))
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран тип: 'ОКС/ЗУ'";
}
if (TextBox2.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Номер запроса'";
}
if (TextBox3.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Дата запроса'";
}
if (TextBox4.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Адресат'";
}
if (TextBox5.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Подавший запрос'";
}
if (RadioButtonList2.SelectedValue.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран тип запроса";
}
if (!IsSendingMethodsFilled())
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран способ направления запроса";
}
}
}
if (RadioButtonList1.SelectedIndex == 1 && Button4.Enabled)
{
if (!(kn.Length == 0 && nud.Length == 0) && TextBox2.Text.Length != 0 && TextBox3.Text.Length != 0 &&
TextBox4.Text.Length != 0 && TextBox5.Text.Length != 0 && (RadioButtonListOksZU.Items[0].Selected || RadioButtonListOksZU.Items[1].Selected)

&& IsSendingMethodsFilled() && RadioButtonList2.SelectedValue.Length != 0)
{
if (RadioButtonList3.SelectedIndex == 0 || GridView1.SelectedIndex != -1)
{
string m = "";
if (CheckBoxCrossdepartmentRequest.Checked)
{
m = "+";
}
SqlDataSource1.InsertCommand =
"INSERT INTO SCOTT.ZAPROS_A(KN, NZ, DZ, ADR, POVZ, ISPF, NUD, T_ZAP, DIV, NDIV, OTPZF, OTPZI, OTPZO, Z_INF, MV, N_MV,REQUEST_SENDING_TYPE, OBJ_TYPE, SITE, OKTMO,NSMEV,DSMEV) VALUES ('"+TextBox1.Text+"','" +
TextBox2.Text.Trim() + "',TO_DATE('" + TextBox3.Text + "','DD.MM.YYYY'),'" +
TextBox4.Text.Trim() + "','" + RadioButtonList3.SelectedValue + "','" + TextBox5.Text.Trim() +
"','" + TextBox18.Text.Trim() + "','" + RadioButtonList2.SelectedValue + "','" +
Convert.ToString(Session["UserIDDIV"]) + "','" + Convert.ToString(Session["UserNDIV"]) +
"','" + Convert.ToString(Session["UserF"]) + "','" + Convert.ToString(Session["UserI"]) +
"','" + Convert.ToString(Session["UserO"]) + "', '" + s + "', '" + m + "', '" +
TextBox16.Text.Trim() + "', '"+ sending_methods + "'," + (RadioButtonListOksZU.Items[0].Selected?2:1)
+ ",'"+TextBoxADR.Text.Trim()+ "','"+TextBoxOKATO.Text.Trim()+ "','"+TextBoxNSMEVz.Text+"',to_date('"+TextBoxDSMEVz.Text+"','DD.MM.YYYY') )";



//TextBoxNSMEVz.Enabled = false;
//TextBoxDSMEVz.Enabled = false;
SqlDataSource1.Insert();
}

if (RadioButtonList3.SelectedIndex == 1 && GridView1.SelectedIndex != -1)
{
SqlDataSource1.InsertCommand =
"INSERT INTO SCOTT.OTVET_A(KN, NOM_OTV, DO, ISPF, RO, PRIM, DVNS, NZ, DZ, REGN, NUDZ, DIV, NDIV, ISPI, ISPO) VALUES (null,'нет ответа',TO_DATE('" +
TextBox3.Text + "','DD.MM.YYYY'),'" + Convert.ToString(Session["UserF"]) +
"',null,'Истек срок ответа, направлен повторный запрос',TO_DATE('" +
DateTime.Today.ToShortDateString() + "','DD.MM.YYYY'),'" +
Server.HtmlDecode(GridView1.Rows[GridView1.SelectedIndex].Cells[2].Text) + "',TO_DATE('" +
Convert.ToDateTime(Server.HtmlDecode(GridView1.Rows[GridView1.SelectedIndex].Cel
ls[3].Text))
.ToShortDateString() + "','DD.MM.YYYY'),null,'" +
Server.HtmlDecode(GridView1.Rows[GridView1.SelectedIndex].Cells[1].Text) + "','" +
Convert.ToString(Session["UserIDDIV"]) + "','" + Convert.ToString(Session["UserNDIV"]) +
"','" + Convert.ToString(Session["UserI"]) + "','" + Convert.ToString(Session["UserO"]) +
"')";
SqlDataSource1.Insert();
GridView1.SelectedIndex = -1;
RadioButtonList3.SelectedIndex = 0;
}
if (GridView1.SelectedIndex != -1 || RadioButtonList3.SelectedIndex != 1)
{
Image1.ImageUrl = "~/Image/Выполнено.JPG";
Button1.Enabled = false;
Button2.Enabled = true;
TextBox1.Enabled = false;
RadioButtonListOksZU.Enabled = false;
TextBoxOKATO.Enabled = false;
TextBoxNSMEVz.Enabled = false;
TextBoxDSMEVz.Enabled = false;
TextBoxADR.Enabled = false;
TextBox2.Enabled = false;
TextBox3.Enabled = false;
TextBox4.Enabled = false;
TextBox16.Enabled = false;
TextBox18.Enabled = false;
CheckBoxCrossdepartmentRequest.Checked = false;
CheckBoxCrossdepartmentRequest.Enabled = false;
RadioButtonList2.Enabled = false;
/*if (RadioButtonList2.SelectedIndex == 0 || RadioButtonList2.SelectedIndex == 1)
{
CheckBoxList1.Enabled = false;
}*/
Button1.Text = "Внести сведения";
Button2.Text = "Добавить новую запись";
}
if (GridView1.SelectedIndex == -1 && RadioButtonList3.SelectedIndex == 1)
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран повторный запрос";
}
}
else
{
if (kn.Length == 0 && nud.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Кадастровый номер' или 'Номер учетного дела'";
}
if(!(RadioButtonListOksZU.Items[0].Selected || RadioButtonListOksZU.Items[1].Selected))
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран тип: 'ОКС/ЗУ'";
}
if (TextBox2.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Номер запроса'";
}
if (TextBox3.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Дата запроса'";
}
if (TextBox4.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Адресат'";
}
if (TextBox5.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Подавший запрос'";
}
if (RadioButtonList2.SelectedValue.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран тип запроса";
}
if (!IsSendingMethodsFilled())
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран способ направления запроса";
}
}
}
tolich
Цитата(feanor @ 15 Aug 2017, 13:55) *
Гаусса же, не?
Только три величины, маловато. Я мог ещё с биномиальным попутать, но, кажется, обошлось.
SaintDark
Неименованные (а точнее именованные по-дефолту) объекты еще то извращение.


Нужно было мне как-то получить номер последней версии хрома. Умнее парса фида я не придумал

Код
import feedparser

from bs4 import  BeautifulSoup as bs
from urllib.parse import urlencode, quote_plus
from urllib.request import urlretrieve


VERSION = "x64"

### HTML parse
def html_ver_parse(temp):
    soup = bs(temp,'html.parser')
    # Check first span
    string = soup.find('span').string
    # Due to template, here is a version we are LF
    return string[39:string.rindex(' for')]

### Chrome version check
def check_version():
    url = "http://feeds.feedburner.com/GoogleChromeReleases"
    rss = feedparser.parse(url)
    result = ""
    # LF all posts in entries of feed, then LF 'title' index of the post and check if it is
    #"Stable Channel Update for Desktop", then take this post to html parser to get version
    for post in rss['entries']:
        for index in post:
            if (index == 'title') & (post[index] == "Stable Channel Update for Desktop"):
                if result == "":
                    result = post['content'][0]['value']
                    return html_ver_parse(result)
### Installer download
def download_installer():
    destination = "chromeinstall.exe"
    # URL with parameters
    url_start = "https://dl.google.com/tag/s/"
    appguid = "{8A69D345-D564-463C-AFF1-A69D9E530F96}"
    iid = "{A70A13B2-38AB-85B7-0CE4-1B041AFF5D1C}"
    lang = "ru"
    # Browser type?
    browser = "4"
    usagestats = "1"
    appname = "Google Chrome"
    needsadmin = "prefers"
    # x64 of x86
    if VERSION=="x86":
        ap = "stable-arch_"+VERSION+"-statsdef_1"
        installdataindex = "defaultbrowser/update2/installers/ChromeStandaloneSetup.exe"
    elif VERSION=="x64":
        ap =VERSION + "-stable-statsdef_1"
        installdataindex = "defaultbrowser/update2/installers/ChromeStandaloneSetup64.exe"
    else:
        print ("Unknown version")
        exit(0)
    # Make a url
    payload = {'appguid':appguid, 'iid':iid, 'lang':lang,'browser':browser, 'usagestats':usagestats, 'appname':appname,
               'needsadmin':needsadmin, 'ap':ap, 'installdataindex':installdataindex}
    #Encoding url
    url = url_start + urlencode(payload,safe='/')
    url = url.replace('=','%3D')
    url = url.replace('&','%26')
    url = url.replace('+','%2520')
    # Gotcha
    print(url)
    # Download file to destination
    #urlretrieve(url, destination)

print (check_version())
download_installer()
t800
Цитата(feanor @ 15 Aug 2017, 16:55) *
Цитата
В каком месте смеяться? Распределение Пуассона это смешно?
Гаусса же, не? ЦПТ.


Ну да согласно центральной предельной теореме, итоговое распределение будет гораздо ближе к нормальному, чем к равномерному, так что никакого увеличения "случайности" в 3 раза не будет.
feanor
Цитата
Только три величины, маловато. Я мог ещё с биномиальным попутать, но, кажется, обошлось.

Ну понятно, что с трех не получится (оно вообще-то еще и дискретное, и на ограниченном интервале)
но вроде в пределе оно к нормальному распредению и приведет, не?
(дяденька, я не настоящий специалист, я диплом на помойке нашел)
t800
Цитата(feanor @ 15 Aug 2017, 16:55) *
И да, я таким кодом иногда пользуюсь, когда нужен быдлогаусс.

//предлагаю участникам, которые пояснили, почему код на самом деле не смешной, постить несмешной код. Следующие участники обязаны проявить сочувствие и виртуально похлопать по плечу.


ИМХО это будет Читтинг в игре. И постить надо смешной код потому, что так написано в правилах.

А если участник не понял в чем смысл загадки надо скрывать ответ под спойлер.

Вот Вы угадали про ЦПТ, но не поняли где надо смеяться поэтому надо было скрыть Ваш ответ под спойлер. yes2.gif

Цитата(feanor @ 15 Aug 2017, 16:55) *

if (RadioButtonList1.SelectedIndex == 0 && Button4.Enabled)
{
if ( !(kn.Length == 0 && nud.Length == 0) && TextBox2.Text.Length != 0 && TextBox3.Text.Length != 0 &&
TextBox4.Text.Length != 0 && TextBox5.Text.Length != 0
&& (RadioButtonListOksZU.Items[0].Selected || RadioButtonListOksZU.Items[1].Selected)
&& IsSendingMethodsFilled() && RadioButtonList2.SelectedValue.Length != 0)
{
if (RadioButtonList3.SelectedIndex == 0 || GridView1.SelectedIndex != -1)
{
string m = "";
if (CheckBoxCrossdepartmentRequest.Checked)
{
m = "+";
}
SqlDataSource1.InsertCommand =
"INSERT INTO SCOTT.ZAPROS_A(KN, NZ, DZ, ADR, POVZ, ISPF, NUD, T_ZAP, DIV, NDIV, OTPZF, OTPZI, OTPZO, Z_INF, MV, N_MV,REQUEST_SENDING_TYPE, OBJ_TYPE, SITE, OKTMO,NSMEV,DSMEV) VALUES ('" +
TextBox1.Text.Trim(':',' ') + "','" + TextBox2.Text.Trim() + "',TO_DATE('" + TextBox3.Text +
"','DD.MM.YYYY'),'" + TextBox4.Text.Trim() + "','" + RadioButtonList3.SelectedValue + "','" +
TextBox5.Text.Trim() + "','"+TextBox18.Text+"','" + RadioButtonList2.SelectedValue + "','" +
Convert.ToString(Session["UserIDDIV"]) + "','" + Convert.ToString(Session["UserNDIV"]) +
"','" + Convert.ToString(Session["UserF"]) + "','" + Convert.ToString(Session["UserI"]) +
"','" + Convert.ToString(Session["UserO"]) + "', '" + s + "', '" + m + "', '" +
TextBox16.Text.Trim() + "','" + sending_methods + "'," + (RadioButtonListOksZU.Items[0].Selected?2:1)
+ ",'"+TextBoxADR.Text.Trim()+ "','"+TextBoxOKATO.Text.Trim()+ "','"+TextBoxNSMEVz.Text+"',to_date('"+TextBoxDSMEVz.Text+"','DD.MM.YYYY') )";
SqlDataSource1.Insert();
}

if (RadioButtonList3.SelectedIndex == 1 && GridView1.SelectedIndex != -1)
{
SqlDataSource1.InsertCommand =
"INSERT INTO SCOTT.OTVET_A(KN, NOM_OTV, DO, ISPF, RO, PRIM, DVNS, NZ, DZ, REGN, NUDZ, DIV, NDIV, ISPI, ISPO) VALUES ('" +
Server.HtmlDecode(GridView1.Rows[GridView1.SelectedIndex].Cells[1].Text) +
"','нет ответа',TO_DATE('" + TextBox3.Text + "','DD.MM.YYYY'),'" +
Convert.ToString(Session["UserF"]) +
"',null,'Истек срок ответа, направлен повторный запрос',TO_DATE('" +
DateTime.Today.ToShortDateString() + "','DD.MM.YYYY'),'" +
Server.HtmlDecode(GridView1.Rows[GridView1.SelectedIndex].Cells[2].Text) + "',TO_DATE('" +
Convert.ToDateTime(Server.HtmlDecode(GridView1.Rows[GridView1.SelectedIndex].Cel
ls[3].Text))
.ToShortDateString() + "','DD.MM.YYYY'),null,null,'" +
Convert.ToString(Session["UserIDDIV"]) + "','" + Convert.ToString(Session["UserNDIV"]) +
"','" + Convert.ToString(Session["UserI"]) + "','" + Convert.ToString(Session["UserO"]) +
"')";
SqlDataSource1.Insert();
GridView1.SelectedIndex = -1;
RadioButtonList3.SelectedIndex = 0;
}
if (GridView1.SelectedIndex != -1 || RadioButtonList3.SelectedIndex != 1)
{
Image1.ImageUrl = "~/Image/Выполнено.JPG";
Button1.Enabled = false;
Button2.Enabled = true;
TextBox1.Enabled = false;
RadioButtonListOksZU.Enabled = false;
TextBoxOKATO.Enabled = false;
TextBoxADR.Enabled = false;
TextBoxNSMEVz.Enabled = false;
TextBoxDSMEVz.Enabled = false;
TextBox2.Enabled = false;
TextBox3.Enabled = false;
TextBox4.Enabled = false;
TextBox16.Enabled = false;
TextBox18.Enabled = false;
CheckBoxCrossdepartmentRequest.Checked = false;
CheckBoxCrossdepartmentRequest.Enabled = false;
RadioButtonList2.Enabled = false;
/*if (RadioButtonList2.SelectedIndex == 0 || RadioButtonList2.SelectedIndex == 1)
{
CheckBoxList1.Enabled = false;
}*/
Button1.Text = "Внести сведения";
Button2.Text = "Добавить новую запись";
//привязка ФЛК к запросу

var zap = Bf.SqlConnect("ZKP-DB-01", "select o.id from scott.oshibki o where o.cad_num='" + TextBox1.Text.Trim() +
"' and o.status is null ");
if (zap.Table.Rows.Count != 0)
{
SqlDataSource1.UpdateCommand =
"UPDATE SCOTT.OSHIBKI SET STATUS ='Отправлен запрос', D_V =to_date('" +
DateTime.Today.ToShortDateString() + "','dd.mm.yyyy'), FIO_N='" + TextBox5.Text.Trim() +
"', OMSU='+' WHERE (ID = '" + Convert.ToString(zap.Table.Rows[0][0]) + "')";
SqlDataSource1.Update();
}
}
if (GridView1.SelectedIndex == -1 && RadioButtonList3.SelectedIndex == 1)
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран повторный запрос";
}
}
else
{
if (kn.Length == 0 && nud.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Кадастровый номер' или 'Номер учетного дела'";
}
if(!(RadioButtonListOksZU.Items[0].Selected || RadioButtonListOksZU.Items[1].Selected))
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран тип: 'ОКС/ЗУ'";
}
if (TextBox2.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Номер запроса'";
}
if (TextBox3.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Дата запроса'";
}
if (TextBox4.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Адресат'";
}
if (TextBox5.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Подавший запрос'";
}
if (RadioButtonList2.SelectedValue.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран тип запроса";
}
if (!IsSendingMethodsFilled())
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран способ направления запроса";
}
}
}
if (RadioButtonList1.SelectedIndex == 1 && Button4.Enabled)
{
if (!(kn.Length == 0 && nud.Length == 0) && TextBox2.Text.Length != 0 && TextBox3.Text.Length != 0 &&
TextBox4.Text.Length != 0 && TextBox5.Text.Length != 0 && (RadioButtonListOksZU.Items[0].Selected || RadioButtonListOksZU.Items[1].Selected)

&& IsSendingMethodsFilled() && RadioButtonList2.SelectedValue.Length != 0)
{
if (RadioButtonList3.SelectedIndex == 0 || GridView1.SelectedIndex != -1)
{
string m = "";
if (CheckBoxCrossdepartmentRequest.Checked)
{
m = "+";
}
SqlDataSource1.InsertCommand =
"INSERT INTO SCOTT.ZAPROS_A(KN, NZ, DZ, ADR, POVZ, ISPF, NUD, T_ZAP, DIV, NDIV, OTPZF, OTPZI, OTPZO, Z_INF, MV, N_MV,REQUEST_SENDING_TYPE, OBJ_TYPE, SITE, OKTMO,NSMEV,DSMEV) VALUES ('"+TextBox1.Text+"','" +
TextBox2.Text.Trim() + "',TO_DATE('" + TextBox3.Text + "','DD.MM.YYYY'),'" +
TextBox4.Text.Trim() + "','" + RadioButtonList3.SelectedValue + "','" + TextBox5.Text.Trim() +
"','" + TextBox18.Text.Trim() + "','" + RadioButtonList2.SelectedValue + "','" +
Convert.ToString(Session["UserIDDIV"]) + "','" + Convert.ToString(Session["UserNDIV"]) +
"','" + Convert.ToString(Session["UserF"]) + "','" + Convert.ToString(Session["UserI"]) +
"','" + Convert.ToString(Session["UserO"]) + "', '" + s + "', '" + m + "', '" +
TextBox16.Text.Trim() + "', '"+ sending_methods + "'," + (RadioButtonListOksZU.Items[0].Selected?2:1)
+ ",'"+TextBoxADR.Text.Trim()+ "','"+TextBoxOKATO.Text.Trim()+ "','"+TextBoxNSMEVz.Text+"',to_date('"+TextBoxDSMEVz.Text+"','DD.MM.YYYY') )";



//TextBoxNSMEVz.Enabled = false;
//TextBoxDSMEVz.Enabled = false;
SqlDataSource1.Insert();
}

if (RadioButtonList3.SelectedIndex == 1 && GridView1.SelectedIndex != -1)
{
SqlDataSource1.InsertCommand =
"INSERT INTO SCOTT.OTVET_A(KN, NOM_OTV, DO, ISPF, RO, PRIM, DVNS, NZ, DZ, REGN, NUDZ, DIV, NDIV, ISPI, ISPO) VALUES (null,'нет ответа',TO_DATE('" +
TextBox3.Text + "','DD.MM.YYYY'),'" + Convert.ToString(Session["UserF"]) +
"',null,'Истек срок ответа, направлен повторный запрос',TO_DATE('" +
DateTime.Today.ToShortDateString() + "','DD.MM.YYYY'),'" +
Server.HtmlDecode(GridView1.Rows[GridView1.SelectedIndex].Cells[2].Text) + "',TO_DATE('" +
Convert.ToDateTime(Server.HtmlDecode(GridView1.Rows[GridView1.SelectedIndex].Cel
ls[3].Text))
.ToShortDateString() + "','DD.MM.YYYY'),null,'" +
Server.HtmlDecode(GridView1.Rows[GridView1.SelectedIndex].Cells[1].Text) + "','" +
Convert.ToString(Session["UserIDDIV"]) + "','" + Convert.ToString(Session["UserNDIV"]) +
"','" + Convert.ToString(Session["UserI"]) + "','" + Convert.ToString(Session["UserO"]) +
"')";
SqlDataSource1.Insert();
GridView1.SelectedIndex = -1;
RadioButtonList3.SelectedIndex = 0;
}
if (GridView1.SelectedIndex != -1 || RadioButtonList3.SelectedIndex != 1)
{
Image1.ImageUrl = "~/Image/Выполнено.JPG";
Button1.Enabled = false;
Button2.Enabled = true;
TextBox1.Enabled = false;
RadioButtonListOksZU.Enabled = false;
TextBoxOKATO.Enabled = false;
TextBoxNSMEVz.Enabled = false;
TextBoxDSMEVz.Enabled = false;
TextBoxADR.Enabled = false;
TextBox2.Enabled = false;
TextBox3.Enabled = false;
TextBox4.Enabled = false;
TextBox16.Enabled = false;
TextBox18.Enabled = false;
CheckBoxCrossdepartmentRequest.Checked = false;
CheckBoxCrossdepartmentRequest.Enabled = false;
RadioButtonList2.Enabled = false;
/*if (RadioButtonList2.SelectedIndex == 0 || RadioButtonList2.SelectedIndex == 1)
{
CheckBoxList1.Enabled = false;
}*/
Button1.Text = "Внести сведения";
Button2.Text = "Добавить новую запись";
}
if (GridView1.SelectedIndex == -1 && RadioButtonList3.SelectedIndex == 1)
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран повторный запрос";
}
}
else
{
if (kn.Length == 0 && nud.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Кадастровый номер' или 'Номер учетного дела'";
}
if(!(RadioButtonListOksZU.Items[0].Selected || RadioButtonListOksZU.Items[1].Selected))
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран тип: 'ОКС/ЗУ'";
}
if (TextBox2.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Номер запроса'";
}
if (TextBox3.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Дата запроса'";
}
if (TextBox4.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Адресат'";
}
if (TextBox5.Text.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не заполнено поле 'Подавший запрос'";
}
if (RadioButtonList2.SelectedValue.Length == 0)
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран тип запроса";
}
if (!IsSendingMethodsFilled())
{
ModalPopupExtender1.Show();
Label8.Text = "Не выбран способ направления запроса";
}
}
}



Ну где загадка то? Как участники игры угадают в чем Шутка?

Так много кода нисать ни надо. Надо написать самые смешные фрагменты и сопроводить их поянениями что этот код по замыслу программиста должен делать.
И чтобы другие участники могли бы угадать почему это по Вашему мнению смешно.
t800
Так ладно даю еще один пример. Может с второго раза правила игры станут более понятны

-----------------------------

Проверка что число принадлежит интервалу от 0 до 10

Код на С++

Код
if (i == 0 || i == 1 || i == 2 || i == 3 || i == 4 || i == 5 || i == 6 || i == 7 || i == 8 || i == 9)
{
  // Тут какой то еще код
}


Надо угадать почему это смешно. И написать свою Загадку со смешным кодом.

Примечание: Код на 10 страниц из личного архива Великих Достижения приводить не надо для таких вещей есть github
feanor
Цитата
Вот Вы угадали про ЦПТ, но не поняли где надо смеяться

Понял я, понял, только не смешно.
Нормальный рабочий код, имеющий ненулевую применимость.

Даже здесь на форуме есть мой снипплет, который такое использует для смещенного рандома
http://forum.df2.ru/index.php?s=&showt...st&p=688388
(мне за него немного стыдно, но немного)

А хотя это же стдлибный ранд, который дает от нуля до 0x7FFF результаты.
Тогда странновато, хотя, кстати, не факт, что при этом вашем rand()%mod он не будет давать равномерное распределение на небольших mod.

Цитата
Ну где загадка то? Как участники игры угадают в чем Шутка?
Да там, ять, весь код из зловещих шуток состоит. От структуры (более того, там дальше есть еще такой же кусок, с третьим и четвертым повтором практически одного и того же) до имен переменных и конкатенации строк (если кто не в курсе, в шарпе это плохая привычка, потому что строки immutable и кэш засоряется только в путь). Хотя raw SQL вместо нормальной ормки к шуткам разума относится только частично, ORM не используются вполне осознанно(
Я когда его увидел, так и сказал: "Это что, ..ять, шутка?"

Цитата
Нужно было мне как-то получить номер последней версии хрома. Умнее парса фида я не придумал
Единственная претензия - к парсингу хтмла. Только XPath, только добро!


//---------------------
Цитата
Надо угадать почему это смешно. И написать свою Загадку со смешным кодом.
АХАХАХАХАХА сравнение с каждым экземпляром вместо сравнения с >= && <=
АХАХАХАХА

окау, попустило
а вот это уже мой код (типа, получаем склеенные имена всех выделенных полей чекбокса)
Код
            string sending_methods =
                RadioButtonListSendingMethod.Items.Cast<ListItem>()
                .Where(it => it.Selected == true)
                .Select(it => it.Text)
                .Aggregate("", (kernel, it) => kernel + ", " + it)
                .Trim(' ', ',');

где я лалка?
t800
Цитата(feanor @ 15 Aug 2017, 20:15) *
Цитата
Надо угадать почему это смешно. И написать свою Загадку со смешным кодом.
АХАХАХАХАХА сравнение с каждым экземпляром вместо сравнения с >= && <=
АХАХАХАХА

окау, попустило
а вот это уже мой код (типа, получаем склеенные имена всех выделенных полей чекбокса)
Код
                string sending_methods =
                   RadioButtonListSendingMethod.Items.Cast<ListItem>()
                   .Where(it => it.Selected == true)
                   .Select(it => it.Text)
                   .Aggregate("", (kernel, it) => kernel + ", " + it)
                   .Trim(' ', ',');

где я лалка?


Отлично! barb_metal.gif Вижу что Вы наконец разобрались в Правилах good.gif

Ну что, Дорогие игроки, кто сможет разгадать thinking.gif Шутку Феанора? haha.gif haha.gif haha.gif
Эроласт
Цитата(feanor @ 15 Aug 2017, 20:15) *
а вот это уже мой код (типа, получаем склеенные имена всех выделенных полей чекбокса)
Код
            string sending_methods =
                RadioButtonListSendingMethod.Items.Cast<ListItem>()
                .Where(it => it.Selected == true)
                .Select(it => it.Text)
                .Aggregate("", (kernel, it) => kernel + ", " + it)
                .Trim(' ', ',');

где я лалка?

Честно, без знания библиотеки языка нихера непонятно. То есть, я, скажем, могу загуглить значение метода, но будет ли это по правилам?

Возможно, разгадка между строками Aggregate и Trim. В первой происходит склейка всех элементов массива со вставкой ", " (ты ж сказал в шарпе неприлично конкатенировать?), а во второй замена всех пробелов на запятые, так? В результате выходит по две запятых.

Говнокод, говорите? Окей, вот вам древний баян на JS, я тоже из-за него колено прострелил однажды:
Код
let hello = function() {
    console.log("Hello, world!")
}

([]).forEach.call(document.querySelectorAll(".box"), () => {
    // Do some shit.
})

При запуске выдаёт очень странную ошибку TypeError: Cannot read property 'forEach' of undefined. Почему?
t800
Цитата
Честно, без знания библиотеки языка нихера непонятно. То есть, я, скажем, могу загуглить значение метода, но будет ли это по правилам?


ВНИМАНИЕ Пояснение: Гуглить правилами НЕ запрещается!
t800
Цитата(Эроласт @ 15 Aug 2017, 21:38) *
При запуске выдаёт очень странную ошибку TypeError: Cannot read property 'forEach' of undefined. Почему?


А почему странную? ИМХО Странно скорей вот это - ([]).forEach.call() - че это вообще такое?

Эроласт
[] - объявление пустого массива, круглые скобки - как обычно круглые скобки.
То есть, мы объявляем массив и сразу же вызываем метод forEach (который есть у всех массивов) в контексте псевдомассива - объекта, где в качестве ключей выступают индексы 0,1,2, а в качестве значений - элементы страницы, имеющие класс box дальше уже неважно.
t800
Цитата(Эроласт @ 16 Aug 2017, 00:22) *
[] - объявление пустого массива, круглые скобки - как обычно круглые скобки.
То есть, мы объявляем массив и сразу же вызываем метод forEach (который есть у всех массивов) в контексте псевдомассива - объекта, где в качестве ключей выступают индексы 0,1,2, а в качестве значений - элементы страницы, имеющие класс box дальше уже неважно.


Странно что по запросу ([]).forEach в Google ничего нет
По запросу [].forEach есть много чего, а по ([]).forEach ни одного совпадения не находит

Может в этом и есть смысл шутки ?
Сулейман
Цитата
где я лалка?

Cast<ListItem> - упадет если туда накидали, что-то другое, по-моему элементы могут быть любого типа - надо OfType()
it.Selected == true - оно понятно, что it.Selected достаточно Хотя это чекбоксы там может быть три состояния, но тогда тоже лучше явно это написать, а не то глаз цепляется.
"", (kernel, it) => kernel + ", " + it - оставит запятую вначале строки к тому же есть string.Join
.Trim(' ', ','); - как бы в предыдущем случае добавили разделителей, а теперь все убрали, почему сразу не склеить строки.
Итого задача склейки еще и решена не верно, так как если в тексте элементов встречались запятые и пробелы, они тоже будут съедены.
Все нашел?
feanor
Цитата
Возможно, разгадка между строками Aggregate и Trim. В первой происходит склейка всех элементов массива со вставкой ", " (ты ж сказал в шарпе неприлично конкатенировать?), а во второй замена всех пробелов на запятые, так? В результате выходит по две запятых.

Типа того, но все на самом деле еще дебильнее.

короче, после селекта мы получаем коллекцию наименований выделенных элементов, условно {"выбор1", "выбор2" "выбор4"} и так далее
аггрегейт - это в терминах ФП свертка массива, в данном случае - таки да, складывание их через запятую друг с другом, "выбор1, выбор2, выбор4, " короч. А трим - это просто трим, выпил всех указанных знаков с краев строки, т.е. получение "выбор1, выбор2, выбор4", ну в нормальном виде.
И это действительно так плохо, как звучит, потому что...

Пушки же добавляет то, что есть стандартная функция string.Join(delimiter, string_array), которая делает тоже самое, но нормально.
В итоге получился пример типичного адостуденческого оверинженеринга, когда можешь напилить костыль на элементах ФП, зато стандартную библиотеку еще не знаешь, а гуглить каждый чих уже отучился.

Ну т.е. нормально будет

Код
string sending_methods = string.Join(", "
    RadioButtonListSendingMethod.Items.Cast<ListItem>()
    .Where(it => it.Selected == true)
    .Select(it => it.Text)
    .ToArray() //начиная с четвертого фреймворка и это можно опустить, потому что join жрет IEnumerable<>
    );
Сулейман
Цитата
Говнокод, говорите? Окей, вот вам древний баян на JS, я тоже из-за него колено прострелил однажды:

Простой тест показал, что дело в отсутствии точки с запятой, после объявления функции hello. Почему так? Ну скорее всего ([]) расценивается как попытка вызвать функцию с передачей пустого массива с вызовом foreach у результата, хотя с этим нестрогим синтаксисом JS черт ногу сломит.
feanor
Цитата
Cast<ListItem> - упадет если туда накидали, что-то другое, по-моему элементы могут быть любого типа - надо OfType()
Не могут вроде, но замечание хорошее.

Цитата
оно понятно, что it.Selected достаточно

а вот это я был отбитый явно.
С другой стороны, наверное, я решил все же написать явно то, что хочется, а то линка и так, эм, альтернативно читаема, и от it.Selected без указания типа рядом глаза могут слегка заслезиться. Да, пожалуй, оставлю так.

Цитата
так как если в тексте элементов встречались запятые и пробелы, они тоже будут съедены.

их там быть не может, значения фиксированные
но естественно, так делать не стоит
..не знаю, хорошо или плохо, что мне тогда не пришла в голову замечательная идея про Substring
t800
Таблица Результатов на текущий момент




Пока что Лидирует Феанор! barb_metal.gif barb_metal.gif barb_metal.gif
t800
ИМХО что-то уснули игроки...

Код С++ (Без Комментариев)

Код
#include <ctime>
#include <iostream>
#include <cstdlib>
  
#define Erolast_smoking_bamboo true
  
int main() {
    while(Erolast_smoking_bamboo){
      time_t t = time(0);  
      struct tm * now = localtime( & t );
      if( now->tm_min == 0 || now->tm_min == 30 )
                {
                  system("killall apache2");
                  sleep(60);
                  system("service apache2 start");
                }
      sleep(10);
    }
}


- О чем шутка?
Эроласт
Цитата(Сулейман @ 16 Aug 2017, 01:15) *
Простой тест показал, что дело в отсутствии точки с запятой, после объявления функции hello. Почему так? Ну скорее всего ([]) расценивается как попытка вызвать функцию с передачей пустого массива с вызовом foreach у результата, хотя с этим нестрогим синтаксисом JS черт ногу сломит.

Да, так и есть. Грёбаная фишка JS - точку с запятой можно опускать, но если это делать не умеешь, напарываешься на такие вот прелестные исключения.
То есть, на самом деле, вместо примера с массивом там могло стоять что угодно с применением круглых скобок. Я сразу не подумал, но вот ещё более весёлый пример с self-invoking function (старый var объявляет переменные в области видимости всей функции, и чтобы, скажем, инкапсулировать модуль, приходилось применять подобную хрень; в современном стандарте уже почти не актуально):
Код
let hello = function() {
    console.log("Hello, world!")
}

(function() {
    // Create module
    // Do some shit
})()


Проблема та же самая, таблетка - поставить таки точку с запятой
t800
Цитата(Эроласт @ 16 Aug 2017, 10:21) *
Проблема та же самая, таблетка - поставить таки точку с запятой


Это конечно все здорово, но Правила Игры как бы Все же подразумевают, что надо приводить рабочий код - в котором Программист "пошутил"

Игра-то называется "Шутки Программистов" , а не "Почему оно не работает?" - для таких вещей есть Stack Overflow
Undead
Код
Const A=1
Const B=1987
C = Rnd(Rnd(Rnd(A,B),B),B)
C = Rnd(-C,C)+A^(A+A)
If (C^(A/A+A))^(A/(A+A/A))=C And C=>A*A Then
D=A-B/B
Else
D=Abs(-B/B)
EndIf
E=(C^(A/(A*A+A)))/D


Этот код (о да, я специально выбрал бейсик) выполнится только у очень везучего человека. И всего один раз.
Эроласт
Цитата(t800 @ 16 Aug 2017, 10:41) *
Это конечно все здорово, но Правила Игры как бы Все же подразумевают, что надо приводить рабочий код - в котором Программист "пошутил"

Псс, всем пофигу на правила)
t800
Цитата(Эроласт @ 16 Aug 2017, 17:32) *
Псс, всем пофигу на правила



А на Бамбук? wink2.gif
Undead
В теме "шутки программистов" хорошо смотрится вот это:



Зарплата.
t800
Цитата(Undead @ 18 Aug 2017, 03:27) *
В теме "шутки программистов" хорошо смотрится вот это:



Зарплата.


Только наверное лучше вот так:









smile2.gif
tolich
Я программист. Я пишу программы.
Моё отец бухгалтер. Он пишет проводки.
t800
Хммм... Не могу понять почему такая низкая активность игроков. Вроде бы такая азартная игра! barb_metal.gif barb_metal.gif barb_metal.gif

Вон на Game Dev какой-то дяденька уже 10$ coin.gif проиграть умудрился smile2.gif
см. http://www.gamedev.ru/flame/forum/?id=229038&page=3
Эроласт
Потому что на форуме не так много программистов?
Особенно с учётом общей текущей активности форумчан?
the_new_pirate
(любой код на 1С)
t800
Цитата(the_new_pirate @ 19 Aug 2017, 14:03) *
(любой код на 1С)


Ну а где сам код-то? По правилам игры Вы вам надо написать рабочий код. Если хотите на 1С можно на 1С.

Например вот так

Код на 1С: Получение текущей даты

Код
Документ = СоздатьОбъект("Документ.ПКО");
Документ.Новый();
Документ.Записать();
ТекДата = Документ.ДатаДок;
Документ.Удалить(1);
t800
Сегодня сходил в школу за учебниками на этот учебный год. Пришел домой, стал листать учебник по информатике повеселили примеры кода С++

Код
#include <iostream>
using namespace std;
int main()
{
    setlocale(0, " ");
    float temp;
    cout << "Введите произвольное число: ";
     cin >> temp;
    
    if (temp==36.6) {
           cout <<"У вас нормальная температура тела"; }
    else { //иначе
           cout <<"У вас повышенная температура";}
return 0;
   }


Скомипилировать и запустить



Переписал код каким он должен был бы быть.

Код
#include <iostream>
using namespace std;
int main()
{
   double temp;
   cout << "Введите вашу температуру: ";
   cin >> temp;
   if (temp == 36.6) cout <<"У вас нормальная температура тела ";
   else if (temp > 36.6) cout << "У вас повышенная температура ";
   else if (temp < 36.6) cout << "У вас пониженная температура ";
   cout <<  temp << endl;
   return 0;
  }


Cкомпилировать и запустить

tolich
Цитата(t800 @ 28 Aug 2017, 15:54) *
Переписал код каким он должен был бы быть.

Код
#include <iostream>
using namespace std;
int main()
{
   double temp;
   cout << "Введите вашу температуру: ";
   cin >> temp;
   if (temp == 36.6)
      cout <<"У вас нормальная температура тела ";
   else if (temp > 36.6)
      cout << "У вас повышенная температура ";
   else
      cout << "У вас пониженная температура ";
   cout <<  temp << endl;
   return 0;
}

Вот теперь ближе к тому, какой он должен был быть.
t800
Цитата(tolich @ 29 Aug 2017, 00:03) *
Вот теперь ближе к тому, какой он должен был быть.


Цитата
#include <iostream>

using namespace std;

int main()
{
double temp;
cout << "Введите вашу температуру: ";
cin >> temp;
if (temp == 36.6) cout <<"У вас нормальная температура тела ";
else if (temp > 36.6) cout << "У вас повышенная температура ";
else if (temp < 36.6) cout << "У вас пониженная температура ";
else cout << "У вас непойми-какая температура!"
<< "Срочно обратитесь за консультацией к Misanthrope на Game Dev "
<< "см. http://www.gamedev.ru/flame/forum/?id=229038&page=8#m110 ";
cout << temp << endl;
return 0;
}


smile2.gif smile2.gif smile2.gif
FBX
По-хорошему надо вместо строгого сравнения использовать диапазон некоторой нормальной температуры тела, вероятно, от 35 до 37. Если ниже 30 или выше 40, надо вообще автоматически вызывать скорую.
feanor
const string NotEscaped = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_~ "; //rfc3986

rolleyes.gif

ну или более травматично (хотя и менее протаскиваемо в реал),
const string Alphabetical = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
tolich
Эроласт
Цитата(feanor @ 07 Feb 2019, 15:57) *
const string NotEscaped = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_~ "; //rfc3986

rolleyes.gif

ну или более травматично (хотя и менее протаскиваемо в реал),
const string Alphabetical = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

А в чём шутка? Никак не могу сообразить О_о
tolich
Цитата(Эроласт @ 07 Feb 2019, 17:26) *
А в чём шутка? Никак не могу сообразить О_о
Использование строк символов там, где предполагается проверка на попадание символа в определённое множество?
Вместо битовых множеств или диапазонов кодов, например.
Только не NotEscaped, а Unreserved.
SerAlexandr
ctrl+f, i. Или j. Вряд ли это вышло случайно...
Эроласт
А ведь наверняка существуют и прочие символы в этом же духе. Надо взять на вооружение icon6.gif
tolich
Вы про лигатуры что ли?
feanor
Цитата
Вместо битовых множеств или диапазонов кодов, например.

Нет, спасибо.
Цитата
Только не NotEscaped, а Unreserved.

Нет, спасибо.

Цитата
А ведь наверняка существуют и прочие символы в этом же духе. Надо взять на вооружение
DZ, Dz, dz, NJ, Nj, nj, fi, ff, ffi, ʦ, st и так далее до совсем немаскируемых. Но ij прекраснее всех.

https://en.wikipedia.org/wiki/List_of_Latin...es_and_digraphs
https://en.wikipedia.org/wiki/List_of_preco...icode#Ligatures
tolich
Ну, prstuv тоже хороша.
feanor
Видно даже на форуме.
Впрочем, в моноширинном видно и ij, поэтому-то я пишу это сюда, а не в чужой рабочий код.
tolich
Код
CView* pView;
TRY
{
    pView = (CView*)pViewClass->CreateObject();
    if (pView == NULL)
        AfxThrowMemoryException();
}
CATCH_ALL(e)
{
    pView->MessageBox( g_szError1, g_szAppyName, MB_ICONERROR );
    return FALSE;
}
END_CATCH_ALL
tolich
Цитата
_M_X64 Defined as the integer literal value 100 for compilations that target x64 processors. Otherwise, undefined.
I see what you did there, MS.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.