- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
&НаКлиенте
Процедура НастройкаВидимости()
НастройкаВидимости();
КонецПроцедуры
&НаКлиенте
Процедура ВидЗаявкиПриИзменении(Элемент)
НастройкаВидимости();
КонецПроцедуры
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
&НаКлиенте
Процедура НастройкаВидимости()
НастройкаВидимости();
КонецПроцедуры
&НаКлиенте
Процедура ВидЗаявкиПриИзменении(Элемент)
НастройкаВидимости();
КонецПроцедуры
Когда отвлекли телефонным звонком, а потом сидишь полчаса и думаешь почему при выборе значения на форме в поле "Вид заявки" 1ска крашиться)))
+1
Конструктор по умолчанию?
Не, не слышали.
Рефлексией итерируемся по свойствам и вызываем функцию инициализации полей ))))))))))))))
+1
СТРЗАМЕНИТЬ(СОКРЛ(СТРЗАМЕНИТЬ(уатПутевойЛист.Номер, "0", " ")), " ", "0") КАК НомерПЛ,
Удаляет нули в номере документа для вывода на печатную форму
+1
/**
* @param string $login
* @return User
* @throws GuzzleException
*/
public function getExternalUser(string $login):FreeIpaUser{
return $this->UserFactory->createUser($login,$this->getUser($login));
}
−5
Борманд! Ты вернулся!
0
public static void Mein()
{
Govno8_Main.random_0 = new Random();
Govno8_Main.doubleBufferForm_0 = new Govno8.DoubleBufferForm();
Govno8_Main.byte_0 = ArrayModule.Create<byte>(4096, 0);
Govno8_Main.ushort_0 = 512;
Govno8_Main.string_0 = string.Empty;
Govno8_Main.openFileDialog_0 = new OpenFileDialog();
Govno8.OpenBinDialog.Title = "Open Chip-8 ROM File";
Govno8.OpenBinDialog.Filter = "Chip-8 ROM Files|*.ch8|All files|*.*";
switch (Govno8.OpenBinDialog.ShowDialog())
{
case DialogResult.OK:
{
byte[] array = File.ReadAllBytes(Govno8.OpenBinDialog.FileName);
if (array.Length != 0 && array.Length <= 3583)
{
Govno8.RomName = Govno8.OpenBinDialog.FileName;
array.CopyTo(Govno8.Memory, (int)Govno8.PC);
}
else
{
MessageBox.Show("Invalid ROM file", "FATAL ERROR", MessageBoxButtons.OK, MessageBoxIcon.Hand);
Environment.Exit(1);
}
break;
}
default:
Environment.Exit(1);
break;
}
Govno8_Main.byte_1 = new byte[]
{
240, 144, 144, 144, 240, 32, 96, 32, 32, 112,
240, 16, 240, 128, 240, 240, 16, 240, 16, 240,
144, 144, 240, 16, 16, 240, 128, 240, 16, 240,
240, 128, 240, 144, 240, 240, 16, 32, 64, 64,
240, 144, 240, 144, 240, 240, 144, 240, 16, 240,
240, 144, 240, 144, 144, 224, 144, 224, 144, 224,
240, 128, 128, 128, 240, 224, 144, 144, 144, 224,
240, 128, 240, 128, 240, 240, 128, 240, 128, 128
};
Govno8.Fontset.CopyTo(Govno8.Memory, 0);
Govno8_Main.ushort_1 = 0;
Govno8_Main.byte_2 = ArrayModule.Create<byte>(16, 0);
Govno8_Main.ushort_2 = 0;
Govno8_Main.ushort_3 = ArrayModule.Create<ushort>(16, 0);
Govno8_Main.ushort_4 = 0;
Govno8_Main.byte_3 = ArrayModule.Create<byte>(16, 0);
Govno8_Main.byte_4 = ArrayModule.Create<byte>(2048, 0);
Govno8_Main.byte_5 = 0;
Govno8_Main.byte_6 = 0;
Govno8_Main.dateTime_0 = DateTime.Now;
Govno8_Main.dateTime_1 = DateTime.Now;
Govno8_Main.fsharpAsync_0 = ExtraTopLevelOperators.DefaultAsyncBuilder.Delay<Unit>(Govno8.Class6.class6_0);
Govno8.Form.ClientSize = new Size(1024, 512);
CommonExtensions.AddToObservable<EventArgs>(Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers.CreateEvent<EventHandler, EventArgs>(Govno8.Class7.class7_0, Govno8.Class8.class8_0, Govno8.Class10.class10_0), Govno8.Class11.class11_0);
CommonExtensions.AddToObservable<PaintEventArgs>(Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers.CreateEvent<PaintEventHandler, PaintEventArgs>(Govno8.Class12.class12_0, Govno8.Class13.class13_0, Govno8.Class15.class15_0), Govno8.Class16.class16_0);
CommonExtensions.AddToObservable<KeyEventArgs>(Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers.CreateEvent<KeyEventHandler, KeyEventArgs>(Govno8.Class17.class17_0, Govno8.Class18.class18_0, Govno8.Class20.class20_0), Govno8.Class21.class21_0);
CommonExtensions.AddToObservable<KeyEventArgs>(Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers.CreateEvent<KeyEventHandler, KeyEventArgs>(Govno8.Class22.class22_0, Govno8.Class23.class23_0, Govno8.Class25.class25_0), Govno8.Class26.class26_0);
Govno8.Form.Text = string.Format("{0} - Chip-F Emulator", Govno8.RomName);
Govno8.Form.MaximizeBox = false;
Govno8.Form.FormBorderStyle = FormBorderStyle.FixedSingle;
Application.Run(Govno8.Form);
}
Три раза переваренный кал...
Скомпилен F# код, затем декомпиленный в C# и подправленный чутка)))
А, ну и ещё деобфускатором прошелся прикола ради, перед декомпиляцией.
P.S. Кстати капча ниже содержала 666... Как иронично...
+2
#include <stddef.h>
#include <stdio.h>
#include <utility>
#define PLACEHOLDER char x[0];
#define FORCEINLINE
template <typename T, typename... Ts> struct MyTuple : MyTuple<Ts...>
{
FORCEINLINE constexpr MyTuple(T&& t, Ts&&... ts)
: value(std::move(t))
, MyTuple<Ts...> (std::forward<Ts>(ts)...){}
FORCEINLINE explicit MyTuple(const MyTuple<T,Ts...> &other) = default;
FORCEINLINE MyTuple(MyTuple<T,Ts...> &&other)
: MyTuple<Ts...>(std::forward<MyTuple<Ts...>>(other)),
value(std::move(other.value)){}
FORCEINLINE constexpr int size() const { return 1 + MyTuple<Ts...>::size(); }
constexpr static int sz = 1 + MyTuple<Ts...>::sz;
FORCEINLINE MyTuple<Ts...> &next(){return *static_cast<MyTuple<Ts...>*>(this);}
using tnext = MyTuple<Ts...>;
T value;
FORCEINLINE ~MyTuple() {}
constexpr static bool isitem = false;
};
struct MyTupleEmpty
{
PLACEHOLDER
FORCEINLINE constexpr int size() const { return 0; }
static constexpr int sz = 0;
~MyTupleEmpty() {}
constexpr static bool isitem = false;
};
template <typename T> struct MyTuple<T> {
FORCEINLINE MyTuple(T&& t) : value(std::move(t)){}
FORCEINLINE explicit MyTuple(const MyTuple<T> &other) = default;
FORCEINLINE MyTuple(MyTuple<T> &&other): value(std::move(other.value)){}
FORCEINLINE MyTupleEmpty &next() const{
static MyTupleEmpty empty;
return empty;
}
FORCEINLINE constexpr int size() const { return 1; }
constexpr static int sz = 1;
using tnext =MyTupleEmpty;
T value;
FORCEINLINE ~MyTuple() {}
constexpr static bool isitem = false;
};
template <class T>struct unwrap_refwrapper{using type = T;};
template <class T>struct unwrap_refwrapper<std::reference_wrapper<T>>{using type = T&;};
template <class T> using unwrap_decay_t = typename unwrap_refwrapper<typename std::decay<T>::type>::type;
template<typename... Ts>
static FORCEINLINE MyTuple<unwrap_decay_t<Ts>...> MakeTuple(Ts&&... args)
{
return MyTuple<unwrap_decay_t<Ts>...>(std::forward<Ts>(args)...);
}
struct i3{
auto setProp(auto x, i3 t = *(i3*)0)
{
typename decltype(x(*this))::tp c;
return c;
}
using tp = i3;
};
#define s(x,y) setProp([](auto c){struct xxx: decltype(c)::tp{decltype(y) x = y;using tp = xxx; decltype([] (auto xx, xxx &t = *(xxx*)0)\
{\
typename decltype(xx(t))::tp c;\
return c;\
}) setProp;auto BeginChildren(){return *this;}} d;return d;})
#define c(...) BeginChildren(),MakeTuple(__VA_ARGS__)
#define i(...) i3()
void func2()
{
auto tp = MakeTuple(
i(Window)
.s(width,10)
.s(height,20)
.c(
i(Item),
i(Item2)
.s(property1,10.0f)
)
);
printf("%d %d %f\n",tp.value.height,tp.value.width, tp.next().value.next().value.property1);
}
int main()
{
func2();
}
qml-like структура в compile time
Стандартизаторы всё пытались запретить шаблоны в локальных классах, да не вышло - понаоставляли дыр в лямбдах и decltype.
Если добавить -fpermissive, то gcc сожрёт даже с constexpr
+2
unsigned mul(unsigned a, unsigned b)
{
char arr[a][b];
return &arr[a][b] - (char *)arr;
}
Умножение через VLA
+1
Из-за тебя ушел я, %username%!
Ня, пока.
+5
// Heap memory allocate function (must not be used!)
caddr_t _sbrk(int incr) {
<...>
void some_bastard_called_sbrk();
some_bastard_called_sbrk(); // Produce linker error in case it is used
}
_ATTRIBUTE ((__format__ (__printf__, 1, 2)))
int printf (const char *__restrict format, ...)
{
<маленький трехколесный велосипед>
}
int putchar(int c)
{
<...>
}
int puts(const char *s)
{
<...>
}
_ATTRIBUTE ((__format__ (__printf__, 2, 3)))
int sprintf (char *__restrict s, const char *__restrict format, ...)
{
<...>
}
STM32. Я просто хочу использовать printf для вывода в последовательный порт и не течь. Ведь для этого нужно только реализовать int _write(int file, char *data, int len) и всё. Ой, а почему иногда программа падает где-то в кишках рантайма?
Может, стек переполняется? Да нет, проверил, значения в норме...
Просто стандартная библиотека от ST - это не курсовая ардуинщика, тут все системно, хендлы потоков, дескрипторы устройств и управляющие структуры. При первом обращении printf (и sprintf тоже!) выделяет себе в куче около 400 байт. Замечательное решение, помогающее сэкономить память, если мы не используем стандартный вывод! А куча тут - это просто последовательно заполняемая область памяти, размеры которой задаются в linker script (я вообще 0 указал, я ведь не использую malloc). Проверять выход за пределы кучи мы, конечно, не будем - зачем, когда рядом такая замечательная, никому не нужная область стека.
Да, и если забыть отключить буферизацию setvbuf(stdin/stdout/stderr, NULL, _IONBF, 0); , то он выделит не 400 байт, а килобайт (на контроллере с 8K RAM).
В общем, ах, оставьте меня, сам все напишу.
Только надо еще putchar и puts реализовать, а то компилятор любит printf'ы оптимизировать. И не забыть, что puts добавляет перевод строки. Уф, вроде все.