werte übergabe
-
so ... letztes problem....
ich habe 5 buttons.... wenn man drauf klickt dann kommt ein neuer dialog.... welcher dann einen wert an den haupt dialog übergibt.... dort erscheinen dann die werte in textfeldern....
nun möchte ich noch zum schluss den gesammt wert der übergebenen werte ausgeben... dazu habe ich jetzt in jede onButton (siehe hier) das geschrieben:
m_nGPRZ+=dlg.m_Preis;
m_sGPRZ.Format("%d,00 €",m_nGPRZ);wenn ich jetzt aber nochmal auf den button klicke und wieder einen wert übergebe dann wird der geamt wert um den aktuellen wert erhöht.... das will ich aber nicht .... es soll jedesmal der gesammtwert neu berechnet werden....
wie mache ich das am besten.????? mit einer funktion ....??? aber wie???
THX
JOat
-
variable für den gesamtwert erstellen.
dann nicht mehr += sondern beim onclick des buttons für den gesamtwert aller variablen den gesamtwert ausrechnen und anschliessend anzeigen. so wird immer der aktuelle wert festgehalten und im programm ausgegeben.
-
und wie mach ich das.... muss ich dann in jede OnButton von jedem dialog das extra aufrufen????
also jeder dialog hat die var. m_Preis (int) und im haupt dialog die vars m_sGSPZ (CString) & m_nGSPZ (int) .... und die OnButton s schaun so aus....
void CComputerDlg::OnButton1() { CMainboard dlg; if(dlg.DoModal()==IDOK) { UpdateData(TRUE); m_MB_AUS = dlg.m_sMB; m_MB_PRZ.Format("%d,00 €",dlg.m_Preis); UpdateData(FALSE); } }JOat
-
nur damit ich das jetzt richtig verstehe:
du hast ein hauptdialog. buttons. jeder button öffnet eine modales dialog, in dem du werte eingeben kannst. und wenn du bestätigst, wird die summe aller werte ausgegeben.bisher hattest du aber zu einer(!) variable immer einen neu eingegebenen wert addiert. aber wenn du einen wert verändert hast, wurde der neue wert zusätzlich addiert.
der logische fehler bei dieser geschichte dürfte wohl klar sein.
wie schon kurz angerissen, erstell doch einfach statt einer variable für den endwert variablen für die einzelnen werte. und aktualisiere diese variablen für die teilwerte mit den eingegebenen werten. und vor der ausgabe kannst du dann immer die summe in einer variable für den gesamt wert festhalten.
-
dann brauch ich ja nochmal 5 variablen im hauptdialog... ich wollte aber eigentlich die von den einzelnen dialogfeldern verwenden....
JOat
-
aber irgendwie muss sich dein programm doch die alten werte merken, meinst du nicht?!
lange rede kurzer sinn. machs doch einfach!
schreib dir doch eine hilfsmethode, dann ersparst du dir das copy-paste!
-
ich habs jetzt so gemacht das ich in jede button funktion das geschrieben habe... m_n2 = dlg.m_Preis; m_nGPRZ = m_n1+m_n2+m_n3+m_n4+m_n5;
naja solangs funktioniert....