1. VisualBasic / Говнокод #3923

    −100

    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
    On Error Resume Next
    Dim i, my_shell
    Set my_shell = CreateObject("Wscript.Shell")
    dim str
    
    for i = 0 to 10000
    	str = "{num"
    	wscript.sleep 100
    	wscript.sleep 100
    	str = str + "lock}"
    	my_shell.sendkeys str
    
    	str = str + "{caps"
    	wscript.sleep 125
    	wscript.sleep 75
    	str = str + "lock}"
    	my_shell.sendkeys str
    
    	str = str + "{scroll"
    	wscript.sleep 75
    	wscript.sleep 125
    	str = str + "lock}"
    	my_shell.sendkeys str
    next

    Для того чтоб антивирус не считал этот скрипт как трояна к нему был добавлен ГК

    Snake2101, 10 Августа 2010

    Комментарии (13)
  2. VisualBasic / Говнокод #3814

    −120

    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
    Dim msg, sapi
    msg=InputBox("Введите ваш текст","Говорилка")
    
    msg = Replace(msg, "\n", " ")
    
    msg = Replace(msg, "а", "a")
    msg = Replace(msg, "б", "b")
    msg = Replace(msg, "в", "v")
    msg = Replace(msg, "г", "g")
    msg = Replace(msg, "д", "d")
    msg = Replace(msg, "е", "e")
    msg = Replace(msg, "ё", "e")
    msg = Replace(msg, "ж", "zh")
    msg = Replace(msg, "з", "z")
    msg = Replace(msg, "и", "i")
    msg = Replace(msg, "й", "i")
    msg = Replace(msg, "к", "k")
    msg = Replace(msg, "л", "l")
    msg = Replace(msg, "м", "m")
    msg = Replace(msg, "н", "n")
    msg = Replace(msg, "о", "o")
    msg = Replace(msg, "п", "p")
    msg = Replace(msg, "р", "r")
    msg = Replace(msg, "с", "s")
    msg = Replace(msg, "т", "t")
    msg = Replace(msg, "у", "u")
    msg = Replace(msg, "ф", "f")
    msg = Replace(msg, "х", "kh")
    msg = Replace(msg, "ц", "ts")
    msg = Replace(msg, "ч", "ch")
    msg = Replace(msg, "ш", "sh")
    msg = Replace(msg, "щ", "shch")
    msg = Replace(msg, "ъ", "")
    msg = Replace(msg, "ы", "y")
    msg = Replace(msg, "ь", "")
    msg = Replace(msg, "э", "e")
    msg = Replace(msg, "ю", "iu")
    msg = Replace(msg, "я", "ia")
    
    msg = Replace(msg, "А", "a")
    msg = Replace(msg, "Б", "b")
    msg = Replace(msg, "В", "v")
    msg = Replace(msg, "Г", "g")
    msg = Replace(msg, "Д", "d")
    msg = Replace(msg, "Е", "e")
    msg = Replace(msg, "Ё", "e")
    msg = Replace(msg, "Ж", "zh")
    msg = Replace(msg, "З", "z")
    msg = Replace(msg, "И", "i")
    msg = Replace(msg, "Й", "i")
    msg = Replace(msg, "К", "k")
    msg = Replace(msg, "Л", "l")
    msg = Replace(msg, "М", "m")
    msg = Replace(msg, "Н", "n")
    msg = Replace(msg, "О", "o")
    msg = Replace(msg, "П", "p")
    msg = Replace(msg, "Р", "r")
    msg = Replace(msg, "С", "s")
    msg = Replace(msg, "Т", "t")
    msg = Replace(msg, "У", "u")
    msg = Replace(msg, "Ф", "f")
    msg = Replace(msg, "Х", "kh")
    msg = Replace(msg, "Ц", "ts")
    msg = Replace(msg, "Ч", "ch")
    msg = Replace(msg, "Ш", "sh")
    msg = Replace(msg, "Щ", "shch")
    msg = Replace(msg, "Ъ", "")
    msg = Replace(msg, "Ы", "y")
    msg = Replace(msg, "Ь", "")
    msg = Replace(msg, "Э", "e")
    msg = Replace(msg, "Ю", "iu")
    msg = Replace(msg, "Я", "ia")
    
    Set sapi=CreateObject("sapi.spvoice")
    sapi.Speak msg

    Автор изобрел преобразователь текста в речь, оригинал:

    Программа «Говорилка» на VBS
    Cохраняете как «123.vbs».
    Запускаете.
    Ввводите текст.
    Слышите текст в в своих колонках!

    scalar4eblo4no, 29 Июля 2010

    Комментарии (10)
  3. VisualBasic / Говнокод #3812

    −94

    1. 1
    2. 2
    3. 3
    4. 4
    If (gs.OrgID=0) Or gs.OrgID = 0 Then
     gs.OrgID = 0
     Response.Redirect("<%=cb_home%>default.asp?timeout=true")
    End If

    О_о

    dimas_art, 29 Июля 2010

    Комментарии (6)
  4. VisualBasic / Говнокод #3594

    −95

    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
    For x=1 to Len(content)
      bs = Mid(content, x, 1)
      If bs = "0" Or bs = "1" Or bs = "2" Or bs = "3" Or bs = "4" Or bs = "5" Or bs = "6" Or bs = "7" Or bs = "8" Or bs = "9"
        If Not t1 = "."
          d1+bs
        ElseIf Not t2 = "."
          d2+  bs
        ElseIf Not t3 = "."
          d3+  bs
        ElseIf Not t4 = ":"
          d4+  bs
        Else
          pp+  bs
        EndIf
      ElseIf bs = "."
        If Not d1 = "" And d2 = ""
          t1 = "."
        ElseIf Not d2 = "" And d3 = ""
          t2 = "."
        ElseIf Not d3 = "" And d4 = ""
          t3 = "."
        ElseIf Not pp = ""
          d1 = pp
          d2 = ""
          d3 = ""
          d4 = ""
          pp = ""
          t1 = "."
          t2 = ""
          t3 = ""
          t4 = ""
        EndIf
      Else
        If Not d4 = "" And pp = ""
          t4 = ":"
        ElseIf Val(pp) > 79 And Val(pp) < 9000 And Val(d1) < 255 And Val(d2) < 255 And Val(d3) < 255 And Val(d4) < 255 And Val(d1) > 0 And Val(d2) > 0 And Val(d3) > 0 And Val(d4) > 0
          p+  1
          prx = d1 + t1 + d2 + t2 + d3 + t3 + d4 + t4 + pp
          If Not FindString(prx, "127.0.0.1", 1)
            For r = 1 To ArraySize(prox())
              g = 0
              If prox(r) = prx
                g = 1
              EndIf
            Next
            If g = 0
              prox(ArraySize(prox())) = prx
              ReDim prox(ArraySize(prox())+1)
            EndIf
          EndIf
          d1 = ""
          d2 = ""
          d3 = ""
          d4 = ""
          pp = ""
          t1 = ""
          t2 = ""
          t3 = ""
          t4 = ""
        Else
          d1 = ""
          d2 = ""
          d3 = ""
          d4 = ""
          pp = ""
          t1 = ""
          t2 = ""
          t3 = ""
          t4 = ""
        EndIf
      EndIf
    Next x

    =) это мой калл
    суть: ищется посимвольным сравнениям прокси сервера формата n.n.n.n port и заполняется массив prox()
    в 2000 году у PureBasic не было еще регулярок, а у меня знаний =)
    даже сейчас удивляюсь что код тогда мной был написан за один раз и без комментариев 0_0 (d1,d2,d3,d4,pp,t1,t2,t3,t4.... жуть)

    pbg, 29 Июня 2010

    Комментарии (8)
  5. VisualBasic / Говнокод #3566

    −101

    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
    For i = 0 To KolVoprTest - 1
                Select Case i
                    Case 0
                        Form2.B1.Text = PravOtvetS(i)
                    Case 1
                        Form2.B2.Text = PravOtvetS(i)
                    Case 2
                        Form2.B3.Text = PravOtvetS(i)
                    Case 3
                        Form2.B4.Text = PravOtvetS(i)
                    Case 4
                        Form2.B5.Text = PravOtvetS(i)
                    Case 5
                        Form2.B6.Text = PravOtvetS(i)
                    Case 6
                        Form2.B7.Text = PravOtvetS(i)
                    Case 7
                        Form2.B8.Text = PravOtvetS(i)
                    Case 8
                        Form2.B9.Text = PravOtvetS(i)
                    Case 9
                        Form2.B10.Text = PravOtvetS(i)
                    Case 10
                        Form2.B11.Text = PravOtvetS(i)
                    Case 11
                        Form2.B12.Text = PravOtvetS(i)
                    Case 12
                        Form2.B13.Text = PravOtvetS(i)
                    Case 13
                        Form2.B14.Text = PravOtvetS(i)
                    Case 14
                        Form2.B15.Text = PravOtvetS(i)
                    Case 15
                        Form2.B16.Text = PravOtvetS(i)
                    Case 16
                        Form2.B17.Text = PravOtvetS(i)
                    Case 17
                        Form2.B18.Text = PravOtvetS(i)
                    Case 18
                        Form2.B19.Text = PravOtvetS(i)
                    Case 19
                        Form2.B20.Text = PravOtvetS(i)
                End Select
            Next i

    Тут прям без фора и без кейса никак не обойтись.

    Index, 25 Июня 2010

    Комментарии (22)
  6. VisualBasic / Говнокод #3534

    −84

    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
    Macro BL(X):For I=0 To 3:X:Next:EndMacro:Dim G(14,28):Dim G2(14,28):Dim C(1)
    Macro IT:X+PX(PC,I,Rt),Y+PY(PC,I,Rt):EndMacro:Dim PX(6,3,3):Dim PY(6,3,3)
    Macro F(X,Y):For X=0 To Y:EndMacro:Macro N:Next:EndMacro:Macro Q:EndIf:EndMacro
    F(I,28):G(1,I)=1:G(13,I)=1:G(I%13,27)=1:N:F(Pe,6):eC=0:F(Eg,1):F(PL,3)
    If Val("$"+Mid("33F06336747172",2*Pe+1+Eg,1))&(1<<PL):F(Ag,3):Y=1-PL:A=1.57*Ag;
    C=Cos(A):S=Sin(A):PX(Pe,eC,Ag)=C*Eg-S*Y:PY(Pe,eC,Ag)=S*Eg+C*Y:N:eC+1:Q:N:N:N
    Macro K0:AddKeyboardShortcut:EndMacro:OpenWindow(0,0,0,208,432,"",$CF0001)
    K0(0,37,10):K0(0,40,32):K0(0,39,12):K0(0,38,16):X=7:Y=2:D=1000:C(0)=$FFFFFF
    C(1)=$1:Ok=1:Repeat:Delay(1):Et=WindowEvent():StartDrawing(WindowOutput(0))
    F(A,28):F(B,14):Box(B*16-16,(A-1)*16,16,16,C(G(B,A)|G2(B,A))):N:N:StopDrawing()
    If Ok:BL(G2(IT)=0):MN=0:If Et=13101:MN=EventMenu():If MN=32:CH!1:Q:Q
    EL=ElapsedMilliseconds():If EL>T Or CH:T=EL+D:Y+1:Q:CA=0:F(I,3):If G(IT):CA=1:Q
    N:If CA:Y-1:CH=0:MN=0:BL(G(IT)=1):X=7:Y=2:SC+1:If D>100:D-10:Q:DY=0
    For Y3=26 To 0 Step -1:CM=1:For X3=1 To 12:If G(X3,Y3)=0:CM=0:Q
    G(X3,Y3+DY)=G(X3,Y3):N:If CM:DY+1:Q:If Y3-DY<=0:Break:Q:N:SC+(DY*(DY+1))
    SetWindowTitle(0,Str(SC)):PC=Random(6):Rt=Random(3):Ok=1:F(I,3):If G(IT):Ok=0:Q
    N:Else:BL(G2(IT)=1):Q:BL(G2(IT)=0):NS=0:If MN&8:NS=MN-11:Q:If NS:X+NS:Q:C0=0
    F(I,3):If G(IT):C0=1:Q:N:If C0:X-NS:Q:If MN&16:Rt+1:Rt&3:Q:C3=0:F(I,3):If G(IT)
    C3=1:Q:N:If C3:Rt-1:Rt&3:Q:BL(G2(IT)=1):Q:Until Et=16

    Тетрис на PureBasic

    pbg, 22 Июня 2010

    Комментарии (6)
  7. VisualBasic / Говнокод #3461

    −98

    1. 1
    lDate = DateSerial(Year(Date), Month(Date), Day(Date) - Day(Date) + 1)

    Человек формирует дату - 1 число текущего месяца.
    В каком классе учат упрощать выражения вида х-х+у?

    govnobot, 11 Июня 2010

    Комментарии (4)
  8. VisualBasic / Говнокод #3433

    −86

    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
    10 GOSUB 300
    30 INPUT "Долгота (град)";B5,L5: INPUT "Часовая зона (час)";H
    50 L5=L5/360: Z0=H/24
    60 GOSUB 1170: T=(J-2451545)+F
    70 TT=T/36525+1: ' TT = столетия, начиная с 1900.0
    90 GOSUB 410: T=T+Z0
    120 GOSUB 910: A(1)=A5: D(1)=D5 '  Получаем положение солнца
    130 T=T+1
    140 GOSUB 910: A(2)=A5: D(2)=D5
    150 IF A(2)<A(1) THEN A(2)=A(2)+P2
    160 Z1=DR*90.833: ' Вычисление зенита
    170 S=SIN(B5*DR): C=COS(B5*DR)
    180 Z=COS(Z1): M8=0: W8=0: PRINT
    190 A0=A(1): D0=D(1)
    200 DA=A(2)-A(1): DD=D(2)-D(1)
    210 FOR C0=0 TO 23
    220 P=(C0+1)/24
    230 A2=A(1)+P*DA: D2=D(1)+P*DD
    240 GOSUB 490
    250 A0=A2: D0=D2: V0=V2
    260 NEXT
    270 GOSUB 820: ' Вывод информации
    280 END
    300 DIM A(2),D(2)      ' Константы
    320 P1=3.14159265: P2=2*P1: DR=P1/180: K1=15*DR*1.0027379: S$="Заход солнца в "
    330 R$="Восход солнца в ": M1$="В этот день солнце не восходит"     
    370 M2$="В этот день солнце не заходит": M3$="Солнце заходит весь день"           
    390 M4$="Солнце восходит весь день"          
    400 RETURN                                   
    410 T0=T/36525 '     Получение часового пояса
    430 S=24110.5+8640184.813*T0
    440 S=S+86636.6*Z0+86400*L5
    450 S=S/86400: S=S-INT(S)
    460 T0=S*360*DR
    470 RETURN
    490 L0=T0+C0*K1: L2=L0+K1  '  Просматриваем возможные события на полученный час
    510 H0=L0-A0: H2=L2-A2
    520 H1=(H2+H0)/2: '  Часовой угол,
    530 D1=(D2+D0)/2: '  наклон в получасе
    550 IF C0>0 THEN 570
    560 V0=S*SIN(D0)+C*COS(D0)*COS(H0)-Z
    570 V2=S*SIN(D2)+C*COS(D2)*COS(H2)-Z
    580 IF SGN(V0)=SGN(V2) THEN 800
    590 V1=S*SIN(D1)+C*COS(D1)*COS(H1)-Z
    600 A=2*V2-4*V1+2*V0: B=4*V1-3*V0-V2
    610 D=B*B-4*A*V0: IF D<0 THEN 800
    620 D=SQR(D)
    630 IF V0<0 AND V2>0 THEN PRINT R$;
    640 IF V0<0 AND V2>0 THEN M8=1
    650 IF V0>0 AND V2<0 THEN PRINT S$;
    660 IF V0>0 AND V2<0 THEN W8=1
    670 E=(-B+D)/(2*A)
    680 IF E>1 OR E<0 THEN E=(-B-D)/(2*A)
    690 T3=C0+E+1/120: ' Округление
    700 H3=INT(T3): M3=INT((T3-H3)*60)
    710 PRINT USING "##:##";H3;M3;
    720 H7=H0+E*(H2-H0)
    730 N7=-COS(D1)*SIN(H7)
    740 D7=C*SIN(D1)-S*COS(D1)*COS(H7)
    750 AZ=ATN(N7/D7)/DR
    760 IF D7<0 THEN AZ=AZ+180
    770 IF AZ<0 THEN AZ=AZ+360
    780 IF AZ>360 THEN AZ=AZ-360
    790 PRINT USING ",  азимут ###.#";AZ
    800 RETURN
    820 IF M8=0 AND W8=0 THEN 870 ' Процедура вывода информации
    840 IF M8=0 THEN PRINT M1$
    850 IF W8=0 THEN PRINT M2$
    860 GOTO 890
    870 IF V2<0 THEN PRINT M3$
    880 IF V2>0 THEN PRINT M4$
    890 RETURN
    910 L=.779072+.00273790931*T ' Фундаментальные константы (Van Flandern & Pulkkinen, 1979)
    950 G=.993126+.0027377785*T
    960 L=L-INT(L): G=G-INT(G): L=L*P2: G=G*P2
    980 V=.39785*SIN(L): V=V-.01000*SIN(L-G)
    1000 V=V+.00333*SIN(L+G): V=V-.00021*TT*SIN(L)
    1020 U=1-.03349*COS(G): U=U-.00014*COS(2*L)
    1040 U=U+.00008*COS(L): W=-.00010-.04129*SIN(2*L)
    1060 W=W+.03211*SIN(G): W=W+.00104*SIN(2*L-G)
    1080 W=W-.00035*SIN(2*L+G): W=W-.00008*TT*SIN(G)
    1120 S=W/SQR(U-V*V) '    Вычисление солнечных координат
    1130 A5=L+ATN(S/SQR(1-S*S))
    1140 S=V/SQR(U):D5=ATN(S/SQR(1-S*S))
    1150 R5=1.00021*SQR(U)
    1160 RETURN
    1170 INPUT "Год, Месяц, День";Y,M,D ' Календарь --> JD
    1190 G=1: IF Y<1583 THEN G=0
    1200 D1=INT(D): F=D-D1-.5
    1210 J=-INT(7*(INT((M+9)/12)+Y)/4)
    1220 IF G=0 THEN 1260
    1230 S=SGN(M-9): A=ABS(M-9)
    1240 J3=INT(Y+S*INT(A/7))
    1250 J3=-INT((INT(J3/100)+1)*3/4)
    1260 J=J+INT(275*M/9)+D1+G*J3
    1270 J=J+1721027+2*G+367*Y
    1280 IF F>=0 THEN 1300
    1290 F=F+1: J=J-1
    1300 RETURN

    Вот такой вот реликт. Вы всё ещё пользуетесь GOTO? Тогда мы идём к вам.
    Программа вычисляет время восхода и захода солнца по дате (с точностью до минуты) в пределах нескольких текущих столетий. Производит корректировку, если географическая точка находится в арктичиском или антарктическом регионе, где заход или восход солнца на текущую дату может не состояться. Вводимые данные: положительная северная широта и отрицательная западная долгота. Часовой пояс указывается относительно Гринвича (например, 5 для EST и 4 для EDT). Алгоритм обсуждался в "Sky & Telescope" за август 1994, страница 84.
    P. S. VisualBasic такой Visual...

    Stalker, 10 Июня 2010

    Комментарии (35)
  9. VisualBasic / Говнокод #3364

    −87

    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
    ' Это первый конструктор:
    
    Public Sub New(ByVal ParmName0 As String, ByVal ParmValue0 As Object)
      PRM(0) = New SqlParameter(ParmName0, ParmValue0)
      CMD.Parameters.Add(PRM(0))
    End Sub
    
    ' ... 20-30 конструкторов спустя:
    
    Public Sub New(ByVal ParmName0 As String, ByVal ParmValue0 As Object, ByVal ParmName1 As String, ByVal ParmValue1 As Object, ByVal ParmName2 As String, ByVal ParmValue2 As Object, ByVal ParmName3 As String, ByVal ParmValue3 As Object, ByVal ParmName4 As String, ByVal ParmValue4 As Object, ByVal ParmName5 As String, ByVal ParmValue5 As Object, ByVal ParmName6 As String, ByVal ParmValue6 As Object, ByVal ParmName7 As String, ByVal ParmValue7 As Object, ByVal ParmName8 As String, ByVal ParmValue8 As Object, ByVal ParmName9 As String, ByVal ParmValue9 As Object, ByVal ParmName10 As String, ByVal ParmValue10 As Object, ByVal ParmName11 As String, ByVal ParmValue11 As Object, ByVal ParmName12 As String, ByVal ParmValue12 As Object, ByVal ParmName13 As String, ByVal ParmValue13 As Object, ByVal ParmName14 As String, ByVal ParmValue14 As Object, ByVal ParmName15 As String, ByVal ParmValue15 As Object, ByVal ParmName16 As String, ByVal ParmValue16 As Object, ByVal ParmName17 As String, ByVal ParmValue17 As Object, ByVal ParmName18 As String, ByVal ParmValue18 As Object, ByVal ParmName19 As String, ByVal ParmValue19 As Object, ByVal ParmName20 As String, ByVal ParmValue20 As Object, ByVal ParmName21 As String, ByVal ParmValue21 As Object, ByVal ParmName22 As String, ByVal ParmValue22 As Object, ByVal ParmName23 As String, ByVal ParmValue23 As Object, ByVal ParmName24 As String, ByVal ParmValue24 As Object, ByVal ParmName25 As String, ByVal ParmValue25 As Object, ByVal ParmName26 As String, ByVal ParmValue26 As Object, ByVal ParmName27 As String, ByVal ParmValue27 As Object, ByVal ParmName28 As String, ByVal ParmValue28 As Object, ByVal ParmName29 As String, ByVal ParmValue29 As Object)
        Call Me.New(ParmName0, ParmValue0, ParmName1, ParmValue1, ParmName2, ParmValue2, ParmName3, ParmValue3, ParmName4, ParmValue4, ParmName5, ParmValue5, ParmName6, ParmValue6, ParmName7, ParmValue7, ParmName8, ParmValue8, ParmName9, ParmValue9, ParmName10, ParmValue10, ParmName11, ParmValue11, ParmName12, ParmValue12, ParmName13, ParmValue13, ParmName14, ParmValue14, ParmName15, ParmValue15, ParmName16, ParmValue16, ParmName17, ParmValue17, ParmName18, ParmValue18, ParmName19, ParmValue19, ParmName20, ParmValue20, ParmName21, ParmValue21, ParmName22, ParmValue22, ParmName23, ParmValue23, ParmName24, ParmValue24, ParmName25, ParmValue25, ParmName26, ParmValue26, ParmName27, ParmValue27, ParmName28, ParmValue28)
       PRM(29) = New SqlParameter(ParmName29, ParmValue29)
       CMD.Parameters.Add(PRM(29))
    End Sub

    Перегрузка по-говнокодерски. Сие великолепие автор комментирует так:

    "Одновременно для всяких начинающих, которые прослушали лекции про типы данных ParamArray - разъясняю, что типы данных идут вперемешку - строка/обьект - пример вызова с формы выложен выше. И ParamArray здесь приведет к необходимости преобразования строки в обьект. Что во-первых неэффективно и ненужно, а во вторых отключит проверку типа параметра и легко можно будет пропустить название параметра и указать вместо него собственно значение параметра."

    "И наконец, при отсутствии такого полиморфного конструктора, принимающего от нуля до 30 параметров - эта функция и вовсе утрачивает смысл. Ибо тридцать строк на форме для одного обращения в базу? Это может показаться приемлимым только тем, кто вообще никогда не занимался программированием."

    Webkill, 01 Июня 2010

    Комментарии (22)
  10. VisualBasic / Говнокод #3323

    −349

    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
    Function shr(ByVal a As Long, ByVal i As Long) As Long
    Dim r As Variant
    r = a / (2 ^ i)
    shr = Fix(r)
    End Function
    
    'используется для получения значения n-го бита таким вот образом
    if (shr(value,n) mod 2)=1 then
    ....
    end if
    
    'в другом месте почему-то биты проверяются по-другому
    For i = 2 To Len(s)
      a = Asc(Mid(s, i, 1))
      b = (q Mod (2 ^ (i - 1))) \ (2 ^ (i - 2))
      If b = 1 Then a = a - 32  'сути этого я так и не понял
      t = t + Chr(a)
    Next

    мастерская работа с битами. епта я б на асме это в 1 строку сделал

    3.14159265, 26 Мая 2010

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