dot net pro contest 01/2015 - Nachtrag

Donnerstag 08 Januar 2015 at 09:00 am

Ich hatte in meinem letzten Eintrag geschrieben, dass ich mit der 0,3 Sekunden für die Berechnung des kürzesten Weges zufrieden war.
Das bin ich noch immer, allerdings wird meine Lösung langsamer, sobald die Aufgabe komplexer wird.

In der Newsgroup dotnetpro.public.contest hat M.Beetz ein komplexeres Beispiel gepostet (Vielen Dank dafür!).
Bei diesem Beispiel findet meine Lösung auch die minimale Schrittanzahl (20020), aber der Rechner braucht dafür noch über 3 Sekunden.

Ich bin gespannt, wie andere Teilnehmer die Aufgabe gelöst haben.

Viele Grüße,
Christof

Nachtrag vom 23.03.2015:

Die Ergebnisse sind da. Wie erwartet gibt es viele richtige Lösungen. Daher wurde der Wettbewerb per Los entschieden. Von 60 Teilnehmern hatten 44 die richtige Lösung. Auch meine Lösung lieferte die korrekten Ergebnisse, aber das Losglück war mir nicht hold.

Die Ergebnisse wurden in der dotntpro ausgabe 4/2015 veröffentlicht:

dot net pro contest 01/2015

Montag 05 Januar 2015 at 11:05 pm

Das Thema des aktuellen Wettbewerbs lautet "Finde den Weg". Es geht darum in einem virtuellen Gelände den kürzesten Weg zwischen Start und Ziel zu finden.

Ich fand das Thema interessant und habe daher soeben meine Lösungs DLL eingeschickt.

Wer genauere Infos zu der Aufgabe haben möchte, folge diesem Link: http://www.dotnetpro.de/articles/onlinearticle5067.aspx

(mehr)

AK-Mail : Bug im mbox Export

Samstag 23 August 2014 at 04:26 am

Es gab einmal ein sehr gutes E-Mail Programm mit dem Namen AK-Mail. Es war so gut, das ich es am liebsten weiterhin benutzen würde. Aber das Projekt wurde 2009 eingestellt.

Um die E-Mails nicht zu verlieren, musste ich die Daten in das mbox Format exportieren. Leider hat AK-Mail beim Empfang einer reinen HTML e-Mails einen Plain Text Block hineingeschrieben. Dieser Block war notwendig, weil ältere Versionen von AK-Mail den HTML Teil nicht angezeigt haben und man dann gar keinen Inhalt sah.

Leider wurde dieser Block nicht korrekt geschrieben, sodaß der HTML Teil nach dem Weiterleiten oder nach dem Export nicht mehr angezeigt wird. Das macht die Übernahme der alten E-Mails schwierig. Da ich aber auf das e-Mail Archiv nicht verzichten möchte, habe ich folgende Lösung erarbeitet...

(mehr)

Vortrag : Einführung in das Flow Design

Montag 18 Februar 2013 at 11:31 pm

Wer interesse hat, kann zu diesem Vortrag ja gerne vorbei schauen. Eintritrt ist frei, aber um Anmeldung wird gebeten.

Den genauen Termin und den Ort findet Ihr entweder über die XING Gruppe https://www.xing.com/net/sokado/ oder direkt auf der Eventseite der Softwerkskammer Dortmund http://www.softwerkskammer.de/item/395010.

Ich werde das Thema anhand eines Beispiels mit einfachem C# Code vorstellen.  Nach dem kurzen Vortrag soll es noch eine gemeinsame Diskussion über das Flow Design Konzept geben.

Nachtrag (20.2.2013, 9:30 Uhr):

Die PowerPoint Datei und das Beispiel Projekt können heruntergeladen werden. Hier ist der Link: Vortrag Flow Design bei Softwerkskammer Dortmund am 20.2.2013

Da einige Aspekte erst im Rahmen des Vortrags erläutert werden, sind in der Visual Studio 2012 Solution zwei Projekte angelegt. Einmal ein Basisprojekt, welches im Vortrag live gefüllt wird und zum anderen ein fertiges Projekt, welches die komplette Funktionalität beeinhaltet.

Vorraussetzungen und Hintergrund Infos:

In dem Projekt wird ein Programm erstellt, welches Daten, die von der seriellen Schnittstelle (RS232) kommen, auf der Konsole und in einem Fenster darstellt. Um diese Funktionalität zeigen zu können, müssen notwendigerweise Daten über die Schnittstelle empfangen werden.

