-1

Ok, guys, I have decompiled a program which has decompiled this solution. Can someone translate this solution because I don't have any clue what is that. Language is VB.net

  • Structure proizvod
  • indeks is index
  • kriterij is norm
  • proizvod is product
  • prodaja is selling
  • regija is region
  • sveprodaje is all products which is sold
  • trosak is charge

here is the code:

    Public Sub konsolidiraj(ByVal kriterij As Integer)
        Dim num As Integer
        Dim proizvodArray As Form1.Proizvod()
        Dim num1 As Integer
        If (kriterij = 0) Then
            Dim upperBound As Integer = Me.sveProdaje.GetUpperBound(0)
            For i As Integer = 0 To upperBound
                Dim prodajaArray As Form1.Prodaja() = Me.sveProdaje
                Dim num2 As Integer = i
                Dim num3 As Integer = Me.vratiIndeks(prodajaArray(num2).naziv)
                num = prodajaArray(num2).kolicina
                If (Operators.CompareString(prodajaArray(num2).regija, "Central", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num3
                    proizvodArray(num1).ukupnoCentral = proizvodArray(num1).ukupnoCentral + num
                ElseIf (Operators.CompareString(prodajaArray(num2).regija, "East", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num3
                    proizvodArray(num1).ukupnoEast = proizvodArray(num1).ukupnoEast + num
                ElseIf (Operators.CompareString(prodajaArray(num2).regija, "West", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num3
                    proizvodArray(num1).ukupnoWest = proizvodArray(num1).ukupnoWest + num
                End If
            Next

        End If
        If (kriterij = 1) Then
            Dim upperBound1 As Integer = Me.sveProdaje.GetUpperBound(0)
            For j As Integer = 0 To upperBound1
                Dim prodajaArray1 As Form1.Prodaja() = Me.sveProdaje
                Dim num4 As Integer = j
                Dim num5 As Integer = Me.vratiIndeks(prodajaArray1(num4).naziv)
                num = prodajaArray1(num4).prihod
                If (Operators.CompareString(prodajaArray1(num4).regija, "Central", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num5
                    proizvodArray(num1).ukupnoCentral = proizvodArray(num1).ukupnoCentral + num
                ElseIf (Operators.CompareString(prodajaArray1(num4).regija, "East", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num5
                    proizvodArray(num1).ukupnoEast = proizvodArray(num1).ukupnoEast + num
                ElseIf (Operators.CompareString(prodajaArray1(num4).regija, "West", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num5
                    proizvodArray(num1).ukupnoWest = proizvodArray(num1).ukupnoWest + num
                End If
            Next

        End If
        If (kriterij = 2) Then
            Dim upperBound2 As Integer = Me.sveProdaje.GetUpperBound(0)
            For k As Integer = 0 To upperBound2
                Dim prodajaArray2 As Form1.Prodaja() = Me.sveProdaje
                Dim num6 As Integer = k
                Dim num7 As Integer = Me.vratiIndeks(prodajaArray2(num6).naziv)
                num = prodajaArray2(num6).trosak
                If (Operators.CompareString(prodajaArray2(num6).regija, "Central", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num7
                    proizvodArray(num1).ukupnoCentral = proizvodArray(num1).ukupnoCentral + num
                ElseIf (Operators.CompareString(prodajaArray2(num6).regija, "East", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num7
                    proizvodArray(num1).ukupnoEast = proizvodArray(num1).ukupnoEast + num
                ElseIf (Operators.CompareString(prodajaArray2(num6).regija, "West", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num7
                    proizvodArray(num1).ukupnoWest = proizvodArray(num1).ukupnoWest + num
                End If
            Next

        End If
        If (kriterij = 3) Then
            Dim upperBound3 As Integer = Me.sveProdaje.GetUpperBound(0)
            For l As Integer = 0 To upperBound3
                Dim prodajaArray3 As Form1.Prodaja() = Me.sveProdaje
                Dim num8 As Integer = l
                Dim num9 As Integer = Me.vratiIndeks(prodajaArray3(num8).naziv)
                num = prodajaArray3(num8).dobit
                If (Operators.CompareString(prodajaArray3(num8).regija, "Central", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num9
                    proizvodArray(num1).ukupnoCentral = proizvodArray(num1).ukupnoCentral + num
                ElseIf (Operators.CompareString(prodajaArray3(num8).regija, "East", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num9
                    proizvodArray(num1).ukupnoEast = proizvodArray(num1).ukupnoEast + num
                ElseIf (Operators.CompareString(prodajaArray3(num8).regija, "West", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num9
                    proizvodArray(num1).ukupnoWest = proizvodArray(num1).ukupnoWest + num
                End If
            Next

        End If
    End Sub
Paul Abbott
  • 7,065
  • 3
  • 27
  • 45
  • Why? What is wrong with the program as it is, it looks (apart from the Polish ? variable names) moderately readable? What do you want translated? – Icepickle Jun 20 '17 at 19:02
  • I've asked for simple answer, I need simplified code – Chumpa Chumpa Jun 20 '17 at 19:10
  • Again, you should explain why? This code can ofcourse be simplified, but there is nothing hard in it. What do you not understand from the above posted code? How about saying what you want to get translated, and why you don't understand certain things – Icepickle Jun 20 '17 at 19:16
  • I don't understand what this code can do, what's the meaning of this code and what is the purpose of this code? – Chumpa Chumpa Jun 20 '17 at 19:27
  • Why did you decompile the program if you don't know what it does? –  Jun 20 '17 at 19:58
  • 3
    i think you are mistaken SO for a translating service. Please read this: https://stackoverflow.com/help/how-to-ask –  Jun 20 '17 at 19:59

1 Answers1

0

All I can do to assist is let you know that the VB string equality operator has a few semantic differences to C# for instance and does a few more things. It has the ability to treat strings as equal if their casing don't match if the Option Compare Text option is specified. So the Operators.CompareString() calls that you see are the string equality operator at work.

The operator returns 0 when the two are equal so when you see code such as

If (Operators.CompareString(prodajaArray(num2).regija, "East", False) = 0) Then

That means the code that was originally written is

Option Compare Binary    ' At the top of the file. But this is implied if it isn't specified.
' Skip down to a method for the following code.
If prodajaArray(num2).regija = "East" Then

If Option Compare Text had been specified, the last part would have read "East", True) = 0) Then

Fabulous
  • 2,393
  • 2
  • 20
  • 27