Almetare
1.15
Alle meine Taschenrechner - Eine C++-Bibliothek zur Entwicklung von Taschenrechnern
|
Display fuer wissenschaftliche Taschenrechner. Mehr ...
#include <calc_sci.h>
Ö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 ... | |
![]() | |
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. | |
![]() | |
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 |
![]() | |
ComputerBase * | mCompP |
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 | |
ComputerSci * | mCompP |
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.
|
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.
displayStr | normalerweise 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.
|
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.
void DisplaySci::setAngMode | ( | AngMode | am | ) |
Setzt die Winkelmodus-Strings.
am | eingestellter Winkelmodus |
void DisplaySci::setDspMode | ( | DspMode | dm | ) |
Setzt die Display-Modus-Strings.
dm | eingestellter Display-Modus |
|
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.