
QueryGramsPerUnits()
********************


FUNKTION
========

   int *QueryGramsPerUnits();


DEFINIERT IN
============

   /std/unit.c


ARGUMENTE
=========

   keine


BESCHREIBUNG
============

   Liefert das Gewichtsverhaeltnis fuer die Einheiten zurueck.


RUeCKGABEWERT
=============

   Ein Array von zwei Zahlen. Die erste Zahl ist das Gewicht der in der
   zweiten Zahl angegebenen Einheiten.


BEISPIELE
=========

   Steht im Unit-Objekt folgende Gewichtszuweisung:

     SetGramsPerUnits(4,1);

   so liefert QueryGramsPerUnits() als Ergebnis ({4, 1}).


SIEHE AUCH
==========

   SetCoinsPerUnits(), QueryCoinsPerUnits() SetGramsPerUnits(),
   /std/unit.c

Last modified: Wed May 8 10:22:39 1996 by Wargon
