C# DateTime.Ticks in Unix-Timestamp und andere Formate umrechnen

C# DateTime.Ticks ConverterMit den DateTime-Funktionen des .NET-Frameworks lässt sich so einiges anstellen. Der Umgang damit gestaltet sich, meiner Meinung nach, sehr angenehm. Einzige Voraussetzung: Man befindet sich in einer reinen .NET-Umgebung. Kommen andere Systeme ins Spiel, so geht die Rechnerei los. Aber woran liegt es, dass man zum Beispiel DateTime.Ticks nicht mit der PHP-Funktion mktime() vergleichen kann?
Ruft man den “Timestamp” eines DateTime-Objekts (DateTime.Ticks) ab, so bekommt man die Anzahl der Ticks seit dem 01.01.0001 00:00Uhr zurück. Ein Tick wiederum ist 100 Nanosekunden lang.
Ein Unix-Timestamp, so wie ihn mktime() zum Beispiel produziert, gibt im Gegenteil zu DateTime.Ticks die Anzahl der Sekunden seit dem 01.01.1970 zurück.
Ein direkter Vergleich ist somit nicht möglich. Wie umgerechnet werden muss, möchte ich euch heute anhand von ein paar kurzen Snippets zeigen.
Unix-Timestamp -> DateTime.Ticks

private static DateTime TimeFromUnixTimestamp(int unixTimestamp)
{
[…]

Einfache XML-Serialisierung in C#

C# XML SerialisierungHeute möchte ich euch zeigen, wie man eine XML-Serialisierung in C# durchführen kann. Serialisierung selbst, bedeutet, dass man ein Objekt in eine andere, transportable Form umwandelt. Mittels XML-Serialisierung ist es uns zum Beispiel nötig, ein Objekt einer Klasse in Form einer XML-Datei abzuspeichern und auch wieder herzustellen.
Das kann Sinn machen, wenn man ein Objekt in seinem Zustand nach dem Schließen und erneuten Öffnen einer Anwendung wiederherstellen oder wenn man ein Objekt beispielsweise per HTTP übertragen möchte.
Für unser Beispiel habe ich folgende Klasse Blog erstellt:

public class Blog
{
public string User { get; set; }
public string Pass { get; set; }
public string Subdomain { get; set; }
public string BaseUrl { get; set; }
}

Die […]

Artikel auf Blogspot erstellen – C# .NET Blogger API

Blogger C# API LogoHeute möchte ich euch zeigen, wie man mittels C# Blogartikel auf Blogger.com (Blogspot.com) erstellen kann. Hierfür benötigt ihr zu aller erst die Google.GData.Client.dll, welche ihr im Google. Net API Pack findet.
Das API-Pack könnte ihr euch hier von Google herunterladen. (Die Datei heißt Google_Data_API_Setup_2.0.1.0.msi. Beachtet bitte, dass sich die Versionsnummer – 2.0.1.0 – im Laufe der Zeit natürlich ändern kann.) Wenn ihr den Download abgeschlossen habt, installiert das Paket, öffnet ein neues Projekt im Visual Studio und bindet die Google.GData.Client.dll ein.
Die .dll-Datei findet ihr im Downloadverzeichnis des API-Pack. (Wie ihr eine DLL einbinden könnt, habe ich hier bereits beschrieben.)
Wenn ihr die DLL eingebunden habt, kann es auch schon losgehen. Einen Post aka Blogartikel könnt ihr wie folgt erstellen:

private static int AddPost(string title,
[…]

Update: MySpace Loader 1.9 released

MySpaceLoader IconSo, neue Artikel gab es ja nun schon etwas länger nicht mehr. Das unter anderem daran, dass ich ganz gut damit beschäftigt war, den MySpace Loader zu überarbeiten. Und nun ist er fertig!
Vielen Dank, an alle Blogleser, die mir beim beheben der Bugs geholfen haben. Besonderer Dank gilt Hannah, die unermüdlich immer und immer wieder diverse Tests von mir ausgeführt hat, um den Fehler zu finden.
Die neue Version findet ihr hier:
MySpace Loader 1.9 Download
Changelog:

Bug behoben, der den Download von Songs bei einigen Usern verhinderte
Updatebenachrichtigungsdienst überarbeitet

 
English information:
I’ve finished my work on the new MySpaceLoader. The actual version for now is 1.9. In this release I’ve fixed a bug which stopped the download funtionality by some of the MySpaceLoader users. Also I implemented the updatecheck in a better way. 
Changelog:

Fixed the bug, which stopped […]

Höhe einer TextBox in C# verändern

Ich gebe zu, der Titel klingt geradezu trivial. Genauer betrachtet ist es aber gar nicht so einfach die Größe eines TextBox Controls in C# zu ändern, denn eine TextBox hat die Autosize-Eigenschaft nicht. Bei anderen Controls kann man die Autosize-Eigenschaft auf false setzen und dann die Höhe (Height-Property) verändern. Bei der TextBox geht dies so leider nicht.
Wie es doch geht, möchte ich euch nachfolgend zeigen. Der Trick ist folgender:

textBoxTest.Multiline = true;
textBoxTest.MinimumSize = new Size(150, 24);
textBoxTest.Size = new Size(150, 24);
textBoxTest.Multiline = false;

Zuerst muss man die Multiline-Eigenschaft auf true setzen. Danach kann man nach Lust und Laune die MinimumSize-, sowie die Size-Property anpassen, um die Größe der Textbox zu verändern. Wenn man fertig ist, setzt man die Multiline-Eigenschaft wieder auf false. Die TextBox behält die eben gesetzte Größe dennoch. So einfach ist das.
Wer sich jetzt noch fragt, wofür man das braucht, wenn die TextBox sich doch selbst in ihrer Größe anpasst, der sollte […]