IPB

Здравствуйте, гость ( Вход | Регистрация )

5 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Шутки Программистов, Форумная Игра
t800
сообщение 15 Aug 2017, 12:22 (Сообщение отредактировал t800 - 16 Aug 2017, 18:29)
Сообщение #1

Разработчик
Сообщений: 534
Спасибо сказали: 221 раз




Преамбула: Заметил что все вдруг стали делать форумные игры. Решил тоже одну сделать[i]


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

Правила:

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

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


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

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

Код
RANDOM = (rand() + rand() + rand()) / 3;


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 15 Aug 2017, 13:35
Сообщение #2

😸🧡✊✌️
Сообщений: 16 023
Спасибо сказали: 2662 раза




В каком месте смеяться? Распределение Пуассона это смешно?


--------------------
Я слежу за тобой!
* tolic.narod.ru

Lu...pa...gamhi...dho?
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 15 Aug 2017, 13:55 (Сообщение отредактировал feanor - 15 Aug 2017, 14:42)
Сообщение #3

laughed as one fey
Сообщений: 12 166
Спасибо сказали: 20585 раз




Цитата
В каком месте смеяться? Распределение Пуассона это смешно?
Гаусса же, не? ЦПТ.

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

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

Жуткое легаси, на которое я смотрю..боже мой, сколько же я на него смотрю и боюсь трогать.
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 = "Не выбран способ направления запроса";
}
}
}
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 15 Aug 2017, 14:37
Сообщение #4

😸🧡✊✌️
Сообщений: 16 023
Спасибо сказали: 2662 раза




Цитата(feanor @ 15 Aug 2017, 13:55) *
Гаусса же, не?
Только три величины, маловато. Я мог ещё с биномиальным попутать, но, кажется, обошлось.


--------------------
Я слежу за тобой!
* tolic.narod.ru

Lu...pa...gamhi...dho?
Go to the top of the pageAdd Nick
 
+Quote Post
SaintDark
сообщение 15 Aug 2017, 15:42 (Сообщение отредактировал SaintDark - 15 Aug 2017, 15:43)
Сообщение #5

Working hard
Сообщений: 455
Спасибо сказали: 558 раз




Неименованные (а точнее именованные по-дефолту) объекты еще то извращение.


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

Код
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()


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
t800
сообщение 15 Aug 2017, 16:10 (Сообщение отредактировал t800 - 15 Aug 2017, 16:18)
Сообщение #6

Разработчик
Сообщений: 534
Спасибо сказали: 221 раз




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


Ну да согласно центральной предельной теореме, итоговое распределение будет гораздо ближе к нормальному, чем к равномерному, так что никакого увеличения "случайности" в 3 раза не будет.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 15 Aug 2017, 16:14 (Сообщение отредактировал feanor - 15 Aug 2017, 16:16)
Сообщение #7

laughed as one fey
Сообщений: 12 166
Спасибо сказали: 20585 раз




Цитата
Только три величины, маловато. Я мог ещё с биномиальным попутать, но, кажется, обошлось.

Ну понятно, что с трех не получится (оно вообще-то еще и дискретное, и на ограниченном интервале)
но вроде в пределе оно к нормальному распредению и приведет, не?
(дяденька, я не настоящий специалист, я диплом на помойке нашел)
Go to the top of the pageAdd Nick
 
+Quote Post
t800
сообщение 15 Aug 2017, 16:24 (Сообщение отредактировал t800 - 15 Aug 2017, 16:55)
Сообщение #8

Разработчик
Сообщений: 534
Спасибо сказали: 221 раз




Цитата(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 = "Не выбран способ направления запроса";
}
}
}



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

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


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
t800
сообщение 15 Aug 2017, 16:49 (Сообщение отредактировал t800 - 15 Aug 2017, 16:54)
Сообщение #9

Разработчик
Сообщений: 534
Спасибо сказали: 221 раз




Так ладно даю еще один пример. Может с второго раза правила игры станут более понятны

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

Проверка что число принадлежит интервалу от 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


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 15 Aug 2017, 17:15 (Сообщение отредактировал feanor - 15 Aug 2017, 17:34)
Сообщение #10

laughed as one fey
Сообщений: 12 166
Спасибо сказали: 20585 раз




Цитата
Вот Вы угадали про ЦПТ, но не поняли где надо смеяться

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

Даже здесь на форуме есть мой снипплет, который такое использует для смещенного рандома
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(' ', ',');

