Almetare  1.15
Alle meine Taschenrechner - Eine C++-Bibliothek zur Entwicklung von Taschenrechnern
DisplaySci Klassenreferenz

Display fuer wissenschaftliche Taschenrechner. Mehr ...

#include <calc_sci.h>

Klassendiagramm für DisplaySci:
DisplayBase DisplayCasioSci DisplayTiSci DisplayFx3600p DisplayFx85v DisplayTi30

Öffentliche Methoden

 DisplaySci (ComputerBase *cbP)
 Initialisiert das Display.
 
void resetAngModes ()
 
void resetDspModes ()
 
void setDeg ()
 
void setRad ()
 
void setGra ()
 
void setSci ()
 
void setFix ()
 
void setNrm ()
 
void setSci (bool on)
 
void setAngMode (AngMode am)
 Setzt die Winkelmodus-Strings. Mehr ...
 
void setDspMode (DspMode dm)
 Setzt die Display-Modus-Strings. Mehr ...
 
void setFrcMode (FrcMode fm)
 
void setDigits (int digits)
 
void setEng (int eng)
 
void setShiftNum (int shiftNum)
 
void setSxgMode (bool isOn)
 
void setForceSci (double limit)
 
int getShiftNum () const
 
int getDigits () const
 
int getEng () const
 
double getForceSci () const
 
DspMode getDspMode () const
 
FrcMode getFrcMode () const
 
virtual void setInv (bool on)
 
virtual void setHyp (bool on)
 
virtual void setModes ()
 Schaut im Computer, welche Modes gesetzt sind, und baut den Mode-String des Displays entsprechend zusammen. Mehr ...
 
virtual void makeValue ()
 Wandelt den Wert in mVal in einen String, aber nur, wenn irgendwelche Aenderungen am Wert oder der Darstellung erfolgt sind. Mehr ...
 
virtual void makeSeven (string displayStr="")
 Erzeugt den String fuer die Sieben-Segment-Anzeige so wie sie der Taschenrechner darstellen wuerde. Mehr ...
 
- Öffentliche Methoden geerbt von DisplayBase
 DisplayBase (ComputerBase *cbP)
 Konstruktor. Setzt den Zeiger auf den Computer und die anderen Members.
 
string getValue () const
 
string getSeven () const
 
string getSevenRaw () const
 
string getModes () const
 
Number getVal () const
 
void setMem (bool isOn)
 
void setK (bool isOn)
 
void setCompP (ComputerBase *cP)
 
void setVal (const Number &val)
 
void setValue (const string &value)
 
void setSeven (const string &seven)
 
void makeDisplay (const Number &val)
 Setzt den Wert der Anzeige auf val und fuellt die Strings mModes, mValue und mSeven entsprechend. Mehr ...
 
void makeDisplay ()
 Wie makeDisplay(const Number& val), aber der Wert wird nicht neu gesetzt. Mehr ...
 
bool isError ()
 Prueft, ob bei einer Berechnung ein Fehler aufgetreten ist. Mehr ...
 
void setError ()
 
virtual int getNumStrLen (string dsplStr) const
 

Geschützte Methoden

void setModesSci ()
 Setzt die Modus-Strings auf die eingestellten Werte.
 
- Geschützte Methoden geerbt von DisplayBase
void setModesBase ()
 Setzt den String fuer die Rechner-Modi (DEG, SCI etc) zusammen. Mehr ...
 

Geschützte Attribute

DspMode mDspMode
 
FrcMode mFrcMode
 
string mInv
 
string mHyp
 
string mDeg
 
string mRad
 
string mGra
 
string mSci
 
string mFix
 
bool mIsSxgMode
 
int mDigits
 
int mShiftNum
 
int mEng
 
double mForceSci
 
- Geschützte Attribute geerbt von DisplayBase
ComputerBasemCompP
 Zeiger auf Computer mit den Modes.
 
string mValue
 Anzeige unformatiert.
 
string mSeven
 Sieben-Segment-Anzeige, formatiert wie Original.
 
string mSevenRaw
 dito, aber noch mit Spaces statt '#' und evtl. e+002
 
string mMem
 Memory-Anzeige.
 
string mK
 Konstante.
 
string mModes
 "INV MOD M K LRN ITG hyp SD LR DEG RAD GRA FIX SCI"
 
Number mVal
 numerischer Wert der Sieben-Segment-Anzeige
 

Private Attribute

ComputerScimCompP
 

Ausführliche Beschreibung

Display fuer wissenschaftliche Taschenrechner.

Die Klasse unterscheidet sich von DisplayBase (s. auch dort) im wesentlichen nur durch Klassenvariablen fuer neue Modi ("invers", "hyperbolisch" etc.). Sie dient als Basisklasse fuer die eigentlichen Displays.

Dokumentation der Elementfunktionen

◆ makeSeven()

void DisplaySci::makeSeven ( string  displayStr = "")
virtual

Erzeugt den String fuer die Sieben-Segment-Anzeige so wie sie der Taschenrechner darstellen wuerde.

Das Ergebnis wird in der Klassenvariablen mSeven abgelegt. Wenn mShiftNum != 0, wird die Zahl in Exponentialschreibweise dargestellt und das Komma der Mantisse um diese Zahl nach rechts (>0) oder links (<0) verschoben. mShiftNum wird von AcEe::process() gesetzt, um der Display- Klasse diesen Wunsch mitzuteilen. Da das nur temporaer geschehen soll, wird mShiftNum dann wieder zurueckgesetzt.

Parameter
displayStrnormalerweise wird der Wert in mVal in einen String umgewandelt; wenn dieser Parameter uebergeben wird, wird stattdessen mSeven so gesetzt, wie dieser String als Sieben-Segment-Anzeige aussehen wuerde.

Erneute Implementation von DisplayBase.

Erneute Implementation in DisplayFx3600p, DisplayFx85v und DisplayTiSci.

◆ makeValue()

void DisplaySci::makeValue ( )
virtual

Wandelt den Wert in mVal in einen String, aber nur, wenn irgendwelche Aenderungen am Wert oder der Darstellung erfolgt sind.

Dies ist wichtig, da makeDisplay() so auch aufgerufen werden kann, wenn in der Oberflaeche Eingaben gemacht wurden, diese aber noch nicht im Computer gelandet sind.

Erneute Implementation von DisplayBase.

◆ setAngMode()

void DisplaySci::setAngMode ( AngMode  am)

Setzt die Winkelmodus-Strings.

Parameter
ameingestellter Winkelmodus

◆ setDspMode()

void DisplaySci::setDspMode ( DspMode  dm)

Setzt die Display-Modus-Strings.

Parameter
dmeingestellter Display-Modus

◆ setModes()

void DisplaySci::setModes ( )
virtual

Schaut im Computer, welche Modes gesetzt sind, und baut den Mode-String des Displays entsprechend zusammen.

Erneute Implementation von DisplayBase.

Erneute Implementation in DisplayFx3600p, DisplayFx85v und DisplayTiSci.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: