Man sollte sein Framework kennen

Man lernt ja auch jeden Tag was neues. Heute habe ich gelernt, dass es to tatsächlich eine nützliche Klasse namens TextFieldParser im .NET Framework gibt, genauer, im Namespace Microsoft.VisualBasic.FileIo. Anders als der Name vermuten lässt, kann man diese natürlich auch in C# nutzen

Sie hilft beim Parsen von Festlängen- oder feldgetrennten Textdateien und ist hier dokumentiert.

Nochmal zum Windows PATH

Kürzlich habe ich schon einmal einen Beitrag geschrieben, in dem es darum ging, dass die PATH-Umgebungsvariable in Windows eine bestimmte Länge nicht überschreiten darf.

Die logische Konsequenz ist, andere Umgebungsvariablen zur Verkürzung heranzuziehen. Beispielsweise kann man das Präfix C:\Program Files (x86) in einer neuen Pfadvariablen namens PA1 und C:\Program Files in PA2 hinterlegen.

Dann kann man in der PATH-Variable %PA1%\Microsoft\… schreiben und muss nicht den kompletten Pfad C:\Program Files (x86)\Microsoft\… hinterlegen. Dies verkürzt den Inhalt der PATH-Variable.

Hinweis: Die neuen Umgebungsvariablen müssen vom System vor der PATH-Umgebungsvariablen verarbeitet werden, was bedeutet, dass sie bei alphanummerischer Sortierung vor der PATH-Umgebungsvariablen einsortiert werden müssen.

Wann war der 1. des Monats?

Manchmal muss man ein DATE erzeugen, welches den ersten Tag des aktuellen Monats repräsentiert. Dies ist nicht ganz so trivial, wie es auf den ersten Blick erscheinen mag! Das folgende Kommando berechnet dieses Datum:

CALCDATE('<CM+1D-1M>')

Diese Datumsformel nimmt zunächst den aktuellen Monat (dies ist standardmäßig der letzte Tag des Monats in NAV). Dazu addiert es einen Tag (das ist dann der erste des Folgemonats) und zieht wieder einen Monat ab – und schon hat man den 1. des aktuellen Monats…

Achte auf Deinen Pfad

Ein paar Tage lang hatte ich arge Probleme mit meinem Arbeitsrechner. Nachdem ich die Visual Studio-Versionen 2012 und 2013 installiert hatte, funktionierten plötzlich nahezu alle Programme nicht mehr – auch die Systemsteuerung nicht.

Beispielsweise konnten einige in der Taskleiste angepinnten Programme nicht mehr gestartet werden. Auch beim Öffnen von Modulen der Systemsteuerung gab es Fehlermeldungen der Art %windir%\system32\xyz.exe wurde nicht gefunden. Oder, dass alle Einträge im Startmenü plötzlich keine Symbole mehr hatten…

Nach einigen Tagen böser Flüche und den vergeblichen Versuchen, alte Systemwiederherstellungspunkte wiederherzustellen, fand ich im Internet einen Hinweis, der schlussendlich zur Lösung des Problems führte:

Der Inhalt der Umgebungsvariablen PATH darf nicht länger sein als 2048 Zeichen! Falls er länger ist, funktioniert weder die PATH-Variable, noch andere %…%-Umgebungsvariablen des Systems.

Ich habe daraufhin den Inhalt gekürzt, neu gebootet – Problem gelöst. Willkommen in Windows 7, wo die Pfadvariable immernoch längenmäßig begrenzt ist…