1. 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)
  2. 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

    Комментарии (23)
  3. 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

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

    −98

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

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

    govnobot, 11 Июня 2010

    Комментарии (4)
  5. 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)
  6. 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)
  7. 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

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

    −368

    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
    Public Function Chten(adr As String, TK As Boolean) As String
    Dim str As String
    Dim strr As String
    Dim i As Long
    If DirectoryExists(adr) = True Then
      Dim FLong As Long
      Open adr For Binary As #1
      FLong = Loc(1)
      Do While FLong < LOF(1)
        str = str + Input(1, #1)
        FLong = Loc(1)
      Loop
      Close #1
      strr = str
      If TK = True Then
      strr = ""
      Dim j As Long
      j = Len(str)
      For i = 1 To j
        If ((i Mod 8) = 0) Or (i = j) Then
            strr = strr + RTK(Mid(str, 1, 8))
            str = Mid(str, 9)
        End If
      Next
      End If
      Chten = strr
    End If
    End Function
    
    'есть ли
    'видно что функцию он где-то взял - см. другой стиль именования переменных и отступы
    'но при этом сама и функция тоже попахивает
    Public Function DirectoryExists(ByVal strPathName As String) As Boolean
        Dim DirectoryFound As String
        Const errPathNotFound As Integer = 76
        On Error GoTo 0
        DirectoryFound = Dir(strPathName, vbDirectory)
        If (Len(DirectoryFound) = 0 Or Err = errPathNotFound) Then
            DirectoryExists = False
        Else
            DirectoryExists = True
        End If
    End Function

    лаба моего бывшего однокурсника, весь остальной код - в таком же стиле
    вчера искал кой-чего - наткнулся на архив старых лаб моих одногрупников и их предшественников.
    Эта наверно одна из самых адекватных, потому что хоть можно сходу понять что она делает
    и писал её человек хоть немного выкупающий что он пишет и тем не менее...

    3.14159265, 21 Мая 2010

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

    −99

    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
    'Поиск с использованием Mid()
    '-------
    Dim B
    'переменная Б - номер символа
    Dim foundn
    ' номер найденной строки
    Dim A As String
    'A - текст в котором ищем
    Dim find As String
    '--------
    A="this is text ! ololo 12345 abcd"
    Call found("ololo",1)
     
    Function found(Text As String, start)
    B = start
    find = Text
    Do While Not (Mid(A, B, Len(find)) = find)
    B = B + 1
    If B > 1000000 Then
    MsgBox ("overfloow")
    'если номер символа > 10000000 - остановка процесса
    End
    End If
    Loop
    foundn = B
    End Function

    Поиск в string

    hromjo, 17 Мая 2010

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

    −103

    1. 001
    2. 002
    3. 003
    4. 004
    5. 005
    6. 006
    7. 007
    8. 008
    9. 009
    10. 010
    11. 011
    12. 012
    13. 013
    14. 014
    15. 015
    16. 016
    17. 017
    18. 018
    19. 019
    20. 020
    21. 021
    22. 022
    23. 023
    24. 024
    25. 025
    26. 026
    27. 027
    28. 028
    29. 029
    30. 030
    31. 031
    32. 032
    33. 033
    34. 034
    35. 035
    36. 036
    37. 037
    38. 038
    39. 039
    40. 040
    41. 041
    42. 042
    43. 043
    44. 044
    45. 045
    46. 046
    47. 047
    48. 048
    49. 049
    50. 050
    51. 051
    52. 052
    53. 053
    54. 054
    55. 055
    56. 056
    57. 057
    58. 058
    59. 059
    60. 060
    61. 061
    62. 062
    63. 063
    64. 064
    65. 065
    66. 066
    67. 067
    68. 068
    69. 069
    70. 070
    71. 071
    72. 072
    73. 073
    74. 074
    75. 075
    76. 076
    77. 077
    78. 078
    79. 079
    80. 080
    81. 081
    82. 082
    83. 083
    84. 084
    85. 085
    86. 086
    87. 087
    88. 088
    89. 089
    90. 090
    91. 091
    92. 092
    93. 093
    94. 094
    95. 095
    96. 096
    97. 097
    98. 098
    99. 099
    100. 100
    Function preview()
    On Error GoTo stp
    Image2.Visible = False
    Image3.Visible = False
    Image4.Visible = False
    Image5.Visible = False
    Image6.Visible = False
    Image7.Visible = False
    Image8.Visible = False
    Image9.Visible = False
    Image10.Visible = False
    Image11.Visible = False
    Image12.Visible = False
    Image13.Visible = False
    Image14.Visible = False
    Image15.Visible = False
    Image16.Visible = False
    Image17.Visible = False
    
    File1.ListIndex = 0
    temp = File1.path & "\" & File1.FileName
    Image2.Picture = LoadPicture(temp)
    Image2.ToolTipText = File1.FileName
    Image2.Visible = True
    
    File1.ListIndex = 1
    temp = File1.path & "\" & File1.FileName
    Image3.Picture = LoadPicture(temp)
    Image3.ToolTipText = File1.FileName
    Image3.Visible = True
    
    File1.ListIndex = 2
    temp = File1.path & "\" & File1.FileName
    Image4.Picture = LoadPicture(temp)
    Image4.ToolTipText = File1.FileName
    Image4.Visible = True
    
    File1.ListIndex = 3
    temp = File1.path & "\" & File1.FileName
    Image5.Picture = LoadPicture(temp)
    Image5.ToolTipText = File1.FileName
    Image5.Visible = True
    
    File1.ListIndex = 4
    temp = File1.path & "\" & File1.FileName
    Image6.Picture = LoadPicture(temp)
    Image6.ToolTipText = File1.FileName
    Image6.Visible = True
    
    File1.ListIndex = 5
    temp = File1.path & "\" & File1.FileName
    Image7.Picture = LoadPicture(temp)
    Image7.ToolTipText = File1.FileName
    Image7.Visible = True
    
    File1.ListIndex = 6
    temp = File1.path & "\" & File1.FileName
    Image8.Picture = LoadPicture(temp)
    Image8.ToolTipText = File1.FileName
    Image8.Visible = True
    
    File1.ListIndex = 7
    temp = File1.path & "\" & File1.FileName
    Image9.Picture = LoadPicture(temp)
    Image9.ToolTipText = File1.FileName
    Image9.Visible = True
    
    File1.ListIndex = 8
    temp = File1.path & "\" & File1.FileName
    Image10.Picture = LoadPicture(temp)
    Image10.ToolTipText = File1.FileName
    Image10.Visible = True
    
    File1.ListIndex = 9
    temp = File1.path & "\" & File1.FileName
    Image11.Picture = LoadPicture(temp)
    Image11.ToolTipText = File1.FileName
    Image11.Visible = True
    
    File1.ListIndex = 10
    temp = File1.path & "\" & File1.FileName
    Image12.Picture = LoadPicture(temp)
    Image12.ToolTipText = File1.FileName
    Image12.Visible = True
    
    File1.ListIndex = 11
    temp = File1.path & "\" & File1.FileName
    Image13.Picture = LoadPicture(temp)
    Image13.ToolTipText = File1.FileName
    Image13.Visible = True
    
    File1.ListIndex = 12
    temp = File1.path & "\" & File1.FileName
    Image14.Picture = LoadPicture(temp)
    Image14.ToolTipText = File1.FileName
    Image14.Visible = True
    
    File1.ListIndex = 13
    temp = File1.path & "\" & File1.FileName
    Image15.Picture = LoadPicture(temp)

    Это код функции для реализации предосмотра изображений в папке.
    Да, массивы, однако, лучший вариант чем этот :)

    ecco, 08 Мая 2010

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