Damit man das Programm auch ohne externe Hardware verwenden kann, wird ein virtuelles Null Modem Kabel verwendet. Dieses Tool (com0com) hatte ich hier im Blog bereits vor einiger Zeit vorgestellt. Die Daten werden dann über ein einfaches Terminalprogramm (HTerm) eingegeben. Das Terminalprogramm stellt damit das externe Gerät dar, welches Daten über die serielle Schnittstelle liefert.

Beide Tools (com0com und hTerm) sind in der Downloaddatei enthalten. Das Projekt wurde mit Visual Studio 2012 erstellt. Die kostenlose VS2012 Express Version für Desktop Anwendungen reicht aus, um dieses Projekt zu kompilieren.

Info : com0com läuft auch auf 64 Bit Systemen. Allerdings muss eine angepasste (signierte) Version des Treibers verwendet werden, da sich Windows sonst weigert den Treiber zu verwenden. Diese Version konnte ich nicht in den Download packen. Verwendet einfach diesen Suchstring bei Google: "com0com 64 signiert"

.net Assembly mit COM Schnittstelle

Donnerstag 09 Juni 2011 at 9:11 pm

Es ist mit .net Mitteln relativ einfach eine Assembly zu erzeugen, die auch über COM (ehm. ActiveX) angesprochen werden kann. Um eine solche .net Assembly in die Registry einzubinden gibt es das Tool "regasm".

In den letzten Jahren habe ich diese Möglichkeit genutzt um zentrale Bibliotheken (z.B. 3D Mathematik) sowohl in .net Programmen, als auch in VB6 Programmen zu nutzen. Bis vor kurzem hat es keine Probleme gegeben. Aber nach der Umstellung auf 64 Bit Systeme klappte dies nicht mehr, wenn man versuchte die DLL über VB Script anzusprechen. Von dem VB6 Programm aus ging es aber noch.

(mehr)

Virtuelles Nullmodem - com0com

Mittwoch 03 November 2010 at 10:26 pm

Ein kleines nützliches Projekt auf Sourceforge: Es werden virtuelle ComPorts erzeugt, die paarweise mit einander über ein virtuelles Null-Modem-Kabel verbunden sind. Für mein EBC Projekt ideal.

(mehr)

Clean Code Developer

Mittwoch 16 Juni 2010 at 02:18 am

Clean Code Developer Logo
Als ich gegen Ende des Jahres 2008 zum ersten Mal von der Initiative "Clean Code Developer" hörte und ich mir die zugehörige Internet Seite www.clean-code-developer.de ansah, dachte ich erst: "Was soll das denn?"

Aber so nach und nach gefiel mir der Ansatz immer besser. OK, das Prozedere mit den Armbändern, das schenke ich mir. Das finde ich nicht so toll.

Aber die Idee hinter CCD, das Reflektieren über die Arbeit, das bewusste Anwenden der einzelnen Praktiken und die dadurch erreichbare Qualität der Software begeistern mich.

(mehr)

preiswertes Übersetzungstool

Samstag 13 März 2010 at 9:58 pm

Vor einigen Jahren musste ich eine mit Visual Basic 6 entwickelte Software nachträglich lokalisieren. Damals bin ich auf das MultiLanguage AddIn für VB6 von Herrn Jollans gestoßen. Es hat super funktioniert und begleitet mich seitdem in der .net Version auch bei meinen aktuellen Projekten.

Besonders hilfreich war das Tool als ich ein, mit dem Compact Framework 1 (VS2003) erstelltes, Projekt übersetzen musste. Dabei möchte ich besonders den Support von Herrn Jollans loben.

(mehr)

Enum.GetNames()

Sonntag 28 Februar 2010 at 2:59 pm

Dieses Problem ist mir bei einem Vortrag über die Lokalisierung von Programmen zum ersten mal aufgefallen. Bei einem Treffen der Dortmunder .net Usergroup (www.do-dotnet.de) berichtete Matthias Raacke von Problemen bei der Übersetzung von solchen Konstrukten. 

Etwas später stolperte ich beim Schutz des Quelltextes mit einem Obfuscator über das gleiche Problem. Nach der Obfuskierung waren die Texte in den Enum Typen nicht mehr lesbar!

Daher mein Tip:
Niemals die Namen einer Enumeration mit Enum.GetName() auslesen und in der Benutzeroberfläche ausgeben.

Doch worum geht es dabei eigentlich genau?

(mehr)