11-12-2021 01:42 AM
Hallo,
ich befasse mich gerade mit dem Programm DIAdem und bräuchte Hilfe beim Einfügen einer If then else Funktion.
Das Skript ist soweit geschrieben und ich möchte nun im nach hinein so eine Funktion einfügen.
Ich hab diesen Wert berechnet und möchte jetzt definieren:
Wenn "Viskosität - Schritt 2 durch Schritt 1 -Entfernung Sinusprofil" > 0,8 ist dann
Sollte der Satz "Tinte zeigt newtonsches Verhalten" ausgegeben werden
sonst
"Tinte zeigt scherverdünnendes Verhalten"
Ich würde mich sehr über ihre Hilfe freuen 🙂
Viele Grüße
Sabrina
11-12-2021 05:37 AM
Hallo Sabrina,
"Viskosität - Schritt 2 durch Schritt 1 -Entfernung Sinusprofil" ist ein Kanal im Datenportal. Der Kanal enthält wahrscheinlich mehr als einen Wert. Wann genau soll die Meldung angezeigt werden? Wenn ein beliebiger Wert in dem Kanal größer 0.8 ist oder immer, wenn ein Wert größer 0.8 ist?
Für den ersten Fall habe ich ein Beispiel erstellt. Für den zweiten Fall sollte man erst einmal klären, was genau das Ziel ist.
Es ist übrigens einfacher mit den Kanalobjekten (Variable) zu arbeiten. Den Script-Ausschnitt habe ich entsprechend umgestellt.
dim oChnSchritt_1, oChnSchritt_2
set oChnSchritt_1 = Data.GetChannel("/Viskosität - Schritt 1 durch Schritt 1 -Entfernung Sinusprofil")
set oChnSchritt_2 = Data.GetChannel("/Viskosität - Schritt 2 durch Schritt 1 -Entfernung Sinusprofil")
call ChnDiv(oChnSchritt_2, oChnSchritt_1, oChnSchritt_2)
call ChnRound(oChnSchritt_2, "Standard", "DecimalDigits", 5, true)
if oChnSchritt_2.Maximum > 0.8 then
call msgbox("Tinte zeigt newtonsches Verhalten")
else
call msgbox("Tinte zeigt scherverdünnendes Verhalten")
end if
Gruß
Walter
11-12-2021 06:00 AM
Hallo Walter,
vielen Dank für die schnelle Antwort, ich habe das Skript so verändert und es hat funktioniert.
Kann ich dieses Ergebnis auch in meinem Report anzeigen lassen?
Liebe Grüße
Sabrina
11-12-2021 06:55 AM
Hallo Sabrina,
wenn du einen Kommentar mit Hintergrundfarbe verwendest ...
sieht das Script so aus:
dim oChnSchritt_1, oChnSchritt_2
set oChnSchritt_1 = Data.GetChannel("/Viskosität - Schritt 1 durch Schritt 1 -Entfernung Sinusprofil")
set oChnSchritt_2 = Data.GetChannel("/Viskosität - Schritt 2 durch Schritt 1 -Entfernung Sinusprofil")
call ChnDiv(oChnSchritt_2, oChnSchritt_1, oChnSchritt_2)
call ChnRound(oChnSchritt_2, "Standard", "DecimalDigits", 5, true)
if oChnSchritt_2.Maximum > 0.8 then
'call msgbox("Tinte zeigt newtonsches Verhalten")
Report.Sheets("Blatt 1").Objects("Comment1").Comment.Text = "Tinte zeigt newtonsches Verhalten"
else
'call msgbox("Tinte zeigt scherverdünnendes Verhalten")
Report.Sheets("Blatt 1").Objects("Comment1").Comment.Text = "Tinte zeigt scherverdünnendes Verhalten"
end if
call Report.Refresh
Gruß
Walter