![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]() ![]()
Сообщение
#1
|
|
![]() Разработчик Сообщений: 534 Спасибо сказали: 222 раза ![]() |
Преамбула: Заметил что все вдруг стали делать форумные игры. Решил тоже одну сделать[i]
Игра-Загадка Правила: 1) Участник игры пишет смешной код 2) Другой участник должен объяснить почему, написанный предыдущим участником, код - смешной 3) И написать свой смешной код. -------------------------------------------------------------- Итак поехали! ![]() Код на С++ , позволяющий в 3 раза повысить "случайность" генератора случайных чисел: Код RANDOM = (rand() + rand() + rand()) / 3;
-------------------- |
|
|
![]()
Сообщение
#2
|
|
![]() 😸🧡✊✌️ Сообщений: 16 400 Спасибо сказали: 3241 раз ![]() |
В каком месте смеяться? Распределение Пуассона это смешно?
-------------------- Я слежу за тобой!
![]() ![]() Цитата Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел. Борис "Бонус" Репетур, "От винта!", выпуск 38. |
|
|
![]()
Сообщение
#3
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
Цитата В каком месте смеяться? Распределение Пуассона это смешно? Гаусса же, не? ЦПТ. И да, я таким кодом иногда пользуюсь, когда нужен быдлогаусс. //предлагаю участникам, которые пояснили, почему код на самом деле не смешной, постить несмешной код. Следующие участники обязаны проявить сочувствие и виртуально похлопать по плечу. Жуткое легаси, на которое я смотрю..боже мой, сколько же я на него смотрю и боюсь трогать. 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 = "Не выбран способ направления запроса"; } } } |
|
|
![]()
Сообщение
#4
|
|
![]() 😸🧡✊✌️ Сообщений: 16 400 Спасибо сказали: 3241 раз ![]() |
Гаусса же, не? Только три величины, маловато. Я мог ещё с биномиальным попутать, но, кажется, обошлось.
-------------------- Я слежу за тобой!
![]() ![]() Цитата Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел. Борис "Бонус" Репетур, "От винта!", выпуск 38. |
|
|
![]()
Сообщение
#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() -------------------- |
|
|
![]()
Сообщение
#6
|
|
![]() Разработчик Сообщений: 534 Спасибо сказали: 222 раза ![]() |
Цитата В каком месте смеяться? Распределение Пуассона это смешно? Гаусса же, не? ЦПТ. Ну да согласно центральной предельной теореме, итоговое распределение будет гораздо ближе к нормальному, чем к равномерному, так что никакого увеличения "случайности" в 3 раза не будет. -------------------- |
|
|
![]()
Сообщение
#7
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
Цитата Только три величины, маловато. Я мог ещё с биномиальным попутать, но, кажется, обошлось. Ну понятно, что с трех не получится (оно вообще-то еще и дискретное, и на ограниченном интервале) но вроде в пределе оно к нормальному распредению и приведет, не? (дяденька, я не настоящий специалист, я диплом на помойке нашел) |
|
|
![]()
Сообщение
#8
|
|
![]() Разработчик Сообщений: 534 Спасибо сказали: 222 раза ![]() |
И да, я таким кодом иногда пользуюсь, когда нужен быдлогаусс. //предлагаю участникам, которые пояснили, почему код на самом деле не смешной, постить несмешной код. Следующие участники обязаны проявить сочувствие и виртуально похлопать по плечу. ИМХО это будет Читтинг в игре. И постить надо смешной код потому, что так написано в правилах. А если участник не понял в чем смысл загадки надо скрывать ответ под спойлер. Вот Вы угадали про ЦПТ, но не поняли где надо смеяться поэтому надо было скрыть Ваш ответ под спойлер. ![]() 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 = "Не выбран способ направления запроса"; } } } Ну где загадка то? Как участники игры угадают в чем Шутка? Так много кода нисать ни надо. Надо написать самые смешные фрагменты и сопроводить их поянениями что этот код по замыслу программиста должен делать. И чтобы другие участники могли бы угадать почему это по Вашему мнению смешно. -------------------- |
|
|
![]()
Сообщение
#9
|
|
![]() Разработчик Сообщений: 534 Спасибо сказали: 222 раза ![]() |
Так ладно даю еще один пример. Может с второго раза правила игры станут более понятны
----------------------------- Проверка что число принадлежит интервалу от 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 -------------------- |
|
|
![]()
Сообщение
#10
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
Цитата Вот Вы угадали про ЦПТ, но не поняли где надо смеяться Понял я, понял, только не смешно. Нормальный рабочий код, имеющий ненулевую применимость. Даже здесь на форуме есть мой снипплет, который такое использует для смещенного рандома 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(' ', ','); где я лалка? |
|
|
![]() ![]()
Сообщение
#11
|
|
![]() Разработчик Сообщений: 534 Спасибо сказали: 222 раза ![]() |
Цитата Надо угадать почему это смешно. И написать свою Загадку со смешным кодом. АХАХАХАХАХА сравнение с каждым экземпляром вместо сравнения с >= && <= АХАХАХАХА окау, попустило а вот это уже мой код (типа, получаем склеенные имена всех выделенных полей чекбокса) Код string sending_methods = RadioButtonListSendingMethod.Items.Cast<ListItem>() .Where(it => it.Selected == true) .Select(it => it.Text) .Aggregate("", (kernel, it) => kernel + ", " + it) .Trim(' ', ','); где я лалка? Отлично! ![]() ![]() Ну что, Дорогие игроки, кто сможет разгадать ![]() ![]() ![]() ![]() -------------------- |
|
|
![]()
Сообщение
#12
|
|
![]() Зануда Сообщений: 2 237 Спасибо сказали: 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. Почему? |
|
|
![]()
Сообщение
#13
|
|
![]() Разработчик Сообщений: 534 Спасибо сказали: 222 раза ![]() |
Цитата Честно, без знания библиотеки языка нихера непонятно. То есть, я, скажем, могу загуглить значение метода, но будет ли это по правилам? ВНИМАНИЕ Пояснение: Гуглить правилами НЕ запрещается! -------------------- |
|
|
![]()
Сообщение
#14
|
|
![]() Разработчик Сообщений: 534 Спасибо сказали: 222 раза ![]() |
При запуске выдаёт очень странную ошибку TypeError: Cannot read property 'forEach' of undefined. Почему? А почему странную? ИМХО Странно скорей вот это - ([]).forEach.call() - че это вообще такое? -------------------- |
|
|
![]()
Сообщение
#15
|
|
![]() Зануда Сообщений: 2 237 Спасибо сказали: 2894 раза ![]() |
[] - объявление пустого массива, круглые скобки - как обычно круглые скобки.
То есть, мы объявляем массив и сразу же вызываем метод forEach (который есть у всех массивов) |
|
|
![]()
Сообщение
#16
|
|
![]() Разработчик Сообщений: 534 Спасибо сказали: 222 раза ![]() |
[] - объявление пустого массива, круглые скобки - как обычно круглые скобки. То есть, мы объявляем массив и сразу же вызываем метод forEach (который есть у всех массивов) Странно что по запросу ([]).forEach в Google ничего нет По запросу [].forEach есть много чего, а по ([]).forEach ни одного совпадения не находит Может в этом и есть смысл шутки ? -------------------- |
|
|
![]()
Сообщение
#17
|
|
Immortal Сообщений: 2 459 Спасибо сказали: 3617 раз ![]() |
Цитата где я лалка? Cast<ListItem> - упадет если туда накидали, что-то другое, по-моему элементы могут быть любого типа - надо OfType() it.Selected == true - оно понятно, что it.Selected достаточно Хотя это чекбоксы там может быть три состояния, но тогда тоже лучше явно это написать, а не то глаз цепляется. "", (kernel, it) => kernel + ", " + it - оставит запятую вначале строки к тому же есть string.Join .Trim(' ', ','); - как бы в предыдущем случае добавили разделителей, а теперь все убрали, почему сразу не склеить строки. Итого задача склейки еще и решена не верно, так как если в тексте элементов встречались запятые и пробелы, они тоже будут съедены. Все нашел? |
|
|
![]()
Сообщение
#18
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
Цитата Возможно, разгадка между строками 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<> ); |
|
|
![]()
Сообщение
#19
|
|
Immortal Сообщений: 2 459 Спасибо сказали: 3617 раз ![]() |
Цитата Говнокод, говорите? Окей, вот вам древний баян на JS, я тоже из-за него колено прострелил однажды: Простой тест показал, что дело в отсутствии точки с запятой, после объявления функции hello. Почему так? Ну скорее всего ([]) расценивается как попытка вызвать функцию с передачей пустого массива с вызовом foreach у результата, хотя с этим нестрогим синтаксисом JS черт ногу сломит. |
|
|
![]()
Сообщение
#20
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
Цитата Cast<ListItem> - упадет если туда накидали, что-то другое, по-моему элементы могут быть любого типа - надо OfType() Не могут вроде, но замечание хорошее.Цитата оно понятно, что it.Selected достаточно а вот это я был отбитый явно. С другой стороны, наверное, я решил все же написать явно то, что хочется, а то линка и так, эм, альтернативно читаема, и от it.Selected без указания типа рядом глаза могут слегка заслезиться. Да, пожалуй, оставлю так. Цитата так как если в тексте элементов встречались запятые и пробелы, они тоже будут съедены. их там быть не может, значения фиксированные но естественно, так делать не стоит ..не знаю, хорошо или плохо, что мне тогда не пришла в голову замечательная идея про Substring |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 5 August 2025 - 13:18 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|