Школоло / Говнокод #605 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
Public Function GetFormatedValue(ByVal columnName As String, ByVal value As Object) As String
	Dim result As String = value.ToString()
	Dim vint As Integer
	If (TypeOf value Is Decimal) Then
		vint = CType(CType(value, Decimal), Integer)
	ElseIf (TypeOf value Is Integer) Then
		vint = CType(value, Integer)
	Else
		vint = CType(Decimal.Parse(value.ToString(), System.Globalization.CultureInfo.InvariantCulture), Integer)
	End If

	Dim stringValue = ConvertStringToInt(value)

	Select Case foundedColumn.Format
		Case "3"
			result = String.Format("${0}M", GetSplitValue(CType(CType(stringValue, Integer) / 1000000, Integer)))
		Case "2"
			result = String.Format("${0}K", GetSplitValue(CType(CType(stringValue, Integer) / 1000, Integer)))
		Case "1"
			result = String.Format("${0}", GetSplitValue(vint))
	End Select
	Return result
End Function

Private Function ConvertStringToInt(ByVal value As Object) As String
	Return CType(value, String).Replace(",", String.Empty).Replace(".", String.Empty).Replace(" ", String.Empty)
End Function

Сначало падал exception на 9 строчке, т.к. не была указана культура, вообще.
После того как указали культуру, все, через кейс на 20 строчке, проходило успешно
Далее, когда изменился формат, для правильной конверсии закодили функцию ConvertStringToInt (line 25)

guest guest, (Updated )

Комментарии (1, +1)

Школоло / Говнокод #521 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
If (g_manager.isVehicleArrived) Then
    ....
    g_data_layer.registerVehicle( new_vehicle )
Else
    'Do Nothing
End If

'и Do Nothing еще в 20 блоках идущих подряд

Кусок кода из одной очень серьезной системы, стоящей >2500$. Изменения несущественны, но суть говнокода не изменилась.

guest guest, (Updated )

Комментарии (4, +4)

Школоло / Говнокод #422 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
Public Function MakeShort(Parametr As String) As String
Dim temp As String
    
Dim f1index As Integer
Dim Lastindex As Integer
    
