Tag! Also ich kann keine Probleme mit Bildern feststellen, vielleicht liegt es an deinem Browser?\\
--Stefan Haubenthal, 2011-03-27

<test>
----
%%tabbedSection 
%%tab-AussenA

%%tabbedSection 
%%tab-Innen1
tab content 1
----
/%
%%tab-tabTitle2
tab Innen2
/%
/%
tab aussenI



/%
%%tab-AussenB
tab aussenII
/%
/%

----
</test>


!Meine Hardware
*800XL - im Originalzustand
*XC12
*SDrive - Eigenbau [[ mit Unterstützung ;) ]
----
[gromit.jpg]\\
Bester Freund von Wallace

-----

ACTION! TRUE/FALSE Beispiel

Halle Gromit,

ich habe Deine Beispiele aus der Documentation der FORTH Worte TRUE und FALSE herausgenommen, weil der Zusammenhang nicht stimmte. In ACTION! werden Zahlenwerte als "wahr" und "falsch" interpretiert, in FORTH gibt es extra "worte" dafür.

Die Artikel über TRUE und FALSE sind Teil der VolksForth Dokumentation, die möchte ich nicht mit ACTION! oder anderen Sprachen mischen.

Bei TRUE und FALSE ginge das noch, aber bei allen anderen Befehlen wird das dann unübersichtlich.

Da kann man besser einen extra Artikel über wahrheitswerte in ACTION! machen.

----
!Action
__false__ =0

Example:
%%prettify 
{{{
BYTE FUNC values_match(BYTE x,y)

  BYTE rval

  rval=0                ;means FALSE
  IF x=10 AND y=20 THEN
    rval=1              ;means TRUE
  FI
RETURN(rval)


PROC main()

  BYTE v1,
       v2

  PrintE("Please give me 2 numbers.")
  Print("v1 = ")
  v1=InputB()
  Print("v2 = ")
  v2=InputB()

  IF values_match(v1,v2) THEN 
    PrintE("Your values match!!")
  FI

RETURN
}}}
/%

Dieses Beispiel ist nicht wirklich gut. Die Funktion "values_match" scheint zu prüfen ob die beiden Eingabewerte gleich sind, aber es wir getstet ob Eingabewert x = 10 und Eingabewert y = 20 ist.

Die Benahmung der Eingabewerte X/Y suggestiert einen Punkt (X-Y Koordinate im Raum). Für zwei Byte-Werte würde ich "bval1" und "bval2" vorschlagen.

Die Routine "values_match" würde ich wie so schreiben:
{{{
BYTE FUNC values_match(BYTE bval1, bval2)
RETURN(bval1 = bval2)
}}} 
Das würde aber keiner so machen, da man auf Gleichheit direkt ohne Prozeduraufruf tsten kann.

Ein besseres Beispiel wäre die Prüfung on eine engegebene Zahl ungerade ist:

{{{
BYTE FUNC isOdd (Byte val)
RETURN (val MOD 2)

PROC main()

  PrintE("Please give me a number.")
  Print("v = ")
  v = InputB()
  Print("The value is ") 
  IF isOdd(v) THEN
     PrintE("odd")
  ELSE
     PrintE("even")
  FI   
RETURN
}}}