Frage zu Visual Basic und binärem Dateizugriff
COLOSSUS 23.06.2003 - 17:50 535 7
COLOSSUS
AdministratorGNUltra
|
Also, es geht darum, dem Anfang einer binären Datei Daten voranzustellen, bzw. allen Bytes einer Datei einen gewissen Wert modulo 255 hinzuzuaddieren. Wie aber lese ich eine ganze Datei in einen String respektive in eine (Rich)Textbox (sollte ja die gleiche Operation bedingen). Mit Open [datei] for binary as FreeFile sollte die Datei im richtigen Modus geöffnet werden, aber wie lese ich ihren ganzen Inhalt, so wie in PHP z.B. mit readfile()?
Wäre wirklich supertoll, wenn mir wer helfen könnte.
|
COLOSSUS
AdministratorGNUltra
|
Niemand eine Idee?
|
that
ModeratorHoffnungsloser Optimist
|
Binaries würde ich nicht in Textboxen bearbeiten (geht vermutlich auch gar nicht), aber zu VB kann ich dir leider nix sagen.
|
atrox
in fairy dust... I trust!
|
|
atrox
in fairy dust... I trust!
|
Binaries würde ich nicht in Textboxen bearbeiten (geht vermutlich auch gar nicht), aber zu VB kann ich dir leider nix sagen. ack, wenn es wirklich eine binärdatei ist, eignet sie sich wohl auch schlecht für die anzeige. was willst du durchs byteweise addieren ohne überlauf erreichen ?
|
COLOSSUS
AdministratorGNUltra
|
Keine der dort aufgezählten Methoden funktioniert wirklich Entweder kriege ich einen String der Länge 0 zurück, oder lediglich die erste Zeile der Datei. Mit dem FileSystemObject habe ich es mittlerweile geschafft, eine Datei vollständig einzulesen, allerdings sieht mir der Rückgabewert der Methode nicht nach dem wirklichen Inhalt der Datei aus. O_o Ich will eigentlich nur einen kleinen Verschlüsselungsalgorithmus schreiben, mehr nicht.
|
JC
AdministratorDisruptor
|
@COLOSSUS [i]Neues Projekt, Textbox und Commandbutton zeichnen, folgenden Code einfügen:[/i]
Dim intFreeFileNum As Integer
Dim strBuffer As String
intFreeFileNum = FreeFile
Open "C:\test.dat" For Binary Access Read As #intFreeFileNum
strBuffer = Space(LOF(intFreeFileNum))
Get #intFreeFileNum, , strBuffer
Close #intFreeFileNum
Text1.Text = strBuffer
So bekommst du den Inhalt in eine Textbox. Für jedwede weitere Information rate ich die Get-Anweisung in der MSDN-Library näher zu studieren. //edit Hier findet sich ein nettes Beispiel, wo eine Datei Byte für Byte eingelesen und verschlüsselt wird.
Bearbeitet von JC am 24.06.2003, 17:11 (supplementary info added)
|
COLOSSUS
AdministratorGNUltra
|
@COLOSSUS
[i]Neues Projekt, Textbox und Commandbutton zeichnen, folgenden Code einfügen:[/i]
Dim intFreeFileNum As Integer
Dim strBuffer As String
intFreeFileNum = FreeFile
Open "C:\test.dat" For Binary Access Read As #intFreeFileNum
strBuffer = Space(LOF(intFreeFileNum))
Get #intFreeFileNum, , strBuffer
Close #intFreeFileNum
Text1.Text = strBuffer
So bekommst du den Inhalt in eine Textbox. Für jedwede weitere Information rate ich die Get-Anweisung in der MSDN-Library näher zu studieren.
//edit Hier findet sich ein nettes Beispiel, wo eine Datei Byte für Byte eingelesen und verschlüsselt wird. Danke! Endlich eine Methode die funktioniert
|