Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!

Heater .NET Script - dynamische Script Ausführung

Heater .NET ScriptMit dem Heater .NET Script können Sie Ihre FlowHeater Definition mit beliebigen .NET Code ausstatten. Hiermit sind der dynamischen Transformation keine grenzen mehr gesetzt.

Heater .NET Script Konfiguration
Heater .NET Script Konfiguration

Alles was Sie bisher nicht mit den mitgelieferten (reichhaltigen) Funktionen des FlowHeaters abbilden konnten, können Sie mit Hilfe des .NET Script Heaters problemlos in DOT.NET selbst programmieren. Es werden die Programmiersprachen C# (CSharp) und VB.NET (Visual Basic) unterstützt.
Hinweis: Es können auch sehr komplexe Skripte verwendet werden. Selbst komplette Klassen können als Source eingefügt werden!

Der Config-Dialog ist recht einfach gehalten. Über den Check Syntax Button wird der Code kompiliert und ggf. Fehler ausgegeben.

Zugriff auf Parameter und Datentypkonvertierung

Der .NET Script Heater verfügt über die gleichen Mechanismen wie der Gesamte FlowHeater. Eingehende Datentypen werden automatisch anhand der gemachten Format Vorgaben des WRITE Adapters in den gerade benötigten Datentyp umgewandelt. Um dies zu nutzen wurden 5 Funktionen eingefügt.

 FunktionBeschreibung
  object InValues[x].GetValue() liefert den Inhalt des Parameters ohne Konvertierung, hiermit müssen Sie selbst zurechtkommen.
  object InValues[x].GetInt() Konvertiert den Inhalt in einen integer Wert.
  object InValues[x].GetLong() Konvertiert den Inhalt in einen long Wert.
  object InValues[x].GetBool() Konvertiert den Inhalt in einen boolean Wert.
  object InValues[x].GetDouble() Konvertiert den Inhalt in einen double Wert.
  object InValues[x].GetDecimal() Konvertiert den Inhalt in einen decimal Wert.
  object InValues[x].GetString() Wandelt den Inhalt in eine Zeichenfolge (String) um.
  object InValues[x].GetDateTime() Konvertiert den Inhalt in einen DateTime Typ.

x = 0 = erster Parameter!

Achtung: Für alle Funktionen gilt, ist der Rückgabe Wert NULL, konnte der Inhalt nicht konvertiert werden!

Auf die Parameter kann über das InValues Array über die oben genannten Funktionen zugriffen werden. Die Reihenfolge der Parameter ist die gleiche wie es im Designer angegeben wurde.

Rückgabewert / Return

Über den Returnwert wird der von Ihrer Funktion Transformierte Wert an den FlowHeater zur weiteren Verarbeitung zurückgegeben. Folgende Datentypen können derzeit zurückgegeben werden.

  • null
  • bool
  • int

long

  • double
  • decimal
  • string
  • DateTime

 

Beispiele

Folgende Beispiele sind zum .NET Script Heater bereits verfügbar.

 

oder schauen Sie sich für einen ersten Überblick folgende kleine C# (CSharp) Script Code Ausschnitte an.

 

Einfacher Zähler, Rückgabe 1, 2, 3, ... je nach Anzahl der verarbeitenden Datensätze.

int i = 0;
public object DoWork()
{
     return ++i;
}

 

Erweiterter Zähler über eine zusätzliche Funktion. Rückgabe hierbei 2, 4, 6, .. je nach Anzahl der verarbeitenden Datensätze.

int i = 0;
public object DoWork()
{
    return GibWasZurueck();
}

private int GibWasZurueck()
{
    i += 2;
    return i;
}

 

Eine etwas komplexere Berechnung über eine zusätzliche Klasse, die den 1. Eingangsparameter verarbeitet.

public object DoWork()
{
    object o = InValues[0].GetInt();
    if (o == null)
        return -1;
    else
    {
        KomplexeBerechnung komplex = new KomplexeBerechnung();
        return komplex.Rechne((int)o);
    }
}

public class KomplexeBerechnung
{
    public KomplexeBerechnung()
    {
    }

    public int Rechne(int i)
    {
        return i + i;
    }
}

 

Imports und Verweise

Derzeit wird ein fester Verweis auf die .NET System.dll verwendet, dabei werden die Namespaces

     System
     System.Text
     System.IO
     System.Reflection
     System.Text.RegularExpressions

Importiert. In einer späteren Version ist geplant, dass Verweise und Importe über den Config-Dialog konfiguriert werden können. Damit wird es dann auch möglich sein Verweise auf selbst erstellte .NET DLL´s einzubinden.

Bitte beachten Sie auch die Allgemeinen Infos zu den Heatern