If (Parametr <> "") Then
temp = Strings.Replace(Parametr, "\", " ")
temp = Strings.Replace(temp, "/", " ")
temp = Strings.Replace(temp, ":", " ")
temp = Strings.Replace(temp, "*", " ")
temp = Strings.Replace(temp, "?", " ")
temp = Strings.Replace(temp, "<", " ")
temp = Strings.Replace(temp, ">", " ")
temp = Strings.Replace(temp, "|", " ")
    
    
    f1index = Strings.InStr(temp, Strings.Chr(34))
    Lastindex = Strings.InStrRev(temp, Strings.Chr(34))
    
    temp = Strings.Mid(temp, f1index, Lastindex)
    
    MakeShort = Strings.Replace(temp, Strings.Chr(34), "")
Else
    MakeShort = ""
End If
End Function

Что то типа парсера... или точнее готовится так из строки имя файла

guest guest, (Updated )

Комментарии (55, +55)

Школоло / Говнокод #421 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
  100. 100
Option Explicit

 'обявление констант имен ячеек
 'изменнение их здесь приведет к програмному изменению
 'имена констант задаются именами ячеек куда записана та или иная информация

'Зеленый--------------------------------



 Public Const зТехКартаНазаказ As String = "L4"
 Public Const зкНаряду As String = "L5"
 
 Public Const зЗаказчик As String = "B7"
 Public Const зЗаказ As String = "G7"
 
 Public Const зТТН As String = "K14"
 
 Public Const зТираж As String = "B12"
 Public Const зКрасочность1 As String = "F12"
 Public Const зКрасочность2 As String = "H12"
 
 Public Const зФорматЭтикетки1 As String = "M10"
 Public Const зФорматЭтикетки2 As String = "O10"
 
 Public Const зБумага As String = "K12"
 'Public Const зГрамматура As String = "M5"
 
 Public Const бМашина As String = "B22"
 'Public Const бГруппаКраски As String = "E6"
 'Public Const бГруппаБумаги As String = "L6"
 
'конец о бланке

'схема раскроя---------------------------
 Public Const сФормат1 As String = "A11"       'слева
 Public Const сФормат2 As String = "B10"       'выше
 Public Const сПечатныйЛист1 As String = "F11" 'слева
 Public Const сПечатныйЛист2 As String = "H10" 'выше
 
 Public Const сКоличествоИзделийНаПечЛисте As String = "M8"
 Public Const сКоличествоПечатныхЛистовНаФормате As String = "M9"
 Public Const сКоличествоЛистооттисков As String = "M10"
 Public Const сКоличествоКраскооттисков As String = "M11"
 Public Const сПриведенныеЛистооттиски As String = "M12"
 Public Const сПриведенныеКраскооттиски As String = "M13"
 Public Const сКоэффициентПриведения As String = "M14"
    
'конец схема раскроя
 
 'Материалы-----------------------------
 Public Const мПленка As String = "B18"
 Public Const мПластины As String = "B19"
 Public Const мПроявитель As String = "F18"
 Public Const мФиксаж As String = "F19"
 Public Const мДобавкаПроявитель As String = "M18"
 Public Const мДобавкаФиксож As String = "M19"
 
 'конец материалов
 
 'бумага----------------------------------
 Public Const бКоличество As String = "B23"
 Public Const бВес As String = "B24"
 Public Const бВсего As String = "B25"
 Public Const бКоличествоФорматов As String = "B26"
 
 Public Const бПриладка As String = "F25"
 Public Const бПриладкаНаПечать As String = "M25"
 'конецбумага------------------------------
 
 'краска
 Public Const кКраска1Цвет As String = "B29"
 Public Const кИтого As String = "B30"
    
 '-----------------
 
 'химия-------------------------------------
 Public Const хКонцентрат As String = "M29"
 Public Const хИзопропиловый As String = "M30"
 Public Const хХимия As String = "M31"
 Public Const хСиккатив As String = "M32"
 Public Const хСредстваДляОчистки As String = "M33"
 Public Const хПротивоотмарывающий As String = "M34"
 'конец химии-------------------------------

 'после печатная (коробки лента лак)
 Public Const пКоробкиШтук As String = "M36"
 Public Const пКоробкиНазавание As String = "K36"
 Public Const пЛента As String = "M37"
 
 Public Const пТипЛакировки As String = "A34"
 Public Const пЛакНазание As String = "B34"
 Public Const пЛак As String = "D34"
 
 Public Const фФольгаСколько As String = "M41"
 Public Const фФолькаКакая As String = "K41"
 'конец послепечатной
 Public Const Summ1 As String = "K44"
 Public Const Под1 As String = "K45"
 Public Const Под2 As String = "K46"

Один не очень перспективный проект...
В котором все было завязано так... трудно предсавить как оно без этого жило...

guest guest, (Updated )

Комментарии (1, +1)

Школоло / Говнокод #402 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
Public Function date_to_sql_date(adate As Date) As String
 date_to_sql_date = Month(adate) & "/" & Day(adate) & "/" & Year(adate) & " " & Hour(adate) & ":" & Minute(adate) & ":" & Second(adate)
End Function

Функция перевода даты-времени в формат, пригодный для SQL-запросов MS Access (без обрамления знаками #).
Мое рацпредложение:
date_to_sql_date = Format(adate, "mm\/dd\/yy hh\:nn\:ss")

guest guest, (Updated )

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

Школоло / Говнокод #253 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
set root=D:\work\
set batch=D:\batch
set default=mfs
set svncmd=svn
set revert=revert
set config=WebUI\Web.config
set phpfile=wc.php
set start=start /b /wait
set rerun=rerun.cmd
set build=build.cmd

if  "%2"=="" (set where=%batch%\svn.txt) else (set where="%2")
if "%1"=="commit" (set o=-F %batch%\svnlog.log)
if "%1"=="commit" (set m=-m "%3")

prompt $G
color 1f
cls

for /f %%s in (%where%) do (
	title %1 %%s
	echo ===============================================================================
	echo %1 %%s
	if "%%s"=="%default%" (
		%svncmd% %revert% %root%%%s\%config% >> nul
		%svncmd% %1 %o% %m% %root%%%s
		%phpfile% %root%%%s\%config%
		pause
		title build %%s
		%build% %%s /b
		title rerun %%s
		%rerun% %%s /b
	) else (
		%svncmd% %1 %o% %m% %root%%%s
		pause
	)
	title %1 %%s - done!
)
exit

batch-скрипт под windows, делает апдейт/коммит в SVN.
Демонстрация неразделённой любви к переменным в батниках.

~anmiles~

guest guest, (Updated )

Комментарии (4, +4)

Школоло / Говнокод #219 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
'/**
' * Parser
' * @param String text
' * @param Scripting.Dictionary text
' */
private function Parse(text, data)
    dim RE, EM, MO, res, lastIndex, val
    res = ""
    Set RE = New RegExp
    RE.Pattern = "(\\?)\$(?:(\w+)|\{(\w+)\})"
    RE.IgnoreCase = False
    RE.Global = True
    Set EM = RE.Execute(text)
    if EM.Count > 0 then
        lastIndex = 1
        for each MO in EM
            if Mid(MO.Value,1,2) = "\$" then
                val = Mid(MO.Value,2)
            else
                if Mid(MO.Value,1,2) = "${" then 
                    val = Mid(Mid(MO.Value,1,Len(MO.Value)-1),3) 
                else 
                    val = Mid(MO.Value,2)
                end if
                val = data(val)
            end if
            res = res & Mid(text, lastIndex, MO.FirstIndex-lastIndex+1) & val
            lastIndex = MO.FirstIndex+MO.Length+1
        next
        res = res & Mid(text, lastIndex)
        Parse = res
    else
        Parse = text
    end if
end function

Пример, как функция, которая в других языках описывается одной строкой, реализуется на этом говноязыке

guest guest, (Updated )

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

Школоло / Говнокод #134 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
Dim cr

Private Function click()
If cr = 0 Then
cr = 1
click = "X"
Else
cr = 0
click = "O"
End If
End Function
Private Sub CommandButton1_Click()
If CommandButton1.Caption = "" Then CommandButton1.Caption = click()
End Sub

Private Sub CommandButton10_Click()
cr = 0
 CommandButton1.Caption = ""
 CommandButton2.Caption = ""
 CommandButton3.Caption = ""
 CommandButton4.Caption = ""
 CommandButton5.Caption = ""
 CommandButton6.Caption = ""
 CommandButton7.Caption = ""
 CommandButton8.Caption = ""
 CommandButton9.Caption = ""
 
End Sub

Private Sub CommandButton2_Click()
If CommandButton2.Caption = "" Then CommandButton2.Caption = click()

End Sub

Private Sub CommandButton3_Click()
If CommandButton3.Caption = "" Then CommandButton3.Caption = click()
End Sub

Private Sub CommandButton4_Click()
If CommandButton4.Caption = "" Then CommandButton4.Caption = click()
End Sub

Private Sub CommandButton5_Click()
If CommandButton5.Caption = "" Then CommandButton5.Caption = click()
End Sub

Private Sub CommandButton6_Click()
If CommandButton6.Caption = "" Then CommandButton6.Caption = click()
End Sub

Private Sub CommandButton7_Click()
If CommandButton7.Caption = "" Then CommandButton7.Caption = click()
End Sub

Private Sub CommandButton8_Click()
If CommandButton8.Caption = "" Then CommandButton8.Caption = click()
End Sub

Private Sub CommandButton9_Click()
If CommandButton9.Caption = "" Then CommandButton9.Caption = click()
End Sub

Крестики-нолики на Power Point за 2 минуты.

guest guest, (Updated )

Комментарии (9, +9)