Archive for the ‘Programmierung’ Category.

NUnit mit C# 2010 verwenden

Ausgehend von einem einfachen Konsolenprogramm hier mal ein How-To für die Nutzung von NUnit unter Visual Studio 2010.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
 
namespace ConsoleApplication1
{
    class Program 
    {
        public static int add(int a, int b) {
            return a + b;
        }
 
        static void Main(string[] args)
        {
            System.Console.WriteLine(add(10,10));
            System.Console.ReadLine(); 
        }
    }
}

Zuerst installiert man die NUnit Binaries von http://www.nunit.org/?p=download. Im nächsten Schritte fügt man die Referenz zum Nunit Framework zum Projekt hinzu. Nunit.Framework sollte bei den Referenzen unter .Net auftauchen.

Dann wird die entsprechende „using Nunit.Framework“ – Direktive in den Code eingetragen. Im nächsten Schritt fügen wir die Test-Klasse FunctionTests.cs hinzu, der unsere add() Funktion prüfen soll:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
namespace NUnit.Tests
{
    [TestFixture]
    public class FunctionTests
    {
        [Test]
        public void add_test()
        {
            Assert.AreEqual(0, ConsoleApplication1.Program.add(100, 0));
        }
    }
}

Wenn das Projekt jetzt übersetzt wird können wir im Anschluss die generierte EXE in Nunit laden und den Test ausführen. In unserem Fall schlägt der Test fehl, da 100+0 nicht 0 ergeben.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

DB-Abfragen mit Powershell

Unter http://www.vistax64.com/powershell/190352-executing-sql-queries-powershell.html gibt es einige einfache Skripte für den Abruf von Daten aus einer SQL-Server Datenbank.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

MD5-Hash für eine Datei bestimmen

Ausgehend von einer komplexeren Funktion, die mir bereitgestellt wurde, hier ein Beispiel für die Berechnung von MD5-Hashes in Powershell:

[System.IO.FileInfo] $file = "c:\hallo.txt"
    $cryptoServiceProvider = [System.Security.Cryptography.MD5CryptoServiceProvider];
    $hashAlgorithm = new-object $cryptoServiceProvider
    $stream = $file.OpenRead();
    $hashByteArray = $hashAlgorithm.ComputeHash($stream);
    $stream.Close();
    return [string]$hashByteArray;

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

CUDA mit Excel-Unterstützung

Die kommende Version 3.1 von Nvidias Programmierbibliothek CUDA kommt mit Excel-Unterstützung. Sobald ich Excel 2010 habe, werde ich mir das mal genauer anschauen.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Dateipfade überprüfen mit Powershell

Für eine Liste von Dateien wollte ich wissen, welche der Dateien nicht gefunden werden können. Dank Powershell ist dies einfach zu erledigen.

  1. Ich importiere die entsprechende CSV-Datei (Hinweis: In der ersten Zeile der zu importierenden Datei steht „file“, über diese Bezeichnung erkennt Powershell die Spalte.
  2. Für jeden Eintrag in der Liste wird der Pfad überprüft.
  3. Wenn die der Pfad nicht gefunden wird, wird die entsprechende Pfadangabe an die notfound.txt Datei gehangen.
$files = Import-Csv t:\dateipfade.txt
 
foreach ($i in $files){
      if (-not (Test-Path $i.file)) {
      $i.file  | Out-File "t:\notfound.txt" -append
      }
}

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

wget für Powershell

Da der Internet Explorer der Meinung ist, PDF-Dateien im eingebetteten Reader anzuzeigen und das entsprechende PDF die Werkzeugleiste versteckt, brauchte ich ein alternatives Kommando, das die Datei direkt herunterlädt. Auf http://huddledmasses.org/wget-for-powershell/ gab es die Lösung:

$client = new-object System.Net.WebClient
$client.DownloadFile("<URL>","<Dateipfad, in den gespeichert werden soll>")

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Mit C# Bilder aus einer Datenbank lesen

Heute hatte ich die Aufgabe, mal Bilder binär in eine Datenbank zu übertragen, was mit dem bulk Feature des SQL Servers auch recht gut klappt, sofern man den Dateipfad richtig angibt. Liegen die Dateien nicht auf dem Datenbank-Server, so sind UNC-Pfade zu verwenden.

-- Erstelle Tabelle
CREATE TABLE [dbo].[Bilder](
	[ID] [INT] NULL,
	[ID2] [INT] NULL,
	[DATA] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
 
-- Füge Bild ein
INSERT INTO Bilder 
VALUES (1,2,(SELECT binary_data 
FROM OPENROWSET(Bulk 'c:/test.jpg', SINGLE_BLOB) 
AS F(binary_data)))

Für das Testen des Uploads habe ich dann bei http://support.microsoft.com/kb/317701 entsprechenden Code gefunden, den ich innerhalb von fünf Minuten am Laufen hatte und der auf Knopf-Druck das Bild aus der Datenbank in eine Picturebox liest. Mission accomplished 😉

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Folien für meinen Sweave-Vortrag

Mit Sweave lässt sich R Code direkt in LaTeX Dokumente einbetten und ausführen. Dokumente lassen sich auf diese Weise sehr einfach automatisieren und dynamisieren. Ein weiterer Vorteil ist, dass auch immer die richtigen Grafiken und Tabellen im TeX Dokument landen.

Auf der 42. Dante Tagung in Dortmund habe ich zu dem Thema einen kurzen Vortrag gehalten, hier sind die Folien: uweziegenhagen-dante2010

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Processing für iPhone und iPod Touch

Mit iProcessing gibt es jetzt ein Framework, das die Entwicklung von iPhone Anwendungen in Processing, der Sprache, in der auch der Arduino programmiert wird, ermöglicht.

http://www.heise.de/software/download/iprocessing/71850

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Powershell und Powerboots – Teil 1

Powerboots (http://huddledmasses.org/powerboots) ist ein .Net GUI Framework für Powershell, mit dem man recht einfach WPF Dialoge und Formulare erstellen kann.

Installation

  1. Download der ZIP-Datei von http://powerboots.codeplex.com/releases/view/28954
  2. Entpacken des Ordners in das Powershell Modules Verzeichnis, bei mir (Powershell 2 CTP) C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
  3. get-module -list PowerBoots sollte jetzt Informationen in einer Liste ausgeben
  4. Import des Powerboots-Moduls über Import-Module PowerBoots (Powershell gibt hier einen Fehler aus, ist aber wohl ein Fehler der POSH 2 CTP Version). Das Modul muss bei jedem Neustart neu geladen werden, daher empfiehlt sich ein Eintrag in der POSH Profile-Datei.
  5. New-BootsWindow { Button "Push Me" } sollte jetzt ein kleines Fenster mit dem Button zeigen

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website