![]() |
VB Öffnen
SO ist zwar einen blöde frage, aber welche befehle zum öffnen von dateien gibt es in visual basic genau. Die Methode zum Binary Öffen kann ich, die geht ~ so:
---- Dateiname$ = (uploadliste) Nr = FreeFile Open Dateiname$ For Binary As Nr Fileinhalt$ = Space$(LOF(Nr)) Get #Nr, , Fileinhalt$ Close Nr ---- Aber es gibt noch andere arten, output, input... Wie kann ich mit diesen Befehlen den ganzen Inhalt einer Datei auslesen? Im Internet finde ich nichts sinnvolles. Ich müsste dann Den ganzen Inhalt der Datei (zB Inhalt mp3 File)in eine Textbox schreiben. |
Das öffnen an sich ist meist immer das gleiche.
Wie du schon sagstest "Open ...." Und dann kannst du noch auf verschiedenen arten lesen (am besten aus der hilfe raussuchen mit den unteren schlüsselwörtern): Line Input Read ReadLine ReadAll Input ... Den inhalt einer ganzen datei liest du auf einen rutscher mit Object.ReadAll ein (braucht aber viel speicher unter umständen). http://www.vb-world.net/files/openstatement/ http://pub13.ezboard.com/fvisualbasi...icID=869.topic Und etwas Bsp. code wenn du ein textfeld füllen willst mit einer ganzen datei (freefile methode): Dim filenumber As Integer, length As Long filenumber = Freefile Open filename for Input as filenumber length = LOF(filenumber) If length < 32767 Then Text1.Text = Input$(length, filenumber) Else MsgBox "This file is longer than 32Kb" EndIf Close filenumber Viel Spass (V)uh |
Danke für die Info, cih werds gleich austesten ;)
|
Aber ich will das file binär öffnen und in ein textfeld ausgeben, aber bei mp3 files hab ich ein problem, er schreibt mir nur 4 zeichen hin, obwohl es viel mehr sind!
|
Du kannst auch den kompletten inhalt eines MP3 files nicht in ein text feld schreiben weil es vermutlich zu gross ist. Eine textbox kann nur eine bestimmt anzahl von daten daten aufnehmen. Da dein MP3 aber vermulich mehr als 1MB hat ...
Siehe auch zeile vom letzten posting: If length < 32767 Then ... Mehr erfolg würde vermutlich ein spezielles OCX bringen, wobei ich dir jetzt auf anhieb keines empfehlen könnte. Ich würde es mit dem RTF control versuchen. Auch kannst du von manchen binären files nix zeilenweise einlesen, das musst du zeichenweise machen. Viel erfolg (V)uh |
a=filesize ( filename)
s = space$(a) ' string auf die dateilänge bringen nr=freefile ' ned unbedingt notwendig... open filename for binary as nr get nr,,s close nr zum schreiben: open filename for binary as nr put nr,,s close nr file brauchst ned unbedingt dazwischen zu schliessen weil binary erlaubt gleichzeitiges lesen und schreiben. |
konn i do sonst ned die zeilen von mp3 files einzeln auslesen? das würde auch schon helfen. pro zeile sind 1024 zeichen. Ist das mp3 file in einen ganzen Block abgespeichert, oder geht das mit den zeilen einzeln auch?
|
a=filesize ( filename)
s = space$(1024) nr=freefile ' ned unbedingt notwendig... ' Datei Blockweise einlesen ... open filename for binary as nr Len=1024 for X=0 to a\1024+1 get nr,x,s list1.additem s,list1.listcount s=reverse(s) ' Hier ne pseudofunktion aufrufen (selberschreiben wennst sowas machen willst :) put nr,x,s ' und gleich wieder schreiben. next close nr Mit dieser methode kannst ein File Blockweise einlesen. Len=x gibt an wie groß die zu lesenden bzw zu schreibenden Blöcke sind. Du kannst hier einen Block einlesen, direkt manipulieren und sofort wieder zurückschreiben wenns sein muss :) reverse() ist hier nur als beispiel für eine selbstgeschriebene Funktion welche die daten manipuliert. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 22:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag