
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