где я лалка?


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
t800
сообщение 15 Aug 2017, 18:21 (Сообщение отредактировал t800 - 15 Aug 2017, 18:29)
Сообщение #11

Разработчик
Сообщений: 534
Спасибо сказали: 221 раз




Цитата(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


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Эроласт
сообщение 15 Aug 2017, 18:38
Сообщение #12

Зануда
Сообщений: 2 236
Спасибо сказали: 2894 раза




Цитата(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. Почему?
Go to the top of the pageAdd Nick
 
+Quote Post
t800
сообщение 15 Aug 2017, 18:54 (Сообщение отредактировал t800 - 15 Aug 2017, 18:55)
Сообщение #13

Разработчик
Сообщений: 534
Спасибо сказали: 221 раз




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


ВНИМАНИЕ Пояснение: Гуглить правилами НЕ запрещается!


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
t800
сообщение 15 Aug 2017, 20:46 (Сообщение отредактировал t800 - 15 Aug 2017, 20:51)
Сообщение #14

Разработчик
Сообщений: 534
Спасибо сказали: 221 раз




Цитата(Эроласт @ 15 Aug 2017, 21:38) *
При запуске выдаёт очень странную ошибку TypeError: Cannot read property 'forEach' of undefined. Почему?


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



--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Эроласт
сообщение 15 Aug 2017, 21:22 (Сообщение отредактировал Эроласт - 15 Aug 2017, 21:27)
Сообщение #15

Зануда
Сообщений: 2 236
Спасибо сказали: 2894 раза




[] - объявление пустого массива, круглые скобки - как обычно круглые скобки.
То есть, мы объявляем массив и сразу же вызываем метод forEach (который есть у всех массивов) в контексте псевдомассива - объекта, где в качестве ключей выступают индексы 0,1,2, а в качестве значений - элементы страницы, имеющие класс box дальше уже неважно.
Go to the top of the pageAdd Nick
 
+Quote Post
t800
сообщение 15 Aug 2017, 21:56 (Сообщение отредактировал t800 - 15 Aug 2017, 21:58)
Сообщение #16

Разработчик
Сообщений: 534
Спасибо сказали: 221 раз




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


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

Может в этом и есть смысл шутки ?


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Сулейман
сообщение 15 Aug 2017, 22:05 (Сообщение отредактировал Сулейман - 15 Aug 2017, 22:07)
Сообщение #17

Immortal
Сообщений: 2 459
Спасибо сказали: 3611 раз




Цитата
где я лалка?

Cast<ListItem> - упадет если туда накидали, что-то другое, по-моему элементы могут быть любого типа - надо OfType()
it.Selected == true - оно понятно, что it.Selected достаточно Хотя это чекбоксы там может быть три состояния, но тогда тоже лучше явно это написать, а не то глаз цепляется.
"", (kernel, it) => kernel + ", " + it - оставит запятую вначале строки к тому же есть string.Join
.Trim(' ', ','); - как бы в предыдущем случае добавили разделителей, а теперь все убрали, почему сразу не склеить строки.
Итого задача склейки еще и решена не верно, так как если в тексте элементов встречались запятые и пробелы, они тоже будут съедены.
Все нашел?
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 15 Aug 2017, 22:14
Сообщение #18

laughed as one fey
Сообщений: 12 166
Спасибо сказали: 20585 раз




Цитата
Возможно, разгадка между строками 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<>
    );


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Сулейман
сообщение 15 Aug 2017, 22:15 (Сообщение отредактировал Сулейман - 15 Aug 2017, 22:17)
Сообщение #19

Immortal
Сообщений: 2 459
Спасибо сказали: 3611 раз




Цитата
Говнокод, говорите? Окей, вот вам древний баян на JS, я тоже из-за него колено прострелил однажды:

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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 15 Aug 2017, 22:19 (Сообщение отредактировал feanor - 15 Aug 2017, 22:24)
Сообщение #20

laughed as one fey
Сообщений: 12 166
Спасибо сказали: 20585 раз




Цитата
Cast<ListItem> - упадет если туда накидали, что-то другое, по-моему элементы могут быть любого типа - надо OfType()
Не могут вроде, но замечание хорошее.

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

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

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

их там быть не может, значения фиксированные
но естественно, так делать не стоит
..не знаю, хорошо или плохо, что мне тогда не пришла в голову замечательная идея про Substring
Go to the top of the pageAdd Nick
 
+Quote Post

5 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19 April 2024 - 00:21
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика