FlowHeater Logo

FlowHeater Support Forum

weil Einfach - produktiver ist

Freeware Version herunterladen (10 MB)

Mit der Freeware Version können bis zu 100.000 Datensätze verarbeitet werden!

Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA: Leerzeichenentferner mit .NET ohne Abbruch

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

Hallo,

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

https://forum-de.flowheater.net/de/allgemein/286-vielfache-leerzeichen-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;
}

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1263
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;
}

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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: von FlowHeater-Team.

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

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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1263
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:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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.

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

Mit der Kopie aus Ihrem Beispiel funktioniert es jetzt. Danke.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1
Ladezeit der Seite: 0.095 Sekunden