DrSoong
Iss was, Doc!
Also, am Passwort liegts nicht, das soll ja möglichst kompliziert sein um das Knacken zu erschweren.
Bin leider darüber gestolpert (man sollte müde nicht en) dass ein kodierter Text nicht mehr als Text sondern als Binärdatei gespeichert werden muss. Daher schaut das ganze auch etwas anders aus:
Das Lesen geht dann gleich:
Du mögest mir eventuelle Rechtschreibfehler verzeihen, hab hier kein VB zum testen.
BTW: Verwende doch statt den normalen Code-Tags die VB-Tags ([code=vb] und [/code]), da ist der VB-Code mit Syntaxhighlighting versehen und einfacher zu lesen.
Der Doc!
Bin leider darüber gestolpert (man sollte müde nicht en) dass ein kodierter Text nicht mehr als Text sondern als Binärdatei gespeichert werden muss. Daher schaut das ganze auch etwas anders aus:
Visual Basic:
Private Sub save_Click()
Dim n&, FF%, sText$ 'Ich kürz halt gerne alles zusammen
CommonDialog1.FileName = ""
CommonDialog1.Filter = "Inhalt (*.txt)|*.txt|"
CommonDialog1.ShowSave
If CommonDialog1.FileName <> "" Then
FF = FreeFile
For n = 0 To lstText.ListCount - 1
sText = sText & lstText.List(n) 'Alle Zeilen in einen String schreiben
If n < lstText.ListCount - 1 Then sText = sText & vbNewLine 'mit Zeilenumbruch trennen (außer nach letzter Zeile)
Next n
sText = Crypt(sText, sCryptKey) 'Alles verschlüsseln
Kill CommonDialog1.FileName 'Eine eventuell vorhandene Datei löschen
Open CommonDialog1.FileName For Binary As FF 'Binär öffnen
Put #FF, , lstText.List(n) 'und schreiben
Close FF
MsgBox "Inhalt", vbOKOnly + vbInformation
End If
End Sub
Das Lesen geht dann gleich:
Visual Basic:
Private Sub Command1_Click()
Dim FF%, sTemp$, sZeilen$()
FF = FreeFile
CommonDialog1.FileName = ""
CommonDialog1.Filter = "Inhalt (*.txt)|*.txt|"
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
lstText.Clear
sTemp = Space(FileLen(CommonDialog1.FileName) 'Bestimmen, das die ganze Datei gelesen wird
Open CommonDialog1.FileName For Binary As FF 'Binär öffnen
Get #FF, , sTemp 'und einlesen
Close #FF
sTemp = Crypt(sTemp, sCryptKey) 'Entschlüssle die Datei
sZeilen = Split(sTemp, vbNewLine) 'und Splitte nach Zeilen
For n = 0 To Ubound(sZeilen())
lstText.AddItem sZeilen(n) 'Jetzt einfach jede Zeile in die Listbox schreiben
Next n
End If
End Sub
Du mögest mir eventuelle Rechtschreibfehler verzeihen, hab hier kein VB zum testen.
BTW: Verwende doch statt den normalen Code-Tags die VB-Tags ([code=vb] und [/code]), da ist der VB-Code mit Syntaxhighlighting versehen und einfacher zu lesen.
Der Doc!