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
