Hi nachdem ich jetzt sicher verschlüsseln kann ist mir aufgefallen das bei meiner Methode sehr viel zeit verloren geht, also dachte ich mir ich könnte das verschlüsseln der felder in einzelne threads packen
Bitte schaut euch meinen Code an an der stelle im switch würde ich gerne wo aktuell alle verschlüsselungen nacheinander laufen parralel und am ende alles wieder in der Zeile ausgeben und so weiter!
danke fürs Lesen!
*Topic verschoben*
Bitte schaut euch meinen Code an an der stelle im switch würde ich gerne wo aktuell alle verschlüsselungen nacheinander laufen parralel und am ende alles wieder in der Zeile ausgeben und so weiter!
VB.NET-Quellcode
- Imports System
- Imports System.IO
- Public Class cl_csv
- Shared Sub csvtoarray2(ByVal datapath As String, ByVal key As String, ByVal crypt As Integer, ByVal kind As Integer)
- Try
- Dim status As String = 0
- ' fileNameIn ermitteln, hier im Beispiel nicht per OpenFileDialog
- Dim fileNameIn As String = datapath
- Dim fileNameOut As String = fileNameIn & "_NEW.csv"
- ' streamReader, streamWriter definieren und öffnen
- Dim reader As New IO.StreamReader(fileNameIn)
- Dim writer As New IO.StreamWriter(fileNameOut, False)
- ' zeilenweise lesen
- While reader.Peek <> -1
- ' zeile lesen:
- Dim lineIn As String = reader.ReadLine
- ' in ein array splitten:
- Dim args() As String = lineIn.Split(";")
- ' Headlines Yes/no?
- If fm_main.headline = False Then
- ' Auswahl bestand oder schaden!
- ' Encrypt Strings you want
- Select Case kind
- Case 0 ' Bestand
- Select Case crypt
- Case 0
- Dim cCrypt As cCrypt = New cCrypt
- cCrypt.Encrypt(128, args(3).ToString, key)
- args(3) = cCrypt.EncryptedString
- Case 1
- Dim cCrypt As cCrypt = New cCrypt
- cCrypt.Decrypt(128, args(3).ToString, key)
- args(3) = cCrypt.DecryptedString
- End Select
- Case 1 ' Schaden
- Select Case crypt
- Case 0
- Dim cCrypt As cCrypt = New cCrypt
- cCrypt.Encrypt(128, args(0).ToString, key)
- args(0) = cCrypt.EncryptedString
- cCrypt.Encrypt(128, args(2).ToString, key)
- args(2) = cCrypt.EncryptedString
- cCrypt.Encrypt(128, args(3).ToString, key)
- args(3) = cCrypt.EncryptedString
- cCrypt.Encrypt(128, args(5).ToString, key)
- args(5) = cCrypt.EncryptedString
- Case 1
- Dim cCrypt As cCrypt = New cCrypt
- cCrypt.Decrypt(128, args(0).ToString, key)
- args(0) = cCrypt.DecryptedString
- cCrypt.Decrypt(128, args(2).ToString, key)
- args(2) = cCrypt.DecryptedString
- cCrypt.Decrypt(128, args(3).ToString, key)
- args(3) = cCrypt.DecryptedString
- cCrypt.Decrypt(128, args(5).ToString, key)
- args(5) = cCrypt.DecryptedString
- End Select
- End Select
- End If
- ' neue Zeile ergänzen und schreiben
- Dim lineOut As String = ""
- For i = 0 To args.Length - 1
- lineOut = lineOut + args(i) + ";"
- fm_main.pb_status.Value = i + 1
- fm_main.pb_status.Refresh()
- Next
- writer.WriteLine(lineOut)
- Console.WriteLine(lineOut)
- fm_main.headline = False
- status = status + 1
- fm_main.lb_status.Text = status
- fm_main.lb_status.Refresh()
- End While
- ' reader und writer sauber schliessen
- reader.Close()
- writer.Close()
- fm_main.pb_status.Visible = False
- MsgBox("Operation Done", MsgBoxStyle.OkOnly)
- ' falls gewünscht weitere File Operationen zum löschen der alten und umbenennen der neuen Datei
- If fm_main.cb_mode.Checked = True Then
- IO.File.Delete(fileNameIn)
- IO.File.Move(fileNameOut, fileNameIn)
- End If
- Catch E As Exception
- ' Let the user know what went wrong.
- MsgBox(E.Message, MsgBoxStyle.OkOnly)
- End Try
- End Sub
- End Class
danke fürs Lesen!
*Topic verschoben*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()