1. Список говнокодов пользователя just_nameless

    Всего: 8

  2. C# / Говнокод #13953

    +134

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    private void FormBackUpFlash_Load(object sender, EventArgs e)
      {
       DriveInfo[] allDrives = DriveInfo.GetDrives();
       foreach (DriveInfo d in allDrives)
       {
        if (d.DriveType == DriveType.Removable)
        {
         bool thisIsDisketa = false;
         if (d.Name.Contains("A:")) thisIsDisketa = true;
         if (d.Name.Contains("B:")) thisIsDisketa = true;
    
         if (thisIsDisketa)
          continue;
         else
          listBoxDevice.Items.Add(d);
        }
       }
       if (listBoxDevice.Items.Count > 0)
       {
        StatusLabel.ForeColor = Color.Blue;
        StatusLabel.Text = "Готово!";
        listBoxDevice.SelectedIndex = 0;
       }
       else
       {
        buttonWrite.Enabled = false;
        StatusLabel.ForeColor = Color.Red;
        StatusLabel.Text = "Подходящих устройств нет!";
       }
      }
    
      private void buttonWrite_Click(object sender, EventArgs e)
      {
       try
       {
        DriveInfo drv = (DriveInfo)listBoxDevice.SelectedItem;
        pathDst = Path.Combine(drv.Name, "PROJECTNAME_Backup");
        if (!Directory.Exists(Path.Combine(drv.Name, "PROJECTNAME_Backup")))
        {
         Directory.CreateDirectory(pathDst);
        }
        this.Cursor = Cursors.WaitCursor;
        DBMSSQL dbm = new DBMSSQL();
        int i;
        for (i = 0; i < 10; i++)
        {
         if (dbm.BackupDB(Path.Combine(Path.Combine(drv.Name, "PROJECTNAME_Backup"), "DataPROJECTNAMEDataContext.bak"), true))
         {
          MessageBox.Show("Резервная копия создана успешно!", "OK!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
          break;
         }
         Thread.Sleep(1000);
        }
        if (i == 10)
        {
         MessageBox.Show("Ошибка при создании резервной копии!!!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
       }
       catch (Exception e1)
       {
        MessageBox.Show(e1.Message + "\r\nЭкспорт отменен!");
        this.DialogResult = DialogResult.Cancel;
       }
       finally { this.Cursor = Cursors.Default; }
      }
    
      private void listBoxDevice_SelectedIndexChanged(object sender, EventArgs e)
      {
       try
       {
        DriveInfo drv = (DriveInfo)listBoxDevice.SelectedItem;
        labelSizeDevice.Text = drv.AvailableFreeSpace < 1000000000 ?
            string.Format("{0}MB", drv.AvailableFreeSpace / 1000000) :
            string.Format("{0:F2}GB", (float)drv.AvailableFreeSpace / 1000000000.0);
       }
       catch (Exception e1)
       {
        MessageBox.Show(e1.Message);
       }
      }

    Три в одном.
    Исключаем флоппи из списка дисков, 10 раз пытаемся создать бэкап и 1000000 байт в мегабайте.

    just_nameless, 15 Октября 2013

    Комментарии (21)
  3. C# / Говнокод #13941

    +129

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    #region Work with massive slovo
    
    public string sFileNameMassiveSlovar = "";
    public bool flChangeSlovo = false;
    public int nCountSavedSlovo { get; private set; }
    public int nCountAllSlovo { get; private set; }
    public int nCountAddSlovo { get; private set; }
    public void ClearMassiveSlovo()
    {
      slovo = slovo.Select(n => (byte)0).ToArray();
    }
    
    public int GetCountAllSlovo()
    {
      int npock = nLengthSlovo;
      return slovo.Where((n, index) => index % npock == 0 && n != 0).Count();
    }
    
    public bool WriteMassiveSlovo()
    {
      bool res = false;
      FileStream fs = null;
      try
      {
        fs = File.Open(sFileNameMassiveSlovar, FileMode.Create, FileAccess.Write);
        if (fs != null)
        {
          fs.Write(slovo, 0, nSizeMassiveSlova);
        }
        res = true;
      }
      catch (Exception e1)
      {
        res = false;
        System.Windows.Forms.MessageBox.Show(e1.Message);
      }
      finally
      {
        if (fs != null) fs.Close();
      }
      return res;
    }
    
    #endregion

    just_nameless, 14 Октября 2013

    Комментарии (13)
  4. JavaScript / Говнокод #12830

    +152

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    function TimeViewport(rootElement, container, canvas, minZoom, maxZoom)
    {
    	this.container = container;
    	this.rootElement = rootElement;
    	this.lowPassAlpha = 0.38;
    	this.canvas = canvas;
    	this.minZoom = minZoom;
    	this.maxZoom = maxZoom;
    	this.zoom = minZoom;
    	this.size = Math.min(1.0, 1.0 / Math.pow(2, this.zoom));
    	this.left = 0.5 - this.size / 2.0;
    	this.right = 0.5 + this.size / 2.0;
    	this.mouse = {
    		isDown : false,
    		panning : false,
    		velocityMode : false,
    		downPos : {x : 0, y : 0}, 
    		movePos : {x : 0, y : 0},
    		lastMovePos : {x : 0, y : 0}
    	};
    	var self = this;
    	this.filtered = {
    		"left" : 0.5 - self.size / 4.0,
    		"right" : 0.5 + self.size / 4.0
    	};
    	this.lastRedrawTime = (new Date()).getTime();
    	this.maxRedrawInterval = 500;
    	setInterval(function () { if (self.doLowPass != null) self.doLowPass(); }, 17);
    	this.canvas.onmousedown = function(event) { self.mouseDown(event) };
    	this.canvas.onmousewheel = function(event) { self.onMouseWheel(event); };
    	var oldMouseMoveHandler = this.rootElement.onmousemove;
    	this.rootElement.onmousemove = function (event) {
    		if (self.mouseMove) self.mouseMove(event);
    		if (oldMouseMoveHandler != null) oldMouseMoveHandler(event);
    	};
    	var oldMouseUpHandler = this.rootElement.onmouseup;
    	this.rootElement.onmouseup = function (event) {
    		if (self.mouseUp) self.mouseUp(event);
    		if (oldMouseUpHandler != null) oldMouseUpHandler(event);
    	};
    	var oldMouseLeaveHandler = this.rootElement.onmouseleave;
    	this.rootElement.onmouseleave = function (event) {
    		if (self.mouseLeave) self.mouseLeave(event);
    		if (oldMouseLeaveHandler != null) oldMouseLeaveHandler(event);
    	};
    };

    Очередной велосипедик.

    just_nameless, 30 Марта 2013

    Комментарии (5)
  5. C++ / Говнокод #12820

    +11

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    void Bitmap::flipRB()
    {
    	int nBytes = w*h;
    	void *d = data;
    	__asm
    	{
    		mov edx, 0;
    pixloop:	mov eax, d;
    		mov eax, [eax];
    		mov ebx, edx;
    		shl ebx, 0x2;
    		add eax, ebx;
    		mov ebx, [eax];
    		
    		and ebx, 0xFFFFFF;
    		mov ecx, ebx;
    		shr ebx, 0x10;
    		shl ecx, 0x10;
    		or ebx, ecx;
    		shr ecx, 0x10;
    		and ecx, 0xFF00;
    		or ebx, ecx;
    		and ebx, 0xFFFFFF;
    		or ebx, 0xFF000000;
    		
    		mov [eax], ebx;
    		inc edx;
    		cmp edx, nBytes;
    		jne pixloop;
    	}
    }

    Откопал очередной свой велосипедный класс, в нем попался такой вот метод для конвертирования цветов ARGB в ABGR.

    just_nameless, 28 Марта 2013

    Комментарии (10)
  6. C++ / Говнокод #12806

    +20

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    int spectrumColor(float magn)
    {
    	if (magn != magn) return 0xFF000000;
    	if ((magn <= -FLT_MAX && magn >= FLT_MAX)) return 0xFF000000;
    	const float minRange = -95.0f;
    	if (magn > minRange && magn <= (minRange + 10.0f))
    		return blendColor(0, 0x00004f, (magn - minRange) / 10.0f);
    	if (magn > (minRange + 10.0f) && magn <= (minRange + 20.0f))
    		return blendColor(0x00004f, 0x50007b, (magn - (minRange + 10.0f)) / 10.0f);
    	if (magn > (minRange + 20.0f) && magn <= (minRange + 30.0f))
    		return blendColor(0x50007b, 0x990076, (magn - (minRange + 20.0f)) / 10.0f);
    	if (magn > (minRange + 30.0f) && magn <= (minRange + 40.0f))
    		return blendColor(0x990076, 0xd20040, (magn - (minRange + 30.0f)) / 10.0f);
    	if (magn > (minRange + 40.0f) && magn <= (minRange + 50.0f))
    		return blendColor(0xd20040, 0xf51f00, (magn - (minRange + 40.0f)) / 10.0f);
    	if (magn > (minRange + 50.0f) && magn <= (minRange + 60.0f))
    		return blendColor(0xf51f00, 0xffaa00, (magn - (minRange + 50.0f)) / 10.0f);
    	if (magn > (minRange + 60.0f) && magn <= (minRange + 70.0f))
    		return blendColor(0xffaa00, 0xfff966, (magn - (minRange + 60.0f)) / 10.0f);
    	if (magn > (minRange + 70.0f) && magn <= (minRange + 80.0f))
    		return blendColor(0xfff966, 0xffffff, (magn - (minRange + 70.0f)) / 10.0f);
    	if (magn < minRange) return 0xFF000000;
    	if (magn >= (minRange + 80.0f)) return 0xFFFFFFFF;
    	return 0xFF000000;
    }

    Вот так в одной говноподелке считается цвет столбцов спектра для визуализации аудио.

    just_nameless, 25 Марта 2013

    Комментарии (102)
  7. C++ / Говнокод #12805

    +24

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    tmpPtr = SCPGetFreeTextMedicalHistory(ecg);
    if (!tmpPtr) tmpPtr = unsp;
    m_patientPage->SetDlgItemTextW(IDC_EDIT15, tmpPtr);
    if (tmpPtr != unsp) SCPFreeMem(tmpPtr);
    
    tmpPtr = SCPGetTechnicianDescription(ecg);
    if (!tmpPtr) tmpPtr = unsp;
    m_miscPage->SetDlgItemTextW(IDC_EDIT19, tmpPtr);
    if (tmpPtr != unsp) SCPFreeMem(tmpPtr);
    
    . . .
    
    tmpPtr = SCPGetLatestConfirmingPhysician(ecg);
    if (!tmpPtr) tmpPtr = unsp;
    m_miscPage->SetDlgItemTextW(IDC_EDIT18, tmpPtr);
    if (tmpPtr != unsp) SCPFreeMem(tmpPtr);
    
    tmpPtr = SCPGetReferringPhysician(ecg);
    if (!tmpPtr) tmpPtr = unsp;
    m_miscPage->SetDlgItemTextW(IDC_EDIT17, tmpPtr);
    if (tmpPtr != unsp) SCPFreeMem(tmpPtr);
    
    . . .

    just_nameless, 25 Марта 2013

    Комментарии (8)
  8. C++ / Говнокод #12802

    +9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    void drawAAWave(DWORD *image, WAVE *w, int top, int left, 
    		int width, int height, int offsetPx)
    	{
    		int thd2 = top + height/2;
    		float hm2 = this->height - 2;
    		int x = 0, xc = 0, yc = 0;
    		float mul = amplify;
    		if (invert) mul = -mul;
    		if (x*scale + offsetPx*scale > w->length) return;
    		float yFrom = (thd2 - w->data[offsetPx*scale]*mul);
    		if (yFrom < 2.0f) yFrom = 2.0f;
    		if (yFrom > hm2) yFrom = hm2;
    		float yTo, dist, delta, sdelta, alpha, lc; 
    		int yMin, yMax, xcl, n;
    		for ( ; x < width-1 && (x+offsetPx)*scale < w->length; x++)
    		{
    			yTo = thd2 - w->data[(x + offsetPx)*scale]*mul;
    			if (yTo < 2) yTo = 2; if (yTo > hm2) yTo = hm2;
    			delta = yTo - yFrom;
    			sdelta = 1.0f / sqrtf(1.0f + delta*delta);
    			lc = ((x + 0.5f)*yTo - (x + 1.5f)*yFrom) + 0.5f;
    			yMin = (int)(min(yFrom, yTo)) - 1;
    			yMax = (int)(max(yFrom, yTo)) + 1;
    			xcl = x;
    			if (delta > 1.0f || delta < -1.0f) xcl++;
    			for (xc = x; xc <= xcl; xc++)
    				for (yc = yMin; yc <= yMax; yc++)
    				{
    					dist = ((-delta)*(xc + 0.5f) + yc + lc)*sdelta;
    					alpha = 1.0f - fabs(dist*0.8f);
    					if (alpha < 0.0f) alpha = 0.0f;
    					n = maxWidth*yc + xc;
    					image[n] = clrBlend(image[n], lineColor, alpha);
    				}
    			yFrom = yTo;
    		}
    	}

    Велосипедный метод рисования кривой с антиализингом

    just_nameless, 25 Марта 2013

    Комментарии (3)
  9. Java / Говнокод #7060

    +148

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.image.BufferedImage;
    import javax.swing.JFrame;
    public class Main extends JFrame{
        static int a=100;
        BufferedImage offscreen = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
    	static double p1[][]={{-a},{0},{a}};
    	static double p2[][]={{0},{-a},{a}};
    	static double p3[][]={{a},{-a},{a}};
    	static double p4[][]={{a},{a},{a}};
    	static double p5[][]={{-a},{a},{a}};	
    	static double p6[][]={{-a},{0},{-a}};
    	static double p7[][]={{0},{-a},{-a}};
    	static double p8[][]={{a},{-a},{-a}};
    	static double p9[][]={{a},{a},{-a}};
    	static double p10[][]={{-a},{a},{-a}};
    	static double mas[][][]=new double[10][][];
    	
    	public static void main(String[] args) {
    		Main mf=new Main();
    		mf.setVisible(true);
    		mf.setSize(800,800);
    		mf.setDefaultCloseOperation(EXIT_ON_CLOSE);
    		
    		Matrix P1=new Matrix(p1);
    		Matrix P2=new Matrix(p2);
    		Matrix P3=new Matrix(p3);
    		Matrix P4=new Matrix(p4);
    		Matrix P5=new Matrix(p5);
    		Matrix P6=new Matrix(p6);
    		Matrix P7=new Matrix(p7);
    		Matrix P8=new Matrix(p8);
    		Matrix P9=new Matrix(p9);
    		Matrix P10=new Matrix(p10);
    		
    		double a=0;
    		while(true){
    			Matrix ox=new OX(a);
    			Matrix oy=new OY(a);
    			Matrix oz=new OZ(a);
    			Matrix m=ox.multiplication(oy.multiplication(oz));
    			mas[0]=m.multiplication(P1).getData();
    			mas[1]=m.multiplication(P2).getData();	
    			mas[2]=m.multiplication(P3).getData();	
    			mas[3]=m.multiplication(P4).getData();
    			mas[4]=m.multiplication(P5).getData();
    			mas[5]=m.multiplication(P6).getData();	
    			mas[6]=m.multiplication(P7).getData();	
    			mas[7]=m.multiplication(P8).getData();
    			mas[8]=m.multiplication(P9).getData();	
    			mas[9]=m.multiplication(P10).getData();
    			a+=0.06;
    			//a=0;
    			mf.repaint();
    			try {
    				Thread.sleep(100);
    			} catch (InterruptedException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    	}
       
    	public void paint(Graphics g){
    		super.paint(g);
    		this.display(mas);
    	}
    	
    	public void display(double m[][][]){
    		Graphics g= this.getGraphics();
    		g.setColor(Color.BLACK);
    		for(int i=0;i<m.length;i++){
    			m[i][0][0]+=300;
    			m[i][1][0]+=300;
    		}
    		g.drawLine((int)m[0][0][0],(int)m[0][1][0],(int)m[1][0][0],(int)m[1][1][0]);
    		g.drawLine((int)m[1][0][0],(int)m[1][1][0],(int)m[2][0][0],(int)m[2][1][0]);
    		g.drawLine((int)m[2][0][0],(int)m[2][1][0],(int)m[3][0][0],(int)m[3][1][0]);
    		g.drawLine((int)m[3][0][0],(int)m[3][1][0],(int)m[4][0][0],(int)m[4][1][0]);
    		g.drawLine((int)m[4][0][0],(int)m[4][1][0],(int)m[0][0][0],(int)m[0][1][0]);
    		g.drawLine((int)m[5][0][0],(int)m[5][1][0],(int)m[6][0][0],(int)m[6][1][0]);
    		g.drawLine((int)m[6][0][0],(int)m[6][1][0],(int)m[7][0][0],(int)m[7][1][0]);
    		g.drawLine((int)m[7][0][0],(int)m[7][1][0],(int)m[8][0][0],(int)m[8][1][0]);
    		g.drawLine((int)m[8][0][0],(int)m[8][1][0],(int)m[9][0][0],(int)m[9][1][0]);
    		g.drawLine((int)m[9][0][0],(int)m[9][1][0],(int)m[5][0][0],(int)m[5][1][0]);
    		g.drawLine((int)m[0][0][0],(int)m[0][1][0],(int)m[5][0][0],(int)m[5][1][0]);
    		g.drawLine((int)m[1][0][0],(int)m[1][1][0],(int)m[6][0][0],(int)m[6][1][0]);
    		g.drawLine((int)m[2][0][0],(int)m[2][1][0],(int)m[7][0][0],(int)m[7][1][0]);
    		g.drawLine((int)m[3][0][0],(int)m[3][1][0],(int)m[8][0][0],(int)m[8][1][0]);
    		g.drawLine((int)m[4][0][0],(int)m[4][1][0],(int)m[9][0][0],(int)m[9][1][0]);
    		Graphics g2 =  offscreen.getGraphics();
            g2.setColor(Color.WHITE);
            g2.fillRect(0, 0, getWidth(), getHeight());
            g2.setColor(Color.BLUE);
            g2.fillRect(0, 0, 100, 100);
            g.drawImage(offscreen, 0, 0, null);
    	}
    }

    Говнолаба по предмету "компьютерная графика".
    Задача: нарисовать куб с усеченным углом, повернутый на произвольный угол вокруг трех осей (OX, OY, OZ).
    Вот как эту задачу решает мой однокурсник.
    Вместо того, чтобы использовать одну матрицу поворота, он создает 10 матриц для каждой из 10 точек...
    Впрочем, код лучше расскажет...

    just_nameless, 26 Июня 2011

    Комментарии (13)