Wie kann man eine Public Sub aufrufen?

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Wie kann man eine Public Sub aufrufen?

    Hallo,
    wie kann man eine Public Sub mit Image Parameter und eine Private Sub mit Bytes Parameter aufrufen?
    Ich möchte die 2 Funktionen gerne in meinen Timer aufrufen.

    Ich habe dies schon Stundenlang probiert. Kann mir jemand helfen?

    VB.NET-Quellcode

    1. Public Sub EncryptImage(ByVal img As Image, ByVal encryptedFile As String, ByVal keyFile As String)
    2. ' Hier der Quellcode
    3. End Sub
    4. Private Shared Sub Vernam(ByVal inBytes As Byte(), ByVal keyBytes As Byte(), ByRef outBytes As Byte())
    5. ' Hier der Quellcode
    6. End Sub
    7. Private Sub T1_Screen_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles T1_Screen.Tick
    8. Call EncryptImage(img:=, "encryptedFile", "keyFile")
    9. End Sub


    CodeTags gesetzt ~VaporiZed

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    So was:

    VB.NET-Quellcode

    1. Private Sub T1_Screen_Tick(sender As System.Object, e As System.EventArgs) Handles T1_Screen.Tick
    2. Dim img = New Bitmap(DEIN_PFAD) ' oder was auch immer
    3. EncryptImage(img, "encryptedFile", "keyFile")
    4. End Sub
    Und
    Das ByVal kannste weglassen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    img ist Dein Bild. Da musste Dich schon selbst drum kümmern, dass da was Vernünftiges drinsteht.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Ich weiß leider nicht weiter. Hier ist mein ganzer Code:

    VB.NET-Quellcode

    1. Public Sub EncryptImage(ByVal img As Image, ByVal encryptedFile As String, ByVal keyFile As String)
    2. Dim originalBytes As Byte()
    3. Using ms As New MemoryStream()
    4. img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
    5. originalBytes = ms.ToArray()
    6. End Using
    7. Dim keyBytes As Byte() = New Byte(originalBytes.Length - 1) {}
    8. Dim rnd As New Random()
    9. rnd.NextBytes(keyBytes)
    10. Using fs As New FileStream(keyFile, FileMode.Create)
    11. fs.Write(keyBytes, 0, keyBytes.Length)
    12. End Using
    13. Dim encryptedBytes As Byte() = New Byte(originalBytes.Length - 1) {}
    14. Vernam(originalBytes, keyBytes, encryptedBytes)
    15. Using fs As New FileStream(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop) & "\" & "YTH" & "\" & "Bild_verschlüsselt.jpg", FileMode.Create)
    16. fs.Write(encryptedBytes, 0, encryptedBytes.Length)
    17. End Using
    18. End Sub
    19. Private Shared Sub Vernam(ByVal inBytes As Byte(), ByVal keyBytes As Byte(), ByRef outBytes As Byte())
    20. If (inBytes.Length <> keyBytes.Length) OrElse (keyBytes.Length <> outBytes.Length) Then
    21. Throw New ArgumentException("Ungleiche Länge")
    22. End If
    23. For i As Integer = 0 To inBytes.Length - 1
    24. outBytes(i) = CByte((inBytes(i) Xor keyBytes(i)))
    25. Next
    26. End Sub


    CodeTags gesetzt ~VaporiZed

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Script1 schrieb:

    Leider umkringelt er mir dann das Wort img:
    Du kannst nicht einfach aus einem Snippet die eine Zeile abschrfeiben ohne die anderen verstanden zu haben.
    Ich postete Dir einen logischen Code, bei dem Du meine Zeile

    RodFromGermany schrieb:

    VB.NET-Quellcode

    1. Dim img = New Bitmap(DEIN_PFAD) ' oder was auch immer
    einfach durch Deine Bildquelle ersetzen musst.
    Von Löschen war da nicht die Rede.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!