Projekt Probleme



  • hi erst mal bin neu hier hab voll das problem
    muss nen schul projekt machen. und hab 2 formen oder units das funktioniert einwandfrei das programm. es ist auch fertig. sond vielleicht ein paar form fehler drinne. das prog muss nicht aus externen datenbanken auslesen können es geht da nur um das prinzip das man das mit klassen und so verstanden hat.

    so jetzt habe ich ne 3. form eingefügt und das prog geht garnicht mehr

    //fipu[6].Set_namefipu ("Kula-Puzzle");
    fipu[6].Set_wertfipu (51.33);
    fipu[6].Set_anzahlfipu (1);
    //fipu[6].Set_namereipu ("Koalla-Puzzle");
    

    dann habe ich die beiden zeilen auskommentiert weil die zum fehler führen obwohl die gleichen methoden oben drüber schon ausgeführt wurden.
    so jetzt kann ich das prog wenigstens wieder ausführen
    aber wenn ich jetzt oben in combobox1 ne reihe auswähle und dann in der combobox2 ne figur auswähle dann auf werte anzeigen reihe/figur klicke kommt ne fehlermeldung nur weil ich ne dritte form eingefügt habe davor gings

    das prog häng ich mal an
    funzt nicht mit dem hochladen shit wers will soll mich mal fragen schicks ihm dann



  • //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    #include "Unit2.h"
    #include "Unit3.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    bool k=false;
    bool q=false;
    bool r=false;
    bool xx=true;
    int r2=0;
    int r3=0;
    int figurvoll[10];
    schockolade schocko;
    figurgu figu[6];
    void hartgummi::Set_wertguinsg(){wertguinsg=0;
                                     for (int i=0; i<figurenguinsg; i++)
                                         {wertguinsg=wertguinsg + figu[i].Get_anzahlfigu() * figu[i].Get_wertfigu();}};
    figurba fiba[6];
    void basteln::Set_wertbainsg(){wertbainsg=0;
                                   for (int i=0; i<figurenbainsg; i++)
                                         {wertbainsg=wertbainsg + fiba[i].Get_anzahlfiba() * fiba[i].Get_wertfiba();}};
    figurpu fipu[6];
    void puzzle::Set_wertpuinsg(){wertpuinsg=0;
                                  for (int i=0; i<figurenpuinsg; i++)
                                         {wertpuinsg=wertpuinsg + fipu[i].Get_anzahlfipu() * fipu[i].Get_wertfipu();}};
    void figuren::Set_figureninsg(){r3=0;
                                    for (int i=0; i<figu[1].Get_figurenguinsg() ;i++)
                                        {r3 = r3 + figu[i].Get_anzahlfigu();}
                                    for (int i=0; i<fiba[1].Get_figurenbainsg() ;i++)
                                        {r3 = r3 + fiba[i].Get_anzahlfiba();}
                                    for (int i=0; i<fipu[1].Get_figurenpuinsg() ;i++)
                                         {r3 = r3 + fipu[i].Get_anzahlfipu();}
                                    figureninsg = r3;}
    void figuren::Set_wertinsg(){wertinsg = figu[1].Get_wertguinsg() + fiba[1].Get_wertbainsg() + fipu[1].Get_wertpuinsg();};
    
    void ueei::Set_kosteninsg(){kosteninsg = Get_kosten () * Get_gekauft ();};
    void ueei::Set_gewichtinsg(){gewichtinsg = Get_gewicht () * Get_gekauft ();}
    void schockolade::Set_schockohaelftenvorhanden (){schockohaelftenvorhanden = Get_schockohaelften () - Get_schockohaelftengegessen ();};
    void schockolade::Set_schockogeinsg (){schockogeinsg = Get_schockoge () * Get_schockohaelften ();};
    AnsiString AppText;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    //hier kann man die transparenz der form festlegen
    SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) | WS_EX_LAYERED);
    SetLayeredWindowAttributes(Handle, 0, 255 /* 0 - 255 */, LWA_ALPHA);
    //kreuz oben rechts ist deaktiviert
    DeleteMenu(GetSystemMenu(Handle, false), SC_CLOSE, MF_BYCOMMAND);
    
    //der lauftext unten und oben der titel
    AppText = "Das ist die Ü-EI verwaltung, mit vielen Funktionen, eine Schockoladen Statistik, einer Ü-EI Statistik, und vielen Figuren usw. ...";
    AppText = AppText + " *** ";
    Application->Title = AppText;
    Timer1->Interval = 200; // Das war eine passende Geschwindigkeit
    
    //Gummi Erstellten objekten werte zuweisen
    figu[1].Set_namefigu ("Frodo");
    figu[1].Set_wertfigu (4561.33);
    figu[1].Set_anzahlfigu (0);
    figu[1].Set_namereigu ("Herr der Ringe");
    
    figu[2].Set_namefigu ("Aragon");
    figu[2].Set_wertfigu (45.33);
    figu[2].Set_anzahlfigu (1);
    figu[2].Set_namereigu ("Herr der Ringe");
    
    figu[3].Set_namefigu ("Happy");
    figu[3].Set_wertfigu (461.33);
    figu[3].Set_anzahlfigu (1);
    figu[3].Set_namereigu ("Happy-Hippo");
    
    figu[4].Set_namefigu ("Hippo");
    figu[4].Set_wertfigu (561.33);
    figu[4].Set_anzahlfigu (1);
    figu[4].Set_namereigu ("Happy-Hippo");
    
    figu[5].Set_namefigu ("Schuldi");
    figu[5].Set_wertfigu (56.33);
    figu[5].Set_anzahlfigu (1);
    figu[5].Set_namereigu ("Schildkröten");
    
    figu[6].Set_namefigu ("Schildi");
    figu[6].Set_wertfigu (51.33);
    figu[6].Set_anzahlfigu (2);
    figu[6].Set_namereigu ("Schildkröten");
    
    //Basteln Erstellten objekten werte zuweisen
    fiba[1].Set_namefiba ("Schildi-Bastel");
    fiba[1].Set_wertfiba (51.33);
    fiba[1].Set_anzahlfiba (2);
    fiba[1].Set_namereiba ("Schildkröten-Bastel");
    
    fiba[2].Set_namefiba ("Schuldi-Bastel");
    fiba[2].Set_wertfiba (51.33);
    fiba[2].Set_anzahlfiba (1);
    fiba[2].Set_namereiba ("Schildkröten-Bastel");
    
    fiba[3].Set_namefiba ("Hippo-Bastel");
    fiba[3].Set_wertfiba (51.33);
    fiba[3].Set_anzahlfiba (1);
    fiba[3].Set_namereiba ("Happy-Hippo-Bastel");
    
    fiba[4].Set_namefiba ("Happy-Bastel");
    fiba[4].Set_wertfiba (51.33);
    fiba[4].Set_anzahlfiba (2);
    fiba[4].Set_namereiba ("Happy-Hippo-Bastel");
    
    fiba[5].Set_namefiba ("Kula-Bastel");
    fiba[5].Set_wertfiba (51.33);
    fiba[5].Set_anzahlfiba (1);
    fiba[5].Set_namereiba ("Koalla-Bastel");
    
    fiba[6].Set_namefiba ("Kola-Bastel");
    fiba[6].Set_wertfiba (51.33);
    fiba[6].Set_anzahlfiba (2);
    fiba[6].Set_namereiba ("Koalla-Bastel");
    
    //Puzzle Erstellten objekten werte zuweisen
    fipu[1].Set_namefipu ("Schildi-Puzzle");
    fipu[1].Set_wertfipu (51.33);
    fipu[1].Set_anzahlfipu (1);
    fipu[1].Set_namereipu ("Schildkröten-Puzzle");
    
    fipu[2].Set_namefipu ("Schuldi-Puzzle");
    fipu[2].Set_wertfipu (51.33);
    fipu[2].Set_anzahlfipu (2);
    fipu[2].Set_namereipu ("Schildkröten-Puzzle");
    
    fipu[3].Set_namefipu ("Happy-Puzzle");
    fipu[3].Set_wertfipu (51.33);
    fipu[3].Set_anzahlfipu (2);
    fipu[3].Set_namereipu ("Happy-Hippo-Puzzle");
    
    fipu[4].Set_namefipu ("Hippo-Puzzle");
    fipu[4].Set_wertfipu (51.33);
    fipu[4].Set_anzahlfipu (1);
    fipu[4].Set_namereipu ("Happy-Hippo-Puzzle");
    
    fipu[5].Set_namefipu ("Kola-Puzzle");
    fipu[5].Set_wertfipu (51.33);
    fipu[5].Set_anzahlfipu (2);
    fipu[5].Set_namereipu ("Koalla-Puzzle");
    
    //fipu[6].Set_namefipu ("Kula-Puzzle");
    fipu[6].Set_wertfipu (51.33);
    fipu[6].Set_anzahlfipu (1);
    //fipu[6].Set_namereipu ("Koalla-Puzzle");
    
    //Gummi wichtige globale werte, erste figur dient als main, werden gesetzt
    figu[1].Set_reiguvoll (3);
    figu[1].Set_reiguunvoll (0);
    figu[1].Set_figurenguinsg (6);
    //Basteln wichtige globale werte, erste figur dient als main, werden gesetzt
    fiba[1].Set_reibavoll (3);
    fiba[1].Set_reibaunvoll (0);
    fiba[1].Set_figurenbainsg (6);
    //Puzzle wichtige globale werte, erste figur dient als main, werden gesetzt
    fipu[1].Set_reipuvoll (3);
    fipu[1].Set_reipuunvoll (0);
    fipu[1].Set_figurenpuinsg (6);
    //Ü-EI Statistik werte setzen
    fipu[1].Set_gekauft (1477);
    fipu[1].Set_paletten (145);
    fipu[1].Set_kosten (0.59);
    fipu[1].Set_gewicht (39);
    //Schockoladen Statistik
    schocko.Set_schockoge (15);
    schocko.Set_schockohaelften (365);
    schocko.Set_schockohaelftengegessen (178);
    
    //Gummi ComboBox1 REIHE reihen eintragung
    for (int i=1; i<figu[1].Get_figurenguinsg(); i++)
        {for (int j=0; j<ComboBox1->Items->Count; j++)
             {if (ComboBox1->Items->Strings[j] == figu[i].Get_namereigu())
                 {k = true;}
             }
         if (k != true)
            {ComboBox1->Items->Add(figu[i].Get_namereigu());
             k=false;}
         else {k=false;};
        }
    //Basteln ComboBox1 REIHE reihen eintragung
    for (int i=1; i<fiba[1].Get_figurenbainsg(); i++)
        {for (int j=0; j<ComboBox1->Items->Count; j++)
             {if (ComboBox1->Items->Strings[j] == fiba[i].Get_namereiba())
                 {k = true;}
             }
         if (k != true)
            {ComboBox1->Items->Add(fiba[i].Get_namereiba());
             k=false;}
         else {k=false;};
        }
    //Puzzle ComboBox1 REIHE reihen eintragung
    for (int i=1; i<fipu[1].Get_figurenpuinsg(); i++)
        {for (int j=0; j<ComboBox1->Items->Count; j++)
             {if (ComboBox1->Items->Strings[j] == fipu[i].Get_namereipu())
                 {k = true;}
             }
         if (k != true)
            {ComboBox1->Items->Add(fipu[i].Get_namereipu());
             k=false;}
         else {k=false;};
        }
    
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    Application->Terminate();
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::ComboBox1Change(TObject *Sender)
    {
    k=false;
    for (int i=0; i<ComboBox1->Items->Count; i++)
        {
        //Added figuren von Gummi
        if (ComboBox1->Text == ComboBox1->Items->Strings[i])
            {ComboBox2->Clear();
             for (int j=0; j<figu[1].Get_figurenguinsg()+1; j++)
                 {if (figu[j].Get_namereigu() == ComboBox1->Text)
                     {ComboBox2->Items->Add(figu[j].Get_namefigu());
                     k=true;
                     }
                 }
             }
        if (k == false) //wenn schon geaddet wurde muss das nicht mehr durchlaufen werden, problem mit clear gelößt
          {
          //Added figuren von Basteln
          if (ComboBox1->Text == ComboBox1->Items->Strings[i])
            {ComboBox2->Clear();
             for (int j=0; j<fiba[1].Get_figurenbainsg()+1; j++)
                 {if (fiba[j].Get_namereiba() == ComboBox1->Text)
                     {ComboBox2->Items->Add(fiba[j].Get_namefiba());
                      k=true;
                     }
                 }
            }
          }
         if (k == false) //wenn schon geaddet wurde muss das nicht mehr durchlaufen werden, problem mit clear gelößt
          {
          //Added figuren von Puzzle
          if (ComboBox1->Text == ComboBox1->Items->Strings[i])
            {ComboBox2->Clear();
             for (int j=0; j<fipu[1].Get_figurenpuinsg()+1; j++)
                 {if (fipu[j].Get_namereipu() == ComboBox1->Text)
                     {ComboBox2->Items->Add(fipu[j].Get_namefipu());
                      k=true;
                     }
                 }
            }
          }
        }
    
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button3Click(TObject *Sender)
    {
    int avoll=0;
    int aunvoll=0;
    //setzt alle Werte der figur und der Reihe für Gummi
    for (int i=0; i<figu[1].Get_figurenguinsg()+1; i++)
        {if (figu[i].Get_namereigu() == ComboBox1->Text)
            {if (ComboBox2->Text == figu[i].Get_namefigu())
            {Edit4->Text = figu[i].Get_namefigu();
             Edit1->Text = figu[i].Get_namereigu();
             Edit5->Text = figu[i].Get_anzahlfigu();
             Edit6->Text = figu[i].Get_wertfigu();
             }
            if (figu[i].Get_anzahlfigu() > 0)
                {avoll++;}
             else {aunvoll++;}
            }
         Edit2->Text = avoll;
         Edit3->Text = aunvoll;
        }
    //setzt alle Werte der figur und der Reihe für Basteln
    for (int i=0; i<fiba[1].Get_figurenbainsg()+1; i++)
        {if (fiba[i].Get_namereiba() == ComboBox1->Text)
            {if (ComboBox2->Text == fiba[i].Get_namefiba())
            {Edit4->Text = fiba[i].Get_namefiba();
             Edit1->Text = fiba[i].Get_namereiba();
             Edit5->Text = fiba[i].Get_anzahlfiba();
             Edit6->Text = fiba[i].Get_wertfiba();
             }
            if (fiba[i].Get_anzahlfiba() > 0)
                {avoll++;}
             else {aunvoll++;}
            }
         Edit2->Text = avoll;
         Edit3->Text = aunvoll;
        }
    //setzt alle Werte der figur und der Reihe für Puzzle
    for (int i=0; i<fipu[1].Get_figurenpuinsg()+1; i++)
        {if (fipu[i].Get_namereipu() == ComboBox1->Text)
            {if (ComboBox2->Text == fipu[i].Get_namefipu())
            {Edit4->Text = fipu[i].Get_namefipu();
             Edit1->Text = fipu[i].Get_namereipu();
             Edit5->Text = fipu[i].Get_anzahlfipu();
             Edit6->Text = fipu[i].Get_wertfipu();
             }
            if (fipu[i].Get_anzahlfipu() > 0)
                {avoll++;}
             else {aunvoll++;}
            }
         Edit2->Text = avoll;
         Edit3->Text = aunvoll;
        }
    
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    //Werte setzen für Figur für Gummi
    for (int i=0; i<figu[1].Get_figurenguinsg()+1; i++)
        {if (figu[1].Get_namereigu() == ComboBox1->Text)
            {if (ComboBox2->Text == figu[i].Get_namefigu())
                {figu[i].Set_wertfigu (StrToFloat (Edit6->Text));
                 figu[i].Set_anzahlfigu (StrToInt(Edit5->Text));
                 figu[i].Set_namefigu ((Edit4->Text));
                 }
            }
        }
    
    //Werte setzen für Figur für Basteln
    for (int i=0; i<fiba[1].Get_figurenbainsg()+1; i++)
        {if (fiba[1].Get_namereiba() == ComboBox1->Text)
            {if (ComboBox2->Text == fiba[i].Get_namefiba())
                {fiba[i].Set_wertfiba (StrToFloat (Edit6->Text));
                 fiba[i].Set_anzahlfiba (StrToInt(Edit5->Text));
                 fiba[i].Set_namefiba ((Edit4->Text));
                 }
            }
        }
    //Werte setzen für Figur für Puzzle
    for (int i=0; i<fipu[1].Get_figurenpuinsg()+1; i++)
        {if (fipu[1].Get_namereipu() == ComboBox1->Text)
            {if (ComboBox2->Text == fipu[i].Get_namefipu())
                {fipu[i].Set_wertfipu (StrToFloat (Edit6->Text));
                 fipu[i].Set_anzahlfipu (StrToInt(Edit5->Text));
                 fipu[i].Set_namefipu ((Edit4->Text));
                 }
            }
        }
    
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button4Click(TObject *Sender)
    {
    //Dynamische ermittlung von HARTGUMMI unvollständig
    for (int j=0; j<ComboBox1->Items->Count; j++)
        {for (int i=0; i<figu[1].Get_figurenguinsg(); i++)
             {if (ComboBox1->Items->Strings[j] == figu[i].Get_namereigu())
                 {if (q == false)
                     {if (figu[i].Get_anzahlfigu() < 1)
                         {figurvoll[j] = 1;
                          q=true;
                         }
                     }
                  q = false;
                 }
             }
        }
    int o=0;
    for (int i=0; i<10; i++)
        {o = o + figurvoll[i];}
    figu[1].Set_reiguunvoll(o);
    Edit10->Text = figu[1].Get_reiguunvoll ();
    
    //ermittlung von HARTGUMMI vollständig
    Edit9->Text = 3 - figu[1].Get_reiguunvoll ();
    
    //werte wieder auf 0 setzen
    for (int i=0; i<10; i++)
        {figurvoll[i] = 0;
        }
    
    //Dynamische ermittlung von BASTELN unvollständig
    for (int j=0; j<ComboBox1->Items->Count; j++)
        {for (int i=0; i<fiba[1].Get_figurenbainsg(); i++)
             {if (ComboBox1->Items->Strings[j] == fiba[i].Get_namereiba())
                 {if (q == false)
                     {if (fiba[i].Get_anzahlfiba() < 1)
                         {figurvoll[j] = 1;
                          q=true;
                         }
                     }
                  q = false;
                 }
             }
        }
    o=0;
    for (int i=0; i<10; i++)
        {o = o + figurvoll[i];}
    fiba[1].Set_reibaunvoll(o);
    Edit12->Text = fiba[1].Get_reibaunvoll ();
    
    //ermittlung von BASTELN vollständig
    Edit11->Text = 3 - fiba[1].Get_reibaunvoll ();
    
    //werte wieder auf 0 setzen
    for (int i=0; i<10; i++)
        {figurvoll[i] = 0;
        }
    
    //Dynamische ermittlung von PUZZLE unvollständig
    for (int j=0; j<ComboBox1->Items->Count; j++)
        {for (int i=0; i<fipu[1].Get_figurenpuinsg(); i++)
             {if (ComboBox1->Items->Strings[j] == fipu[i].Get_namereipu())
                 {if (q == false)
                     {if (fipu[i].Get_anzahlfipu() < 1)
                         {figurvoll[j] = 1;
                          q=true;
                         }
                     }
                  q = false;
                 }
             }
        }
    o=0;
    for (int i=0; i<10; i++)
        {o = o + figurvoll[i];}
    fipu[1].Set_reipuunvoll(o);
    Edit14->Text = fipu[1].Get_reipuunvoll ();
    
    //ermittlung von PUZZLE vollständig
    Edit13->Text = 3 - fipu[1].Get_reipuunvoll ();
    
    //werte wieder auf 0 setzen
    for (int i=0; i<10; i++)
        {figurvoll[i] = 0;
        }
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button5Click(TObject *Sender)
    {
    //wert für alle reihen setzen
    figu[1].Set_wertguinsg();
    fiba[1].Set_wertbainsg();
    fipu[1].Set_wertpuinsg();
    figu[1].Set_figureninsg();
    figu[1].Set_wertinsg();
    Edit7->Text = figu[1].Get_figureninsg ();
    Edit8->Text = figu[1].Get_wertinsg();
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button6Click(TObject *Sender)
    {
    fipu[1].Set_kosteninsg ();
    fipu[1].Set_gewichtinsg ();
    Edit15->Text = fipu[1].Get_gekauft ();
    Edit16->Text = fipu[1].Get_kosteninsg ();
    Edit17->Text = fipu[1].Get_paletten ();
    Edit18->Text = fipu[1].Get_gewichtinsg ();
    Edit19->Text = fipu[1].Get_kosten ();
    Edit20->Text = fipu[1].Get_gewicht();
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button7Click(TObject *Sender)
    {
    fipu[1].Set_gekauft (StrToInt(Edit15->Text));
    fipu[1].Set_paletten (StrToInt(Edit17->Text));
    fipu[1].Set_kosten (StrToFloat(Edit19->Text));
    fipu[1].Set_gewicht (StrToInt(Edit20->Text));
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button8Click(TObject *Sender)
    {
    schocko.Set_schockohaelftenvorhanden ();
    schocko.Set_schockogeinsg ();
    Edit21->Text=schocko.Get_schockoge ();
    Edit22->Text=schocko.Get_schockogeinsg ();
    Edit23->Text=schocko.Get_schockohaelften ();
    Edit24->Text=schocko.Get_schockohaelftengegessen ();
    Edit25->Text=schocko.Get_schockohaelftenvorhanden ();
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button9Click(TObject *Sender)
    {
    schocko.Set_schockoge (StrToFloat (Edit21->Text));
    schocko.Set_schockohaelften (StrToInt (Edit23->Text));
    schocko.Set_schockohaelftengegessen (StrToInt (Edit24->Text));
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
    {
    //Alt+F4 wird verhindert
    CanClose = false;
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Timer1Timer(TObject *Sender)
    {
    //der lauftext unten und oben der titel
    AnsiString first = AppText.SubString(1,1);
    AppText.Delete(1,1);
    AppText = AppText + first;
    Application->Title = AppText;
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button10Click(TObject *Sender)
    {
    if (xx==true)
       {Form2->Visible=true;
        xx=false;
       }
    else {Form2->Visible=false;
         xx=true;}
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Image1Click(TObject *Sender)
    {
    Form3->Visible=true;
    Form1->Visible=false;
    Form2->Visible=false;
    Form3->Timer1->Enabled = true;
    }
    //---------------------------------------------------------------------------
    

Anmelden zum Antworten