Archiv

Archiv für die Kategorie ‘C#’

C# :: MessageBox Result auswerten

18. August 2009 Keine Kommentare

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”);
}

KategorienC# Tags:

MSI-Setup mit Visual Studio 2005/2008

19. Juni 2009 Keine Kommentare

Nur mal so am Rande: Eine echt gelungene Beschreibung, wie man in Visual Studio 2005/2008 ein Setup-Projekt umsetzt, findet Ihr im VB-Archiv unter folgendem Link:

http://www.vbarchiv.net/workshop/workshop_108-msi-setup-mit-visual-studio-2005-2008.html

KategorienC#, Links, VB.NET Tags:

C# :: SQL ReportServer in asp.NET

26. Mai 2009 Keine Kommentare

Voraussetzung für die Umsetzung dieses Beitrags ist ein funktionierender Report auf Basis des SQL Reporting Services. Hierbei ist es unerheblich mit welcher SQL Server Version (2005[8.0] oder 2008[9.0]) gearbeitet wird. Die asp.NET-Umsetzung habe ich im Framework 2.0 umgesetzt.

Zunächst brauchen wir eine (in meinem Fall serialisierbare) Klasse, die das Interface Microsoft.Reporting.Webforms.IReportsServerCrendentials zur Ausführung des Reports implementiert:

[Serializable]
public class ReportCredentials :
      Microsoft.Reporting.WebForms.IReportServerCredentials
{
   string _userName, _password, _domain;

   public ReportCredentials(string userName, string password,
            string domain)
   {
      _userName = userName;
      _password = password;
      _domain = domain;
   }

   public System.Security.Principal.WindowsIdentity  ImpersonationUser
   {
      get
      {
          return null;
       }
    }

   public System.Net.ICredentials NetworkCredentials
   {
     get
     {
        return new System.Net.NetworkCredential
                       (_userName, _password, _domain);
     }
   }

   public bool GetFormsCredentials(out System.Net.Cookie authCookie,
             out string userName, out string password,
             out string authority)
   {
      userName = _userName;
      password = _password;
      authority = _domain;
      authCookie = new System.Net.Cookie
                      (“.ASPXAUTH”, “.ASPXAUTH”, “/”, “Domain”);
      return true;
     }
}

 Auf der aspx-Page, auf der der Report eingebunden werden soll, muss ein Steuerelement “ReportViewer” und folgender Code eingefügt werden:

protected void Page_Load(object sender, EventArgs e)
{
  if (!IsPostBack)
  {
    ReportViewer1.ShowCredentialPrompts = false;
    ReportViewer1.ServerReport.ReportServerCredentials =
             new ReportCredentials(“UserName”, “Passwort”, “”);
    ReportViewer1.ProcessingMode = 
             Microsoft.Reporting.WebForms.ProcessingMode.Remote;
    ReportViewer1.ServerReport.ReportServerUrl =
             new System.Uri(“http://reportserver/ReportServer”);
    ReportViewer1.ServerReport.ReportPath =
             “/Path2Report/ReportName”;

    ReportViewer1.ServerReport.Refresh();
  }
}

Auch eine Parametrisierung aus der Webpage ist möglich:

ReportParameter[] param = new ReportParameter[1];
param[0] = new ReportParameter(“ReportParam”, txtParameter.Text);

ReportViewer1.ServerReport.SetParameters(param);

 

Und zu guter letzt muss noch ein Abschnitt in der web.config im Abschnitt <system.web><httpHandlers>  angelegt werden:

<add verb=”*” path=”Reserved.ReportViewerWebControl.axd” type = “Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” />

Kategorienasp.NET, C# Tags:

C# :: GUID erzeugen

29. April 2009 Keine Kommentare

Um eine zufällige Zeichenfolge, die mit hoher Wahrscheinlichkeit eindeutig ist, zu erzeugen, kann man sich im .NET-Framework auf einfachem Weg eine GUID (Globally Unique Identifier) erstellen lassen.

Beispiel einer GUID:
7b5944a4-4366-48e0-8786-ed646c535247

Der dazugehörende Code:
String NeueGUID = System.Guid.NewGuid().ToString();

KategorienC# Tags:

C# :: Gerade oder ungerade Zahl (Tipp 2)

28. April 2009 Keine Kommentare

Nachdem ich festgestellt habe, dass der Artikel “Gerade oder ungerade Zahl” der am meisten aufgerufene Artikel ist, will ich an diese Stelle noch ein alternatives Code-Beispiel geben, wie man herausfindet, ob es sich bei einer Ganzzahl um eine gerade oder ungerade Zahl handelt:

int Zahl = 0;
if  (Zahl%2 == 1)
{
     Console.Write(“Das ist eine UNGERADE Zahl“);
}
else
{
     Console.Write(“Das ist eine GERADE Zahl“);
}
KategorienC# Tags:

C# :: md5-Hash eines Strings ermitteln

23. April 2009 Keine Kommentare

In einer Vielzahl von Anwendungen müssen Passwörter gespeichert werden. Gerade dann, wenn diese in einer Datenbank gespeichert werden, sollte man diese zumindest nicht im Klartext speichern.

Eine gute Möglichkeit hierfür bietet der md5-Algorithmus (Message-Digest Algorithm 5) - ein 128-bit-Verschlüsselungsalgorithmus, der auch von PGP (Pretty Good Privacy) verwendet wird. Diese Art der Verschlüsselung gilt derzeit als eine der sichersten…

Beispiel:

String: Franz jagt im komplett verwahrlosten Taxi quer durch Bayern
md5: a3cca2b2aa1e3b5b3b5aad99a8529074

Das ganze lässt sich im .NET-Framework einfach umsetzen:

public static string GetMD5Hash(string TextToHash)
{
  //Prüfen ob Daten übergeben wurden.
  if((TextToHash == null) || (TextToHash.Length == 0))
  {
    return string.Empty;
  }

  //Zum Berechnen des md5-Hash muss der String
  //in ein Byte[] 
zerlegt werden. 
  MD5 md5 = new MD5CryptoServiceProvider();
  byte[] textToHash = Encoding.Default.GetBytes (TextToHash);
  byte[] result = md5.ComputeHash(textToHash);

  return System.BitConverter.ToString(result);
}

KategorienC# Tags:

C# :: HEX-Color nach System.Drawing.Color

8. Januar 2009 Keine Kommentare

Auch ich musste heute googlen, da mir die Syntax zur Umwandlung einer HEX-Farbe (#000000) nach System.Drawing.Color nicht wirklich geläufig war:

using System.Drawing;

Color myColor = ColorTranslator.FromHtml(“#000000″);

und ausnahmsweise in VB

Dim myColor As Color = ColorTranslator.FromHtml(“#000000″)

KategorienC# Tags: