00001
00002
00003
00004
00005
00006
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:
00024 return 1;
00025 break;
00026 case QMessageBox::Abort:
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
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
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
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
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
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';
00246 s << Auswertung->AnteilTherapeutDauer << '\t';
00247 s << Auswertung->AnteilKlientAnzahl << '\t';
00248 s << Auswertung->AnteilKlientDauer << '\t';
00249 s << Auswertung->LoesfokUnteranzahlTherapeut << '\t';
00250 s << Auswertung->LoesfokUnterdauerTherapeut << '\t';
00251 s << Auswertung->LoesfokUnteranzahlKlient << '\t';
00252 s << Auswertung->LoesfokUnterdauerKlient << '\t';
00253 s << Auswertung->PassungAnzahl << '\t';
00254 s << Auswertung->PassungDauer << '\t';
00255 s << Auswertung->AufnahmeLoesFok << '\t';
00256 s << Auswertung->verspaetAufnahmeLoesFok << '\t';
00257 s << Auswertung->TherapNLAnpassung << '\t';
00258 s << Auswertung->TherapFrustration << '\t';
00259 s << derKlient << '\t';
00260 s << derRater << '\n';
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
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