Archiv verlassen und diese Seite im Standarddesign anzeigen : [VB.NET] Nach String suchen
Hi, diesmal bin ich auf der suche nach (eigentlich) Standard-Prozeduren:
nach einem String suchen
eine Datei erstellen
Mir würde es schon reichen, wenn mir jemand sagt, wo man das nachlesen kann. Im Openbook von GalileoDesign habe ich dazu nichts anständiges gefunden und über Google nur VB6 Samples.
Dateien Erstellt man in .net mittels Streams
Dim sw As New StreamWriter("C:\test.txt")
sw.WriteLine("HalloWelt!")
sw.Flush()
sw.Close()http://openbook.galileocomputing.de/einstieg_vb_2008/visual_basic_kap_06_003.htm#mj7cb023f0a692a9323937 9ae80a102706
http://msdn.microsoft.com/de-de/library/system.io.filestream.aspx
nach einem String suchenErkläre mal genauer was du damit meinst , innerhalb eines strings suchen ? oder in einer Datei ?
MfG
Oder :
Dim inhalt as string = "Hallo"
IO.File.Create("C:\bla.txt",inhalt)
die Streamwriter Methode ist aber um Klassen besser ;)
und was du mit nach einem String suchen meinst verstehe ich nicht ^^
mfG
Ich erklärs mal im Zusammenhang ist dann einfacher zu verstehen:
Ich will einen Account Manager coden, der alle Eintrage in einer Textdatei ablegen soll. Beim Start soll die Textdatei eingelesen werden und die ListView ausfüllen.
Inhalt der Textdatei
URL : www.google.de
ich_bin_der_Username
ich_bin_das_Passwort
URL: www.free-hack.com
...
...Einlesen: Wenn er "URL :" in der eingelesen Zeile findet dann...bla bla
Bild von der Programmoberfläche:
http://s11.directupload.net/file/d/1839/um83gk4t_jpg.htm
Imports System.IO
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim einleser = New StreamReader("C:\x.txt").ReadToEnd
RichTextBox1.Text = einleser
Dim wort As String = "URL"
If RichTextBox1.Text.Contains(wort) Then
MsgBox(wort)
End If
End Sub
End Class
edit:
oder so ohne die richtextbox
Imports System.IO
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim einleser = New StreamReader("C:\x.txt").ReadToEnd
Dim tostr As String = CStr(einleser)
Dim wort As String = "URL"
If tostr.Contains(wort) Then
MsgBox(wort)
End If
End Sub
End Class
@inmate , das ganze gibt aber nur ein selbstdefiniertes Wort aus , nicht was wirklich dort steht
Hab mal ein sample geschrieben , was die Daten automatisch durchläuft und einzeln trennt , danach kannst du die Daten ja in dein ListView hinzufügen
Das wichtigste ist zuerst einmal das du die Datei Komplett einließt , danach splittest du nach jedem Zeilenumbruch.
Ich würde es allerdings jeweils in eine Zeile machen , so kann man es leichter wieder trennen
Im Format:
URL : www.google.de~ich_bin_der_Username~ich_bin_das_Pas swort (http://www.google.de%7Eich_bin_der_Username%7Eich_bin_das _Passwort)
URL: www.free-hack.com~username~passwort (http://www.free-hack.com%7Eusername%7Epasswort)
Dim sr As New System.IO.StreamReader("C:\Neues Textdokument.txt")
Dim Buffer As String = sr.ReadToEnd()
sr.Close()
Dim Daten As String() = Buffer.Split(ControlChars.CrLf)
Dim AlleDaten As String()
For Each i As String In Daten
AlleDaten = i.Split("~")
For Each x As String In AlleDaten
Console.WriteLine(x)
Next
Next
Console.Read()
End SubMfG
So bin nun soweit:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sr As New System.IO.StreamReader("C:\Users\PCFX\Desktop\test.txt")
Dim Buffer As String = sr.ReadToEnd
sr.Close()
Dim Daten As String() = Buffer.Split(ControlChars.CrLf)
Dim AlleDaten As String()
Dim Var1 As Boolean
Dim Var2 As Boolean
Dim Var3 As Boolean
Dim Item As New ListViewItem
For Each i As String In Daten
AlleDaten = i.Split("~")
For Each x As String In AlleDaten
MsgBox(x)
If Var1 = True Then
Var1 = False
Item.Text = x
Var2 = True
End If
If Var2 = True Then
Var2 = False
Item.SubItems.Add(x)
Var3 = True
End If
If Var3 = True Then
Var3 = False
Item.SubItems.Add(x)
ListView1.Items.Add(Item)
Var1 = True
End If
Next
Next
End SubInhalt der Textdatei:
www.google.de~12~45
www.wii.com~tralala~muh
Hab mir mal x in einer MsgBox ausgeben lassen (s.o. fett markiert), kommt auch alles hintereinander und zum Schluss eine leere. Aber in die ListView1 wird trotzdem nichts eingetragen. Was mache ich falsch ?
If Var1 = True Then
Var1 = False
Item.Text = x
Var2 = True
End If
das ist falsch . übersetzt heisst das wenn var1 war ist ist var1 falsch :o
Du musst das so schreiben:
if checkbox1.checked = true then
var1 = true
else
var1 = false
end if
Oder einfach:
var1 = checkbox1.checked
:D
Es gibt aber gar keine Checkbox ?! Var1, Var2, Var3 soll mir doch nur helfen die 3 Werte auszulesen..
Ich hab nur inmate's Sample angepasst :D
var 1 , var2, var3 sind aber boolesche Werte , und dein Code wird nicht gehen , da du es so geschrieben hast das wenn var1 war ist sie gleichzeitig falsch ist.
Ein boolescher Wert kann nur war oder falsch sein und nicht beides ;)
mfG
Powered by vBulletin® Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.