- Beiträge: 9
Leerzeichenentferner mit .NET ohne Abbruch
- Rabe
- Autor
- Offline
- Benutzer
Weniger
Mehr
10 Jahre 5 Monate her #1655
von Rabe
Leerzeichenentferner mit .NET ohne Abbruch wurde erstellt von Rabe
Hallo,
ich verwende den .NET Doppelte-Leerzeichen-Entferner aus diesem Thema
https://flowheater.de/forum/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;
}
ich verwende den .NET Doppelte-Leerzeichen-Entferner aus diesem Thema
https://flowheater.de/forum/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.
- FlowHeater-Team
- Offline
- Administrator
10 Jahre 5 Monate her - 10 Jahre 5 Monate her #1656
von FlowHeater-Team
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.
FlowHeater-Team antwortete auf Leerzeichenentferner mit .NET ohne Abbruch
Hallo Herr Rabe,
ein Abbruch konnte in dem Skript eigentlich nur vorkommen wenn der Eingangswert den Wert DBNULL. Hier das Skript, das auch mit solchen Werten zurechtkommt.
ein Abbruch konnte in dem Skript eigentlich nur vorkommen wenn der Eingangswert den Wert DBNULL. Hier das Skript, das auch mit solchen Werten zurechtkommt.
Code:
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: 10 Jahre 5 Monate her von FlowHeater-Team.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Rabe
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 9
10 Jahre 5 Monate her #1659
von Rabe
Rabe antwortete auf Leerzeichenentferner mit .NET ohne Abbruch
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
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.
- FlowHeater-Team
- Offline
- Administrator
10 Jahre 5 Monate her #1660
von FlowHeater-Team
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.
FlowHeater-Team antwortete auf Leerzeichenentferner mit .NET ohne Abbruch
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?
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?
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.
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Rabe
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 9
10 Jahre 5 Monate her #1663
von Rabe
Rabe antwortete auf Leerzeichenentferner mit .NET ohne Abbruch
Mit der Kopie aus Ihrem Beispiel funktioniert es jetzt. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.272 Sekunden