- 1
- 2
- 3
- 4
- 5
function main() {
print("testArrayFoEach");
[1, 2, 3].forEach(x => print(x))
print("done.");
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
function main() {
print("testArrayFoEach");
[1, 2, 3].forEach(x => print(x))
print("done.");
}
вот... проимплементил ненужную никому хрень :) чето я устал дампики постить.. и так поймете все что надо :)
−4
Функция ПолучитьОсновногоБухгалтераПоОрганизации(организация) Экспорт
текстЗапроса = "
|ВЫБРАТЬ ПЕРВЫЕ 1
| ПользовательБухгалтер
|ИЗ
| РегистрСведений.СКАНИЯ_ОтветственныеБухгалтерыПоОрганизациям
|ГДЕ
| Организация = &организация
| И Основной = ИСТИНА
|";
запрос = Новый Запрос(текстЗапроса);
запрос.УстановитьПараметр("организация", организация);
выборка = запрос.Выполнить().Выбрать();
Если выборка.Следующий() Тогда
возврат выборка.ПользовательБухгалтер;
Иначе
возврат Справочники.Пользователи.ПустаяСсылка();
КонецЕсли;
КонецФункции
0
with ZeoDataModule.TmpZQuery do
begin
ZeoDataModule.TmpZQuery.Close;
ZeoDataModule.TmpZQuery.SQL.Clear;
//ZeoDataModule.TmpZQuery.SQL.Add(ZeoDataModule.zqryOstatki.SQL.Text);
ZeoDataModule.TmpZQuery.SQL.Add(TZQuery(dbgrdh1.DataSource.DataSet).SQL.Text);
// ZeoDataModule.Add ('select *,''0.00'' as str_cen from material.ostatki_by_skladid(:skladid,:dt) ');
ZeoDataModule.TmpZQuery.SQL.Add (' and tovarid in(');
for i:=0 to OstatkiTovarList.Count-1 do
begin
ZeoDataModule.TmpZQuery.SQL.Add(ostatkiTovarList[i]);
if i< OstatkiTovarList.Count-1 then
ZeoDataModule.TmpZQuery.SQL.Add(',');
end;
ZeoDataModule.TmpZQuery.SQL.Add(')');
ZeoDataModule.TmpZQuery.SQL.Add('order by nt');
//-------
zQ_sv:= DataModulePrint.frxDBDatasetOstatki.DataSet as TZQuery; // zqryOstatki
//--------
ZeoDataModule.zqrySumBySS.Close;
// ZeoDataModule.zqrySumBySS.SQL.Add('select :dt,:skladid from material.globalvalues where 1=2'); // пустой набор
ZeoDataModule.zqrySumBySS.ParamByName('skladid').Value:=10000; // несуществующий склад (пустой набор)
ZeoDataModule.zqrySumBySS.Open;
ZeoDataModule.TmpZQuery.ParamByName('skladid').Value:=zQ_sv.ParamByName('skladid').Value;
ZeoDataModule.TmpZQuery.ParamByName('dt').AsDate:=zQ_sv.ParamByName('dt').AsDate;
ZeoDataModule.TmpZQuery.Open;
DataModulePrint.frxDBDatasetOstatki.DataSet := ZeoDataModule.TmpZQuery;
DataModulePrint.frxDBDatasetSumBySS.DataSet := ZeoDataModule.zqrySumBySS;
if TypeVed=USUAL_OST then
begin
if Material.TypeSkladId = 4 then
DataModulePrint.ShowReport('ostatki.fr3')
else
DataModulePrint.ShowReport('ostatki.fr3')
end
else if TypeVed = NO_MOVE_OST then
DataModulePrint.ShowReport('ostatki_no_move.fr3');
ZeoDataModule.TmpZQuery.Close;
DataModulePrint.frxDBDatasetOstatki.DataSet := zQ_sv;
ZeoDataModule.zqrySumBySS.Close;
ZeoDataModule.zqrySumBySS.ParamByName('skladid').Value:=Material.Skladid;
// ZeoDataModule.zqrySumBySS.SQL.Clear();
// ZeoDataModule.zqrySumBySS.SQL.Add(sqlSum_sv);
ZeoDataModule.zqrySumBySS.Open;
end;
ZeoDataModule.TmpZQuery.SQL.Add(TZQuery( dbgrdh1.DataSource.DataSet).SQL.Text); - особенно понравилось. Молчу про "with".
0
ttt as (
select o.tovarid, o.edizmerid, o.cena,
o.vos, o.cena*o.vos as sum_vos,
coalesce(p.sum_kl,0.0) as _prih_kl, coalesce( p.sum_prih,0.0) as sum_prih,
coalesce( p.sum_prih_docs,0.0) as sum_prih_docs,
coalesce(r.sum_kl,0.0) as _rash_kl, coalesce(r.sum_rash,0.0) as sum_rash ,
coalesce(r.sum_rash_docs,0.0) as sum_rash_docs ,
coalesce(rd.sum_kl,0.0) as _rash_doc_kl, coalesce(rd.sum_rash_doc,0.0) as sum_rash_doc,
coalesce(rd.sum_rash_doc_docs, 0.0) as sum_rash_doc_docs ,
-- coalesce(rs.sum_kl,0.0) as _rash_storno_kl, coalesce(rs.sum_rash,0.0) as sum_rash_storno ,
o.ostid, o.ss, o.sb
from ost_ o
left join prih p on (o.tovarid = p.tovarid
and o.edizmerid=p.edizmerid
and o.ss = p.ss
and o.sb = p.sb)
left join rash r on (o.tovarid =r.tovarid
and o.edizmerid=r.edizmerid
and o.ss = r.ss
and o.sb = r.sb)
left join rash_doc rd on (o.tovarid =rd.tovarid
and o.edizmerid=rd.edizmerid
and o.ss = rd.ss_
and o.sb = rd.sb_)
-- left join rash_old_072018 ro on (o.tovarid =ro.tovarid
-- and o.edizmerid=ro.edizmerid)
-- 08.2018 left join rash_storno rs on (o.tovarid =rs.tovarid and o.edizmerid=rs.edizmerid)
-- where o.vos+p.sum_kl>0
),
tt as (
select *, ttt.vos + ttt._prih_kl - ttt._rash_kl as ost_fact ,
-- case when (ttt.vos+ttt._prih_kl<>0 ) then
-- ( ttt.sum_vos+ttt.sum_prih -ttt.sum_rash_storno)/(ttt.vos+ttt._prih_kl-ttt._rash_storno_kl)
-- else ttt.cena end as new_cen from ttt
-- case when (ttt.vos+ttt._prih_kl+ttt._rash_storno_kl-ttt._rash_kl-ttt._rash_doc_kl<>0 ) then
-- ( ttt.sum_vos+ttt.sum_prih +ttt.sum_rash_storno-ttt.sum_rash-ttt.sum_rash_doc)/(ttt.vos+ttt._prih_kl-ttt._rash_storno_kl-ttt._rash_kl-ttt._rash_doc_kl)
case when (ttt.vos+ttt._prih_kl-ttt._rash_kl-ttt._rash_doc_kl<>0 ) then
( ttt.sum_vos+ttt.sum_prih -ttt.sum_rash-ttt.sum_rash_doc)/(ttt.vos+ttt._prih_kl-ttt._rash_kl-ttt._rash_doc_kl)
else ttt.cena end as new_cen
from ttt
)
select tt.tovarid,
tt.cena,
tt.edizmerid,
t.kt,
t.nt,
tt.vos,
round(sum_vos,2),
u.name_u,
tt._prih_kl as _prih_kl,
-- round( tt.sum_prih,2) as sum_prih ,
tt.sum_prih_docs as sum_prih ,
tt._rash_kl as _rash_kl,
-- round( tt.sum_rash,2) as sum_rash ,
tt.sum_rash_docs as sum_rash ,
tt.ost_fact,
-- round(tt.ost_fact* tt.new_cen,5),
round(tt.ost_fact* tt.new_cen,2),
t.priz,
round(tt.new_cen,5),
tt.ostid,
tt._rash_doc_kl,
-- tt.sum_rash_doc,
tt.sum_rash_doc_docs,
t.dk_2010,
coalesce( tt.ss, '0'),
coalesce( tt.sb, '0')
from tt
left join material.tovar t on (t.tovarid=tt.tovarid)
left join nsi.units u on (u.id=tt.edizmerid);
Называется найди разницу между ttt, tt и t
0
int main(int argc, char **argv) {
void *vp;
const char *version_str;
if (argc != 2) {
fprintf(stderr, "usage: %s <version>\n", argv[0]);
exit(1);
}
vp = malloc(strlen(argv[1]) + 1);
strcpy(vp, argv[1]);
version_str = check_header(vp);
free(vp);
printf("0.%s\n", version_str);
return 0;
}
Там Беллард с научил вореции программировать на Сишке
https://textsynth.com/playground.html
0
#define mbarrier() asm volatile ("":::"memory")
+1
// тред лоулевел-хаков #1
#include <stdio.h>
#include <stdlib.h>
void hello(void)
{
puts("Hello!");
}
void goodbye(void)
{
puts("Goodbye!");
}
void set_sp_(void *p)
{
void *s[0];
s[0] = p;
}
void set_sp(void *p)
{
set_sp_((void*)p);
}
int main(void)
{
void *new_stack[1024] = {
[1019] = (void*)0,
[1020] = (void*)&hello,
[1021] = (void*)&goodbye,
[1022] = (void*)&exit
};
set_sp((void*)&new_stack[1019]);
return 0;
}
UB-ы, платформенно зависимый кот, битовая магия
всё сюда
|
|
\/
0
IT Оффтоп #144
#114: https://govnokod.ru/27659 https://govnokod.xyz/_27659
#115: https://govnokod.ru/27665 https://govnokod.xyz/_27665
#116: https://govnokod.ru/27671 https://govnokod.xyz/_27671
#117: https://govnokod.ru/27675 https://govnokod.xyz/_27675
#118: https://govnokod.ru/27685 https://govnokod.xyz/_27685
#119: https://govnokod.ru/27701 https://govnokod.xyz/_27701
#120: https://govnokod.ru/27703 https://govnokod.xyz/_27703
#121: https://govnokod.ru/27710 https://govnokod.xyz/_27710
#122: https://govnokod.ru/27728 https://govnokod.xyz/_27728
#123: https://govnokod.ru/27729 https://govnokod.xyz/_27729
#124: https://govnokod.ru/27730 https://govnokod.xyz/_27730
#125: https://govnokod.ru/27732 https://govnokod.xyz/_27732
#126: https://govnokod.ru/27733 https://govnokod.xyz/_27733
#127: https://govnokod.ru/27737 https://govnokod.xyz/_27737
#128: https://govnokod.ru/27742 https://govnokod.xyz/_27742
#129: https://govnokod.ru/27747 https://govnokod.xyz/_27747
#130: https://govnokod.ru/27755 https://govnokod.xyz/_27755
#131: https://govnokod.ru/27766 https://govnokod.xyz/_27766
#132: https://govnokod.ru/27790 https://govnokod.xyz/_27790
#133: https://govnokod.ru/27828 https://govnokod.xyz/_27828
#134: https://govnokod.ru/27834 https://govnokod.xyz/_27834
#135: https://govnokod.ru/27839 https://govnokod.xyz/_27839
#136: https://govnokod.ru/27845 https://govnokod.xyz/_27845
#137: https://govnokod.ru/27857 https://govnokod.xyz/_27857
#138: https://govnokod.ru/27867 https://govnokod.xyz/_27867
#139: https://govnokod.ru/27887 https://govnokod.xyz/_27887
#140: https://govnokod.ru/27900 https://govnokod.xyz/_27900
#141: https://govnokod.ru/27914 https://govnokod.xyz/_27914
#142: https://govnokod.ru/27942 https://govnokod.xyz/_27942
#143: https://govnokod.ru/27960 https://govnokod.xyz/_27960
0
#!/usr/bin/env python3
import subprocess as sp
lines_pipe = sp.Popen(('xinput', 'list'), stdout=sp.PIPE)
id_line = str(sp.check_output(('grep', 'Touchpad'), stdin=lines_pipe.stdout))
a = id_line.index("id=") + 3
b = a
while id_line[b] in set(list("0123456789")):
b += 1
id = id_line[a:b]
status_pipe = sp.Popen(('xinput', 'list-props', id), stdout=sp.PIPE)
sp.run(('xinput', ['enable', 'disable'][int(str(sp.check_output(('grep', 'Device Enabled'), stdin=status_pipe.stdout))[-4]=='1')], id))
Предыдущий прыщескрипт на bash соснул, так как захардкоженный "id", оказалось, иногда может меняться, поэтому скрипт был благополучно перенесён на "Python".
+1
#include <stdio.h>
#include <string.h>
int main()
{
char* lalka = "bagor";
if (0!=strcmp(lalka, "bagor // comment ")) {
puts("Kakoi gabor )))");
}
if (0!=strcmp(lalka, "bagor")){
puts("Pituz!");
}
return 0;
}
https://ideone.com/RiM3LX
#stdout
Kakoi gabor )))