Datei mit C# in Papierkorb verschieben
Es ist möglich, die entsprechende Funktionalität aus VB.NET auch in C# zu verwenden – dazu muss lediglich ein Verweis auf die Assembly
Microsoft.VisualBasic
ergänzt werden. Anschließend funktioniert folgender Aufruf:
01
FileSystem.DeleteFile("Datei.ext", UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);
FileInfo
schreiben, welche mittels DllImport
direkt auf die entsprechende Funktionalität der Windows-API zurückgreift. Dazu implementieren wir folgende Klasse:
010203040506070809101112131415161718192021222324252627
public static class RecycleBinExtension { public static void SendToRecycleBin(this FileInfo fileInfo) { SHFILEOPSTRUCT lpFileOp = new SHFILEOPSTRUCT { wFunc = 0x03, // FO_DELETE pFrom = fileInfo.FullName + "\0\0", fFlags = 0x40 // FOF_ALLOWUNDO };
SHFileOperation(ref lpFileOp); }
[DllImport("shell32")] private static extern int SHFileOperation(ref SHFILEOPSTRUCT lpFileOp);
[StructLayout(LayoutKind.Sequential)] private struct SHFILEOPSTRUCT { public IntPtr hwnd; public uint wFunc; public string pFrom; public string pTo; public ushort fFlags; public bool fAnyOperationsAborted; public IntPtr hNameMappings; public string lpszProgressTitle; }}
0102
FileInfo fileInfo = new FileInfo("Datei.ext");fileInfo.SendToRecycleBin();
SHFileOperation
und SHFILEOPSTRUCT
. Neujahr
Ich würde mich natürlich sehr darüber freuen, dich auch im nächsten Jahr wieder hier begrüßen zu dürfen.
Ping per C#
traceroute
beschrieben vorgehen, jedoch bietet es sich an, die Ping
-Klasse des .NET-Frameworks zu verwenden. Diese möchte ich mit diesem Beitrag kurz vorstellen, da sie interessanterweise zu den doch eher unbekannteren Funktionalitäten gehört.
010203040506
using(Ping ping = new Ping()) { PingReply reply = ping.Send("coders-online.net");
long time = reply.RoundtripTime; // 19 IPStatus status = reply.Status; // Success}
SendPingAsync
besteht außerdem auch die Möglichkeit, nach dem komfortablen und nicht-blockierenden async/await-Muster vorzugehen. Grad-Angaben für trigonometrische Funktionen in C#
Math.Sin
oder Math.Cos
berichtet. Nun lag das Problem jedoch weniger an C# (ohnehin kaum vorstellbar 
Glücklicherweise lassen sich die Werte jedoch schnell und problemlos jeweils zueinander umrechnen:
010203040506070809
// Grad zu Bogenmaß umrechnenpublic static double DegToRad(double degrees) { return (degrees * (Math.PI / 180));}
// Bogenmaß zu Grad umrechnenpublic static double RadToDeg(double radians) { return (radians * (180 / Math.PI));}
Podcast-Empfehlungen
Alternativlos
In diesem Podcast sprechen Felix von Leitner und Frank Rieger über gesellschaftsrelevante Themen. Zu den bisherigen Themenbereichen gehörten beispielsweise Geheimdienste, Kernkraftwerke, Kryptographie, Verschwörungstheorien und Wirtschaft. Technische Details und Humor kommen dabei selten zu kurz, leider erscheinen die Folgen jedoch recht unregelmäßig und derzeit selten – aber das Warten lohnt sich, wie ich finde.
CRE
Als Chaosradio Express gestartet sicherlich einer der Klassiker des monothematischen Podcasts, bei dem die Gäste zusammen mit Tim Pritlove zu diversen Themen aus den Bereichen Kultur und Technik diskutieren. Die bisherigen Themenbereiche umfassten beispielsweise Computerspiele, Fernsehen, Kaffee, Nachrichtendienste, Programmiersprachen, Raumfahrt, Stadtplanung, Steuern und VoIP. Sehr detailreich und mit meist längeren Folgen, derzeit jedoch leider ebenfalls sehr selten neue Veröffentlichungen.
methodisch inkorrekt
Alle zwei Wochen treffen sich die Physiker Nicolas Wöhrl und Reinhard Remfort von der Universität Duisburg-Essen, um über meist aktuelle wissenschaftliche Veröffentlichungen zu sprechen. Bonus-Inhalte der meisten Sendungen sind das Experiment der Woche und das China-Gadget der Woche – mit interessanten Einsichten und mehr oder weniger nützlichen Gimmicks. Die Themen sind im naturwissenschaftlichen Bereich zu verorten. Derzeit auf jeden Fall einer meiner Favoriten, da nicht nur sehr lehrreich, sondern auch überaus unterhaltsam.
omega tau
Markus Völter und Nora Ludewig liefern hier einen ebenfalls monothematischen Podcast mit vielen Details zum jeweiligen Thema, wobei üblicherweise ein Gesprächspartner als Experte befragt wird. Zu den bisherigen Themen gehörten beispielsweise Eisenbahnsicherungstechnik, Evolution, Kohlenstoffschichten, Robotik, Seismologie, Strahltriebwerke und Wetterdatenerfassung. Besonders erwähnenswert ist außerdem, dass es Folgen auf Deutsch und Englisch gibt, wobei es sich um jeweils unterschiedliche Themen handelt.
Auf der Unterseite Links finden sich noch ein paar weitere erwähnenswerte Podcasts.
Projektverweise
-
BitStadt – Stadtportal
Berlin · Hamburg · Amsterdam
Kategorien / Archiv | Übersicht
- Allgemeines (20)
- Gesellschaft (4)
- Projekte (10)
- Softwareentwicklung (87)
- Technik (10)
- Theorie (9)
- PHP-Funktionen in C# (136)
- Wörterbuch (257)