Member 13976508 Ответов: 3

Удар я дал код, который может быть преобразован в SQL-запрос ?


Public Sub Proc_Data

  Dim var_17C As String
 var_90 = CStr(Ucase(Left(Format(DateAdd("m", CSng((Format(Date, "MM") Mod 4)), Date), "MMMM"), 3)))
 For var_178 = 1 To CInt(Len(var_90)): MemVar_27041A0 = var_178 'Integer
   var_8C = CStr(CVar(vbNullString) & Chr(CLng((&H41 + (Asc(CStr(Mid(var_90, CLng(MemVar_27041A0), 1))) Mod &H1A)))))
  If (MemVar_27041A0 < 3) Then
     var_17C = CStr(Mid(CStr(Format(DateAdd("M", CSng((Format(Date, "YY") * Format(Date, "MM"))), Date), "YY")), CLng(MemVar_27041A0), 1))
     var_8C = var_8C & CStr(((((Asc(var_17C) * &H4D) * MemVar_27041A0) + 7) Mod &HA))
   Else
     var_8C = CStr(CVar(var_8C) & Chr(CLng((&H41 + ((Asc(CStr(Mid(var_90, CLng(MemVar_27041A0), 1))) + 7) Mod &H1A)))))
   End If
 Next var_178 'Integer
 var_88 = CStr(LCase(var_8C))
 Exit Sub
End Sub


Что я уже пробовал:

Я попытался сделать sql - запрос, но у меня ничего не вышло.

3 Ответов

Рейтинг:
1

OriginalGriff

Цитата:
Я попытался сделать sql - запрос, но у меня ничего не вышло.

Я не удивлен. Я не могу понять, что это такое: это выглядит как де-запутанный код и намеренно трудно работать.

Я бы вернулся туда, где вы это взяли, и посмотрел, могут ли они точно объяснить, что это должно делать ... но как SQL? Поскольку это не похоже на обработку каких-либо данных базы данных, которые я вижу, вероятно, нет ...


Рейтинг:
1

Patrice T

Цитата:
Я попытался сделать sql - запрос, но у меня ничего не вышло.

Я согласен с ОГ, этот код был запутан, это означает, что код был намеренно сделан трудным для чтения и понимания людьми.
Это означает, что анализ кода-это настоящая работа, даже для такого маленького фрагмента кода, как этот.
Понимание кода является необходимым условием для перевода, поскольку вещи не делаются одинаково с одного языка на другой.

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


Рейтинг:
1

Maciej Los

Похоже, это код VB6 вместо того, чтобы VB.NET...

Мы не можем вам помочь, потому что существует множество переменных, которые были определены вне области действия программы. Proc_Data процедура, например: var_90, MemVar_27041A0, var_8C, var_88.

Кстати: этот кусок кода уродлив... Я серьезно говорю. Это не шутка!
Обратите внимание, что приведенная ниже строка кода делает ненужными вызовы нескольких функций VB:

var_90 = CStr(Ucase(Left(Format(DateAdd("m", CSng((Format(Date, "MM") Mod 4)), Date), "MMMM"), 3)))

Его можно упростить до такой формы:
var_90 = UCase(Format(DateAdd("m", CSng((Format(Date, "MM") Mod 4)), Date), "MMM"))


Так, CStr() и Left() вызовы функций избыточны!