Probleme bei öffnen der Datei
-
Anbei der Code für das Aufrufen der einzelnen Seiten (1 - 31 ). Mit "OnTanstelleIns" wird die einzelne Seite eingegeben und dann abgespeichert.
void CTankstelle2View::OnTankstelleHome() { // TODO: Code für Befehlsbehandlungsroutine hier einfügen if(!m_pList->IsEmpty()) { m_position = m_pList->GetHeadPosition(); GetEntry(m_position); } } void CTankstelle2View::OnTankstelleEnd() { // TODO: Code für Befehlsbehandlungsroutine hier einfügen if(!m_pList->IsEmpty()) { m_position = m_pList->GetTailPosition(); GetEntry(m_position); } } void CTankstelle2View::OnTankstellePrev() { // TODO: Code für Befehlsbehandlungsroutine hier einfügen POSITION pos; if((pos = m_position) != NULL) { m_pList->GetPrev(pos); if(pos) { GetEntry(pos); m_position = pos; } } } void CTankstelle2View::OnTankstelleNext() { // TODO: Code für Befehlsbehandlungsroutine hier einfügen POSITION pos; if((pos = m_position) != NULL) { m_pList->GetNext(pos); if(pos) { GetEntry(pos); m_position = pos; } } } void CTankstelle2View::OnTankstelleIns() { // TODO: Code für Befehlsbehandlungsroutine hier einfügen InsertEntry(m_position); GetDocument()->SetModifiedFlag(); GetDocument()->UpdateAllViews(this); } void CTankstelle2View::OnTankstelleDel() { // TODO: Code für Befehlsbehandlungsroutine hier einfügen POSITION pos; if((pos = m_position) != NULL) { m_pList->GetNext(pos); if(pos == NULL) { pos = m_pList->GetHeadPosition(); if(pos == m_position) { pos = NULL; } } GetEntry(pos); CTanke* ps = m_pList->GetAt(m_position); m_pList->RemoveAt(m_position); delete ps; m_position = pos; GetDocument()->SetModifiedFlag(); GetDocument()->UpdateAllViews(this); } }
-
Wo schreibst Du in die Datei? Was steht z.B. in InsertEntry()?
Wir würden Dir ja gern helfen, aber ohne den entsprechenden Quelltext geht das nicht.
-
Code für InsertEntry()
void CTankstelle2View::InsertEntry(POSITION position) { if(UpdateData(TRUE)) { CTanke* pTanke = new CTanke; pTanke->m_dAbgabediesel3 = m_dAbgabediesel3; pTanke->m_dAbgabediesel4 = m_dAbgabediesel4; pTanke->m_dAbgabenormal = m_dAbgabenormal; pTanke->m_dAbgabesuper2 = m_dAbgabesuper2; pTanke->m_dAbgabesuper5 = m_dAbgabesuper5; pTanke->m_dAbgabesuper6 = m_dAbgabesuper6; pTanke->m_dBarbrutto = m_dBarbrutto; pTanke->m_dBardiesel3gesamt = m_dBardiesel3gesamt; pTanke->m_dBardiesel4gesamt = m_dBardiesel4gesamt; pTanke->m_dBarnetto = m_dBarnetto; pTanke->m_dBarnormalgesamt = m_dBarnormalgesamt; pTanke->m_dBarsuper2gesamt = m_dBarsuper2gesamt; pTanke->m_dBarsuper5gesamt = m_dBarsuper5gesamt; pTanke->m_dBarsuper6gesamt = m_dBarsuper6gesamt; pTanke->m_dBarzahlungdiesel3 = m_dBarzahlungdiesel3; pTanke->m_dBarzahlungdiesel4 = m_dBarzahlungdiesel4; pTanke->m_dBarzahlungnormal = m_dBarzahlungnormal; pTanke->m_dBarzahlungsuper2 = m_dBarzahlungsuper2; pTanke->m_dBarzahlungsuper5 = m_dBarzahlungsuper5; pTanke->m_dBarzahlungsuper6 = m_dBarzahlungsuper6; pTanke->m_dEcdiesel3gesamt = m_dEcdiesel3gesamt; pTanke->m_dEcdiesel4gesamt = m_dEcdiesel4gesamt; pTanke->m_dEcheute = m_dEcheute; pTanke->m_dEcnormalgesamt = m_dEcnormalgesamt; pTanke->m_dEcsuper2gesamt = m_dEcsuper2gesamt; pTanke->m_dEcsuper5gesamt = m_dEcsuper5gesamt; pTanke->m_dEcsuper6gesamt = m_dEcsuper6gesamt; pTanke->m_dEczahlungdiesel3 = m_dEczahlungdiesel3; pTanke->m_dEczahlungdiesel4 = m_dEczahlungdiesel4; pTanke->m_dEczahlungnormal = m_dEczahlungnormal; pTanke->m_dEczahlungsuper2 = m_dEczahlungsuper2; pTanke->m_dEczahlungsuper5 = m_dEczahlungsuper5; pTanke->m_dEczahlungsuper6 = m_dEczahlungsuper6; pTanke->m_dMehrwertsteuer = m_dMehrwertsteuer; pTanke->m_dMonatbrutto = m_dMonatbrutto; pTanke->m_dMonatnetto = m_dMonatnetto; pTanke->m_dPrivatentnahme = m_dPrivatentnahme; pTanke->m_dRechnungdiesel3 = m_dRechnungdiesel3; pTanke->m_dRechnungdiesel3gesamt = m_dRechnungdiesel3gesamt; pTanke->m_dRechnungdiesel4 = m_dRechnungdiesel4; pTanke->m_dRechnungdiesel4gesamt = m_dRechnungdiesel4gesamt; pTanke->m_dRechnungheute = m_dRechnungheute; pTanke->m_dRechnungnormal = m_dRechnungnormal; pTanke->m_dRechnungnormalgesamt = m_dRechnungnormalgesamt; pTanke->m_dRechnungsuper2 = m_dRechnungsuper2; pTanke->m_dRechnungsuper2gesamt = m_dRechnungsuper2gesamt; pTanke->m_dRechnungsuper5 = m_dRechnungsuper5; pTanke->m_dRechnungsuper5gesamt = m_dRechnungsuper5gesamt; pTanke->m_dRechnungsuper6 = m_dRechnungsuper6; pTanke->m_dRechnungsuper6gesamt = m_dRechnungsuper6gesamt; pTanke->m_dTagespreisbenzin = m_dTagespreisbenzin; pTanke->m_dTagespreisdiesel = m_dTagespreisdiesel; pTanke->m_dTagespreissuper = m_dTagespreissuper; pTanke->m_dZaehlerstanddiesel3alt = m_dZaehlerstanddiesel3alt; pTanke->m_dZaehlerstanddiesel3neu = m_dZaehlerstanddiesel3neu; pTanke->m_dZaehlerstanddiesel4alt = m_dZaehlerstanddiesel4alt; pTanke->m_dZaehlerstanddiesel4neu = m_dZaehlerstanddiesel4neu; pTanke->m_dZaehlerstandnormalalt = m_dZaehlerstandnormalalt; pTanke->m_dZaehlerstandnormalneu = m_dZaehlerstandnormalneu; pTanke->m_dZaehlerstandsuper2alt = m_dZaehlerstandsuper2alt; pTanke->m_dZaehlerstandsuper2neu = m_dZaehlerstandsuper2neu; pTanke->m_dZaehlerstandsuper5alt = m_dZaehlerstandsuper5alt; pTanke->m_dZaehlerstandsuper5neu = m_dZaehlerstandsuper5neu; pTanke->m_dZaehlerstandsuper6alt = m_dZaehlerstandsuper6alt; pTanke->m_dZaehlerstandsuper6neu = m_dZaehlerstandsuper6neu; pTanke->m_nKunden1 = m_nKunden1; pTanke->m_nKunden2 = m_nKunden2; pTanke->m_nKunden3 = m_nKunden3; pTanke->m_nKunden4 = m_nKunden4; pTanke->m_nKunden5 = m_nKunden5; pTanke->m_nKunden6 = m_nKunden6; pTanke->m_nKundenmonat = m_nKundenmonat; pTanke->m_nMehrwertst = m_nMehrwertst; pTanke->m_nSeite = m_nSeite; pTanke->m_strDatum = m_strDatum; pTanke->m_dAbgabediesel3gesamt = m_dAbgabediesel3gesamt; pTanke->m_dAbgabediesel4gesamt = m_dAbgabediesel4gesamt; pTanke->m_dAbgabenormalgesamt = m_dAbgabenormalgesamt; pTanke->m_dAbgabesuper2gesamt = m_dAbgabesuper2gesamt; pTanke->m_dAbgabesuper5gesamt = m_dAbgabesuper5gesamt; pTanke->m_dAbgabesuper6gesamt = m_dAbgabesuper6gesamt; pTanke->m_strAbgabediesel3 = m_strAbgabediesel3; pTanke->m_strAbgabediesel4 = m_strAbgabediesel4; pTanke->m_strAbgabenormal = m_strAbgabenormal; pTanke->m_strAbgabesuper2 = m_strAbgabesuper2; pTanke->m_strAbgabesuper5 = m_strAbgabesuper5; pTanke->m_strAbgabesuper6 = m_strAbgabesuper6; pTanke->m_strBarbrutto = m_strBarbrutto; pTanke->m_strBardiesel3gesamt = m_strBardiesel3gesamt; pTanke->m_strBardiesel4gesamt = m_strBardiesel4gesamt; pTanke->m_strBarnetto = m_strBarnetto; pTanke->m_strBarnormalgesamt = m_strBarnormalgesamt; pTanke->m_strBarsuper2gesamt = m_strBarsuper2gesamt; pTanke->m_strBarsuper5gesamt = m_strBarsuper5gesamt; pTanke->m_strBarsuper6gesamt = m_strBarsuper6gesamt; pTanke->m_strBarzahlungdiesel3 = m_strBarzahlungdiesel3; pTanke->m_strBarzahlungdiesel4 = m_strBarzahlungdiesel4; pTanke->m_strBarzahlungnormal = m_strBarzahlungnormal; pTanke->m_strBarzahlungsuper2 = m_strBarzahlungsuper2; pTanke->m_strBarzahlungsuper5 = m_strBarzahlungsuper5; pTanke->m_strBarzahlungsuper6 = m_strBarzahlungsuper6; pTanke->m_strEcdiesel3gesamt = m_strEcdiesel3gesamt; pTanke->m_strEcdiesel4gesamt = m_strEcdiesel4gesamt; pTanke->m_strEcheute = m_strEcheute; pTanke->m_strEcnormalgesamt = m_strEcnormalgesamt; pTanke->m_strEcsuper2gesamt = m_strEcsuper2gesamt; pTanke->m_strEcsuper5gesamt = m_strEcsuper5gesamt; pTanke->m_strEcsuper6gesamt = m_strEcsuper6gesamt; pTanke->m_strEczahlungdiesel3 = m_strEczahlungdiesel3; pTanke->m_strEczahlungdiesel4 = m_strEczahlungdiesel4; pTanke->m_strEczahlungnormal = m_strEczahlungnormal; pTanke->m_strEczahlungsuper2 = m_strEczahlungsuper2; pTanke->m_strEczahlungsuper5 = m_strEczahlungsuper5; pTanke->m_strEczahlungsuper6 = m_strEczahlungsuper6; pTanke->m_strMehrwertsteuer = m_strMehrwertsteuer; pTanke->m_strMonatbrutto = m_strMonatbrutto; pTanke->m_strMonatnetto = m_strMonatnetto; pTanke->m_strPrivatentnahme = m_strPrivatentnahme; pTanke->m_strRechnungdiesel3 = m_strRechnungdiesel3; pTanke->m_strRechnungdiesel3gesamt = m_strRechnungdiesel3gesamt; pTanke->m_strRechnungdiesel4 = m_strRechnungdiesel4; pTanke->m_strRechnungdiesel4gesamt = m_strRechnungdiesel4gesamt; pTanke->m_strRechnungheute = m_strRechnungheute; pTanke->m_strRechnungnormal = m_strRechnungnormal; pTanke->m_strRechnungnormalgesamt = m_strRechnungnormalgesamt; pTanke->m_strRechnungsuper2 = m_strRechnungsuper2; pTanke->m_strRechnungsuper2gesamt = m_strRechnungsuper2gesamt; pTanke->m_strRechnungsuper5 = m_strRechnungsuper5; pTanke->m_strRechnungsuper5gesamt = m_strRechnungsuper5gesamt; pTanke->m_strRechnungsuper6 = m_strRechnungsuper6; pTanke->m_strRechnungsuper6gesamt = m_strRechnungsuper6gesamt; pTanke->m_strTagespreisbenzin = m_strTagespreisbenzin; pTanke->m_strTagespreisdiesel = m_strTagespreisdiesel; pTanke->m_strTagespreissuper = m_strTagespreissuper; pTanke->m_strZaehlerstanddiesel3alt = m_strZaehlerstanddiesel3alt; pTanke->m_strZaehlerstanddiesel3neu = m_strZaehlerstanddiesel3neu; pTanke->m_strZaehlerstanddiesel4alt = m_strZaehlerstanddiesel4alt; pTanke->m_strZaehlerstanddiesel4neu = m_strZaehlerstanddiesel4neu; pTanke->m_strZaehlerstandnormalalt = m_strZaehlerstandnormalalt; pTanke->m_strZaehlerstandnormalneu = m_strZaehlerstandnormalneu; pTanke->m_strZaehlerstandsuper2alt = m_strZaehlerstandsuper2alt; pTanke->m_strZaehlerstandsuper2neu = m_strZaehlerstandsuper2neu; pTanke->m_strZaehlerstandsuper5alt = m_strZaehlerstandsuper5alt; pTanke->m_strZaehlerstandsuper5neu = m_strZaehlerstandsuper5neu; pTanke->m_strZaehlerstandsuper6alt = m_strZaehlerstandsuper6alt; pTanke->m_strZaehlerstandsuper6neu = m_strZaehlerstandsuper6neu; pTanke->m_strAbgabediesel3gesamt = m_strAbgabediesel3gesamt; pTanke->m_strAbgabediesel4gesamt = m_strAbgabediesel4gesamt; pTanke->m_strAbgabenormalgesamt = m_strAbgabenormalgesamt; pTanke->m_strAbgabesuper2gesamt = m_strAbgabesuper2gesamt; pTanke->m_strAbgabesuper5gesamt = m_strAbgabesuper5gesamt; pTanke->m_strAbgabesuper6gesamt = m_strAbgabesuper6gesamt; pTanke->m_strMehrwertst = m_strMehrwertst; pTanke->m_strKundenmonat = m_strKundenmonat; pTanke->m_strKunden1 = m_strKunden1; pTanke->m_strKunden2 = m_strKunden2; pTanke->m_strKunden3 = m_strKunden3; pTanke->m_strKunden4 = m_strKunden4; pTanke->m_strKunden5 = m_strKunden5; pTanke->m_strKunden6 = m_strKunden6; pTanke->m_strSeite = m_strSeite; m_position = m_pList->InsertAfter(m_position, pTanke); } }
-
Da muss ich passen!
In der Überschrift steht
Probleme beim Öffnen der Datei
Nirgendwo in dem geposteten Quelltext steht was zu dem Thema. Nutzt Du Serialisierung, CFile oder FILE oder ...

-
Ich habe mich da wohl einwenig unkar ausgedrückt. Es geht darum, dass ich, wenn die Datei abgespeichert ist und neu aufgerufen wird, der neue Zählerstand wohl angezeicgt wird, dieser aber, sobald ich Enter drücke, den alten
Zählerstand, der am Anfang des Monats eingegeben wird, anzeigt.Ich habe für die Eingabe einen Button (oder ENTER), der für die Eingabe gedrückt werden muss.
Anbei den Code:
if (m_nSeite == 1) { if(m_dBarzahlungnormal > 0) { dN01 = dN01 + m_dBarzahlungnormal; m_dBarnormalgesamt = dN01; m_nKunden1++; double dVar1; dVar1 = m_dBarzahlungnormal / m_dTagespreisbenzin; m_dAbgabenormal = floor(dVar1 * 100.0) / 100.0; dNAB01 = dNAB01 + m_dAbgabenormal; } if(m_dEczahlungnormal > 0) { dEN01 = dEN01 + m_dEczahlungnormal; m_dEcnormalgesamt = dEN01; m_nKunden1++; double dVar2; dVar2 = m_dEczahlungnormal / m_dTagespreisbenzin; m_dAbgabenormal = floor(dVar2 * 100.0) / 100.0; dNEAB01 = dNEAB01 + m_dAbgabenormal; } if(m_dRechnungnormal > 0) { dRN01 = dRN01 + m_dRechnungnormal; m_dRechnungnormalgesamt = dRN01; m_nKunden1++; double dVar3; dVar3 = m_dRechnungnormal / m_dTagespreisbenzin; m_dAbgabenormal = floor(dVar3 * 100.0) / 100.0; dNRAB01 = dNRAB01 + m_dAbgabenormal; } if(m_dAbgabenormalgesamt >= 0) { m_dAbgabenormalgesamt = dNAB01 + dNEAB01 + dNRAB01; dNABL01 = m_dAbgabenormalgesamt; // statische Variable dZSNA01 = m_dZaehlerstandnormalalt; // statische Variable dZSNN01 = dZSNA01 + dNABL01; // statische Variablen für den neuen Zählerstand m_dZaehlerstandnormalneu = dZSNN01; } m_dBarzahlungnormal = 0; m_dEczahlungnormal = 0; m_dRechnungnormal = 0; }Ich nehme an, dass der Fehler in der if-Anweisung ( if(m_dAbgabenormalgesamt >= 0) zu finden ist.
Das abspeichern, sowie das aufrufen der abgespeicherten Datei ist ok.
-
Franz Hembera schrieb:
Es geht darum, dass ich, wenn die Datei abgespeichert ist und neu aufgerufen wird, der neue Zählerstand wohl angezeicgt wird, dieser aber, sobald ich Enter drücke, den alten
Zählerstand, der am Anfang des Monats eingegeben wird, anzeigt.Dann machst du vermutlich beim "Neu Aufrufen" etwas falsch. Da du dich aber beharrlich weigerst, diesen Teil des Codes zu zeigen, wird es wohl vorerst eine Vermutung bleiben.
Franz Hembera schrieb:
Ich nehme an, dass der Fehler in der if-Anweisung ( if(m_dAbgabenormalgesamt >= 0) zu finden ist.
Da aber niemand außer dir wissen kann, welchen Zweck diese Anweisung erfüllen soll, kann dir auch niemand sagen, ob an dieser Annahme etwas dran ist.
Meiner Meinung nach hast du da ein undurchdringliches Gewirr aus viel zu vielen (und dazu noch schlecht benannten) Variablen. Dein Code ist ein Wartbarkeitsalptraum. Man müsste mal mit dem groben Besen durch den Code gehen, zusammengehörende Variablen in passende Container packen und den Code entschlacken. Der würde dabei vermutlich auf ein Drittel der jetzigen Größe zusammenschrumpfen.
Franz Hembera schrieb:
Das abspeichern, sowie das aufrufen der abgespeicherten Datei ist ok.
Dann würde ich einen Wünschelrutengänger rufen. Vermutlich verlaufen Wasseradern unter deinem Haus.
-
Franz biest du n bissl dum?
-
Ich muss mich nicht beleidigen lassen!
-
War ja nur ne Frage!

-
Auf Grund dieses Hinweises
dieser aber, sobald ich Enter drücke, den alten
Zählerstand, der am Anfang des Monats eingegeben wird, anzeigt.würde ich darauf tippen, dass ein UpdateDate() an der falschen Stelle oder mit falschem Parameter steht. Aber bei diesem Wirrwar an Quelltext?
Normalerweise würde ich die Quellen Schritt für Schritt debuggen und sehen, an welcher Stelle der Wert "verschwindet".