Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.

THEMA: Leerzeichenentferner mit .NET ohne Abbruch

Leerzeichenentferner mit .NET ohne Abbruch 2 Jahre 6 Monate her #1655

  • Rabe
  • Rabes Avatar
  • Offline
  • New Member
  • Beiträge: 7
Hallo,

ich verwende den .NET Doppelte-Leerzeichen-Entferner aus diesem Thema

flowheater.net/de/forum/allgemeine-theme...aus-string-entfernen

Alles funktioniert soweit einwandfrei. Falls jedoch kein Eingangswert anliegt, bricht das Script mit der Fehlermeldung ab und Flowheater arbeitet nicht weiter.

Da ich nicht mit .NET Programmierung keine Erfahrung habe und nach vielen eigenen Versuchen nicht weiter komme...

Wie muss die Formulierung lauten damit das Script nur bei <> leer anspricht und ansonsten die Bearbeitung ohne Fehler beendet und dann FlowHeater weiter arbeitet.

Danke.

public object DoWork()
{
if (InValues.Length != 1)
throw new Exception("ein Eingangsparameter erwartet!");
string value = (string)InValues[0].GetString();
while (value.IndexOf(" ") >= 0)
{
// solange 2 Leerzeichen ersetzen bis keine 2 aufeinanderfolgende mehr gefunden werden!
value = value.Replace(" ", " ");
}
return value;
}
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Leerzeichenentferner mit .NET ohne Abbruch 2 Jahre 6 Monate her #1656

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1099
Hallo Herr Rabe,

ein Abbruch konnte in dem Skript eingentlich nur vorkommen wenn der Eingangswert den Wert DBNULL. Hier das Skript, das auch mit solchen Werten zurechtkommt.

public object DoWork()
{
  if (InValues.Length != 1)
    throw new Exception("ein Eingangsparameter erwartet!");

  object o = InValues[0].GetString();
  if (o == null)
    return "";

  string value = o.ToString();

  while (value.IndexOf("  ") >= 0)
  {
    // solange 2 Leerzeichen ersetzen bis keine 2 aufeinanderfolgende mehr gefunden werden!
    value = value.Replace("  ", " ");
  }

  return value;
}
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Letzte Änderung: 2 Jahre 6 Monate her von FlowHeater-Team.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Leerzeichenentferner mit .NET ohne Abbruch 2 Jahre 6 Monate her #1659

  • Rabe
  • Rabes Avatar
  • Offline
  • New Member
  • Beiträge: 7
Hallo Herr Stark,

danke für die Antwort. Mit dem "neuen" Script arbeitet Flowheater nun alle Datensäte ab welche keinen Eingangswert haben, läuft aber bei Sätzen mit Werten ins Nirwana und lässt sich nur über den Taskmanager stoppen.

Was ich noch vergessen hatte zu erwähnen... Das erste Script bricht mit der Meldung "object reference not set to an instance of an object" ab.

Noch Ideen?

Danke & Grüße.
Lutz Rabe
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Leerzeichenentferner mit .NET ohne Abbruch 2 Jahre 6 Monate her #1660

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1099
Hallo Herr Rabe,

das Skript läuft bei mir ohne Problem. Im Anhang finden Sie ein kleines Beispiel dazu.

Evtl. liegt es bei Ihnen an einer weiteren Verarbeitung?
Anhang:
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Leerzeichenentferner mit .NET ohne Abbruch 2 Jahre 6 Monate her #1663

  • Rabe
  • Rabes Avatar
  • Offline
  • New Member
  • Beiträge: 7
Mit der Kopie aus Ihrem Beispiel funktioniert es jetzt. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.082 Sekunden