Hallo
Ich habe eine App geschrieben, die ein Textfile anzeigt (wenn es vorhanden ist). wenn mehrere Textfiles vorhanden sind, sollen alle nacheinander angezeigt werden.
Der code funktioniert soweit, nur werden die Files nicht im Fenster angezeigt. In der Messagebos funktioniert es.
Kann mir jemand helfen?
(Ich beschäftige mich erst seit ca. 1 Woche mit VB.Net)
Besten Dank
Peter
Spoiler anzeigen
Thema verschoben; Das Thema wird automatisch dort erstellt, wo man sich befindet, wenn man auf [ Neues Thema] klickt.
CodeTags gesetzt
aufgrund des Datenumfangs Spoiler hinzugefügt ~VaporiZed
Ich habe eine App geschrieben, die ein Textfile anzeigt (wenn es vorhanden ist). wenn mehrere Textfiles vorhanden sind, sollen alle nacheinander angezeigt werden.
Der code funktioniert soweit, nur werden die Files nicht im Fenster angezeigt. In der Messagebos funktioniert es.
Kann mir jemand helfen?
(Ich beschäftige mich erst seit ca. 1 Woche mit VB.Net)
Besten Dank
Peter
VB.NET-Quellcode
- Imports System.Drawing.Text
- Imports System.Net
- Imports System.Reflection.Emit
- Imports System.Threading
- Public Class Form1
- Private GetEnvironment = Environment.GetEnvironmentVariable("LOCALAPPDATA") & "\" ' & "RemBody.txt"
- Private Zeitraum As String
- Private PfadSys As String
- Private StrParameter As String
- Private DatEnde As Date
- Private DatStart As Date
- Private StrPfad As String
- Private Sub FilesListen()
- ' Verzeichnis, dessen Dateien ermittelt werden sollen
- ' Dim sPath As String = Environment.GetEnvironmentVariable("LOCALAPPDATA")
- ' Directory-Object erstellen
- Dim oDir As New System.IO.DirectoryInfo(GetEnvironment)
- ' alle Dateien des Ordners
- ' Dim oFiles As System.IO.FileInfo() = oDir.GetFiles()
- ' nur TXT-Dateien ...
- Dim oFiles As System.IO.FileInfo() = oDir.GetFiles("*.txt")
- ' Datei-Array durchlaufen und in ListBox übertragen
- Dim oFile As System.IO.FileInfo
- For Each oFile In oFiles
- MessageBox.Show(oFile.Name)
- Select Case oFile.Name '** Auswahl
- Case = "1.txt"
- StrPfad = "1.txt"
- MessageBox.Show(GetEnvironment & StrPfad)
- SubAusführen()
- Case = "2.txt"
- StrPfad = "2.txt"
- MessageBox.Show(GetEnvironment & StrPfad)
- SubAusführen()
- Case = "3.txt"
- StrPfad = "3.txt"
- MessageBox.Show(GetEnvironment & StrPfad)
- SubAusführen()
- Case = "RemBody.txt"
- StrPfad = "RemBody.txt"
- MessageBox.Show(GetEnvironment & StrPfad)
- SubAusführen()
- Case Else
- MessageBox.Show("ELSE= " & GetEnvironment & StrPfad)
- Exit Sub
- End Select
- Next
- End Sub
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- FilesListen()
- End Sub
- Private Function SubAusführen() As Boolean
- '** Nachricht aufteilen 0= Oberer Teil, 1= Unterer Teil
- Dim strNachricht() As String = Split(IO.File.ReadAllText(GetEnvironment & StrPfad, System.Text.Encoding.Default), "~") '** Aufteilen ab Trennzeichen und in Array (0-1)schreiben
- MessageBox.Show("Param= " & strNachricht(0)) '** Parameter OK
- MessageBox.Show("Param= " & strNachricht(1)) '** Text OK
- '** Nachricht ausgeben'
- TextBox1.Text = strNachricht(1) '!!!!!!!!!!!!!!! Funktioniert nicht
- Exit Sub'*################## zum Testen
- '************ Parameter der Meldung **************
- For Each Line As String In IO.File.ReadAllLines(GetEnvironment & StrPfad, System.Text.Encoding.Default) '** Auswahl der Parameter
- Select Case True
- Case Line.StartsWith("1§") '** Pfad
- PfadSys = Line.Substring(2)
- Case Line.StartsWith("2§") '** Parameter
- StrParameter = Line.Substring(2)
- Case Line.StartsWith("3§") '** Start-Datum
- DatStart = Line.Substring(2)
- Case Line.StartsWith("4§") '** End-Datum
- DatEnde = Line.Substring(2)
- End Select
- Next
- '********************** Start-Datum und Ende-Datum zuweisen *********************
- Zeitraum = "Diese Nachricht wurde am: (" & DatStart & ") erstellt und Endet am: (" & DatEnde & ")"
- If System.DateTime.Now.ToString("dd.MM.yyyy") > DatEnde Then '** Zeitraum berechnen (Datum Heute größer Datum Ende)
- My.Computer.Audio.Play(My.Resources.Control, AudioPlayMode.Background)
- Select Case MessageBox.Show("Die maximale Aufbewahrunsdauer der Nachricht vom:" &
- Microsoft.VisualBasic.ControlChars.CrLf _
- & "[" & DatStart & "] ist erreicht!" &
- Microsoft.VisualBasic.ControlChars.CrLf _
- & Microsoft.VisualBasic.ControlChars.CrLf _
- & "Soll die nachricht jetzt gelöscht werden?",
- "Erinnerung löschen" _
- & vbCrLf, MessageBoxButtons.OKCancel,
- MessageBoxIcon.Question,
- MessageBoxDefaultButton.Button2,
- MessageBoxOptions.DefaultDesktopOnly Or
- MessageBoxOptions.ServiceNotification)
- Case DialogResult.OK
- My.Computer.FileSystem.DeleteFile(GetEnvironment & StrPfad) '** Erinnerung Löschen **
- My.Computer.Audio.Play(My.Resources.Control, AudioPlayMode.Background)
- MessageBox.Show("Die Erinnerung wurde gelöscht.",
- "Erinnerung löschen",
- MessageBoxButtons.OK,
- MessageBoxIcon.Information,
- MessageBoxDefaultButton.Button1,
- MessageBoxOptions.DefaultDesktopOnly Or
- MessageBoxOptions.ServiceNotification)
- Case DialogResult.Cancel
- End
- End Select
- End '** Schließen
- End If
- '****************************************** Information der Meldung ********************************************
- ' ** WAVE-Datei aus Anwendungsressource abspielen
- My.Computer.Audio.Play(My.Resources.Calendar, AudioPlayMode.Background)
- Me.Text = Zeitraum '** In kopfzeile des Fensters schreiben
- '** Nachricht ausgeben
- TextBox1.Text = strNachricht(1) '** (1) ist der 2.Teil der Nachricht (Information)
- '***************************************************************************************************************
- End Function
- Private Sub Btn_OK_Click(sender As Object, e As EventArgs) Handles btn_OK.Click
- If My.Computer.FileSystem.FileExists(GetEnvironment & StrPfad) = True Then '** Wenn File existiert
- My.Computer.FileSystem.DeleteFile(GetEnvironment & StrPfad) '** Erinnerung Löschen **
- If My.Computer.FileSystem.FileExists(GetEnvironment & StrPfad) = True Then '** Wenn File noch existiert
- MessageBox.Show("Das File " & vbCrLf &
- GetEnvironment & StrPfad & vbCrLf &
- "konnte nicht gelöscht werden!" &
- Microsoft.VisualBasic.ControlChars.CrLf &
- "Löschen Sie es bitte von Hand" &
- Microsoft.VisualBasic.ControlChars.CrLf &
- "Sonst wird die Erinnerung bei jedem" &
- Microsoft.VisualBasic.ControlChars.CrLf &
- "Systen-Neustart angezeigt",
- "Erinnerung löschen",
- MessageBoxButtons.OK,
- MessageBoxIcon.Information)
- End If
- End '** Schließen
- End If
- End '** Schließen
- End Sub
- Private Sub Btn_Abbruch_Click(sender As Object, e As EventArgs) Handles btn_Abbruch.Click
- End '** Schließen
- End Sub
- Private Sub BtnÖffnen_Click(sender As Object, e As EventArgs) Handles BtnÖffnen.Click
- '**************** App mit Argumenten Öffnen ******************
- Dim pr As New Process
- pr.StartInfo.FileName = PfadSys
- pr.StartInfo.Arguments = StrParameter '*** Argumente angeben
- pr.Start()
- End
- End Sub
- End Class
Thema verschoben; Das Thema wird automatisch dort erstellt, wo man sich befindet, wenn man auf [ Neues Thema] klickt.
CodeTags gesetzt
aufgrund des Datenumfangs Spoiler hinzugefügt ~VaporiZed
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VaporiZed“ ()