C# :: Countdown erstellen

C# Kein Kommentar »

Um einen Countdown in Minuten und Sekunden (25:37…25:36…) auf einem Windows Form zu erstellen brauchen wir:
- ein Label (label1)
- einen Timer (timer1)
- eine kleine Funktion (ConvertToTime)

Erstmal zwei kleine Variablen:

long CountDownTime = 1800;
//Sekunden, die heruntergezählt werden
int CountDownAbgelaufen = 0
//Lässt den Countdown negativ weiterlaufen

Jetzt die Funktion, die uns ein Wert in das passende Format zurlegt:

public string ConvertToTime(long tickCount)
{
   long seconds = tickCount;
   string val = (seconds / 60).ToString(“00″) + “:” + (seconds % 60).ToString(“00″);
   return val;
}

Das Form_Load():

private void Form1_Load(object sender, EventArgs e)
{
    label1.Text = ConvertToTime(CountDownTime);
    timer1.Enabled = true;
}

Das timer1_tick()-Event:

private void timer1_Tick(object sender, EventArgs e)
{
    if (CountDownTime == 0)
        CountDownAbgelaufen = 1;

    if (CountDownAbgelaufen == 0)
        CountDownTime–;
    else
        CountDownTime++;

    if (CountDownAbgelaufen == 0)
        label1.Text = ConvertToTime(CountDownTime);
    else
    {
       label1.Text = “- “ + ConvertToTime(CountDownTime);
       label1.ForeColor = Color.Red;
    }
}

Fertig!

C# :: Pfad zur ausgeführten DLL ermitteln

C# Kein Kommentar »

Während man innerhalb einer Windows-Forms-Anwendung den aktuellen Pfad zur EXE-Datei über

Application.StartupPath;

abrufen kann, steht diese Funktion in einer DLL nicht zur Verfügung, da der Namespace System.Windows.Forms natürlich nicht genutzt werden kann…

Hier hilft diese Syntax:

typeof(MyClassName).Assembly.Location;

Oracle Client 11g Installation

Sonstiges Kein Kommentar »

Bei der Installation von Oracle Client 11g auf Windows 7 oder Windows Server 2008 (nicht R2!) erhält man bei der Prüfung der Voraussetzungen folgenden Fehler:

Checking operation system requirements…
Expected result: One of 5.0,5.1,5.2,6.0
Actual Result: 6.1
Check complete. The overall result of this check is: Failed <<<< Problem: Oracle Database 11g is not certified on the current operating system. Recommendation: Make sure you are installing the software on the correct platform.

Wenn man den Fehler auf “durch Benutzer geprüft” setzt, verweigert der Oracle Client nach Installation seinen Dienst…

Lösung:

Suchen Sie die Datei “refhost.xml” im Installations-Quellverzeichnis und fügen Sie folgende Zeilen ein:

<OPERATING_SYSTEM>
<VERSION VALUE=”6.1″/>
</OPERATING_SYSTEM>

Nach dem Speichern und dem erneuten Ausführen des Setups wird die Prüfung anstandslos bestanden und der Client funktioniert anschliessend auch tadellos…

C# :: MessageBox Result auswerten

C# Kein Kommentar »

Eine Messagebox wird wohl in jedem Programm irgendwo verwendet. Neben der einfachen OK-Hinweismeldung kann man aber auch das Ergebnis einer JA-NEIN-Box auswerten:

// die Dialogbox zusammenbauen
DialogResult Ergebnis = MessageBox.Show(“Ist das eine Frage?”,
      “Der Titel der Box”,
      MessageBoxButtons.YesNoCancel,
      MessageBoxIcon.Question,
      MessageBoxDefaultButton.Button2);

// das Ergebnis auswerten
if (Ergebnis == DialogResult.Yes)
{
     MessageBox.Show(“Du hast JA geklickt”, “Der Titel der Box”);
}


20134 | 20081029