PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit VB .NET Sample



MCX
30.06.2004, 18:29:57
Hi,

ich hab jetzt ein schönes Programmierbeispiel im Internet gefunden, und zwar hier: http://www.devx.com/dotnet/Article/10532

Allerdings meckert VB immer rum bei folgenden Sachen:



.
.
.
sr = New StreamReader( openFileDialog1.FileName, System.Text.Encoding.ASCII)
TextBox1.Text = sr.ReadToEnd()
sr.Close()



da kommen folgender Fehler:
bei StreamReader(..) : Too many arguments to 'Public Sub New()'
bei sr.ReadToEnd(): 'ReadToEnd' is not a member of 'TestProg.Translator.StreamReader'
bei sr.Close(): 'Close' is not a member of 'TestProg.Translator.StreamReader'


weiter unten im Quelltext dann beim Menüpunkt Save und Save As noch zusätzlich dieser Hinweis:

bei sw.WriteLine(): 'WriteLine' is not a member of 'TestProg.Translator.StreamReader'


ich dachte erst, dass es daran liegen würde, dass ich kein .NET Compact Framework installiert haben würde, aber der Fehler kommt auch nach Installation.

Was kann ich da jetzt machen?

Tron
30.06.2004, 20:01:38
"sr = New" dürfte so nicht funktionieren.
Versuch es mal damit, funktioniert bei Textdateien problemlos:



Imports System.IO

'...
Dim AppPath As String = System.IO.Path.GetDirectoryName(System.Reflection. Assembly.GetExecutingAssembly.GetName.CodeBase)
Const DateiName = "MeineDatei.txt"
Dim Pfad as String = AppPath & "\" & DateiName
Dim File As New StreamReader(Pfad, System.Text.Encoding.ASCII)
Dim Zeile As String = ""
Dim T as String = ""

Do
Zeile = File.ReadLine()
If Zeile = Nothing Then
Exit Do
Else
T = T & Zeile
End If
Loop
File.Close()

TextBox1.Text = T

MCX
30.06.2004, 21:37:17
das funktioniert auch nicht. Ich muss MetaIndexFile und Pfad deklarieren, aber ich weiß nicht mit was?! das mit dem Imports ... geht auch nicht, das wird immer unterstrichen.

Tron
30.06.2004, 23:26:22
das funktioniert auch nicht. Ich muss MetaIndexFile und Pfad deklarieren, aber ich weiß nicht mit was?! das mit dem Imports ... geht auch nicht, das wird immer unterstrichen.

Sorry, ich hatte was übersehen, nachdem ich den Quellcode kopiert habe.

Ich habs abgändert, jetzt sollte es gehen:

Pfad ist natürlich der Pfad der Datei, die gelesen werden soll.
In dem aktuellen Beispiel, befindet sich die Datei "MeineDatei.txt" im Pfad des auszuführenden Programms (der "*.exe").

Ab besten die kompilierte Version auf dem PDA testen, da "MeineDatei.txt" ohne Einbindung in das Projekt nicht in den Emulator geladen wird und dann wieder ein Fehler in selbigem auftritt.

P.S. Imports muß ganz zu Beginn des Codes stehen (noch vor "Public Class...")

MCX
01.07.2004, 00:02:57
hmm, leider gehts immernoch nicht. da kommt wieder "Too many arguments to 'Public Sub New()'" und dann "READLINE is no member of 'TestProg.Translator.StreamReader'". Das gleiche mit CLOSE

Tosen
14.10.2004, 14:15:03
Späte Antwort, aber vielleicht hilft es ja noch....



Dim textFile As System.IO.StreamReader
Dim textString As String
Dim apppath As String
Dim textCharArray() As Char
' Pfad der Anwendung
apppath = Path.GetDirectoryName(System.Reflection.Assembly.G etExecutingAssembly().GetName().CodeBase)
' das Txt einlesen in StreamReader
txtFile = New System.IO.StreamReader(apppath & "\temp.txt", System.Text.Encoding.ASCII)
textCharArray = New Char(textFile.BaseStream.Length) {}
textFile.Read(textCharArray, 0, itextFile.BaseStream.Length)
textString = New String(textCharArray, 0, textCharArray.Length - 1)


Grüßle

Tosen

axo, bin neu hier :-)