#1 8. November 2008 Ordner erstellen hi, könnte vll mal jemand gucken warum der Code nicht funktioniert? ich bin am verzweifeln Code: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Pfad = File.ReadAllText("C:\settings.ini") MkDir(Pfad) 'funktioniert MkDir(Pfad & "\" & Date.Now.Date & "\") 'funktioniert nich ?( ?( 'File.AppendAllText(Pfad, h & ":" & min & ":" & sec) End Sub + Multi-Zitat Zitieren
#2 8. November 2008 AW: Ordner erstellen Kommt eine Fehlermeldung? Wenn ja, welche? Was steht in der settings.ini? + Multi-Zitat Zitieren
#3 8. November 2008 AW: Ordner erstellen settings.ini Code: K:\log\ und es kommt keine fehlermeldung und es soll halt in dem ordner log ein ordner erstellt werden der halt wie das aktuelle datum heißt + Multi-Zitat Zitieren
#4 8. November 2008 AW: Ordner erstellen Habs grade mit dem Inhalt Code: C:\log in der settings.ini probiert und der hat beide Ordner ( C:\log und C:\log\08.11.2008 ) erstellt. Hast du vielleicht Zeilenumbrüche/Tabs/Leerzeichen in der settings.ini oder gibt es K:\ nicht? + Multi-Zitat Zitieren
#5 8. November 2008 AW: Ordner erstellen K:\ ist meine Externe und Zeilenumbrüche habe ich auch keine ....mit C:\ geht das aber K:\ will nich edit: Es geht doch, aber ich musste vorher den leeren ordner löschen.....woran könnte das liegen? Mit den Textdateien ist es das selbe....der legt die datei log.txt erst an wenn ich den kompletten ordner gelöscht habe + Multi-Zitat Zitieren
#6 8. November 2008 AW: Ordner erstellen Welchen leeren Ordner musstest du löschen? Und poste am besten nochmal den ganzen Code (in dem Code von oben wird ja keine log.txt angelegt) + Multi-Zitat Zitieren
#7 9. November 2008 AW: Ordner erstellen die sollte ja auch nicht angezeigt werden, ich wollte mir so eine art Blackbox programmieren. Naja, ich habe jetzt im Internet eine andere Lösung gefunden, trotzdem vielen dank . BW haste BTW: Wie kann man eine Datei automatisch regelmäßig speichern? + Multi-Zitat Zitieren
#8 9. November 2008 AW: Ordner erstellen Mit dem Timer-Control: Code: Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 'Code zum Speichern der Datei End Sub Das Intervall wird in Millisekunden angegeben (1000 Millisekunden = 1 Sekunde). Nach Ablauf des Intervalls wird eben immer die Sub Timer1_Tick aufgerufen, in der der Code fürs Speichern der Datei steht. + Multi-Zitat Zitieren
#9 9. November 2008 AW: Ordner erstellen Juhuuuuu genau das habe ich gesucht! Danke^^:] + Multi-Zitat Zitieren
#10 9. November 2008 AW: Ordner erstellen Ok zurück zu meinem ursprünglichem Problem (sorry wenn ich hier querbeet Fragen stelle) Die Methode createDir() will immer noch nicht. Das Programm zickt rum wenn der Ordner schon existiert. Dies äußert sich darin, das ListBox1 und logfile.log leer bleiben. Wenn der Ordner nicht existiert schön und gut, er wird angelegt und das Programm arbeitet so wie es soll, aber wie gesagt nicht wenn der Ordner schon existiert... Ebenfalls Hilfe bräuchte ich bei der Methode sort() Sie soll halt den Text nach Schlüsselwörtern durchsuchen und dann alle zeilen löschen, in denen diese Wörter vor kommen. Danke schonmal MfG Cuupa Source: Code: Imports System.IO Imports System.Environment Public Class Form1 Inherits System.Windows.Forms.Form Dim Pfad Dim h Dim min Dim sec Dim fso #Region " Vom Windows Form Designer generierter Code " Public Sub New() MyBase.New() ' Dieser Aufruf ist für den Windows Form-Designer ' erforderlich. InitializeComponent() ' Initialisierungen nach dem Aufruf InitializeComponent() ' hinzufügen AddHandler FileSystemWatcher1.Changed, AddressOf OnChanged AddHandler FileSystemWatcher1.Created, AddressOf OnChanged AddHandler FileSystemWatcher1.Deleted, AddressOf OnChanged AddHandler FileSystemWatcher1.Renamed, AddressOf OnRenamed AddHandler FileSystemWatcher2.Changed, AddressOf OnChanged AddHandler FileSystemWatcher2.Created, AddressOf OnChanged AddHandler FileSystemWatcher2.Deleted, AddressOf OnChanged AddHandler FileSystemWatcher2.Renamed, AddressOf OnRenamed AddHandler FileSystemWatcher3.Changed, AddressOf OnChanged AddHandler FileSystemWatcher3.Created, AddressOf OnChanged AddHandler FileSystemWatcher3.Deleted, AddressOf OnChanged AddHandler FileSystemWatcher3.Renamed, AddressOf OnRenamed End Sub '... #End Region Private sLogFile As String = "K:\$log\" & Date.Now.Date & "\logFile.log" Sub OnChanged(ByVal source As Object, ByVal e As _ FileSystemEventArgs) ListBox1.Items.Add(e.ChangeType.ToString & ": " & _ e.FullPath & " " & DateTime.Now.ToString) ListBox1.SelectedIndex = ListBox1.Items.Count - 1 End Sub Sub OnRenamed(ByVal source As Object, ByVal e As _ RenamedEventArgs) ListBox1.Items.Add(e.ChangeType.ToString & ": " & _ e.OldFullPath & vbNewLine & _ " neuer Name: --> " & e.FullPath & " " & _ DateTime.Now.ToString) ListBox1.SelectedIndex = ListBox1.Items.Count - 1 End Sub Private Sub StartWatchingC() FileSystemWatcher1.Path = "C:\" FileSystemWatcher1.NotifyFilter = _ (NotifyFilters.LastAccess Or NotifyFilters.LastWrite Or _ NotifyFilters.FileName Or NotifyFilters.DirectoryName) FileSystemWatcher1.IncludeSubdirectories = True Dim pattern As String = TextBox2.Text If pattern = "*" Or pattern = "*.*" Then pattern = "" End If FileSystemWatcher1.Filter = pattern FileSystemWatcher1.EnableRaisingEvents = True ListBox1.Items.Clear() ListBox1.Items.Add(DateTime.Now.ToString) ListBox1.Items.Add("Überwachung beginnt...") ListBox1.Items.Add("-----------------------------------------") End Sub Private Sub StartWatchingD() FileSystemWatcher2.Path = "D:\" FileSystemWatcher2.NotifyFilter = _ (NotifyFilters.LastAccess Or NotifyFilters.LastWrite Or _ NotifyFilters.FileName Or NotifyFilters.DirectoryName) FileSystemWatcher1.IncludeSubdirectories = True Dim pattern As String = TextBox2.Text If pattern = "*" Or pattern = "*.*" Then pattern = "" End If FileSystemWatcher2.Filter = pattern FileSystemWatcher2.EnableRaisingEvents = True End Sub Private Sub StartWatchingE() FileSystemWatcher3.Path = "E:\" FileSystemWatcher3.NotifyFilter = _ (NotifyFilters.LastAccess Or NotifyFilters.LastWrite Or _ NotifyFilters.FileName Or NotifyFilters.DirectoryName) FileSystemWatcher1.IncludeSubdirectories = True Dim pattern As String = TextBox2.Text If pattern = "*" Or pattern = "*.*" Then pattern = "" End If FileSystemWatcher3.Filter = pattern FileSystemWatcher3.EnableRaisingEvents = True End Sub Private Sub SaveListbox(ByVal ListBox As ListBox, _ ByVal sFile As String) Dim stream As IO.StreamWriter Dim i As Short stream = New IO.StreamWriter(sFile) For i = 0 To CShort(ListBox.Items.Count - 1) stream.WriteLine(ListBox.Items(i)) Next stream.Close() End Sub Private Sub createDir() Pfad = "K:\$log" & Date.Now.Date & "\" If fso.folderExists(Pfad) = False Then MkDir("K:\$log") MkDir("K:\$log\" & Date.Now.Date & "\") Else Exit Sub End If End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'createDir() StartWatchingC() StartWatchingD() StartWatchingE() sort() End Sub Private Sub Form1_Closing(ByVal sender As Object, _ ByVal e As System.ComponentModel.CancelEventArgs) _ Handles MyBase.Closing SaveListbox(ListBox1, sLogFile) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) SaveListbox(ListBox1, sLogFile) End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick SaveListbox(ListBox1, sLogFile) End Sub Private Sub sort() If ListBox1.Items.Contains("Spybot" Or "comodo" Or "tobit clipinc" Or "opera") Then ListBox1.Items.Remove("spybot") End If End Sub End Class + Multi-Zitat Zitieren
#11 9. November 2008 AW: Ordner erstellen Du verwendest doch .NET oder? Ich nehme mal an mit FSO meinst du FileSystemObject (was komischerweise im von dir geoposteten Code nirgendwo richtig deklariert und initialisiert wird ). Anyway, wenn du .NET benutzt (afaik ab 2.0) kannst du besser My.Computer.Filesystem verwenden: Code: Private Sub createDir() Pfad = "K:\$log" & Date.Now.Date & "\" If My.Computer.FileSystem.DirectoryExists(Pfad) = False Then My.Computer.FileSystem.CreateDirectory("K:\$log\" & Date.Now.Date & "\") Else Exit Sub End If End Sub MfG Acor + Multi-Zitat Zitieren
#12 9. November 2008 AW: Ordner erstellen hey, danke hat noch jemand einen vorschlag für die sort()-methode? + Multi-Zitat Zitieren
#13 9. November 2008 AW: Ordner erstellen Code: Private Sub sort() remove("Spybot") remove("comodo") remove("tobit clipinc") remove("opera") End Sub Private Sub remove(ByVal what As Object) Do While ListBox1.Items.Contains(what) ListBox1.Items.Remove(what) Loop End Sub + Multi-Zitat Zitieren
#14 9. November 2008 AW: Ordner erstellen Danke, BW haste. Aber wenn ich das richtig verstanden habe löscht der dann nur die Wörter raus, aber ich habe aber vor dann den gesammten Pfad zu löschen, also nicht nur Spybot sondern C:\ProgramFiles\Spybot\blablubb.lol + Multi-Zitat Zitieren
#15 9. November 2008 AW: Ordner erstellen Was steht denn in der ListBox genau alles drin? Ansonsten, Dateien löschen kannste mit My.Computer.FileSystem.DeleteFile() + Multi-Zitat Zitieren
#16 9. November 2008 AW: Ordner erstellen Ok, jetzt haben wir beide aneinander vorbei geredet Ich will nich die Datei löschen sondern das was in der ListBox steht, aber halt nicht Spybot sondern halt "C:\ProgramFiles\Spybot\blablubb.lol", was aber keine Datei ist sondern das was in der ListBox steht. + Multi-Zitat Zitieren
#17 10. November 2008 AW: Ordner erstellen Code: Private Sub remove(ByVal such As String) Dim I As Integer Dim ende As Integer = ListBox1.Items.Count Do While I < ende If ListBox1.Items(I).ToString.IndexOf(such, comparisonType:=StringComparison.CurrentCultureIgnoreCase) > -1 Then ListBox1.Items.RemoveAt(I) ende = ende - 1 Else I = I + 1 End If Loop End Sub + Multi-Zitat Zitieren
#18 10. November 2008 AW: Ordner erstellen Bissel umständlich, aber ich glaube er will Dateien löschen, nicht den Eintrag aus der Listbox. Verzeichnisse anlegen und löschen: Codebeispiel für Visual Basic .NET (VB.NET) und CSharp (C#) Kannst auch googlen. mfg EDIT: habs doch irgendwie flasch verstanden.. sry ListBox1.Items.RemoveAt(I) ist vollkommen richtig. + Multi-Zitat Zitieren