Hauptseite | Klassenhierarchie | Alphabetische Liste | Auflistung der Klassen | Auflistung der Dateien | Klassen-Elemente

# fps_controllerDoc.h

    00001 // fps_controllerDoc.h : Schnittstelle der Klasse CFps_controllerDoc
    00002 //
    00004
    00005 #if !defined(AFX_FPS_CONTROLLERDOC_H__853AF629_81B4_11D5_A84F_0050BA05DDC8__INCLUDED_)
    00006 #define AFX_FPS_CONTROLLERDOC_H__853AF629_81B4_11D5_A84F_0050BA05DDC8__INCLUDED_
    00007
    00008 #if _MSC_VER > 1000
    00009 #pragma once
    00010 #endif // _MSC_VER > 1000
    00011
    00012 #include "iplotx.h"
    00013 #include "iangulargaugex.h"
    00014 #include "ithermometerx.h"
    00015 #include "Valform.h"
    00016 #include "fps.hpp"
    00017
    00018 // ASC, 19.08.2001, Du verwendest hier sehr viele Variablen, die man meiner Meinung nach auch sehr
    00019 //                  gut in einem Array ablegen könnte, wenn du die Variablen, dann im Code verwendest,
    00020 //                  must du auch immer deutlich mehr Programmcode schreiben, weil du keine Schleife
    00021 //                  verwenden kannst.
    00022
    00023 // ich hätte ein entsprechendes Enum verwendet, vielleicht in Klasse CFPS definiert:
    00024 //    enum eSensor { eSensorOpen = 0, eSensorA, eSensorB, eSensorC, eSensorClosed, eSensorMax };
    00025 // und dann entpsrechend:
    00026 //    int m_nFpsSpeicher[CFPS:eSensorMax]
    00027 // statt
    00028 //    int m_FpsSpeicherAuf;
    00029 //    int m_FpsSpeicherA;
    00030 //    int m_FpsSpeicherB;
    00031 //    int m_FpsSpeicherC;
    00032 //    int m_FpsSpeicherZu;
    00033 // ... usw.
    00034 //
    00035 // Weiterhin sind sämtliche Views (Zeitgraph, Programmierung, etc ) in eimem Source-File, hier muss
    00036 // noch eine Trennung in separate Sourcedateien vorgenommen werden.
    00037 //
    00038 // Soweit ich das beurteilen kann, ist die Doxygen-Dokumentation in den Header-dateien noch ziemlich
    00039 // wenig eingehalten. Vom VC++ generierte Funktionen können selbstverständlich nicht dokumentiert
    00040 // werden, klar, aber die anderen Funktionen können sehr wohl dokumnetiert werden. Ich vermisse eben-
    00041 // falls die Datei-Header, soweit nicht generierte Source-Files, die wir auch hierbei außenvor lassen
    00042 // müssen. (siehe Fps_controller.cpp als Beispiel)
    00043 // Nachbearbeitung ist immer sehr mühsam, wenn sonst schon alles funktioniert, versuche doch schon
    00044 // während des Programmierens zu dokumentieren. Außerdem ist ein Code-Review deutlich einfacher, wenn
    00045 // die Dokumentation bereits in einem entsprechenden Stadium vorhanden ist.
    00046 //
    00047 // Abgesehen von den noch gewünschten Funktionen (Schunk) würde ich es begrüßen, wenn die Anwendung
    00048 // eine Toolbar hätte (entsprechend den Buttons in der oberen Bildhälfte). Die Anzeige "eingedrückt/
    00049 // nicht eingedrückt" ist mittles eines Toolbar-Buttons ebenfalls sehr einfach. Die Toolbar ist nicht
    00050 // höchste Priorität.
    00051
    00052
    00053 class CFps_controllerDoc : public CDocument
    00054 {
    00055 public:
    00056    static CFps_controllerDoc* CFps_controllerDoc::GetActiveDocument( void );
    00057
    00058 protected: // Nur aus Serialisierung erzeugen
    00059    CFps_controllerDoc();
    00060    DECLARE_DYNCREATE(CFps_controllerDoc)
    00061
    00062 // Attribute
    00063 public:
    00064 // Operationen
    00065 public:
    00066
    00067 // Überladungen
    00068    // Vom Klassenassistenten generierte Überladungen virtueller Funktionen
    00069    //{{AFX_VIRTUAL(CFps_controllerDoc)
    00070    public:
    00071    virtual BOOL OnNewDocument();
    00072    virtual void Serialize(CArchive& ar);
    00073    virtual void OnCloseDocument();
    00074    //}}AFX_VIRTUAL
    00075
    00076 // Implementierung
    00077 public:
    00078    virtual ~CFps_controllerDoc();
    00079    DWORD WorkingThread( void* pData );
    00080 #ifdef _DEBUG
    00081    virtual void AssertValid() const;
    00082    virtual void Dump(CDumpContext& dc) const;
    00083 #endif
    00084
    00085 public:
    00086    bool m_bIsSupervisor;
    00087    bool m_bViewUpdateNeeded;
    00088    bool m_bUseTolerance;
    00089
    00090    enum ESTANDARDEINHEIT
    00091    {
    00092       MM,
    00093       INCH
    00094    };
    00095
    00096    ESTANDARDEINHEIT m_Einheit;
    00097
    00098    // Fps api
    00099    Cfps m_Fps;
    00100
    00101    // StatusBar
    00102    bool m_bShowZu;
    00103    bool m_bShowC;
    00104    bool m_bShowB;
    00105    bool m_bShowA;
    00106    bool m_bShowAuf;
    00107    bool m_bIsOnline;
    00108
    00109    // Bereichsueberpruefung
    00110    bool m_bZeitGraphShowUb;
    00111    bool m_bZeitGraphShowSchalt;
    00112    bool m_bZeitGraphShowGreifer;
    00113
    00114    // Aufnahme
    00115    bool m_bAufnahmeShowUb;
    00116    bool m_bAufnahmeShowSchalt;
    00117    bool m_bAufnahmeShowGreifer;
    00118    bool m_bAufnahmeStored;
    00119    float fSensorSamples[  640 ];
    00120    float fVoltageSamples[ 640 ];
    00121    int   iPortBSamples[   640 ];
    00122
    00123    // Programmierung
    00124    char m_sNehmeAufText[ 20 ];
    00125    char m_sNehmeAText[   20 ];
    00126    char m_sNehmeBText[   20 ];
    00127    char m_sNehmeCText[   20 ];
    00128    char m_sNehmeZuText[  20 ];
    00129
    00130
    00131    // Fix part
    00132    int m_FpsSpeicherAuf;
    00133    int m_FpsSpeicherA;
    00134    int m_FpsSpeicherB;
    00135    int m_FpsSpeicherC;
    00136    int m_FpsSpeicherZu;
    00137
    00138    float m_GreiferPosition;
    00139    float m_GreiferPositionMv;
    00140
    00141    // Programmierung
    00142    char m_EingabeAuf[ 20 ];
    00143    char m_EingabeA[   20 ];
    00144    char m_EingabeB[   20 ];
    00145    char m_EingabeC[   20 ];
    00146    char m_EingabeZu[  20 ];
    00147    float m_fUnterToleranz;
    00148    float m_fUeberToleranz;
    00149
    00150 protected:
    00151
    00152 // Generierte Message-Map-Funktionen
    00153 protected:
    00154    //{{AFX_MSG(CFps_controllerDoc)
    00155       // HINWEIS - An dieser Stelle werden Member-Funktionen vom Klassen-Assistenten eingefügt und entfernt.
    00156       //    Innerhalb dieser generierten Quelltextabschnitte NICHTS VERÄNDERN!
    00157    //}}AFX_MSG
    00158    DECLARE_MESSAGE_MAP()
    00159 };
    00160
    00162
    00163 //{{AFX_INSERT_LOCATION}}
    00164 // Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.
    00165
    00166 #endif // !defined(AFX_FPS_CONTROLLERDOC_H__853AF629_81B4_11D5_A84F_0050BA05DDC8__INCLUDED_)