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

TProtocol.h

gehe zur Dokumentation dieser Datei
00001 //****************************************************************************** 00002 //Datei : TProtocol.h 00003 //Projekt : XCTL 00004 //Subsystem : Protokollbuch 00005 //Autor : Jens Klier <klier@informatik.hu-berlin.de> 00006 // Institut fuer Informatik, 00007 // Humboldt-Universitaet Berlin 00008 //Inhalt : Interface der Klasse TProtocol 00009 //****************************************************************************** 00011 #ifndef _TPROTOCOL_H 00012 #define _TPROTOCOL_H 00013 00014 #define MaxLine 1024 00015 #define MaxLfdNr 15 00016 #define MaxDate 15 00017 #define MaxParameterString 161 00018 00019 class TProtocol 00020 { 00021 public: 00022 TProtocol( int ); 00023 ~TProtocol( void ); 00024 00025 // Initialisiert das Protokollbuch 00026 BOOL Initialize( void ); 00027 00028 // Initialisiert das Protokollbuch neu 00029 BOOL ReloadProtocol( void ); 00030 00031 // ist TRUE wenn eine Messung aufgezeichnet wird 00032 void SetProtocolOn( BOOL= TRUE ); 00033 00034 // liefert den Status ob eine Messung aufgezeichnet wird 00035 BOOL IsProtocolOn( void ); 00036 00037 // ändert den Status eine Messung die aufgezeichnet wird 00038 void ChangeProtocolOnStatus( void ); 00039 00040 // liefert den Status eine Messung die aufgezeichnet wird 00041 BOOL IsProtocolOnBegin( void ); 00042 00043 // Methoden zur Bearbeitung der Protokollparameter ---------------------------- 00044 00045 // Setzt den aktuellen Index auf NULL 00046 void ResetIndex( void ); 00047 00048 BOOL InitializeSearchProtocolString( LPCSTR ); 00049 00050 // sucht einen Protokollstring anhand der Lfd.-Nr. im Protokollindex 00051 // wird die Lfd.-Nr. gefunden liefert die Methode TRUE zurueck 00052 BOOL SearchProtocolString( LPCSTR ); 00053 00054 // loescht alle Felder des Parameterfeldes 00055 void ClearProtocolString( void ); 00056 00057 // loescht alle Felder von a bis b des Parameterfeldes 00058 void ClearProtocolString( int , int ); 00059 00060 // loescht alle Felder des Parameterfeldes und die Skizze 00061 void NewProtocolString( void ); 00062 00063 // loescht einige Felder des Parameterfeldes 00064 void CopyProtocolString( LPCSTR= NULL ); 00065 00066 // laed einen Protokollstring aus der Protokolldatei und fuelt das Parameterfeld 00067 // mit den entspraechenden Parametern 00068 BOOL LoadProtocolString( long ); 00069 int LoadProtocolString( LPCSTR ); 00070 int ReloadProtocolString( LPCSTR ); 00071 00072 // laed den naechsen Protokollstring aus der Protokolldatei und fuelt das 00073 // Parameterfeld mit den entspraechenden Parametern 00074 int LoadNextProtocolString( void ); 00075 00076 // laed den vorherigen Protokollstring aus der Protokolldatei und fuelt das 00077 // Parameterfeld mit den entspraechenden Parametern 00078 int LoadLastProtocolString( void ); 00079 00080 // speichert einen Protokollstring in der Protokolldatei 00081 BOOL SaveProtocolString( void ); 00082 00083 // speichert einen Protokollstring in der Protokolldatei 00084 BOOL ImportProtocolFile( void ); 00085 00086 // macht aus dem Systemdatum einen String 00087 LPSTR GetSysDate( LPSTR ); 00088 00089 // Prueft eine Zeichenkette ob sie ein gueltiges Datum enthaelt 00090 BOOL TestDate( LPCSTR ); 00091 00092 // der Wert eines Protokollparameters wird in das Protokollparameterfeld eingetragen 00093 LPSTR GetProtocolValue( int, LPSTR ); 00094 00095 // der Wert eines Protokollparameters wird aus dem Protokollparameterfeld ausgelesen 00096 BOOL SetProtocolValue( int, LPCSTR ); 00097 00098 // ist TRUE wenn die Protokolldatei leer ist 00099 BOOL IsEmptyProtocolFile( void ); 00100 00101 // ist TRUE wenn der aktuelle Protokollstring der Erste in der Protokolldatei ist 00102 BOOL IsFirstProtocolString( void ); 00103 00104 BOOL IsLastProtocolString( void ); 00105 00106 BOOL IsNewProtocolString( void ); 00107 00108 // die Variable für die aktuelle Lfd.Nr. wird gesetzt 00109 void SetLfdNr( LPCSTR ); 00110 00111 // die Variable für die aktuelle Lfd.Nr. wird ausgelesen 00112 LPSTR GetLfdNr( LPSTR ); 00113 00114 // speichert den aktuellen ProtokollDialog in einer Variable 00115 void SetCurrentDlg( int ); 00116 00117 // gibt den aktuellen Protokolldialog aus einer Variable zurück 00118 int GetCurrentDlg( void ); 00119 00120 // liefert den Namen eines Protokollparamerters zurück 00121 LPSTR GetParameterNamen( int, LPSTR ); 00122 00123 // liefert die maximale Länge eines Protokollparamerters zurück 00124 int GetParameterMaxLen( int ); 00125 00126 // liefert den Status eines Protokollparamerters 00127 BOOL IsParameterReadOnly( int ); 00128 00129 // setzt den Status eines Protokollparamerters 00130 void SetParameterReadOnly( int ); 00131 00132 // setzt den Status eines Protokollparamerters 00133 void SetParameterReadWrite( int ); 00134 00135 // liefert den Status des aktuellen Protokollstrings 00136 BOOL IsProtocolReadOnly( void ); 00137 00138 // setzt den Status des aktuellen Protokollstrings readonly 00139 void SetProtocolReadOnly( void ); 00140 00141 // liefert den Status des aktuellen Protokollstrings 00142 BOOL IsProtocolDelete( void ); 00143 00144 // setzt den Status des aktuellen Protokollstrings delete 00145 void SetProtocolDelete( void ); 00146 00147 void SetAllParameterReadWrite( void ); 00148 00149 void SetAllParameterReadOnly( void ); 00150 00151 LPCSTR GetProtocolSection( void ); 00152 BOOL IsProtocolSortDate( void ); 00153 void SetProtocolSortDate( BOOL ); 00154 BOOL IsProtocolNoSortNew( void ); 00155 void SetProtocolNoSortNew( BOOL ); 00156 00157 // virtuelle Methode die erst in der Abgeleiteten Klasse definiert wird ------- 00158 00159 virtual BOOL IsMaxLfdNr( void )= 0; 00160 virtual BOOL TestLfdNr( LPCSTR )= 0; 00161 virtual void SaveLfdNr( LPCSTR )= 0; 00162 virtual LPSTR GetParameterLfdNr( LPSTR )= 0; 00163 virtual LPSTR GetParameterDate( LPSTR )= 0; 00164 virtual void SetParameterDate( LPCSTR )= 0; 00165 virtual LPSTR GetNewLfdNr( LPSTR )= 0; 00166 virtual void SetOnDefaultParameterReadOnly( void )= 0; 00167 virtual void SetDefaultParameterReadOnly( void )= 0; 00168 virtual void InitializeDefaultParameter( void )= 0; 00169 virtual void SetDefaultParameter( void )= 0; 00170 virtual void ClearOldParameter( void )= 0; 00171 00172 virtual LPCSTR GetPBackupDirectory( void )= 0; 00173 virtual BOOL SetPBackupDirectory( LPCSTR )= 0; 00174 virtual LPCSTR GetPFile( void )= 0; 00175 virtual BOOL SetPFile( LPCSTR )= 0; 00176 virtual LPCSTR GetPName( void )= 0; 00177 virtual LPCSTR GetPDirectory( void )= 0; 00178 00179 //Methoden zur Bearbeitung der Bilddateidaten --------------------------------- 00180 00181 // der dynamische Speicher für die Bildpunkte einer Skizze wird freigegeben 00182 void freePic(); 00183 00184 // die Variable für den aktuellen Bildpunkt einer Skizze wird auf den ersten Bildpunkt gesetzt 00185 void ResetXY(); 00186 00187 // liefert einen Bildpunkt einer Skizze zurück 00188 // ist der letzte Bildpunkt erreicht wird der Rückgabewert der Funktion FALSE 00189 BOOL GetXY( char &c, int &x, int &y, LPSTR t ); 00190 00191 // belegt neuen dynamischen Speicher für einen Bildpunkt einer Skizze und 00192 // initialisiert ihn mit den Wert eines Bildpunktes 00193 void SetXY( char, int, int, LPCSTR= "" ); 00194 00195 // loescht die letzten Bildpunkt einer Skizze 00196 BOOL UndoXY( void ); 00197 00198 // liest alle Bildpunkte einer Skizze aus einer Datei in den dynamischen Speicher 00199 // die Bildpunkte werden in einer verketteten Liste gespeichert 00200 BOOL LoadPicFile( LPCSTR ); 00201 00202 // speichert alle Bildpunkte einer Skizze in einer Datei ab 00203 BOOL SavePicFile( void ); 00204 00205 // löscht eine Bilddatei und gibt den Speicher für die Bildpunkte frei 00206 void DeletePicFile( LPCSTR ); 00207 00208 protected: 00209 // Methoden zur Bearbeitung der Protokollparameter ---------------------------- 00210 00211 // Zerlegt den eingelesenen Protokollstring und traegt die Parameter in das 00212 // Parameterfeld ein (Hochkomma am Anfang und am Ende eines Wertes werden entfernt) 00213 BOOL StrSplit( LPCSTR ); 00214 00215 // Erzeugt aus dem Parameterfeld einen Protokollstring 00216 // Enthaelt ein Parameter das Trennzeichen wird er in Hochkomma eingeschlossen 00217 LPSTR StrMerge( LPSTR ); 00218 00219 // Erzeugt aus einem Datum einen speziellen String fuer die Suche in der Protokolldatei 00220 // 20.4.1999 --> 19990420 00221 LPSTR MakeDateString( LPCSTR, LPSTR ); 00222 00223 // Erzeugt eine Backupkopie einer Datei 00224 BOOL BackupFile( LPCSTR, LPCSTR ); 00225 00226 // Sortiert die Protokolldatei, wenn sie nicht sortiert ist (bIsSort), 00227 // liefert TRUE wenn die Datei sortiert ist oder werden konnte 00228 // bIsSort wird von LoadProtocolFileIndex() oder AppendProtocolFileIndex() gesetzt 00229 BOOL SortProtocolFile( void ); 00230 00231 // Erzeugt aus der Protokolldatei einen Index im Speicher 00232 // Die Lfd.-Nr. und die Position des Datensatzes innerhalb der Datei werden 00233 // als Index im Speicher abgelegt. 00234 // setzt die Variable bIsSort auf FALSE, wenn die Datei nicht sortiert ist 00235 BOOL LoadProtocolFileIndex( LPCSTR= "" ); 00236 BOOL AppendProtocolFileIndex( void ); 00237 00238 // Erzeugt aus einer Lfd.Nr. einen Namen für eine Bilddatei (PATH + Dateiname) 00239 LPSTR GetSkizzeFile( LPCSTR ); 00240 00241 // Erzeugt aus einer Lfd.Nr. einen Namen für eine Bildbackupdatei (PATH + Dateiname) 00242 LPSTR GetSkizzeBackupFile( LPCSTR ); 00243 00244 // Erzeugt einen Protokolldateinamen (PATH + Dateiname) aus mehreren Namensbestandteilen 00245 LPSTR GetProtocolFile( LPCSTR, LPCSTR= "", LPCSTR= "" ); 00246 00247 // Erzeugt einen Protokollbackupdateinamen (PATH + Dateiname) aus mehreren Namensbestandteilen 00248 LPSTR GetProtocolBackupFile( LPCSTR, LPCSTR= "", LPCSTR= "" ); 00249 00250 // Loescht den Index und gibt den Speicher frei 00251 void freeINDEX( LPCSTR= "" ); 00252 00253 // Variablen und Typen -------------------------------------------------------- 00254 00255 struct TParameter 00256 { 00257 char Wert[MaxParameterString]; // Wert des Parameters 00258 char Name[30]; // Name des Parameters 00259 int MaxLen; // Maximale Länge des Parameters 00260 int Status; // Status des Parameters (ReadWrite oder ReadOnly) 00261 } 00262 *Parameter; 00263 00264 int Felder; //Felder entspricht der Anzahl der Parameter eines Protokollbucheintrages 00265 char CurrentLfdNr[MaxLfdNr]; // aktuelle Lfd.-Nr. 00266 char CopyLfdNr[MaxLfdNr]; // letzte kopierte Lfd.-Nr. 00267 int CurrentDlg; // aktueller Dialog 00268 char szProtocolFile[_MAX_PATH]; // Protokolldateiname 00269 char szProtocolSection[MaxString]; // Sektionsname in der INI-Datei 00270 00271 struct TFileIndex 00272 { 00273 int Nr; // Nummer des Protokollbucheintrages 00274 long Pos; // Absolute Position innerhalb der Protokolldatei 00275 char LfdNr[MaxLfdNr]; // Lfd.-Nr. des Protokollbucheintrages 00276 char Date[MaxDate]; // Datum des Protokollbucheintrages 00277 int Status; // Status des Protokollbucheintrages (ReadWrite oder ReadOnly) 00278 struct TFileIndex *last; // Zeiger auf den vorherigen Protokollbucheintrag 00279 struct TFileIndex *next; // Zeiger auf den nächsten Protokollbucheintrag 00280 } 00281 *firstINDEX, *lastINDEX, *currentINDEX; 00282 00283 struct TMFPoint 00284 { 00285 char c; // Symbol für eine Zeichenfunktion (M, L oder T) 00286 int x, y; // Koordinate für eine Zeichenfunktion 00287 char t[MaxString / 4]; // Text der ausgegeben werden soll 00288 struct TMFPoint *last; // Zeiger auf die vorherige Zeichenfunktion 00289 struct TMFPoint *next; // Zeiger auf die nächste Zeichenfunktion 00290 } 00291 *firstPOINT, *lastPOINT, *currentPOINT; 00292 00293 BOOL bActiv, bIsSortLfdNr, bIsSortDate, bNoSortNew, bSortDate, bDebug; 00294 int iSearch, iProtocolOnStatus; 00295 00296 // Sortiert den Protokolldateiindex 00297 void QuickSortFileIndex( TFileIndex *, TFileIndex *, int ); 00298 00299 enum TStatus {ReadWrite= 0, ReadOnly, Deleted}; 00300 enum TOnStatus {Off= 0, On, Begin= 1}; 00301 }; 00302 00303 #endif //ndef _TPROTOCOL_H 00304 00305 // LastLine 00306

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