- 1
- 2
- 3
- 4
- 5
ТекЧас = Строка(Час(Дата2));
ТекЧас = Прав("00" + ТекЧас, 2);
ТекМин = Строка(Минута(Дата2));
ТекМин = Прав("00" + ТекМин, 2);
ТекВремя = ТекЧас + ":" + ТекМин;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
ТекЧас = Строка(Час(Дата2));
ТекЧас = Прав("00" + ТекЧас, 2);
ТекМин = Строка(Минута(Дата2));
ТекМин = Прав("00" + ТекМин, 2);
ТекВремя = ТекЧас + ":" + ТекМин;
Это способ получить время в формате "чч:мм" из даты и времени (переменная Дата2).
Заменяется этим:
ТекВремя = Формат(Дата2, "ДФ=hh:mm");
0
https://www.theverge.com/2018/12/4/18125238/microsoft-chrome-browser-windows-10-edge-chromium
Chromium победил
+1
// HooksList.h
#define PPCAT_NX(A, B) A ## B
#define PPCAT(A, B) PPCAT_NX(A, B)
#ifdef HOOKS_DEFS
using namespace NtStructs;
#define API_HOOK_DEF(module_name, hook_name, return_type, enabled, ...) \
typedef return_type(WINAPI *PPCAT(hook_name, _ptr))(__VA_ARGS__); \
return_type WINAPI PPCAT(hook_name, _hook)(__VA_ARGS__); \
extern PPCAT(hook_name, _ptr) PPCAT(hook_name, _orig);
#elif defined(HOOKS_LIST)
#define API_HOOK_DEF(module_name, hook_name, return_type, enabled, ...) \
{module_name, #hook_name, (LPVOID)PPCAT(hook_name, _hook), (LPVOID*)&PPCAT(hook_name, _orig), enabled},
#elif defined(HOOKS_TYPES_DEF)
using namespace NtStructs;
#define API_HOOK_DEF(module_name, hook_name, return_type, enabled, ...) \
typedef return_type(WINAPI *PPCAT(hook_name, _ptr))(__VA_ARGS__); \
return_type WINAPI PPCAT(hook_name, _hook)(__VA_ARGS__);
#elif defined(ORIGINAL_FUNCTIONS_TABLE_DEF)
#define API_HOOK_DEF(module_name, hook_name, return_type, enabled, ...) \
PPCAT(hook_name, _ptr) hook_name;
#elif defined(ORIGINAL_FUNCTIONS_TABLE_FILL)
#define API_HOOK_DEF(module_name, hook_name, return_type, enabled, ...) \
(ORIGINAL_FUNCTIONS_TABLE_NAME).hook_name = PPCAT(hook_name, _orig);
#else
#define API_HOOK_DEF(...)
#endif
// NtCreateFile
API_HOOK_DEF(L"ntdll", NtCreateFile, NTSTATUS, true,
PHANDLE FileHandle,
ACCESS_MASK DesiredAccess,
POBJECT_ATTRIBUTES ObjectAttributes,
PIO_STATUS_BLOCK IoStatusBlock,
PLARGE_INTEGER AllocationSize,
ULONG FileAttributes,
ULONG ShareAccess,
ULONG CreateDisposition,
ULONG CreateOptions,
PVOID EaBuffer,
ULONG EaLength)
// NtDeleteFile
API_HOOK_DEF(L"ntdll", NtDeleteFile, NTSTATUS, true,
POBJECT_ATTRIBUTES ObjectAttributes)
// И так далее
// В .cpp:
static HookEntry hookEntries[] = {
#define HOOKS_LIST
#include "HooksList.h"
#undef HOOKS_LIST
};
// ...
static OriginalFunctions originalFuncsTable;
#define ORIGINAL_FUNCTIONS_TABLE_FILL 1
#define ORIGINAL_FUNCTIONS_TABLE_NAME originalFuncsTable
#include "HooksList.h"
#undef ORIGINAL_FUNCTIONS_TABLE_NAME
#undef ORIGINAL_FUNCTIONS_TABLE_FILL
Мокросы!..
−4
начало пхп прог уннамед
подключить "пхп модуль 1.0"
доллар целое а = 4
доллар целое б = 2
печать сум доллар а + доллар б 2
помолиться perl
конец пхп прог уннамед
0
#include "pch.h"
#include <iostream>
using namespace std;
void p(int a[], int &h )
{
int i = 0;
int max = 0;
int counter = 1;
while (counter < h)
{
if (a[counter] > a[max])
{
max = counter;
}
counter = counter + 1;
}
int min = 0;
int counter2 = 1;
while (counter < h)
{
if (a[counter] < a[min])
{
min = counter;
}
counter = counter + 1;
}
int kol, kol2;
if (max > min)
{
if (max != min)
{
kol = max - min - 1;
i = min + 1;
cout << "Kolichestvo elementov mezdu imin i imax: " << kol << endl;
}
else
{
cout << "Kolichestvo elementov mezdu imin i imax: 0" << endl;
}
}
else
{
if (max != min)
{
kol2 = min - max - 1;
i = max + 1;
cout << "Kolichestvo elementov mezdu imin i imax: " << kol2 << endl;
}
else
{
cout << "Kolichestvo elementov mezdu imin i imax: 0" << endl;
}
}
int sum = 0;
while (i < max)
{
sum = sum + a[i];
i++;
}
cout << "Summa elementov mezdu imin i imax: " << sum << endl;
}
int main()
{
int h;
cout << "Vvedite razmer massiva: ";
cin >> h;
int *a = new int[h];
for (int i = 0; i < h; i++)
cin >> a[i];
p(a, h);
delete[] a;
return 0;
}
Увековеченный Говнокод Нама, моего друга из Вьетнама (УГК)
+1
export function doFilters(global, value) {
let filterListGeo, filterListStatus
const timeLife = global.selectedFilters.ttl // Функция настройки параметров фильтра. По каждому полю проходит проверка: либо фильтр отсутсвует, либо его настройки соовтетсвуют пользовательским.
const timeStart = global.selectedFilters.tts
const rate = global.selectedFilters.startRate
const shippingDate = new Date(formatDate(value.dateFrom, 'MM.DD.YYYY'))
const unloadDate = new Date(formatDate(value.dateTo, 'MM.DD.YYYY'))
const shippingDateFrom = new Date(global.dateFromInterval[0])
const shippingDateTo = new Date(global.dateFromInterval[1])
const unloadDateFrom = new Date(global.dateToInterval[0])
const unloadDateTo = new Date(global.dateToInterval[1])
if (global.strainer) {
filterListGeo = global.strainer.geozoneFrom
filterListStatus = global.strainer.status
}
return ((!global.selectedFilters) || (!timeLife) || (!timeLife.from && !timeLife.to) || (value.ttl >= timeLife.from && value.ttl < timeLife.to) || (!timeLife.to && value.ttl > timeLife.from)) &&
((!global.selectedFilters) || (!timeStart) || (!timeStart.from && !timeStart.to) || (value.ttl >= timeStart.from && value.ttl < timeStart.to) || (!timeStart.to && value.ttl > timeStart.from)) &&
((!global.orderId) || (!global.orderId.length || String(value.orderId).substr(0, global.orderId.length) === global.orderId)) &&
((!rate.from && !rate.to) || (value.startRate >= rate.from && value.startRate <= rate.to)) &&
((!filterListGeo) || (filterListGeo.every(item => !item.checked)) || (filterListGeo.find(item => item.name === value.geozoneFrom).checked)) &&
((!filterListStatus) || (filterListStatus.every(item => !item.checked)) || (filterListStatus.find(item => item.name === value.status).checked)) &&
((!global.dateFromInterval.length) || (shippingDate >= shippingDateFrom && shippingDate <= shippingDateTo)) &&
((!global.dateToInterval.length) || (unloadDate >= unloadDateFrom && unloadDate <= unloadDateTo))
}
Функция настройки параметров фильтра. По каждому полю проходит проверка: либо фильтр отсутсвует, либо его настройки соовтетсвуют пользовательским.
+3
[ '\uD83D\uDC14', '\uD83E\uDD5A' ].sort()
Unicode порешал
https://twitter.com/aBagorn/status/1051286652663025664
Оригинал не влез, ибо:
Application was halted by an exception.
Debug-mode is off.
0
class MyClass
{
public:
MyClass() {};
MyClass(const MyClass & M1) {
MyClass * T = this;
delete this;
T = new MyClass(M1);
}
~MyClass() {};
private:
};
int main(int argc, char *argv[])
{
MyClass A1;
MyClass *B=new MyClass(A1);
}
ОНО РАБОТАЕТ!...вечно правда...НО ПОЧЕМУ ЭТА ТВАРЬ РАБОТАЕТ??? какого можно удалять память... ещё не выделенную... если кто мне объяснит, я буду счастлив (ах да код появился при решении одной забавной задачки, что произойдёт с конструктором копирования при удалении указателя на свой же экземпляр класса)
0
private static readonly ConcurrentDictionary<Expression, object> CachedFunctions;
public static Func<TEntity, bool> AsFunc<TEntity>(this object entity, Expression<Func<TEntity, bool>> expr)
where TEntity : class, IEntity
{
//@see http://sergeyteplyakov.blogspot.ru/2015/06/lazy-trick-with-concurrentdictionary.html
return (Func<TEntity, bool>)CachedFunctions.GetOrAdd(expr, id => new Lazy<object>(
() => CachedFunctions.GetOrAdd(id, expr.Compile())));
}
Вот так хорошая идея ломается о кривую реализацию. Вместо того чтобы сохранить в кэш требуемый тип, сохраняем туда Lazy, возвращающий себя же :)
+2
private int SortWObyAD(WorkOrderShort wo1, WorkOrderShort wo2)
{
if (wo1.AD == wo2.AD)
{
return 0;
}
else if (wo1.AD > wo2.AD)
{
return 1;
}
else
{
return -1;
}
}
Сразу 2 достоинства:
1) абсолютно не понятно, что такое AD;
2) ах да, все это можно было бы заменить одной строкой "return wo1.AD - wo2.AD", т.к. все это будет использоваться в одной из стандартных функций сортировки