Informationen:
In diesem Thread werden nützliche Funktionen ihren Platz finden um immer wieder abgerufen und schnell gefunden werden zu können.
Dieser Thread wird von den Moderatoren des .NET Bereiches geführt und daher ist es keinem User möglich hier Funktionen selbstständig zu posten.
Wenn ihr eine nützliche Funktion habt, dann wendet euch per Private Message an einen der .NET Moderatoren.
Eine Private Message hat wie folgt und nicht anders auszusehen:
Sollte die Private Message nicht dementsprechend aussehen so landet sie direkt in Ablage P!
Der jeweilige Moderator entscheidet dann ob die Funktion in unser Repository aufgenommen wird.
Solltet ihr in irgendeiner Form Fragen haben so stellt diese bitte ausschließlich und nur in diesem Thread: Nützliche Funktionen [Support]
Mit freundlichen Grüßen
Euer .NET Moderatoren Team _________________
Zuletzt bearbeitet von tr4st_ am 11.04.2008, 22:30, insgesamt 31-mal bearbeitet
tr4st_ « Moderator »
Anmeldedatum: 17.12.2007 Beiträge: 315 Wohnort: Private Class _ Villa()
Zeilen in einer Datei Zählen Verfasst am: 17.03.2008, 18:55
Beschreibung:
Diese Funktion öffnet eine Datei und zählt die Zeilen dieser Datei und gibt diese als Integer aus.
Gezählt wird jeweils bis zum Zeilenumbruch.
Funktion:
Code:
Private Function CountedRows(ByVal FilePath As String) As Integer
Dim Rows_Count As Integer
Dim TextLine As String
Dim ff As Integer = FreeFile()
Rows_Count = 0
FileOpen(ff, filepath, OpenMode.Input)
Do While Not EOF(ff)
TextLine = LineInput(ff)
Rows_Count = Rows_Count + 1
Loop
FileClose(ff)
If Rows_Count = 0 Then
Return "ERROR_NO_DATA_STRING"
Exit Function
Else
Return Rows_Count
End If
End Function
Beispiel:
Code:
MessageBox.Show(CountedRows("c:\test.txt"))
Zuletzt bearbeitet von tr4st_ am 21.03.2008, 19:20, insgesamt 8-mal bearbeitet
Marduk_ « Moderator »
Anmeldedatum: 17.06.2007 Beiträge: 389
Leere Felder eines Arrays löschen Verfasst am: 17.03.2008, 19:28
Beschreibung:
Mit dieser Funktion kann man ein String (oder Integer)-Array von leeren Feldern befreien. Dabei wird das Array der Funktion übergeben und bearbeitet. Es wird sortiert, die leeren Felder ermittelt, gelöscht und danach das Array wieder auf die passende Größe reduziert. Dabei geht aber die ursprüngliche Reihenfolge der Elemente verloren.
Die Funktion
Code:
Private Function clean_Array(ByRef ar() As String) As String()
Dim i As Integer
Array.Sort(ar)
Array.Reverse(ar)
For i = 0 To ar.Length - 1
If ar(i) = "" And ar(i + 1) = "" Then
Exit For
End If
Next
Array.Resize(ar, i)
Return ar
End Function
Beispiel:
Code:
Dim sr As New IO.StreamReader("c:\1.txt")
Dim s() As String = sr.ReadToEnd.Split()
s = clean_Array(s)
tr4st_ « Moderator »
Anmeldedatum: 17.12.2007 Beiträge: 315 Wohnort: Private Class _ Villa()
Bestimmte Zeile aus einer Datei auslesen Verfasst am: 17.03.2008, 20:09
Beschreibung:
Diese Funktion öffnet eine Datei und gibt die angegebene Zeile als String aus.
Begonnen wird jeweils bei 0, also ist die erste Zeile 0.
Funktion:
Code:
Private Function ReadLineFromTextFile(ByVal Filename As String, _
ByVal Line As Integer) As String
Dim Textfile As System.IO.TextReader = _
New System.IO.StreamReader(Filename)
Dim cnt As Integer = 0
Do Until cnt = Line
Textfile.ReadLine()
cnt += 1
Loop
ReadLineFromTextFile = Textfile.ReadLine()
Textfile.Close()
Anmeldedatum: 17.12.2007 Beiträge: 315 Wohnort: Private Class _ Villa()
Programm per Registry im Autostart eintragen Verfasst am: 17.03.2008, 20:29
Beschreibung:
Diese Funktion prüft ob das Programm in der sie aufgerufen wird im Registry Eintrag des Autostarts steht, sollte dem so sein wird ein False zurück gegeben, sollte dem aber nicht so sein so wird True zurückgegeben und das Programm wird eingetragen.
Funktion:
Code:
Private Function RegisterApplication(ByVal AppName As String) As Boolean
Const SubKeyName As String = _
"Software\Microsoft\Windows\CurrentVersion\Run\"
Dim hReg As Microsoft.Win32.RegistryKey = _
Microsoft.Win32.Registry.CurrentUser.OpenSubKey(SubKeyName, True)
If hReg.GetValue(AppName) Is Nothing Then
hReg.SetValue(AppName, Application.ExecutablePath)
hReg.Close()
Return True
End If
Return False
End Function
Beispiel:
Code:
RegisterApplication("Mein Programm Name")
Zuletzt bearbeitet von tr4st_ am 19.03.2008, 01:07, insgesamt 2-mal bearbeitet
tr4st_ « Moderator »
Anmeldedatum: 17.12.2007 Beiträge: 315 Wohnort: Private Class _ Villa()
Prüfen ob Prozess bereits ausgeführt wird Verfasst am: 18.03.2008, 03:29
Beschreibung:
Diese Funktion prüft ob das Programm bereits ausgeführt ist, wird dies als True zurückgegeben so kann man das Programm beispielsweise schließen lassen.
Funktion:
Code:
Private Function IsApplicationActive() As Boolean
For Each hProcess As Process In Process.GetProcesses
If (Process.GetCurrentProcess.ProcessName = hProcess.ProcessName) And _
(Process.GetCurrentProcess.Id <> hProcess.Id) Then
Return True
End If
Next
Return False
End Function
Beispiel:
Code:
If IsApplicationActive() Then
Me.Close()
End If
tr4st_ « Moderator »
Anmeldedatum: 17.12.2007 Beiträge: 315 Wohnort: Private Class _ Villa()
Prüfen ob das Betriebssystem Windows XP ist Verfasst am: 19.03.2008, 01:10
Beschreibung:
Diese Funktion prüft ob das zur Zeit der Ausführung laufende Programm Windows XP ist.
Funktion:
Code:
Private Function IsWindowsXP() As Boolean
Dim OS As OperatingSystem = Environment.OSVersion
Dim Result As Boolean = OS.Platform = _
PlatformID.Win32NT AndAlso ((OS.Version.Major = 5 AndAlso _
OS.Version.Minor >= 1) OrElse OS.Version.Major > 5)
If Result Then
Return True
Else
Return False
End If
End Function
Beispiel:
Code:
If IsWindowsXP() Then
MessageBox.Show("Windows XP wird genutzt!")
End If
Zuletzt bearbeitet von tr4st_ am 19.03.2008, 14:20, insgesamt 7-mal bearbeitet
tr4st_ « Moderator »
Anmeldedatum: 17.12.2007 Beiträge: 315 Wohnort: Private Class _ Villa()
Random Zahl zwischen Min. und Max. Wert generieren Verfasst am: 19.03.2008, 01:24
Beschreibung:
Diese Funktion gibt eine Zufallszahl zwischen dem minimalen und maximalen Wert aus.
Funktion:
Code:
Private Function GenerateRndNumber(ByVal [Min] As Int16, _
ByVal [Max] As Int16) As Int16
Try
Dim [rnd] As Random = New Random
Return [rnd].Next([Min], [Max])
Catch ex As Exception
MessageBox.Show(ex.Message, "GenerateRndNumber")
End Try
End Function
Beispiel:
Code:
MessageBox.Show(GenerateRndNumber(1, 100))
Zuletzt bearbeitet von tr4st_ am 19.03.2008, 14:20, insgesamt einmal bearbeitet
tr4st_ « Moderator »
Anmeldedatum: 17.12.2007 Beiträge: 315 Wohnort: Private Class _ Villa()
Zwei Dateien miteinander vergleichen Verfasst am: 19.03.2008, 02:30
Beschreibung:
Diese Funktion vergleicht zwei Dateien miteinander über ihren MD5 Hash.
Funktion:
Code:
Private Function CompareFiles(ByVal ParamArray Files() As String) As Int32
Dim f(1) As System.IO.Stream
Dim n As Integer
Try
For n = 0 To 1
f(n) = System.IO.File.OpenRead(Files(n))
Next
Dim csp As New _
System.Security.Cryptography.MD5CryptoServiceProvider
Dim FirstFile As Byte() = csp.ComputeHash(f(0))
Dim SecondFile As Byte() = csp.ComputeHash(f(1))
For n = 0 To 1
f(n).Close()
Next
Dim bc1 As String = BitConverter.ToString(FirstFile)
Dim bc2 As String = BitConverter.ToString(SecondFile)
If bc1 = bc2 Then
'Beide Dateien sind gleich
Return 1
Else
'Es bestehen Unterschiede in den Dateien
Return 0
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Info")
Return -1
End Try
End Function
Beispiel:
Code:
If CompareFiles("c:\test.txt", "c:\test.txt") = 0 Then
MessageBox.Show("Die Dateien sind unterschiedlich!")
ElseIf CompareFiles("c:\test.txt", "c:\test.txt") = 1 Then
MessageBox.Show("Die Dateien sind gleich!")
ElseIf CompareFiles("c:\test.txt", "c:\test.txt") = -1 Then
MessageBox.Show("Es ist ein Fehler aufgetreten!")
End If
Zuletzt bearbeitet von tr4st_ am 19.03.2008, 14:20, insgesamt einmal bearbeitet
tr4st_ « Moderator »
Anmeldedatum: 17.12.2007 Beiträge: 315 Wohnort: Private Class _ Villa()
Prüfen ob Datei in benutzung ist Verfasst am: 19.03.2008, 14:13
Beschreibung:
Diese Funktion prüft ob eine Datei bereits von einem Prozess verwendet wird.
Funktion:
Code:
Public Function IsFileInUse(ByVal fullFilePath As String) As Boolean
Dim ff As Integer = FreeFile()
If System.IO.File.Exists(fullFilePath) Then
Try
FileOpen(ff, fullFilePath, OpenMode.Binary, OpenAccess.ReadWrite, _
OpenShare.LockReadWrite)
Catch
IsFileInUse = True
Finally
FileClose(ff)
End Try
End If
End Function
Beispiel:
Code:
If IsFileInUse("c:\test.txt") = True Then
MessageBox.Show("Die Datei wird bereits von einem anderen _
Prozess verwendet!")
Else
MessageBox.Show("Die Datei ist noch nicht in benutzung!")
End If
tr4st_ « Moderator »
Anmeldedatum: 17.12.2007 Beiträge: 315 Wohnort: Private Class _ Villa()
Datei auslesen Verfasst am: 11.04.2008, 19:07
Beschreibung:
Diese Funktion liest eine Datei komplett aus.
Funktion:
Code:
Public Function ReadContent(ByVal FilePath As String)
Dim ContentFile As New System.IO.StreamReader(FilePath)
Return ContentFile.ReadToEnd.ToString()
End Function
Beispiel:
Code:
MessageBox.Show(ReadContent("c:\FileToRead.txt"))
_________________
tr4st_ « Moderator »
Anmeldedatum: 17.12.2007 Beiträge: 315 Wohnort: Private Class _ Villa()
Datei erstellen Verfasst am: 11.04.2008, 22:29
Beschreibung:
Diese Funktion erstellt eine Text Datei mit Wunschnamen und optionalem Inhalt, natürlich kann man sie auch umschreiben für andere Datei Typen.
Bei Aufruf der Funktion wird man aufgefordert den Speicherort anzugeben.
Funktion:
Code:
Public Function SaveTextFiles(ByVal FileName As String, Optional ByVal Content As String = "")
Try
Dim FilePath As New FolderBrowserDialog
FilePath.ShowDialog()
Dim CompletePath As String = FilePath.SelectedPath & "\" & FileName & ".txt"
Dim Save As New System.IO.StreamWriter(CompletePath)
Save.WriteLine(Content)
Save.Flush()
Save.Close()
Catch
Return 0
End Try
Return 1
End Function
Beispiel:
Code:
SaveTextFiles("TextFileName", "Some Content to write in...")