Problem mit Gesamtberechnung



  • Hi,
    also ich arbeite gerade an einem Projekt für die Schule, eine Art Reparaturwerkstatt. Man gibt die Art des Fahrzeuges an (ComboBox), dann das Autoteil (CheckBox) und dann den Grad der Beschädigung(ComboBox). Wenn man am Ende auf Berechnen drückt wird eine MessageBox mit den einzelnen Angaben ausgegeben(in etwa so (wenn alle Werte auf Null währen, was aber eigentlich nicht sein könnte):
    Elektrik 0,00 €
    Innenausstattung 0,00 €
    Karosserie 0,00 €
    Motor 0,00 €
    Reifen 0,00 €
    -----------------------
    Gesamt 0,00 €
    )
    Mein Problem ist jetzt, dass, wenn man nicht den ersten Punkt auswählt (in dem Falle "Elektrik") bei allen Werten Null ausgegeben wird. Wenn ich aber den ersten Punkt aktiviere, werden alle Werte korrekt ausgegeben. Ich weiß echt nicht, woran das liegen könnte. Hier ist mal mein Quelltext:

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    float UnterBetrag[5], Gesamtbetrag, Elektrik, Innenausstattung, Motor, Reifen, Karosserie, Beschaedigung[3];
    AnsiString gbetrag, ubetrag[5], gesamtrechnung;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    Beschaedigung[0]=1.25;
    Beschaedigung[1]=1.5;
    Beschaedigung[2]=1.75;
    UnterBetrag[0]=0;
    UnterBetrag[1]=0;
    UnterBetrag[2]=0;
    UnterBetrag[3]=0;
    UnterBetrag[4]=0;
    Gesamtbetrag=0;
    gbetrag="";
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::ComboBox1Change(TObject *Sender)
    {
    GroupBox1->Enabled=true;
    RadioButton1->Checked=false;
    RadioButton2->Checked=false;
    RadioButton3->Checked=false;
    RadioButton4->Checked=false;
    RadioButton5->Checked=false;
    ComboBox2->Enabled=false;
    ComboBox3->Enabled=false;
    ComboBox4->Enabled=false;
    ComboBox5->Enabled=false;
    ComboBox6->Enabled=false;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::RadioButton1Click(TObject *Sender)
    {
    ComboBox2->Enabled=true;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::RadioButton1DblClick(TObject *Sender)
    {
    RadioButton1->Checked=false;
    ComboBox2->Enabled=false;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::RadioButton2Click(TObject *Sender)
    {
    ComboBox3->Enabled=true;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::RadioButton2DblClick(TObject *Sender)
    {
    RadioButton2->Checked=false;
    ComboBox3->Enabled=false;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::RadioButton3DblClick(TObject *Sender)
    {
    RadioButton3->Checked=false;
    ComboBox4->Enabled=false;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::RadioButton3Click(TObject *Sender)
    {
    ComboBox4->Enabled=true;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::RadioButton4Click(TObject *Sender)
    {
    ComboBox5->Enabled=true;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::RadioButton4DblClick(TObject *Sender)
    {
    RadioButton4->Checked=false;
    ComboBox5->Enabled=false;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::RadioButton5Click(TObject *Sender)
    {
    ComboBox6->Enabled=true;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::RadioButton5DblClick(TObject *Sender)
    {
    RadioButton5->Checked=false;
    ComboBox6->Enabled=false;        
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    switch(Application->MessageBox("Wollen Sie das Programm wirklich beenden?", "Beenden", MB_YESNO | MB_ICONQUESTION))
            {
            case IDYES:Close();
            }
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    if (GroupBox1->Enabled!=true)
            {
            Application->MessageBox("Geben Sie bitte den Autotyp an!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
            }
    else
            {
            if (ComboBox1->Text=="Kombi")
                    {
                    Elektrik=300;
                    Innenausstattung=200;
                    Motor=400;
                    Reifen=50;
                    Karosserie=250;
                    }
            if (ComboBox1->Text=="Geländewagen")
                    {
                    Elektrik=300;
                    Innenausstattung=200;
                    Motor=400;
                    Reifen=50;
                    Karosserie=250;
                    }
            if (ComboBox1->Text=="Sportwagen")
                    {
                    Elektrik=300;
                    Innenausstattung=200;
                    Motor=400;
                    Reifen=50;
                    Karosserie=250;
                    }
            if (ComboBox1->Text=="Limousine")
                    {
                    Elektrik=300;
                    Innenausstattung=200;
                    Motor=400;
                    Reifen=50;
                    Karosserie=250;
                    }
            if (RadioButton1->Checked==false&&RadioButton2->Checked==false&&RadioButton3->Checked==false&&RadioButton4->Checked==false&&RadioButton5->Checked==false)
                    {
                    Application->MessageBox("Geben Sie bitte das Autoteil an!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
                    }
            else
                    {
                    if (RadioButton1->Checked==true&&ComboBox2->Text==" - Beschädigung - ")
                            {
                            Application->MessageBox("Geben Sie bitte den Grad der Beschädigung an!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
                            }
                     else
                            {
                            if (RadioButton1->Checked==true&&ComboBox2->Text=="Leicht")
                                    {
                                    UnterBetrag[0]=Elektrik*Beschaedigung[0];
                                    }
                            if (RadioButton1->Checked==true&&ComboBox2->Text=="Mittel")
                                    {
                                    UnterBetrag[0]=Elektrik*Beschaedigung[1];
                                    }
                            if (RadioButton1->Checked==true&&ComboBox2->Text=="Schwer")
                                    {
                                    UnterBetrag[0]=Elektrik*Beschaedigung[2];
                                    }
                            if (RadioButton2->Checked==true&&ComboBox3->Text==" - Beschädigung - ")
                                    {
                                    Application->MessageBox("Geben Sie bitte den Grad der Beschädigung an!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
                                    }
                            else
                                    {
                                    if (RadioButton2->Checked==true&&ComboBox2->Text=="Leicht")
                                            {
                                            UnterBetrag[1]=Innenausstattung*Beschaedigung[0];
                                            }
                                    if (RadioButton2->Checked==true&&ComboBox2->Text=="Mittel")
                                            {
                                            UnterBetrag[1]=Innenausstattung*Beschaedigung[1];
                                            }
                                    if (RadioButton2->Checked==true&&ComboBox2->Text=="Schwer")
                                            {
                                            UnterBetrag[1]=Innenausstattung*Beschaedigung[2];
                                            }
                                    if (RadioButton3->Checked==true&&ComboBox4->Text==" - Beschädigung - ")
                                            {
                                            Application->MessageBox("Geben Sie bitte den Grad der Beschädigung an!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
                                            }
                                    else
                                            {
                                            if (RadioButton3->Checked==true&&ComboBox2->Text=="Leicht")
                                                    {
                                                    UnterBetrag[2]=Karosserie*Beschaedigung[0];
                                                    }
                                            if (RadioButton3->Checked==true&&ComboBox2->Text=="Mittel")
                                                    {
                                                    UnterBetrag[2]=Karosserie*Beschaedigung[1];
                                                    }
                                            if (RadioButton3->Checked==true&&ComboBox2->Text=="Schwer")
                                                    {
                                                    UnterBetrag[2]=Karosserie*Beschaedigung[2];
                                                    }
                                            if (RadioButton4->Checked==true&&ComboBox5->Text==" - Beschädigung - ")
                                                    {
                                                    Application->MessageBox("Geben Sie bitte den Grad der Beschädigung an!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
                                                    }
                                                    else
                                                            {
                                                            if (RadioButton4->Checked==true&&ComboBox2->Text=="Leicht")
                                                                    {
                                                                    UnterBetrag[3]=Motor*Beschaedigung[0];
                                                                    }
                                                            if (RadioButton4->Checked==true&&ComboBox2->Text=="Mittel")
                                                                    {
                                                                    UnterBetrag[3]=Motor*Beschaedigung[1];
                                                                    }
                                                            if (RadioButton4->Checked==true&&ComboBox2->Text=="Schwer")
                                                                    {
                                                                    UnterBetrag[3]=Motor*Beschaedigung[2];
                                                                    }
                                                            if (RadioButton5->Checked==true&&ComboBox6->Text==" - Beschädigung - ")
                                                                    {
                                                                    Application->MessageBox("Geben Sie bitte den Grad der Beschädigung an!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
                                                                    }
                                                            else
                                                                    {
                                                                    if (RadioButton5->Checked==true&&ComboBox2->Text=="Leicht")
                                                                            {
                                                                            UnterBetrag[4]=Reifen*Beschaedigung[0];
                                                                            }
                                                                    if (RadioButton5->Checked==true&&ComboBox2->Text=="Mittel")
                                                                            {
                                                                            UnterBetrag[4]=Reifen*Beschaedigung[1];
                                                                            }
                                                                    if (RadioButton5->Checked==true&&ComboBox2->Text=="Schwer")
                                                                            {
                                                                            UnterBetrag[4]=Reifen*Beschaedigung[2];
                                                                            }
                                                                    ubetrag[0]="Elektrik                   "+FloatToStrF(UnterBetrag[0], ffFixed, 6, 2)+" €\n";
                                                                    ubetrag[1]="Innenausstattung  "+FloatToStrF(UnterBetrag[1], ffFixed, 6, 2)+" €\n";
                                                                    ubetrag[2]="Karosserie              "+FloatToStrF(UnterBetrag[2], ffFixed, 6, 2)+" €\n";
                                                                    ubetrag[3]="Motor                     "+FloatToStrF(UnterBetrag[3], ffFixed, 6, 2)+" €\n";
                                                                    ubetrag[4]="Reifen                    "+FloatToStrF(UnterBetrag[4], ffFixed, 6, 2)+" €\n";
                                                                    Gesamtbetrag=UnterBetrag[0]+UnterBetrag[1]+UnterBetrag[2]+UnterBetrag[3]+UnterBetrag[4];
                                                                    gbetrag="Gesamt                  "+FloatToStrF(Gesamtbetrag, ffFixed, 6, 2)+" €";
                                                                    gesamtrechnung=ubetrag[0]+ubetrag[1]+ubetrag[2]+ubetrag[3]+ubetrag[4]+"----------------------------------\n"+gbetrag;
                                                                    Application->MessageBox(gesamtrechnung.c_str(), "Rechnung", MB_OK | MB_ICONINFORMATION);
                                                                    }
                                                    }
                                            }
                                    }
                            }
                     }
            }
    
    }
    //---------------------------------------------------------------------------
    

    Eigentlich ist für dieses Problem ja nur der untere Teil notwendig, ich wollte aber lieber gleich alles zeigen, damit es etwas verständlicher ist. Ich hoffe das mir jemand helfen kann, ich wäre echt dankbar!



  • Hallo SolidSnake
    meiner Meinung nach ist das Problem , das du die Bedingungen
    alle so kompliziert verschachtelst.
    Oder ist das vielleicht Teil der Schulaufgabe ?

    if (RadioButton1->Checked==true&&ComboBox2->Text==" - Beschädigung - ") 
                            { 
                            Application->MessageBox("Geben Sie bitte den Grad der Beschädigung an!", "Fehler", MB_OK | MB_ICONEXCLAMATION); 
                            return;
                            } 
                     else 
                            { 
                            if (RadioButton1->Checked==true&&ComboBox2->Text=="Leicht") 
                                   { UnterBetrag[0]=Elektrik*Beschaedigung[0]; };
    
                            if (RadioButton1->Checked==true&&ComboBox2->Text=="Mittel")                                  
                                    {UnterBetrag[0]=Elektrik*Beschaedigung[1]; };
    
                            if (RadioButton1->Checked==true&&ComboBox2->Text=="Schwer")                                  
                                    {UnterBetrag[0]=Elektrik*Beschaedigung[2]; };
    
                            }; // ende else1      
    
                       if (RadioButton2->Checked==true&&ComboBox3->Text==" - Beschädigung - ") 
                               { 
                               Application->MessageBox("Geben Sie bitte den Grad der Beschädigung an!", "Fehler", MB_OK | MB_ICONEXCLAMATION); 
                               return;
                                } 
                       else 
                               { 
                               if (RadioButton2->Checked==true&&ComboBox2->Text=="Leicht") 
                                       {UnterBetrag[1]=Innenausstattung*Beschaedigung[0];  }; 
    
                               if (RadioButton2->Checked==true&&ComboBox2->Text=="Mittel") 
                                       { UnterBetrag[1]=Innenausstattung*Beschaedigung[1];  } ;
    
                                if (RadioButton2->Checked==true&&ComboBox2->Text=="Schwer") 
                                       { UnterBetrag[1]=Innenausstattung*Beschaedigung[2]; }; 
                             }; // ende else2
    

    ich denke so unverschachtelt erfüllen sie auch ihren Zweck.
    Ist aber nur ein Vorschlag.

    Viel Glück.
    MfG Schlumpi



  • Wäre es nicht einfacher die ComboBox über "ComboBox->ItemIndex" anzusprechen?



  • Hi Schlumpi und der_andi!
    Danke für eure Antworten.

    Schlumpi schrieb:

    Hallo SolidSnake
    meiner Meinung nach ist das Problem , das du die Bedingungen
    alle so kompliziert verschachtelst.
    Oder ist das vielleicht Teil der Schulaufgabe ?

    if (RadioButton1->Checked==true&&ComboBox2->Text==" - Beschädigung - ") 
                            { 
                            Application->MessageBox("Geben Sie bitte den Grad der Beschädigung an!", "Fehler", MB_OK | MB_ICONEXCLAMATION); 
                            return;
                            } 
                     else 
                            { 
                            if (RadioButton1->Checked==true&&ComboBox2->Text=="Leicht") 
                                   { UnterBetrag[0]=Elektrik*Beschaedigung[0]; };
                                     
                            if (RadioButton1->Checked==true&&ComboBox2->Text=="Mittel")                                  
                                    {UnterBetrag[0]=Elektrik*Beschaedigung[1]; };
                                    
                            if (RadioButton1->Checked==true&&ComboBox2->Text=="Schwer")                                  
                                    {UnterBetrag[0]=Elektrik*Beschaedigung[2]; };
                                     
    
                            }; // ende else1      
    
                
    
                       if (RadioButton2->Checked==true&&ComboBox3->Text==" - Beschädigung - ") 
                               { 
                               Application->MessageBox("Geben Sie bitte den Grad der Beschädigung an!", "Fehler", MB_OK | MB_ICONEXCLAMATION); 
                               return;
                                } 
                       else 
                               { 
                               if (RadioButton2->Checked==true&&ComboBox2->Text=="Leicht") 
                                       {UnterBetrag[1]=Innenausstattung*Beschaedigung[0];  }; 
    
                               if (RadioButton2->Checked==true&&ComboBox2->Text=="Mittel") 
                                       { UnterBetrag[1]=Innenausstattung*Beschaedigung[1];  } ;
    
                                if (RadioButton2->Checked==true&&ComboBox2->Text=="Schwer") 
                                       { UnterBetrag[1]=Innenausstattung*Beschaedigung[2]; }; 
                             }; // ende else2
    

    ich denke so unverschachtelt erfüllen sie auch ihren Zweck.
    Ist aber nur ein Vorschlag.

    Viel Glück.
    MfG Schlumpi

    Okay, hab das jetzt so ungefähr geändert, also ich habe die einzelnen Else schleifen voneinander getrennt. Aber der Fehler kommt immer noch.

    der_andi schrieb:

    Wäre es nicht einfacher die ComboBox über "ComboBox->ItemIndex" anzusprechen?

    Wahrscheinlich schon. Aber da ich das erste Mal mit einer ComboBox gearbeitet habe und keine Ahnung hatte wie sie funktionierte, habe ich ausprobiert und so hat es dann geklappt. Ich wusste nicht, wie ich es anders machen konnte. Wenn ich noch Zeit finde werde ich das aber umändern. Danke.



  • Hallo SolidSnake

    Okay, hab das jetzt so ungefähr geändert, also ich habe die einzelnen Else schleifen voneinander getrennt. Aber der Fehler kommt immer noch.

    Dann poste den veränderten Teil bitte nochmal.

    MfG Schlumpi



  • void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    UnterBetrag[0]=0;
    UnterBetrag[1]=0;
    UnterBetrag[2]=0;
    UnterBetrag[3]=0;
    UnterBetrag[4]=0;
    Gesamtbetrag=0;
    if (GroupBox1->Enabled!=true)
            {
            Application->MessageBox("Geben Sie bitte den Autotyp an!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
            return;
            }
    else
            {
            if (ComboBox1->Text=="Kombi")
                    {
                    Elektrik=300;
                    Innenausstattung=200;
                    Motor=400;
                    Reifen=50;
                    Karosserie=250;
                    }
            if (ComboBox1->Text=="Geländewagen")
                    {
                    Elektrik=300;
                    Innenausstattung=200;
                    Motor=400;
                    Reifen=50;
                    Karosserie=250;
                    }
            if (ComboBox1->Text=="Sportwagen")
                    {
                    Elektrik=300;
                    Innenausstattung=200;
                    Motor=400;
                    Reifen=50;
                    Karosserie=250;
                    }
            if (ComboBox1->Text=="Limousine")
                    {
                    Elektrik=300;
                    Innenausstattung=200;
                    Motor=400;
                    Reifen=50;
                    Karosserie=250;
                    }
            if (RadioButton1->Checked==false&&RadioButton2->Checked==false&&RadioButton3->Checked==false&&RadioButton4->Checked==false&&RadioButton5->Checked==false)
                    {
                    Application->MessageBox("Geben Sie bitte das Autoteil an!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
                    return;
                    }
            else
                    {
                    if (RadioButton1->Checked==true&&ComboBox2->Text==" - Beschädigung - ")
                            {
                            Application->MessageBox("Geben Sie bitte den Grad der Beschädigung an!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
                            return;
                            }
                     else
                            {
                            if (RadioButton1->Checked==true&&ComboBox2->Text=="Leicht")
                                    {
                                    UnterBetrag[0]=Elektrik*Beschaedigung[0];
                                    };
                            if (RadioButton1->Checked==true&&ComboBox2->Text=="Mittel")
                                    {
                                    UnterBetrag[0]=Elektrik*Beschaedigung[1];
                                    };
                            if (RadioButton1->Checked==true&&ComboBox2->Text=="Schwer")
                                    {
                                    UnterBetrag[0]=Elektrik*Beschaedigung[2];
                                    };
                            };
    
                     if (RadioButton2->Checked==true&&ComboBox3->Text==" - Beschädigung - ")
                            {
                            Application->MessageBox("Geben Sie bitte den Grad der Beschädigung an!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
                            return;
                            }
                     else
                            {
                            if (RadioButton2->Checked==true&&ComboBox2->Text=="Leicht")
                                    {
                                    UnterBetrag[1]=Innenausstattung*Beschaedigung[0];
                                    };
                            if (RadioButton2->Checked==true&&ComboBox2->Text=="Mittel")
                                    {
                                    UnterBetrag[1]=Innenausstattung*Beschaedigung[1];
                                    };
                            if (RadioButton2->Checked==true&&ComboBox2->Text=="Schwer")
                                    {
                                    UnterBetrag[1]=Innenausstattung*Beschaedigung[2];
                                    };
                            };
    
                     if (RadioButton3->Checked==true&&ComboBox4->Text==" - Beschädigung - ")
                            {
                            Application->MessageBox("Geben Sie bitte den Grad der Beschädigung an!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
                            return;
                            }
                     else
                            {
                            if (RadioButton3->Checked==true&&ComboBox2->Text=="Leicht")
                                    {
                                    UnterBetrag[2]=Karosserie*Beschaedigung[0];
                                    };
                            if (RadioButton3->Checked==true&&ComboBox2->Text=="Mittel")
                                    {
                                    UnterBetrag[2]=Karosserie*Beschaedigung[1];
                                    };
                            if (RadioButton3->Checked==true&&ComboBox2->Text=="Schwer")
                                    {
                                    UnterBetrag[2]=Karosserie*Beschaedigung[2];
                                    };
                            };
    
                     if (RadioButton4->Checked==true&&ComboBox5->Text==" - Beschädigung - ")
                            {
                            Application->MessageBox("Geben Sie bitte den Grad der Beschädigung an!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
                            return;
                            }
                     else
                            {
                            if (RadioButton4->Checked==true&&ComboBox2->Text=="Leicht")
                                    {
                                    UnterBetrag[3]=Motor*Beschaedigung[0];
                                    };
                            if (RadioButton4->Checked==true&&ComboBox2->Text=="Mittel")
                                    {
                                    UnterBetrag[3]=Motor*Beschaedigung[1];
                                    };
                            if (RadioButton4->Checked==true&&ComboBox2->Text=="Schwer")
                                    {
                                    UnterBetrag[3]=Motor*Beschaedigung[2];
                                    };
                            };
    
                     if (RadioButton5->Checked==true&&ComboBox6->Text==" - Beschädigung - ")
                            {
                            Application->MessageBox("Geben Sie bitte den Grad der Beschädigung an!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
                            return;
                            }
                     else
                            {
                            if (RadioButton5->Checked==true&&ComboBox2->Text=="Leicht")
                                    {
                                    UnterBetrag[4]=Reifen*Beschaedigung[0];
                                    };
                            if (RadioButton5->Checked==true&&ComboBox2->Text=="Mittel")
                                    {
                                    UnterBetrag[4]=Reifen*Beschaedigung[1];
                                    };
                            if (RadioButton5->Checked==true&&ComboBox2->Text=="Schwer")
                                    {
                                    UnterBetrag[4]=Reifen*Beschaedigung[2];
                                    };
                            };
    
                                    ubetrag[0]="Elektrik                   "+FloatToStrF(UnterBetrag[0], ffFixed, 6, 2)+" €\n";
                                    ubetrag[1]="Innenausstattung  "+FloatToStrF(UnterBetrag[1], ffFixed, 6, 2)+" €\n";
                                    ubetrag[2]="Karosserie              "+FloatToStrF(UnterBetrag[2], ffFixed, 6, 2)+" €\n";
                                    ubetrag[3]="Motor                     "+FloatToStrF(UnterBetrag[3], ffFixed, 6, 2)+" €\n";
                                    ubetrag[4]="Reifen                    "+FloatToStrF(UnterBetrag[4], ffFixed, 6, 2)+" €\n";
                                    Gesamtbetrag=UnterBetrag[0]+UnterBetrag[1]+UnterBetrag[2]+UnterBetrag[3]+UnterBetrag[4];
                                    gbetrag="Gesamt                  "+FloatToStrF(Gesamtbetrag, ffFixed, 6, 2)+" €";
                                    gesamtrechnung=ubetrag[0]+ubetrag[1]+ubetrag[2]+ubetrag[3]+ubetrag[4]+"----------------------------------\n"+gbetrag;
                                    Application->MessageBox(gesamtrechnung.c_str(), "Rechnung", MB_OK | MB_ICONINFORMATION);
                                                                    //ShowMessage("Elektrik                   "+ubetrag[0]+" €\n"+"Innenausstattung  "+ubetrag[1]+" €\n"+"Karosserie              "+ubetrag[2]+" €\n"+"Motor                     "+ubetrag[3]+" €\n"+"Reifen                    "+ubetrag[4]+" €\n"+"-----------------------------------\n"+"Gesamt                    "+ gbetrag+" €")
                     };
            };
    
    }
    

    Hab die Else-Bedingungen geschlossen, den Schreibstil aber beibehalten. Wir haben das so in der Schule gelernt.



  • dein Fehler liegt darin, dass du immer nur ComboBox2 abfragst und nicht die zum RadioButton gehörende ComboBox

    ich empfehle dir dringend die Benutzung des Debuggers zu lernen, da das dein Problem recht schnell gelöst hätte



  • Vielen Dank, daran lag's natürlich. Jetzt funzt es. 😃
    Ich hätte jetzt noch eine Frage, gibt es eine Möglichkeit, Text am Rand zu orientieren (weiß jetzt das genaue Wort nicht). Also ich möchte, dass eine Art Rechnung in einer MessageBox ausgegeben wird, in der alle Werte drinstehen. Nun sind aber die einzelnen Eurobeträge an unterschiedlichen Stellen, also nicht direkt untereinander. Ich habe da etwas manuell rum getrickst, so dass es einigermaßen so aussieht, aber nur, wenn bei allen Werten Null ist. Sobald ein Wert nicht Null ist, sind die Kommas untereinander verschoben. Gibt es eine Möglichkeit das zu verändern?



  • du meinst wahrscheinlich sowas wie Blocksatz im Word und das ist so in einer MessageBox eigentlich nicht möglich

    muß es denn eine MessageBox sein? du könntest auch ein neues Formular machen und mit Hilfe von Labels die Werte ausgeben und dort auch die Linien mit einzeichnen, dann das Formular einfach mit ShowModal aufrufen und schon hast du eine ordentliche, übersichtlich Anzeige der Werte



  • Danke, das war eine gute Idee. Jetzt funktioniert es so wie es soll.


Anmelden zum Antworten