Hauptseite | Klassenhierarchie | Auflistung der Klassen | Auflistung der Dateien | Klassen-Elemente | Datei-Elemente | Zusätzliche Informationen

U_VALUES.H

gehe zur Dokumentation dieser Datei
00001 //############################################################################# 00002 // // 00003 // U_VALUES.H // 00004 // Subsystem: Utilities - Tools für Zahlen und Strings // 00005 // Benutzung durch andere Subsysteme erforderlich: JA // 00006 // Implementation: U_VALUES.CPP // 00007 //---------------------------------------------------------------------------// 00008 // Autoren: Thomas Kullmann, Günther Reinecker // 00009 // Stand: 07.11.2002 // 00010 // // 00011 //############################################################################# 00012 00013 #ifndef __U_VALUES_H 00014 #define __U_VALUES_H 00015 00016 #if defined (Build_Library) 00017 #define _CURVECLASS __declspec(dllexport) 00018 #elif defined(Use_Library) 00019 #define _CURVECLASS __declspec(dllimport) 00020 #else 00021 #define _CURVECLASS 00022 #endif 00023 00024 #define STRICT 00025 #ifdef __cplusplus 00026 #include <windows.h> 00027 #include <string.h> 00028 #include <windowsx.h> 00029 #include <mmsystem.h> 00030 #include <stdio.h> 00031 #include <math.h> 00032 #include <dos.h> 00033 #include <string.h> 00034 #include <string> 00035 typedef std::string string; 00036 #endif 00037 00038 //--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||-- 00039 00040 //############################################################################# 00041 // globale Typ- und Konstantendeklarationen 00042 //############################################################################# 00043 00044 //gibt <toFree> frei und setzt <toFree> 0 00045 #define _FREEOBJ(toFree) { if (toFree) { delete toFree; toFree= 0; }; } 00046 00047 //gibt das Feld <toFree> frei und setzt <toFree> 0 00048 #define _FREELIST(toFree) { if (toFree) { delete []toFree; toFree= 0; }; } 00049 00050 const UINT _MAXLENDOUBLE= 50; // 50 Zeichen für Double-Werte sollte bei weitem reichen 00051 00053 // Trace 00055 00056 // Signatur: TraceMsg( in aStr ) 00057 // gibt <aStr> in einer MessageBox mit dem Titel "Trace" aus 00058 void _CURVECLASS WINAPI TraceMsg ( LPCSTR ); 00059 00060 // Signatur: TraceMsg( in aDouble ) 00061 // gibt <aDouble> mit der Nachkommastellenganauigkeit von 1 in einer MessageBox mit dem Titel "Trace" aus 00062 void _CURVECLASS WINAPI TraceMsg ( const double ); 00063 00064 // Signatur: Trace( in aStr ) bzw. TraceErr( in aStr ) 00065 // NUR DEBUG-VERSION: sendet <aStr> an den aktuellen Debugger, um dort angezeigt zu werden (funktioniert erst ab BC 5.02) 00066 void _CURVECLASS WINAPI Trace ( LPCSTR aStr ); // für kurzfristiges Degugging, im CVS sollte also nie eine Trace-Benutzung auftauchen 00067 void _CURVECLASS WINAPI TraceErr ( LPCSTR aStr ); // für dauerhafte Warnungen für DEBUG-Anwender 00068 00069 // Signatur: Trace( in aDouble ) 00070 // NUR DEBUG-VERSION: sendet <aDouble> mit der Nachkommastellenganauigkeit von 1 an den aktuellen Debuffer, um dort angezeigt zu werden (funktioniert erst ab BC 5.02) 00071 void _CURVECLASS WINAPI Trace ( const double aDouble ); 00072 00074 // Runden, Abrunden von Double-Werten 00076 00077 // Signatur: DoubleRound( in aDouble, in aDigits ) 00078 // ==> <aDouble> gerundet auf <aDigits> Nachkommastellen 00079 double _CURVECLASS WINAPI DoubleRound ( const double, const UINT ); 00080 00081 // Signatur: DoubleRoundOff( in aDouble, in aDigits ) 00082 // ==> <aDouble> mit <aDigits> Nachkommastellen, nachfolgende werden verworfen (ABRUNDEN) 00083 double _CURVECLASS WINAPI DoubleRoundOff ( const double, const UINT ); 00084 00085 // Signatur: Double2Float( in aDouble, in aDigits ) 00086 // ==> <aDouble> als Float-Wert mit <aDigits> Nachkommastellen (ohne das blöde Ungenauigkeitsphänomen), nachfolgende werden verworfen (ABRUNDEN) 00087 // ACHTUNG: Die Genauigkeit von Float ist geringer als von Double!!! 00088 float _CURVECLASS WINAPI Double2Float ( const double, const UINT ); 00089 00090 // Signatur: Float2Double( in aFloat, in aDigits ) 00091 // ==> <aFloat> als Double-Wert mit <aDigits> Nachkommastellen (ohne das blöde Ungenauigkeitsphänomen), nachfolgende werden verworfen (ABRUNDEN) 00092 double _CURVECLASS WINAPI Float2Double ( const float, const UINT ); 00093 00095 // Stringmanipulation 00097 00098 // Signatur: StringReplace( in/out aString, in aOld, in aNew ) 00099 // ersetzt <aOld> durch <aNew> in <aString> und gibt das Ergebnis wieder in <aString> zurück 00100 void _CURVECLASS WINAPI StringReplace ( char*, const char, const char ); 00101 00102 // Signatur: DoubleErr( in aString, in aDecimal ) 00103 // prüft ob <aString> in eine Double-Wert konvertiert werden kann 00104 // ==> -1 wenn Konvertierung möglich, SONST erste Position in <aString>, die die Konvertierung verhindert 00105 int _CURVECLASS WINAPI DoubleErr ( LPCSTR, const char= '.' ); 00106 00107 // Signatur: IsDouble( in aString, in aDecimal ) 00108 // ==> TRUE <--> Konvertierung von <aString> in einen Double-Wert möglich 00109 BOOL _CURVECLASS WINAPI IsDouble ( LPCSTR, const char= '.' ); 00110 00112 // Konvertierung zwischen String und Double 00114 00115 // Signatur: String2Double( in aString, in aDigits, in aRound, in aDecimal ) 00116 // ==> <aString> konvertiert in einen Double-Wert - gerundet bzw. abgerundet auf <aDigits> Nachkommastellen (<aRound>==TRUE bzw. <aRound>==FALSE) 00117 // Das zur Markierung der Kommastelle verwendete Zeichen, steht in <aDecimal>. 00118 double _CURVECLASS WINAPI String2Double ( LPCSTR, const UINT, const BOOL= TRUE, const char= '.' ); 00119 00120 // Signatur: Double2String( out aReturn, in aDouble, in aDigits, in aRound, in aDecimal ) 00121 // konvertiert <aDouble> in einen String-Wert und gibt das Ergebnis 00122 // auf <aDigits> Nachkommastellen gerundet bzw. abgerundet (<aRound>==TRUE bzw. <aRound>==FALSE) 00123 // in <aReturn> zurück 00124 // Das zur Markierung der Kommastelle verwendete Zeichen, steht in <aDecimal>. 00125 void _CURVECLASS WINAPI Double2String ( char*, const double, const UINT, const BOOL= TRUE, const char= '.' ); 00126 00128 // Formatierte Zeitausgabe HH:MM:SS bei Eingabe in Millisekunden 00130 00131 void _CURVECLASS WINAPI GetTimeString( char*, long ); 00132 00134 // Min, Max 00136 00137 // Signatur: SetInRange( in/out aValue, in aBorder1, in aBorder2 ) 00138 // passt <aValue> in das Intervall [aBorder1, aBorder2] 00139 // es ist dabei egal ob <aBorder1> kleiner als <aBorder2> oder umgekehrt 00140 // <aValue> wird bei Überschreitung auf die jeweils überschrittete Grenze korrigiert 00141 // das Ergebnis ist TRUE, wenn keine Anpassung nötig war, ansonsten FALSE 00142 BOOL _CURVECLASS WINAPI SetInRange ( double&, double, double ); 00143 BOOL _CURVECLASS WINAPI SetInRange ( long&, long, long ); 00144 00145 //Datum: 16.08.2002 00146 /* 00147 int WINAPI maxi( int, int ); 00148 long WINAPI maxl( long, long ); 00149 float WINAPI maxf( float, float ); 00150 double WINAPI maxd( double, double ); 00151 int WINAPI mini( int, int ); 00152 long WINAPI minl( long, long ); 00153 float WINAPI minf( float, float ); 00154 double WINAPI mind( double, double ); 00155 */ 00156 00157 #endif // __U_VALUES_H

Erzeugt am Sat Nov 13 12:48:11 2004 für XCTL32 von doxygen 1.3.7