| |
VB.NET - Ein- und Umsteigerm3u Datei ändern | | | Autor: Wicky00 | Datum: 31.07.20 10:47 |
| Hallo Forum,
ich habe folgendes Problem. Ich lade mir aus dem Internet des öfteren m3u Dateien.
Aufbau:
#EXTM3U
#EXTINF:0,1. Das Erste HD
rtsp://192.168.178.57/?src=1&freq=11494&pol=h&ro=0.35&msys=dvbs2&mtype=8psk&plts=on&sr=22000&fec=23&pids=0,17,18,5100,5101,5102,5104
#EXTINF:0,2. ZDF HD
rtsp://192.168.178.57/?src=1&freq=11362&pol=h&ro=0.35&msys=dvbs2&mtype=8psk&plts=on&sr=22000&fec=23&pids=0,17,18,6100,6110,6120,6130
Problem ist das dort immer die IP Adresse des Erstellers eingetragen ist. Die Datei hat meistens mehrere hunderte mal diese IP Adresse eigetragen. Gibt es eine Möglichkeit das ganze automatisch umändern zu lassen ?
Von 192.168.178.57 auf 192.168.1.2
Bin leider noch ziemlicher Anfänger und wäre über ein kleines Beispiel dankbar. | |
Re: m3u Datei ändern | | | Autor: effeff | Datum: 31.07.20 13:36 |
| Lies den Text komplett oder zeilenweise ein (denn eine M3U ist ja nur eine Textdatei) und mache ein Replace der alten Textdaten auf die neuen.
Beispiel:
Dim Datei As String = "d:\beispiel.m3u"
Dim TextToReplace = "192.168.178.57"
Dim TextNeu = "192.168.1.2"
Dim Textinhalt As String = Nothing
Dim sr As New System.IO.StreamReader(Datei)
Textinhalt = sr.ReadToEnd
sr.Close()
Textinhalt = Textinhalt.Replace(TextToReplace, TextNeu)
Dim sw As New System.IO.StreamWriter(Datei)
sw.Write(Textinhalt)
sw.Close() EALA FREYA FRESENA | |
Re: m3u Datei ändern | | | Autor: Wicky00 | Datum: 31.07.20 17:26 |
| Dankeschön,
hat mir viel arbeit erspart.
Ich habe mir das ganze jetzt noch in einer Textbox anzeigen lassen.
TextBox3.Text = Textinhalt
Warum liest er mir die Datei nicht wie beim Notepade Zeilenweise in die Textbox ein ?
Bzw. wie kann ich die m3u wie im Notepad anzeigen lassen ? | |
Re: m3u Datei ändern | | | Autor: effeff | Datum: 01.08.20 16:38 |
| Ich verstehe Deine Frage nicht. Es ist egal, ob Du die Datei zeilenweise einliest oder auf einen Rutsch. Und angezeigt wird sie in der Textbox ja auch komplett inklusive Zeilenumbrüchen. Du musst Die Textbox nur auf "Multiline=True" einstellen. Und dazu stellst Du "Scrollbars=Both" ein.
Ich habe hier ein anderes Beispiel für Dich. Im ersten Takt wird dabei nur der Inhalt einer mittels OpenFileDialog zu bestimmenden Datei in eine Textbox (Multiline ist wieder True, Die Scrollbars sind auch wider Both) eingelesen - wieder komplett.
Im zweiten Takt kann man den Text manuell ändern und speichern.
Public Class Form1
Dim sDatei As String = Nothing
Private Sub btnDateiLesen_Click(sender As Object, e As EventArgs) Handles _
btnDateiLesen.Click
sDatei = ""
Dim ofd As New OpenFileDialog
With ofd
.InitialDirectory = "d:\"
.Filter = "m3u files (*.m3u|*.m3u"
.Multiselect = False
End With
Dim dres As DialogResult = ofd.ShowDialog
If dres <> DialogResult.OK Or ofd.FileName = "" Then
Exit Sub
End If
sDatei = ofd.FileName
TextBox1.Text = System.IO.File.ReadAllText(sDatei)
End Sub
Private Sub btnDateiSchreiben_Click(sender As Object, e As EventArgs) Handles _
btnDateiSchreiben.Click
System.IO.File.WriteAllText(sDatei, TextBox1.Text)
End Sub
End Class EALA FREYA FRESENA | |
Re: m3u Datei ändern | | | Autor: Wicky00 | Datum: 01.08.20 18:58 |
| OK, verstanden.
Ich verwende jetzt eine RichtTextBox, die zeigt alles so an wie ich es möchte.
Gibt es noch eine Möglichkeit beim einlesen IP Adressen farbig darzustellen ? | |
Re: m3u Datei ändern | | | Autor: effeff | Datum: 01.08.20 20:08 |
| Ich habe das Beispiel erweitert; Beachte bitte das Importieren von RegularExpressions!
Imports System.Text.RegularExpressions
Public Class Form1
Dim sDatei As String = Nothing
Private Sub btnDateiLesen_Click(sender As Object, e As EventArgs) Handles _
btnDateiLesen.Click
sDatei = ""
Dim ofd As New OpenFileDialog
With ofd
.InitialDirectory = "d:\"
.Filter = "m3u files (*.m3u|*.m3u"
.Multiselect = False
End With
Dim dres As DialogResult = ofd.ShowDialog
If dres <> DialogResult.OK Or ofd.FileName = "" Then
Exit Sub
End If
sDatei = ofd.FileName
RichTextBox1.Text = System.IO.File.ReadAllText(sDatei)
TextEinfaerben()
End Sub
Private Sub btnDateiSchreiben_Click(sender As Object, e As EventArgs) _
Handles btnDateiSchreiben.Click
System.IO.File.WriteAllText(sDatei, RichTextBox1.Text)
End Sub
Private Sub TextEinfaerben()
Dim Textinhalt As String = RichTextBox1.Text
Dim pattern As String = "^(?:(" & _
"?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(" & _
"?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
Dim Treffer As Boolean
Dim Textbeginn As Integer = 0
Dim Textposition As Integer = 0
Dim Textlaenge As Integer = 0
Dim arr() As String = Textinhalt.Split("/")
For i As Integer = 0 To arr.Length - 1
Treffer = Regex.IsMatch(arr(i), pattern, RegexOptions.IgnoreCase)
If Treffer Then
Textlaenge = arr(i).Length
Textposition = Textinhalt.Substring(Textbeginn, _
Textinhalt.Length - Textbeginn).IndexOf(arr(i)) + Textbeginn
With RichTextBox1
.SelectionStart = Textposition
.SelectionLength = Textlaenge
.SelectionColor = Color.Red
End With
Textbeginn = Textposition + Textlaenge
End If
Next
End Sub
End Class EALA FREYA FRESENA | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevOutBar 4.0
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere InfosTipp des Monats März 2024 Dieter OtterUTF-8 Konvertierung von Dateien und StringsVB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|