Шутки Программистов, Форумная Игра |
Здравствуйте, гость ( Вход | Регистрация )
Шутки Программистов, Форумная Игра |
15 Aug 2017, 12:22
(Сообщение отредактировал t800 - 16 Aug 2017, 18:29)
Сообщение
#1
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
Преамбула: Заметил что все вдруг стали делать форумные игры. Решил тоже одну сделать[i]
Игра-Загадка Правила: 1) Участник игры пишет смешной код 2) Другой участник должен объяснить почему, написанный предыдущим участником, код - смешной 3) И написать свой смешной код. -------------------------------------------------------------- Итак поехали! Код на С++ , позволяющий в 3 раза повысить "случайность" генератора случайных чисел: Код RANDOM = (rand() + rand() + rand()) / 3;
-------------------- |
|
|
15 Aug 2017, 13:35
Сообщение
#2
|
|
😸🧡✊✌️ Сообщений: 16 027 Спасибо сказали: 2672 раза |
В каком месте смеяться? Распределение Пуассона это смешно?
-------------------- |
|
|
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 = "Не выбран способ направления запроса"; } } } |
|
|
15 Aug 2017, 14:37
Сообщение
#4
|
|
😸🧡✊✌️ Сообщений: 16 027 Спасибо сказали: 2672 раза |
Гаусса же, не? Только три величины, маловато. Я мог ещё с биномиальным попутать, но, кажется, обошлось.
-------------------- |
|
|
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() -------------------- |
|
|
15 Aug 2017, 16:10
(Сообщение отредактировал t800 - 15 Aug 2017, 16:18)
Сообщение
#6
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
Цитата В каком месте смеяться? Распределение Пуассона это смешно? Гаусса же, не? ЦПТ. Ну да согласно центральной предельной теореме, итоговое распределение будет гораздо ближе к нормальному, чем к равномерному, так что никакого увеличения "случайности" в 3 раза не будет. -------------------- |
|
|
15 Aug 2017, 16:14
(Сообщение отредактировал feanor - 15 Aug 2017, 16:16)
Сообщение
#7
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Цитата Только три величины, маловато. Я мог ещё с биномиальным попутать, но, кажется, обошлось. Ну понятно, что с трех не получится (оно вообще-то еще и дискретное, и на ограниченном интервале) но вроде в пределе оно к нормальному распредению и приведет, не? (дяденька, я не настоящий специалист, я диплом на помойке нашел) |
|
|
15 Aug 2017, 16:24
(Сообщение отредактировал t800 - 15 Aug 2017, 16:55)
Сообщение
#8
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
И да, я таким кодом иногда пользуюсь, когда нужен быдлогаусс. //предлагаю участникам, которые пояснили, почему код на самом деле не смешной, постить несмешной код. Следующие участники обязаны проявить сочувствие и виртуально похлопать по плечу. ИМХО это будет Читтинг в игре. И постить надо смешной код потому, что так написано в правилах. А если участник не понял в чем смысл загадки надо скрывать ответ под спойлер. Вот Вы угадали про ЦПТ, но не поняли где надо смеяться поэтому надо было скрыть Ваш ответ под спойлер. 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 = "Не выбран способ направления запроса"; } } } Ну где загадка то? Как участники игры угадают в чем Шутка? Так много кода нисать ни надо. Надо написать самые смешные фрагменты и сопроводить их поянениями что этот код по замыслу программиста должен делать. И чтобы другие участники могли бы угадать почему это по Вашему мнению смешно. -------------------- |
|
|
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 -------------------- |
|
|
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(' ', ','); где я лалка? |
|
|
15 Aug 2017, 18:21
(Сообщение отредактировал t800 - 15 Aug 2017, 18:29)
Сообщение
#11
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
Цитата Надо угадать почему это смешно. И написать свою Загадку со смешным кодом. АХАХАХАХАХА сравнение с каждым экземпляром вместо сравнения с >= && <= АХАХАХАХА окау, попустило а вот это уже мой код (типа, получаем склеенные имена всех выделенных полей чекбокса) Код string sending_methods = RadioButtonListSendingMethod.Items.Cast<ListItem>() .Where(it => it.Selected == true) .Select(it => it.Text) .Aggregate("", (kernel, it) => kernel + ", " + it) .Trim(' ', ','); где я лалка? Отлично! Вижу что Вы наконец разобрались в Правилах Ну что, Дорогие игроки, кто сможет разгадать Шутку Феанора? -------------------- |
|
|
15 Aug 2017, 18:38
Сообщение
#12
|
|
Зануда Сообщений: 2 236 Спасибо сказали: 2894 раза |
а вот это уже мой код (типа, получаем склеенные имена всех выделенных полей чекбокса) Код 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. Почему? |
|
|
15 Aug 2017, 18:54
(Сообщение отредактировал t800 - 15 Aug 2017, 18:55)
Сообщение
#13
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
Цитата Честно, без знания библиотеки языка нихера непонятно. То есть, я, скажем, могу загуглить значение метода, но будет ли это по правилам? ВНИМАНИЕ Пояснение: Гуглить правилами НЕ запрещается! -------------------- |
|
|
15 Aug 2017, 20:46
(Сообщение отредактировал t800 - 15 Aug 2017, 20:51)
Сообщение
#14
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
При запуске выдаёт очень странную ошибку TypeError: Cannot read property 'forEach' of undefined. Почему? А почему странную? ИМХО Странно скорей вот это - ([]).forEach.call() - че это вообще такое? -------------------- |
|
|
15 Aug 2017, 21:22
(Сообщение отредактировал Эроласт - 15 Aug 2017, 21:27)
Сообщение
#15
|
|
Зануда Сообщений: 2 236 Спасибо сказали: 2894 раза |
[] - объявление пустого массива, круглые скобки - как обычно круглые скобки.
То есть, мы объявляем массив и сразу же вызываем метод forEach (который есть у всех массивов) |
|
|
15 Aug 2017, 21:56
(Сообщение отредактировал t800 - 15 Aug 2017, 21:58)
Сообщение
#16
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
[] - объявление пустого массива, круглые скобки - как обычно круглые скобки. То есть, мы объявляем массив и сразу же вызываем метод forEach (который есть у всех массивов) Странно что по запросу ([]).forEach в Google ничего нет По запросу [].forEach есть много чего, а по ([]).forEach ни одного совпадения не находит Может в этом и есть смысл шутки ? -------------------- |
|
|
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(' ', ','); - как бы в предыдущем случае добавили разделителей, а теперь все убрали, почему сразу не склеить строки. Итого задача склейки еще и решена не верно, так как если в тексте элементов встречались запятые и пробелы, они тоже будут съедены. Все нашел? |
|
|
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<> ); |
|
|
15 Aug 2017, 22:15
(Сообщение отредактировал Сулейман - 15 Aug 2017, 22:17)
Сообщение
#19
|
|
Immortal Сообщений: 2 459 Спасибо сказали: 3611 раз |
Цитата Говнокод, говорите? Окей, вот вам древний баян на JS, я тоже из-за него колено прострелил однажды: Простой тест показал, что дело в отсутствии точки с запятой, после объявления функции hello. Почему так? Ну скорее всего ([]) расценивается как попытка вызвать функцию с передачей пустого массива с вызовом foreach у результата, хотя с этим нестрогим синтаксисом JS черт ногу сломит. |
|
|
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 |
|
|
Текстовая версия | Сейчас: 24 April 2024 - 17:29 |
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |