Hauptseite | Klassenhierarchie | Alphabetische Liste | Übersicht | Auflistung der Dateien | Datenstruktur-Elemente | Datei-Elemente

datenspeichern.cpp

gehe zur Dokumentation dieser Datei
00001 // datenspeichern.cpp
00002 // LFTVideo.cpp  v1.7
00003 //               12.5.2003
00004 // 
00005 // für weitere Informationen:
00006 // siehe header von main.cpp
00007 
00008 #include "datenspeichern.h"
00009 
00010 #include <qmessagebox.h>
00011 #include <qfile.h>
00012 #include <qdatetime.h>
00013 
00014 int DatenSpeichern::DateiFehler(QString filename, QString vorgang, QString was){
00015       
00016         QString text="Konnte die Daten nicht "+vorgang+".\n\n"
00017                                 +filename+"\n" +was+
00018                                 "\n\nNoch mal versuchen?";
00019 
00020     switch( QMessageBox::warning( this, "LFTVideo Festplattenzugriff?", text,
00021                                   QMessageBox::Retry | QMessageBox::Default,
00022                                   QMessageBox::Abort | QMessageBox::Escape )) {
00023     case QMessageBox::Retry: // Retry or Enter
00024                         return 1;
00025         break;
00026     case QMessageBox::Abort: // Abort or Cancel
00027                         return 0;
00028         break;
00029         default:
00030                         return -1;
00031                 break;
00032     }
00033 };
00034 
00035 bool DatenSpeichern::speichereDaten(QString filename, QString was){
00036 
00037         QFile f( filename );
00038 
00039         AnfangSpeicherRoutine:
00040         int Antwort=0;
00041 
00042         f.open( IO_WriteOnly );
00043         if(f.status()!=IO_Ok) {
00044                 qDebug("ERROR opening file "+filename); 
00045                 Antwort=DateiFehler(filename,
00046                         "speichern","("+was+" - Datei nicht zu ÖFFNEN)");
00047                 f.close();
00048                 if (Antwort<=0) return false;
00049                  else goto AnfangSpeicherRoutine;
00050         }
00051 
00052     QTextStream s( &f );
00053         DatenSpeicherStream(s);
00054         
00055         Antwort=0;
00056         f.close();
00057         if(f.status()!=IO_Ok) {
00058                 qDebug("ERROR saving or closing file "+filename); 
00059                 Antwort=DateiFehler(filename,
00060                         "speichern","("+was+" - Datei nicht zu SCHLIESSEN)");
00061                 f.close();
00062                 if (Antwort<=0) return false;
00063                   else goto AnfangSpeicherRoutine;
00064         }         
00065 
00066         return true;
00067 };
00068 
00069 
00070 bool DatenSpeichern::leseDaten(QString filename, QString was){
00071 
00072         QFile f( filename );
00073 
00074         AnfangLeseRoutine:
00075         int Antwort=0;
00076 
00077         f.open( IO_ReadOnly );
00078         if(f.status()!=IO_Ok) {
00079                 qDebug("ERROR opening file "+filename); 
00080                 Antwort=DateiFehler(filename,
00081                         "lesen","("+was+" - Datei nicht zu ÖFFNEN)");
00082                 f.close();
00083                 if (Antwort<=0) return false;
00084                  else goto AnfangLeseRoutine;
00085         }
00086                 
00087     QTextStream s( &f );
00088         DatenLeseStream(s);
00089         
00090         Antwort=0;
00091         f.close();
00092 
00093         if(f.status()!=IO_Ok) {
00094                 qDebug("ERROR reading or closing file "+filename); 
00095                 Antwort=DateiFehler(filename,
00096                         "lesen","("+was+" - Datei nicht zu SCHLIESSEN)");
00097                 f.close();
00098                 if (Antwort<=0) return false;
00099                   else goto AnfangLeseRoutine;
00100         }         
00101 
00102         return true;
00103 };
00104 
00105 
00106 // class VerlaufSpeichern 
00108 
00109 QString VerlaufSpeichern::gibFilename(QString Klient, QString Rater){
00110         derKlient=Klient;
00111         derRater=Rater;
00112 
00113         QString temp;
00114         temp=Klient;
00115         temp+="_";
00116         temp+=Rater;
00117         temp+= "_Verlauf.dat";
00118         return temp;
00119 }
00120 
00121 /*
00122 // alt: Ist nach class RatingVerlauf migriert
00123 bool VerlaufSpeichern::DatenSpeicherStream (QTextStream &s) {
00124         qDebug("overridden virtual");
00125         MinSec Zeitpunkt=MinSec(0,0), ZeitpunktDavor=MinSec(0,0);
00126         RatingSkala Einsch=null, EinschDavor=null;
00127         double Dauer=0;
00128         MinSec2Rating::iterator it;
00129         it = ptrVerlauf->Sinneinheiten.begin();
00130 
00131     for ( ; it!= ptrVerlauf->Sinneinheiten.end(); ++it){
00132                 ZeitpunktDavor=Zeitpunkt;
00133                 Zeitpunkt=it->first;
00134                 Dauer=(Zeitpunkt - ZeitpunktDavor).toSecs(); 
00135 
00136                 EinschDavor=Einsch;
00137                 Einsch=it->second;
00138 
00139                 s << Zeitpunkt.toQString() << '\t';
00140                 s << Einsch << '\t';
00141                 s << EinschDavor << '\t';
00142                 s << Dauer << '\t';
00143                 s << derKlient << '\t';
00144                 s << derRater << '\n';
00145         }       
00146         return true;
00147 }
00148 
00149 */
00150 
00151 bool VerlaufSpeichern::DatenSpeicherStream (QTextStream &s) {
00152         qDebug("overridden virtual");
00153         bool ok=ptrVerlauf->speichereGesamtenRatingVerlauf (s, derKlient, derRater);
00154         qDebug("VerlaufSpeichern::DatenSpeicherStream erfolgreich? %d",ok);
00155         return ok;
00156 }
00157 
00158 
00159 bool VerlaufSpeichern::DatenLeseStream (QTextStream &s) {
00160         qDebug("overridden virtual");
00161         bool ok=ptrVerlauf->liesGesamtenRatingVerlauf (s);
00162         qDebug("VerlaufSpeichern::DatenLeseStream erfolgreich? %d",ok);
00163         return ok;
00164 }
00165 
00166 
00167 // class InfoSpeichern 
00169 
00170 void InfoSpeichern::merkDirDaten (QString anzahlTastendruecke, 
00171                                                                   QString mittlereSinneinheitenDauer,
00172                                                                   MinSec gesamtdauer,
00173                                                                   bool weitergefuehrteSession,
00174                                                                   bool PauseGedrueckt){
00175         anzGedrTasten = anzahlTastendruecke;
00176         mittlereDauer = mittlereSinneinheitenDauer;
00177         Gesamtdauer = gesamtdauer;
00178         weitergefSession = weitergefuehrteSession;
00179         GedrPause = PauseGedrueckt;
00180 };
00181 
00182 QString InfoSpeichern::gibFilename(QString Klient, QString Rater){
00183         derKlient=Klient;
00184         derRater=Rater;
00185 
00186         QString temp;
00187         temp=Klient;
00188         temp+="_";
00189         temp+=Rater;
00190         temp+= "_Info.dat";
00191         return temp;
00192 };
00193 
00194 bool InfoSpeichern::DatenSpeicherStream (QTextStream &s) {
00195         qDebug("overridden virtual");
00196         s << "Klient:\t"<<derKlient<<'\n';
00197         s << "Rater:\t"<<derRater<<'\n';
00198         s << "Datum:\t"<<QDate::currentDate().toString()<<'\n';
00199         s << "Zeit:\t"<<QTime::currentTime().toString()<<'\n';
00200         s << "letzte Sinneinheit bei:\t"<<Gesamtdauer.toQString()<<'\n';
00201         s << "Anzahl Sinneinheiten:\t"<<anzGedrTasten<<'\n';
00202         s << "Dauer mittlerer Sinneinheit:\t"<<mittlereDauer<<'\n';
00203         QString temp=weitergefSession?"ja":"nein";
00204         s << "Weitergefuehrte Session:\t"<<temp<<'\n';
00205         temp=GedrPause?"ja":"nein";
00206         s << "Pause gedrückt:\t"<<temp<<'\n';
00207         
00208         return true;
00209 };
00210 
00211 bool InfoSpeichern::DatenLeseStream (QTextStream &s) {
00212         qDebug("overridden virtual, aber nicht implementiert, "
00213                    "weil nicht gebraucht!");
00214         return false;
00215 };
00216 
00217 
00218 
00219 
00220 // class AuswertungSpeichern 
00222 
00223 void AuswertungSpeichern::merkDirDaten (VerlaufsAuswertung* dieAuswertung,
00224                                                                                 QString dieEndung){
00225         Auswertung=dieAuswertung;
00226         Endung=dieEndung;
00227 };
00228 
00229 QString AuswertungSpeichern::gibFilename(QString Klient, QString Rater){
00230         derKlient=Klient;
00231         derRater=Rater;
00232 
00233         QString temp;
00234         temp=Klient;
00235         temp+="_";
00236         temp+=Rater;
00237         temp+= "_";
00238         temp+=Endung;
00239         temp+=".dat";
00240         return temp;
00241 };
00242 
00243 bool AuswertungSpeichern::DatenSpeicherStream (QTextStream &s) {
00244         qDebug("overridden virtual");
00245         s << Auswertung->AnteilTherapeutAnzahl << '\t';  // 1
00246         s << Auswertung->AnteilTherapeutDauer  << '\t';  // 2
00247         s << Auswertung->AnteilKlientAnzahl       << '\t';  // 3
00248         s << Auswertung->AnteilKlientDauer        << '\t';  // 4
00249         s << Auswertung->LoesfokUnteranzahlTherapeut << '\t'; // 5
00250         s << Auswertung->LoesfokUnterdauerTherapeut  << '\t'; // 6
00251         s << Auswertung->LoesfokUnteranzahlKlient    << '\t'; // 7
00252         s << Auswertung->LoesfokUnterdauerKlient     << '\t'; // 8
00253         s << Auswertung->PassungAnzahl << '\t';  // 9
00254         s << Auswertung->PassungDauer  << '\t';  // 10
00255         s << Auswertung->AufnahmeLoesFok << '\t'; // 11
00256         s << Auswertung->verspaetAufnahmeLoesFok << '\t'; //12
00257         s << Auswertung->TherapNLAnpassung << '\t'; //13
00258         s << Auswertung->TherapFrustration << '\t'; //14
00259         s << derKlient << '\t'; //15
00260         s << derRater << '\n'; //16
00261 
00262         return true;
00263 };
00264 
00265 bool AuswertungSpeichern::DatenLeseStream (QTextStream &s) {
00266         qDebug("overridden virtual, aber nicht implementiert, "
00267                    "weil nicht gebraucht!");
00268         return false;
00269 };
00270 
00271 
00272 
00273 
00274 // class QStringSpeichern 
00276 
00277 void QStringSpeichern::merkDirDaten (QString derGanzeString, QString DateiEndung){
00278         alleDaten=derGanzeString;
00279         Endung=DateiEndung;
00280 };
00281 
00282 QString QStringSpeichern::gibFilename(QString Klient, QString Rater){
00283         derKlient=Klient;
00284         derRater=Rater;
00285 
00286         QString temp;
00287         temp=Klient;
00288         temp+="_";
00289         temp+=Rater;
00290         temp+= "_";
00291         temp+=Endung;
00292         temp+=".dat";
00293         return temp;
00294 };
00295 
00296 bool QStringSpeichern::DatenSpeicherStream (QTextStream &s) {
00297         qDebug("overridden virtual");
00298         s << alleDaten;
00299         
00300         return true;
00301 };
00302 
00303 bool QStringSpeichern::DatenLeseStream (QTextStream &s) {
00304         qDebug("overridden virtual, aber nicht implementiert, "
00305                    "weil nicht gebraucht!");
00306         return false;
00307 };
00308 

Erzeugt am Mon Jun 16 18:08:23 2003 für LFTVideo von doxygen 1.3.2