C Überprüfung von Variablen und logische Abfragen

Aus ITP
Zur Navigation springen Zur Suche springen

der Befehl txa

Für die Kontrollausgabe benutze ich gern:

       txa     Kontrollausgabe
       txa Linien Knickpunkt Gradiente
       let#lnnr  #sln1+#i
       let#np_1  #f3(#i)
       let#np_2  #f3(#i+1)
       txa     Linie Nr.       = #(#lnnr,10.0)
       txa     Knoten Nr. 1    = #(#np_1,10.0)
       txa     Knoten Nr. 2    = #(#np_2,10.0)

10.0 bedeutet: insgesamt 10 Stellen, davon 0 nach dem Komma.

In Schleifen mit Abfragen von Bedingungen kann man so eine Zwischenkontrolle durchführen:

let#knr 3000

let#knrref 1000

let#y 1.3

let#dx0 0

let#dx1 -0.191

loop#i 37

       if (#i==0)
           let#dx  #dx1
       elseif (#i==19-1)
           let#dx  #dx1
       elseif (#i==37-1)
           let#dx  #dx1
       else
           let#dx  #dx0
       endif
       txa     dx  = #(#dx,6.3)
       spt     nr #knr+1+#i    x #x_a_n(#i+1)+#dx  y #y z 0
       sptp    typ kf  ref #knrref+1+#i    grp 99

endloop

Man kann mit txa auch auf Felder zugreifen.

Protokollieren mit prt

Bei der Variante mit TXA erfolgt die Kontrollausgabe in den Report Browser.

Alternativ dazu kann man auch die Variante mit PRT nutzen:

prt#qnr_st(1)

Hierbei erfolgt die Ausgabe unter "Echo der Eingabe" und es werden evtl. unerwünschte Nachkommastellen angezeigt. Falls eine Variable eine ganzzahlige Zahl sein muss, so gibt man diese mit z.Bps. zwischen zwei Hochkomma ein:

sto#qnr_nt '0' '301' '201' '201' '101' '101' $ Querschnittsnummer

Alternativ kann man auch den ganzzahligen Anteile mit let#variable_neu div(#variable_alt,1) ermitteln.

Fehlermöglichkeiten

Das mit den Variablen hat so seine Tücken.

aktueller Fall:

Ich definiere im Template die globalen Variablen

sto#yl -1,07/2

sto#yr -#yl.

Im Zuge der Projektbearbeitung möchte ich eine LAR definieren. Also gehe ich in einen entsprechenden älteren Datensatz und hole mir von dort mal fix die entsprechenden Eingabezeilen in's SOFiLOAD:

let#yr 1.85 😆 let#yl -#yr lar nr 1 grp1 1 grp2 2 grp3 - m #hmin n #hmin t 1 x1 #x1 #yl 0 x2 #x8 #yl 0 x3 #x8 #yr 0 x4 #x1 #yr 0

Da die erneute lokale Definition der Variablen die globale überschreibt...ist die LAR viel zu breit. 🙄