Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Umcodieren von VB Code in PHP (5) Code

Empfohlene Antworten

Hallo zusammen.

Ich muss die folgenden VB Funktionen in PHP 5 Funktionen umwandeln. Kann mir jemand helfen?

Public Function EncodeString(ByVal strToEncode As String, _

  ByVal strPassword As String) As String


  Dim strResult As String

  Dim i As Long

  Dim cfc() As Integer


  If Len(strPassword) = 0 Then Exit Function


  ReDim cfc(1 To Len(strPassword))


  For i = 1 To UBound(cfc)

    cfc(i) = Asc(Right(strPassword, _

      Len(strPassword) - i + 1))

  Next i


  For i = 1 To Len(strToEncode)

    strResult = strResult & _

      Chr(addToIndex(Asc(Right(strToEncode, _

      Len(strToEncode) - i + 1)), VirtPos(i, cfc)))

  Next i


  EncodeString = strResult

End Function
Public Function DecodeString(ByVal strToDecode As String, _

  ByVal strPassword As String) As String


  Dim strResult As String

  Dim i As Long

  Dim cfc() As Integer


  If Len(strToDecode) = 0 Or Len(strPassword) = 0 Then

    Exit Function

  End If


  ReDim cfc(1 To Len(strPassword))

  ReDim ttc(1 To Len(strToDecode))


  For i = 1 To UBound(cfc)

    cfc(i) = Asc(Right(strPassword, _

      Len(strPassword) - i + 1))

  Next i


  For i = 1 To Len(strToDecode)

    strResult = strResult & _

      Chr(GetOfIndex(Asc(Right(strToDecode, _

      Len(strToDecode) - i + 1)), VirtPos(i, cfc)))

  Next i


  DecodeString = strResult

End Function
Private Function VirtPos(i As Long, _

  a() As Integer) As Integer


  If i > UBound(a) Then

    VirtPos = VirtPos(i - UBound(a), a)

  Else

    VirtPos = a(i)

  End If

End Function
Private Function addToIndex(i As Integer, _

  j As Integer) As Integer


  If i + j > 255 Then

    addToIndex = i + j - 255

  Else

    addToIndex = i + j

  End If

End Function
Private Function GetOfIndex(i As Integer, _

  j As Integer) As Integer


  If i - j < 0 Then

    GetOfIndex = i - j + 255

  Else

    GetOfIndex = i - j

  End If

End Function

Was genau verstehst Du nicht?

mfg

cane

Habe bis jetzt noch nie eigene Funktionen geschrieben.

Wie ich die Funktionen deklarieren damit sie Parameter aufnehmen können etc..

Wie ich die Funktionen aufrufe.

Ich arbeite ja schon seit einigen Jahren mit PHP, aber dieses Vb ist mir irgendwie unheimlich. Das sind doch alles Funktionen, aber wo legen die fest, welcher Wert zurückgegeben wird?

VB

Private Function GetOfIndex(i As Integer, _

  j As Integer) As Integer


  If i - j < 0 Then

    GetOfIndex = i - j + 255

  Else

    GetOfIndex = i - j

  End If

End Function
PHP
function GetOfIndex(i, j)

{

    if((i - j) < 0) {

        return (i - j + 255);

    }

     else {

        return (i - j);

    }

}

Wenn das ganze nun in einer Klasse ist, dann sollte da noch ein public vor das function.

Btw.: Irgendwie sehen mir diese "Funktionen" nicht einmal aus wie Funktionen. Greifen die Funktionen irgendwie auf globale Variablen zu? Wo kommt bei dieser Funktion denn GetOfIndex (Zeile: 5, 7) her? Definiert das irgendwie den Rückgabewert?

Greifen die Funktionen irgendwie auf globale Variablen zu?

können sie, wenn die variablen vorher als solche deklariert wurden.

Wo kommt bei dieser Funktion denn GetOfIndex (Zeile: 5, 7) her?

Definiert das irgendwie den Rückgabewert?

VB kennt in diesem sinne kein return - der rückgabewert wird zurückgegeben, indem dem namen der funktion der rückgabewert übergeben wird. ist halt so.

statt

function foo() {

  return rueckgabewert;

}
eben
function foo

  foo = rueckgabewert;

end function

s'Amstel

Okay dann ist die erste Übersetzung schonmal korrekt ;)

Private Function addToIndex(i As Integer, _

  j As Integer) As Integer


  If i + j > 255 Then

    addToIndex = i + j - 255

  Else

    addToIndex = i + j

  End If

End Function
wird zu
function addToIndex(i, j)

{

    if((i + j) > 255) {

         return ((i + j) - 255);

    }

     else {

         return (i + j);

     }

}

Danke erstmal...

Kann mir jemand nen Tip wegen den beiden Hauptfunktionen "encode" und "decode" geben?

Danke erstmal...

Kann mir jemand nen Tip wegen den beiden Hauptfunktionen "encode" und "decode" geben?

Wenn du mir sagst, was die Funktionen

- ubound

- asc

- right

- chr

- VirtPos

machen und was genau diese Dinger sind und was sie machen:

- cfc()

- ttc()

...dann würd ichs mir mal näher anschauen.

Wie sieht das bei Vb mit den Sichtbareiten aus? Da sind überall die Sichbarkeiten gegeben. Sollen diese Funktionen nun auch in einer Klasse zusammengefasst werden, oder weiterhin als einfache Funktionen zählen?

Wenn du mir sagst, was die Funktionen

- ubound

- asc

- right

- chr

- VirtPos

machen und was genau diese Dinger sind und was sie machen:

- cfc()

- ttc()

ubound: Wenn man Steuerelementen Idexes vergiebt, also mehrere Steuerelemente mit gleichen Namen kann man eines nicht mehr über Me.Text1.Text aufrufen, sondern muss den Index angeben Me.Text1(0).Text. ubound dient um den letzten (höchsten) Index zu ermitteln.

asc: Die Asc-Funktion gibt den Zeichencode, der dem ersten(!) Buchstaben der mitgegebenen Zeichenfolge entspricht zurück. Dies ist die Umkehrfunktion zur Chr-Funktion.

ascZahl = Asc("B") ' Ergibt 66

ascZahl = Asc("b") ' Ergibt 98

ascZahl = Asc("Asc-Funktion") ' Ergibt 65
right: Gibt eine vorgegebene Anzahl von Zeichen, ausgehend von der rechten Seite einer Zeichenfolge zurück.
Private Sub Command1_Click()

    Dim Text

    Dim Text1

    Dim Text2

    Dim Text3


    Text = "Sommerurlaubsreise"  ' Zeichenfolge definieren

    Text1 = Right(Text, 5)       ' liefert reise

    Text2 = Right(Text, 12)      ' liefert urlaubsreise

    Text3 = Right(Text, 18)      ' liefert Sommerurlaubsreise


    MsgBox Text1 & vbCrLf & Text2 & vbCrLf & Text3

End Sub

chr: Die Chr-Funktion gibt das Zeichen für einen bestimmten Zeichencode zurück. Dies ist die Umkehrfunktion zur Asc-Funktion.
mChar = Chr(33) ' ergibt "!"

mChar = Chr(65) ' ergibt "A"

VirtPos: ist ein Funktionsaufruf (siehe 1. Post)

cfc(), ttc(): sind Variablen (Array)

Hallo freq.9.

Ich denke mal du meinst mit den Sichtbarkeiten "Private" usw.. Dies ist im PHP Scrip je egal, da ich diese Crypto Fuktion ja global benutzen muss, also alles "Public"

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.