Archiv

Archiv für die Kategorie ‘C#’

C# :: Zufallszahl erzeugen (Random)

17. Dezember 2008 Keine Kommentare

Gelegentlich braucht man sie halt doch: Zufallszahlen.

Der Code ist recht übersichtlich:

Random rnd = new Random();
int Zufallszahl = rnd.Next(1,1000);

rnd.Next(1,1000) erzeugt eine zufällige Zahl zwischen 1 und 1000.

KategorienC# Tags: , ,

C# :: Gerade oder ungerade Zahl

6. November 2008 Keine Kommentare

Die schnellste Möglichkeit zu erkennen, ob es sich bei einer Zahl um eine gerade oder ungerade Zahl handelt, führt über den letzen Bit einer Ganzzahl.

using System;

im Code am Beispiel einer Console:

int i = 0;

Console.WriteLine(“Bitte geben Sie eine Zahl ein:“);
i = int.Parse(Console.ReadLine());

if ((i & 1) == 1)
{
     Console.WriteLine(“Das ist eine UNGERADE Zahl“);
}
else
{
     Console.WriteLine(“Das ist eine GERADE Zahl“);
}

(i & 1) verknüpft nun alle Bits mit einer UND-Anweisung. Dabei wird jedes Bit mit mit dem dazugehörenden Bit von 1 kombiniert. Ist eins GLEICH 0, wird das entsprechende Bit auch auf 0 gesetzt:

   0110 0001
& 0000 0001
———-
   0000 0001

Damit sitzt das letzte Bit auf 1 und ist somit UNGERADE…

KategorienC# Tags:

C# :: Dateien löschen

30. Oktober 2008 Keine Kommentare

Um schnell z.B. alle Textdateien in einem Verzeichnis zu löschen, kann folgender Code-Schnippsel herhalten:

private void DeleteTextFiles()
{
   string Path2Files = “C:\MeinOrdner”;
   string FileExt = “.txt”;
   string[] GetTxtFiles = Directory.GetFiles(Path2Files);
   int i = 0;

   for (i = 0; i < GetTxtFiles.Length; i++)
   {
      if (GetTxtFiles[i].ToString().EndsWith(FileExt))
         File.Delete(GetTxtFiles[i].ToString());
   }
}

KategorienC# Tags:

C# :: IP-Adresse herausfinden

28. Oktober 2008 Keine Kommentare

Um die IP-Adresse des aktuellen Benutzers herauszufinden, wird folgender Code verwendet:

using System.Net;

IPHostEntry IPHost = Dns.GetHostEntry(Dns.GetHostName());
GetIP = IPHost.AddressList[0].ToString();

IPHost.AddressList[i] gibt die IP-Adressliste zurück, bei Vista ist der Wert [0] die IPv6-Adresse. In diesem Fall müsste auf IPHost.AddressList[1] referenziert werden.

Um zu überprüfen, ob es sich um eine gültige IP-Adresse handelt, kann man sich dieser Funktion bedienen:

private bool IsValidIPAddress(string GetIPAddr)
{
   try
   {
      IPAddress.Parse(GetIPAddr);
      return true;
   }
   catch (Exception e)
   {
      return false;
   }
}

Funktionsaufruf:

bool IsValidIPAddr = IsValidIPAddress(GetIP);

KategorienC# Tags:

C# :: Embedded Wave abspielen (aus .resx)

28. Oktober 2008 Keine Kommentare

Neben dem bereits beschriebenen BEEP bietet sich noch die (elegantere) Möglichkeit einen WAVE-Sound auszugeben.

Um das WAVE-File nicht gesondert ausliefern zu müssen wird dieses über <<Projekt – Applikationsname-Eigenschaften>> – Tab <<Ressourcen>> in die Resources.resx eingebettet. So z.B. ein Wave-File mit dem Namen “alert.wav”.

Im Form wird nun folgender Code hinterlegt:

using System.Media;
private void  PlayAlert()
{
    System.Media.SoundPlayer player = _
                              new System.Media.SoundPlayer();
    player.Stream = WindowsApplication1.Properties.Resources.
                              ResourceManager.GetStream(“alert”);
    player.Play();
}
KategorienC# Tags:

C# :: Beep

28. Oktober 2008 Keine Kommentare

Wenn man so mit der Gestaltung einer C#-Windows-Applikation beschäftig ist, so stellt sich früher oder später die Frage nach einem Hinweiston, der bspw. dann abgespielt wird, wenn eine Ausnahme auftritt.

Hierfür bietet sich zunächst der klassische Windows-Beep an, der aus den integrierten PC-Lautsprechern kommt:

using System.Runtime.InteropServices;

namespace WindowsApplication1
{

public partial class Form1 : Form
{

[DllImport("Kernel32.dll")]
public static extern bool Beep(UInt32 frequency, UInt32 duration);

private void BeepIt()
{

Beep(1000, 50);
System.Threading.Thread.Sleep(100);
Beep(1000, 50);
System.Threading.Thread.Sleep(100);
Beep(1000, 50);

}

}

}

 
Beep(uint frequency, uint duration) kann über die Methoden Höhe und Dauer des Beep einstellen…

KategorienC# Tags: