DeclAdj()
=========

FUNKTION
--------
::

     varargs string DeclAdj( string|string* adj, int casus, int demon);

DEFINIERT IN
------------
::

     /std/thing/language.c

ARGUMENTE
---------
::

     adj
          Das zu deklinierende Adjektiv.

     casus
          Der Fall, in den es dekliniert werden soll.

     demon
          Bezieht sich das Adjektiv auf einen bestimmten oder einen
          unbestimmten Gegenstand?

BESCHREIBUNG
------------
::

     Dekliniert das uebergebene Adjektiv in den angegebenen Fall. Ist demon
     ungleich Null, so wird das Adjektiv so behandelt, als wuerde es sich
     auf einen bestimmten Gegenstand beziehen, ansonsten bezieht es sich auf
     einen unbestimmten Gegenstand.

RUeCKGABEWERT
-------------
::

     Das deklinierte Adjektiv. Es wird zusaetzlich noch ein Leerzeichen
     hinten angefuegt!

BEISPIELE
---------
::

     Zunaechst ein bestimmtes Adjektiv:

     printf("Der %sBall.\n", ball->DeclAdj("gruen", WER, 1);

     Nun ein unbestimmtes Adjektiv:

     printf("Ein %sBall.\n", ball->DeclAdj("gruen", WER, 0);

     Da DeclAdj() "gruene " bzw. "gruener " zurueckgibt, darf zwischen dem
     "%s" und dem "Ball" kein Leerzeichen stehen!

SIEHE AUCH
----------
::

     /std/thing/language.c


Letzte Aenderung: 18.02.2017, Bugfix

