-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
/// <summary>
/// перобразуем DateTime? в DateTime, если не получается, то возвращаем текущую дату
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
private DateTime DateTimeHelper(DateTime? date)
{
try
{
return (DateTime)date;
}
catch
{
return DateTime.Now;
}
}
reemind,
03 Мая 2024
-
+1
- 1
if ($text[2] == 'www.' or $text[2] == 'Www.' or $text[2] == 'wWw.' or $text[2] == 'wwW.' or $text[2] == 'WwW.' or $text[2] == 'WWw.' or $text[2] == 'wWW.' or $text[2] == 'WWW.')
Можно было так: if(strtolower($text[2]) == 'www.')
ququnta,
25 Марта 2024
-
+1
- 1
- 2
- 3
- 4
$tempname = '__temp__.apk';
copy($origname, $tempname);
exec('C:\Android\android-sdk\build-tools\34.0.0\aapt.exe dump badging ' . '"'.$tempname.'"', $output);
unlink($tempname);
Понадобилось по-быстрому наговнякать переименоватор apk-файлов. Решил метушню из манифеста вытянуть с помощью «aapt» из официальных «Android build tools». Оказалось, что «aapt» не может открыть файл, если его имя содержит символы за пределами базового ASCII. CHCP не помогает вообще никак.
При передаче в aapt имени в 866 выводится «asset... Asset path... is neither a directory nor file (type=1)», при передаче имени в других кодировках (1251, UTF-8) выводится сообщение «ziparchive... Invalid byte sequence». Так и не смог подобрать кодировку, в которой заработает.
Шёл 2024-й год.
nemyx,
04 Марта 2024
-
+1
- 1
React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
ISO,
18 Февраля 2024
-
+1
- 001
- 002
- 003
- 004
- 005
- 006
- 007
- 008
- 009
- 010
- 011
- 012
- 013
- 014
- 015
- 016
- 017
- 018
- 019
- 020
- 021
- 022
- 023
- 024
- 025
- 026
- 027
- 028
- 029
- 030
- 031
- 032
- 033
- 034
- 035
- 036
- 037
- 038
- 039
- 040
- 041
- 042
- 043
- 044
- 045
- 046
- 047
- 048
- 049
- 050
- 051
- 052
- 053
- 054
- 055
- 056
- 057
- 058
- 059
- 060
- 061
- 062
- 063
- 064
- 065
- 066
- 067
- 068
- 069
- 070
- 071
- 072
- 073
- 074
- 075
- 076
- 077
- 078
- 079
- 080
- 081
- 082
- 083
- 084
- 085
- 086
- 087
- 088
- 089
- 090
- 091
- 092
- 093
- 094
- 095
- 096
- 097
- 098
- 099
- 100
void text::draw()
{
CmdWinGUI::draw();
COORD temp = startCo; //Разный мусор
COORD tempEnd = startCo;
int16_t _al = 0;
int16_t _an = 0;
int16_t remain = 0;
uint8_t a = 0;
bool fullRow = 1; //Флаги, не изменять
bool alignPrepare = 0;
if (tableLine)
{
temp.Y = temp.Y + lineShift + sepShift;
}
if (!tableFormat)
{
if (alignSetting == ALIGN_C)
{
_al = sizeCo.X/2;
for (uint8_t a = 0;a < 0xFF;++a) //Измеряем длину текстового поля
{
if (textBuffer[a] == NULL)
break;
++remain;
}
temp.X=startCo.X+ _al-remain/2; //Корректируем курсор в соответствии с расчётами
if (temp.X < startCo.X) //Если предыдущие вычисления дали ошибку - выход за предел рамки слева
temp.X = startCo.X; //Корректируем
}
for (;;)
{
SetConsoleCursorPosition(hCon, temp);
if (textBuffer[a] == NULL)
break;
printf("%c", textBuffer[a]);
++temp.X;
++a;
if (temp.X == startCo.X + sizeCo.X - 1) //Проверяем достигло ли рамки, иначе обрываем цикл
break;
}
return;
}
for (uint8_t b = 0;b<=filledRows;++b)
{
if (!fullRow)
{
temp.X = tempEnd.X;
}
tempEnd.X += tableRowSize[b] - 1;
if (alignSetting == ALIGN_C)
{
--temp.X;
//Предварительные расчеты смещения
if (!alignPrepare)
{
for (SHORT a = temp.X;a < 0xFF;++a)
{
if (a == tempEnd.X) //Проверяем достигло ли рамки, иначе обрываем цикл
{
--_an;
break; //половина длины поля таблицы
}
++_an;
}
for (uint8_t a = 0;a < 0xFF;++a)
{
if (tableText[b][a] == NULL)
{
_al = a; //половина длины слова
break;
}
}
alignPrepare = 1; //Подымаем флаг готовности
}
//Коррекция положения курсора в соответствии с результатами блока предварительных расчётов
temp.X += abs(_an / 2) - abs(_al / 2);
_an = 0;
}for (;;){
SetConsoleCursorPosition(hCon, temp); //Ставим курсор в начало/середину/конец поля
if (tableText[b][a] == NULL)
{
fullRow = 0; //При окончании поля текста до заполнения поля снимаем флаг заполнения поля
break;
}
++temp.X;
if (temp.X == tempEnd.X) //Проверяем достигло ли рамки, иначе обрываем цикл
{
fullRow = 1; //При окончании поля в таблице до завершения поля текста прекращаем вывод и выходим из цикла
break;
}
printf("%c", tableText[b][a]);
++a;
}
a = 0;
alignPrepare = 0; //Сбрасываем флаг для следующей итерации
}
if (isChanged)
this->editFlagSwitch();
}
Рендер текста с учётом коллизии слева и справа
siclown,
30 Сентября 2023
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
#include "Windows.h"
void line::draw()
{
CmdWinGUI::draw();
uint8_t modB = 0; //modeByte
COORD tempSt = lineStart;
COORD tempEn = lineEnd;
SHORT dX = abs(lineEnd.X - lineStart.X);
SHORT dY = abs(lineEnd.Y - lineStart.Y);
SHORT sX = lineStart.X < lineEnd.X ? 1 : -1;
SHORT sY = lineStart.Y < lineEnd.Y ? 1 : -1;
SHORT dErr = dX - dY;
SHORT dErr2 = 0;
if (scan)
{
SetConsoleCursorPosition(hCon, lineStart);
for (uint8_t a = 0;a <= lineEnd.X-lineStart.X;++a)
{
modB = lineAtrBuffer[a];
SetConsoleTextAttribute(hCon, modB);
printf("%c", lineSymBuffer[a]);
}
if (isChanged)
this->editFlagSwitch();
return;
}
for (;;)
{
SetConsoleCursorPosition(hCon, tempSt);
printf("%c", lineSym);
if (tempSt.X == tempEn.X&&tempSt.Y == tempEn.Y)
break;
dErr2 = dErr * 2;
if (dErr2 > -dY)
{
dErr -= dY;
tempSt.X += sX;
}
if (dErr2 < dX)
{
dErr += dX;
tempSt.Y += sY;
}
}
if (isChanged)
this->editFlagSwitch();
}
Отрисовка произвольной графической линии в консоли
siclown,
30 Сентября 2023
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
import std.stdio;
interface A {
void M();
}
interface B : A {
final void M() {
writeln("BBBB");
}
}
class C : B {
}
void main() {
auto c = new C();
c.M();
}
а багры здесь тихие
> Error: class `C` interface function `void M()` is not implemented
Desktop,
20 Сентября 2023
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
using System;
using System.Linq;
namespace TheBestGenerator
{
class Symbols
{
protected const string Letters = "abcdefghijklmnopqrstuvwxyz";
protected const string Numbers = "0123456789";
protected const string DefaultSpecialSymbols = @"!#$%&*@\";
protected static Random rand = new Random();
}
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("Введите длину пароля:");
int Len = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(Generator.Password(Len));
}
}
}
class Generator: Symbols
{
static char[] Array_()
{
return (Numbers+Letters+Letters.ToUpper()+DefaultSpecialSymbols).ToCharArray();
}
static char[] Password_Symbols()
{
return Array_().OrderBy(Symbol => rand.Next()).ToArray();
}
public static string Password(int Len )
{
char[] password = Password_Symbols();
Array.Resize(ref password, Len);
return (string.Join("", password));
}
}
}
Генератор паролей. Говнокод с наследованием. Почти ничего не понимаю в нем, но "прогу" с ним написал.
utsutsbabyj,
22 Июля 2023
-
+1
- 1
Бесконечный оффтоп имени Борманда #18
#1: https://govnokod.ru/25864 https://govnokod.xyz/_25864
#2: https://govnokod.ru/25921 https://govnokod.xyz/_25921
#3: https://govnokod.ru/26544 https://govnokod.xyz/_26544
#4: https://govnokod.ru/26838 https://govnokod.xyz/_26838
#5: https://govnokod.ru/27625 https://govnokod.xyz/_27625
#6: https://govnokod.ru/27736 https://govnokod.xyz/_27736
#7: https://govnokod.ru/27739 https://govnokod.xyz/_27739
#8: https://govnokod.ru/27745 https://govnokod.xyz/_27745
#9: https://govnokod.ru/28307 https://govnokod.xyz/_28307
#10: https://govnokod.ru/28631 https://govnokod.xyz/_28631
#11: (vanished) https://govnokod.xyz/_28742
#12: (vanished) https://govnokod.xyz/_28752
#13: (vanished) https://govnokod.xyz/_28754
#14: https://govnokod.ru/28759 https://govnokod.xyz/_28759
#15: https://govnokod.ru/28765 https://govnokod.xyz/_28765
#16: (vanished) https://govnokod.xyz/_28818
#17: (vanished) https://govnokod.xyz/_28819
nepeKamHblu_nemyx,
16 Июля 2023
-
+1
admin,
15 Июля 2023