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:

Verwunderung?

14. April 2009 Keine Kommentare

Sicherlich ist der ein oder andere Besucher verwundert, welche Inhalte er jetzt unter den vermeintlichen Fulda-Seiten findet…

www.stadtteilseiten.de / www.fulda-erleben.de & www.fulda-west.de verweisen nämlich auf meinen Blog und nicht mehr auf die ehemals hinterlegten Inhalte.

Und das hat auch einen Grund:
Aufgrund verschiedener privater Umstände habe ich nicht mehr die Zeit und die Möglichkeit, die Seiten weiterhin aktuell zu halten und neue Inhalte einzupflegen. Nebenbei erwähnt wohne ich auch nicht mehr im Stadtgebiet von Fulda, so dass es sehr schwierig ist, überhaupt neue Infos zu erhalten.
Zudem hat die Stadt Fulda (www.fulda.de) mittlerweile ein sehr ansprechendes und informatives Angebot rund um die Stadtteile erstellt, so dass mir der Abschied von meinen Seiten eher leicht fällt.

Vielen Dank meinen “Stammbesuchern” für die langjährige Treue…

KategorienAllgemein Tags:

Vista :: Extension Manager

19. März 2009 Keine Kommentare

Um mit der Zeit zu gehen bin ich vor einigen Wochen auf Windows Vista umgestiegen. Bereut habe ich es noch nicht, aber ein paar Kleinigjeiten ärgern mich schon.
z.B. hat sich mein Office angewöhnt (bzw. seinen Standard behalten), wenn ich mehrere Dokumente gleichzeitig öffne, dass diese embedded, d.h. in einem Excel-Fenster, geöffnet werden. Da ich über eine Dual-Grafikkarte und zwei Monitore verfüge, hätte ich es schon gerne so, dass ich zwei Dateien auf zwei Monitoren betrachten kann…

XP gab mir über den Explorer – Ordneroptionen – Dateitypen die Möglichkeit den Aufrufparameter und das Programm je Dateityp festzulegen (z.B. xlsx mit “…/excel.exe /e”  und somit embedded) .
In Vista gibt es das nicht mehr und ist laut Microsoft auch nicht mehr vorgesehen!

Daher hier ein kleines Tool, das genau das kann:

Download: Extension Manager für Windows Vista

KategorienSonstiges 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:

Batch-File :: Datum berechnen

7. Januar 2009 Keine Kommentare

Der Anwendungsfall ist schnell erklärt:
Ich habe ein Archiv (Ordnerstruktur), in dem für jeden Tag ein Ordner existiert. Dieser ist wie folgt benannt: YYYYMMDD (also z.B. 20080914). Jetzt möchte ich täglich per Batch-Datei den Tagesordner von vor 6 Monaten automatisch löschen. Heute wäre also der Order 20070707 an der Reihe…

Dafür muss ich in der Batch-Datei vom heutigen Datum 6 Monate abziehen. Und genau das lässt sich am leichtesten mit der Kombination Batch/VBScript erledigen.

Zunächst legen wir eine .vbs-Datei “DateAdd.vbs” an:

wscript.echo dateadd(Wscript.arguments.item(0),Wscript.arguments.item(1),Wscript.arguments.item(2))

Anschliessend die Batch-Datei “DeleteArchivDaily.bat”:

@echo off
for /F %%i in (‘cscript /nologo C:\Pfad\zur\DateAdd.vbs M -6 %date%’) do set DELDATE=%%i

set DELDAY=%DELDATE:~-11,2%
set DELMONTH=%DELDATE:~3,2%
set DELYEAR=%DELDATE:~6,4%

rmdir /S /Q C:\Pfad\zum\Archiv\%DELYEAR%%DELMONTH%%DELDAY%

for /F %%i in (‘cscript /nologo C:\Pfad\zur\DateAdd.vbs M -6 %date%’) do set DELDATE=%%i
Bewirkt, dass das VBScript mit den Parametern M (d = Tag, M=Monat, y = Jahr) und -6 (abzgl. 6 Monate) aufgerufen wird und die Ausgabe des Scripts in der Variablen DELDATE gespeichert wird.

set DELDAY=%DELDATE:~-11,2%
set DELMONTH=%DELDATE:~3,2%
set DELYEAR=%DELDATE:~6,4%

Der Inhalt von DELDATE wird zerlegt und in weiteren Variablen gespeichert. Die Syntax des Datumssplits habe ich im Blogeintrag Batch-Files – Totgeglaubte leben länger  bereits beschrieben.

rmdir /S /Q C:\Pfad\zum\Archiv\%DELYEAR%%DELMONTH%%DELDAY%
Das ist der Löschbefehl unter Windows XP / Vista. Die Parameter /S und /Q sorgen dafür dass alle Verzeichnisse und Dateien incl. des angegeben Ordners gelöscht werden und das ganze ohne Rückfrage geschehen soll.

KategorienSonstiges Tags: