Codefieber.de

IT-Blog

7 Januar, 2014
von Pascal
1 Kommentar

Constructor in C# – Was ist das?

Was ist eigentlich ein Constructor? Konstruktoren werden bei dem Erstellen einer Klasse bzw. Struktur aufgerufen. Er ist sozusagen die Standard-Methode, die immer als Erstes aufgerufen wird. Mit Konstruktoren können Programmierer Standardwerte festlegen, Instanziierungen einschränken und wartbaren Code schreiben.

Die Konstruktoren haben den selben Namen der Klasse und können Argumente entgegennehmen.
Eine Klasse kann mehrere Konstruktoren mit verschiedenen Argumenten (Überladen) beinhalten.

C# erstellt automatisiert im Hintergrund einen Standard-Konstruktor der Klasse, sofern man keinen eigenen explizit angibt.

Statische Klassen und Strukturen können ebenfalls über Konstruktoren verfügen.

Hier ein Beispiel eines Constructors:

public class Taxi
{  
    public Taxi()
    {
        // Dies ist der Konstruktor
    }

    public Taxi(int eineZahl)
    {
        // Dies ist der Konstruktor mit einem Parameter
    }
}

21 Dezember, 2013
von Pascal
Keine Kommentare

Frohe Weihnachten und einen guten Rutsch

bilder frohe weihnachten

Ich wünsche allen Lesern ein schönes Weihnachtsfest und einen guten Rutsch ins neue Jahr 2014.

Des Weiteren bedanke ich mich bei all meinen Lesern und Kommentatoren in diesem Jahr. Der meist besuchte Blogeintrag war in diesem Jahr Ruckeln und Freezes auf dem Samsung Galaxy S Advance seit 4.1.2 Update. Hier habe ich erklärt, wie man das Ruckeln und Hängen auf dem Samsung Galaxy Advance mittels Kernelupdates beseitigt.

Im großen und Ganzen war das Jahr aus Sicht der Bloggerei erfolgreich, auch wenn ich noch nicht den gewünschten Bekanntheitsgrad errungen habe, erfreue ich mich über jeden Kommentar und merke das auch ein paar meiner Arbeiten gut ankommen.

Ich wünsche mir für das nächste Jahr weitere tolle und viele Kommentare!

Also bis zum nächsten Jahr! Frohe Weihnachten und einen guten Rutsch!

13 Dezember, 2013
von Pascal
Keine Kommentare

Vorzeitiger Abbruch bei FlatFiles

Bei dem Arbeiten mit FlatFiles, geht BizTalk davon aus, dass alle Zeilen mit der Länge an Zeichen die im Schema definiert wurden, auch mit Zeichen bzw. mit Leerzeichen gefüllt sind. Ist dies nicht der Fall, kommt eine Exeption.

Als Beispiel habe ich hier ein FlatFile mit 25 Buchstaben pro Zeile, die letzte Zeile hat aber nur 22 Zeichen:

ABCDEFG0101010HIJKLMNOPAI
ABCDEFG0101010HIJKLMNOPAI
ZXYVWUTSRQPONML1234567
(Diese Zeile endet früher und ist nicht mit Leerzeichen aufgefüllt)

Sind die Zeilen nicht bis zum Ende mit Zeichen gefüllt kommt wie oben schon angedeutet eine Exception, wie folgende: ‘Unexpected data found while looking for: \r\n’

Damit BizTalk frühzeitig erkennt, dass an der entprechenden Stelle keine Zeichen mehr kommen, kann man das Schema mit einem TextEditor (z.B. in Visual Studio – XML (Text) Editor) öffnen und im xs:annotation Knoten die Option allow_early_termination = “false” auf true setzen. Ist die Option nicht vorhanden, kann sie hinzugefügt werden.

Hier zur Veranschaulichung ein Beispiel:


    
      
      
    
  

18 November, 2013
von Pascal
Keine Kommentare

Could not enlist Send Port ‘XXXXX’. Exception from HRESULT: 0xC00CE557

Wann immer diese Fehlermeldung (Could not enlist Send Port ‘XXXXX’. Exception from HRESULT: 0xC00CE557) erscheint, hat dieser Fehler etwas mit dem Filter zu tun. Also immer wenn ein Send Port einen Filter besitzt und der Send Port eingeschaltet werden soll.

Exception 0xC00CE557

Erscheint nun diese Fehlermeldung, dann sind in dem Filter-Element der Bindings-Datei CTRL-Zeichen vorhanden, die dort nicht hingehören. BizTalk mag diese nämlich nicht 😉

Es gibt viele Beiträge im Internet, die dieses Thema ansprechen (Modifizierung des Filters in BizTalk) aber ich erkläre es hier nochmal kurz und knackig:

Um nun diese Fehlermeldung zu umgehen bzw. den Fehler zu beheben, sollte man die Bindingdatei in Notepad++ öffnen und unter View -> Show Symbol -> Show All Charakters einen haken setzen.
Nun sieht man alle CTRL Zeichen und kann diese im Filter des jeweiligen Ports entfernen.
So das eine Zeile mit dem Filter entsteht.

Nach dem erneuten Import der Binding-Datei müsste der Send Port sich nun korrekt einschalten lassen.

14 November, 2013
von Pascal
3 Kommentare

Destructor in C# – Was ist das?

In C# gibt es den sogenannten “Garbage Collecor”, welcher ein Objekt, welches nicht mehr benötigt wird aus dem Speicher löscht. Dies geschieht völlig automatisiert. Allerdings will man vielleicht ein Objekt gar nicht automatisiert löschen lassen, sondern manuell sicherstellen, dass es gelöscht wird.
Dann kommt der sogenannte “Destructor” zum Einsatz. Dies ist eine Methode um ein nicht länger benötigtes Objekt aus den Ressourcen zu löschen. Wie auch bei dem “Constructor”, wird der Destructor mit dem Klassenname “gestartet”. Anders ist hier allerdings das vorangehende ~ Zeichen.
Die Methoden sehen also nicht viel anders aus, als herkömmliche. Hier ein kurzes Beispiel:

~Car() 
{
    Console.WriteLine("Out..");
}

Sobald das Objekt vom Garbage Collector gesammelt wird, wird diese Methode aufgerufen.

11 November, 2013
von Pascal
Keine Kommentare

WebCrawler Library steht bald zur Verfügung

Einen simplen WebCrawler in C# programmieren Wer einen Webcrawler bauen möchte, der kann sich ja diesen Artikel mal durchlesen. Demnächst werde ich die Library mal zur Verfügung stellen. Diese kann man natürlich beliebig erweitern.

Momentan hat sie aus Spielerei die Funktionalitäten, allmögliche Links auszulesen, sowie alle Bilder einer Webseite zu speichern. Mit der GUI hat man dann eine Oberfläche, auf der die Links angezeigt werden können. Theoretisch kann man somit allmögliche Informationen aus einer Webseite auslesen. Interessante Spielerei, welche noch ziemlich ausbaufähig ist.

Wie gesagt, demnächst werde ich sie hier mal veröffentlichen, solange kann dann der angesprochene Artikel gelesen werden.

Vielleicht haben meine Leser hier ja weitere Ideen, was man mit so einem WebCrawler alles anstellen kann? Schreibt es mir doch mal in die Kommentare 😉

7 November, 2013
von Pascal
Keine Kommentare

SysInfoTool – Neues Tool auf Codefieber.de

Demnächst werde ich mein neues kleines Tool SysInfoTool hier zur Verfügung stellen. Dabei handelt es sich um ein System-Analyse Tool, welches allmögliche Hard- und Softwareinformationen vom eigenen Rechner und Windows ausliest (u.a. Windows Version, Installierte Programme, Netzwerkkarten, Browserinformationen) und strukturiert anzeigt. Des Weiteren kann man diese Informationen als Logfile abspeichern oder aber auch direkt eine E-Mail mit den Informationen (an die NSA ;)) versenden.

Ein erster Screenshot zeigt das Tool schon mal:

sysinfotool_codefieber_edit
Aus Sicherheitsgründen, habe ich ein paar Informationen mit Weiß übergepinselt 😉

Wer also ein kleines schlankes System-Informations-Tool, aus welchen gründen auch immer benötigt. Kann es sich demnächst hier herunterladen.

4 November, 2013
von Pascal
Keine Kommentare

C# Klassen aus XSD Schema generieren

Wer aus einem XSD Schema z.B. eine C#-Klasse erstellen möchte, kann das von Microsoft mitgelieferte XSD-Tool xsd.exe benutzen.

Dieses sollte man mit der Visual Studio Kommandozeile (Visual Studio Command Prompt) ausführen.

Hier gibt man dann folgende Zeilen ein: xsd your.xsd /classes

your.xsd ist die XSD-Datei, aus der die Klasse generiert werden soll.

Natürlich kann man auch noch weitere Parameter angeben, dazu kann man sich mal xsd /? angeben. Damit bekommt man eine komplette Übersicht was man noch alles angeben kann.

Wer z.B. eine andere Sprache (Visual Basic .NET beispielsweise) als den Standard C#, der gibt dann folgendes an: xsd your.xsd /classes /language:vb

Der Standardpfad unter welchem die generierte Klassendatei erstellt wird, ist bei C# z.B.: C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC

Hier noch zwei Screenshots zur Verdeutlichung:
xsd_01

xsd_02

31 Oktober, 2013
von Pascal
Keine Kommentare

Fast Flickr Widget eingebunden

flickr_photostream Wie ja schon angesprochen wollte ich ein flickr Widget Plug-in auf meinen WordPress Blog installieren.
Nach längerem testen und ausprobieren habe ich mich für das “Fast Flickr Widget” Plug-In entschieden.

Dieses bietet eine Möglichkeit, ein Widget in den WordPress Blog einzubinden, welches auf die Bildergallerie flickr.com zugreift und die eigenen oder auch fremde Bilder anzeigen lässt.

Das gute ist, man kann bei dem Plug-In die Größe der angezeigten Bilder anpassen. Ich hatte nämlich ein paar andere Plug-Ins ausprobiert, welche dies nicht konnten. Man hatte dann riesen große Bilder in der Widgetleiste, was natürlich nicht gerade zur Übersicht beiträgt.

Momentan habe ich folgende Optionen gesetzt:

    • Thumbnail, square or medium: Square
    • How many items: 9
    • Target: _blank: Yes
    • Random pick: Yes
  • Mit diesen Optionen habe ich 9 Bilder in drei Reihen und kann somit meine Bilder hier ebenfalls präsentieren.