Archiv

Archiv für die Kategorie ‘C#’

C# :: IK-Nummer Prüfung

1. Dezember 2011 1 Kommentar

Ok, das hier ist echt ein bisschen speziell. Jede Einrichtung die Leistungen nach dem SGB erbringt kann in Deutschland  eine eindeutige Identifikationsnummer beantragen - die sogenannte IK-Nummer (siehe http://www.therapedia.de/wiki/index.php/IK-Nummer)

Eine IK-Nummer lässt sich auf Gültigkeit prüfen:

Die ersten 2 Ziffern (“Klassifikation”) kennzeichnen die Art der Einrichtung oder die Personengruppe
Die Ziffern 3 und 4 (“Regionalbereich”) kennzeichnen das Bundesland der Einrichtung
Die Ziffer 5 bis 8 (“Seriennummer”) werden fortlaufend vergeben
Die Ziffer 9 dient als Prüfziffer

 

Hier das Snippet für die Prüfung dieser Nummer:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 public bool IstIKGueltig(string IKNr)
        {
            bool retVal = false;
 
            int ik1 = Quersumme(Int32.Parse(IKNr.Substring(0, 1)) * 2);
            int ik2 = Int32.Parse(IKNr.Substring(1, 1));
            int ik3 = Quersumme(Int32.Parse(IKNr.Substring(2, 1)) * 2);
            int ik4 = Int32.Parse(IKNr.Substring(3, 1));
            int ik5 = Quersumme(Int32.Parse(IKNr.Substring(4, 1)) * 2);
            int ik6 = Int32.Parse(IKNr.Substring(5, 1));
 
            int ikSum = (ik1 + ik2 + ik3 + ik4 + ik5 + ik6);
            string ikPruef = ikSum.ToString().Substring(ikSum.ToString().Length - 1, 1);
 
            if (Int32.Parse(IKNr.Substring(6, 1)) == Int32.Parse(ikPruef))
                retVal = true;
 
            return retVal;
        }

Hier noch die Funktion zur Ermittlung der Quersumme:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        private int Quersumme(int iNumber)
        {
            string strNumbers = iNumber.ToString();
            iNumber = 0;
            List lstParts = new List();
            foreach (char ch in strNumbers)
            {
                lstParts.Add(Convert.ToInt32(ch.ToString()));
            }
            foreach (int i in lstParts)
            {
                iNumber = iNumber + i;
            }
            return iNumber;
        }
KategorienC#, Sonstiges Tags:

SQL :: Generierte ID zurückgeben lassen

6. Januar 2011 Keine Kommentare

Manchmal ist es wichtig, dass man die vergebene ID in einer Tabelle auf dem MS-SQL-Server kennt.
Das ist mit dem folgenden Statement möglich [id = auto increment Spalte]: 

INSERT INTO TABELLE(meinfeld)
OUTPUT INSERTED.id
VALUES(‘meineintrag’)

Innerhalb von .NET-Source lässt sich das Statement mit dem OleDbReader / SqlReader problemlos ausführen und auswerten…

KategorienC#, Sonstiges Tags:

C# :: Assembly Version auslesen

1. Juni 2010 Keine Kommentare

Die aktuelle Assembly-Version kann man wie folgt auslesen:

Windows-Forms-Anwendung

Application.Productversion

Windows-Service / DLL

System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()
KategorienC# Tags:

SQL :: ConnectionStrings jeder Art

25. Mai 2010 Keine Kommentare

Wer mal auf die Schnelle einen ConnectionString für einen Datenzugriff unter .NET braucht:
Auf dieser Webseite sind ConnStrings für jeden erdenklichen Zugriff zu finden…

http://www.connectionstrings.com

(Danke an Thomas Br. / Thomas G.)

Kategorienasp.NET, C#, Links, TSQL MSSQL SQL, VB.NET Tags:

C# :: TIF Kompression einstellen

25. Februar 2010 Keine Kommentare

Bei der Erstellung (Konvertierung) von TIF-Images kann man im Bereich der TIF-Kompression einiges einstellen. Allerdings bedarf es hier eines Encoders sowie einer EncoderInfo-Hilfsfunktion:

private static ImageCodecInfo GetEncoderInfo(string mimeType)
{
  ImageCodecInfo[] encoders;
  encoders = ImageCodecInfo.GetImageEncoders();
  for (int i = 0; i < encoders.Length; i++)
    {
        if (encoders[i].MimeType == mimeType)
            return encoders[i];
    }
  return null;
}

Die eigentliche Umsetzung ist dann relativ simple:

Image img = Image.FromFile(“C:\\TestDatei.jpg”);

//z.B. TIFF FAX G4 ERZEUGEN
ImageCodecInfo ImgCodecInfo = GetEncoderInfo(“image/tiff”);
Encoder ImgEnc = Encoder.Compression;
EncoderParameters ImgEncParas = new EncoderParameters(1);

EncoderParameter ImgEncPara = new EncoderParameter(ImgEnc, (long)EncoderValue.CompressionCCITT4);

ImgEncParas.Param[0] = ImgEncPara;

 //SPEICHERN
img.Save(“C:\\NeuerDateiName.tif”, ImgCodecInfo, ImgEncParas);

KategorienC# Tags:

C# :: Countdown erstellen

23. Februar 2010 Keine Kommentare

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!

KategorienC# Tags:

C# :: Pfad zur ausgeführten DLL ermitteln

19. Januar 2010 Keine Kommentare

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;

KategorienC# Tags: