Funktione, Unterprorgramm?



  • ja klar...

    aber wie deklarier ich hintergrundbild usw...?

    ich kann ja net einfach schreiben int hintergrundbild.... oder TBitmap hintegrundbild?



  • Wieso glaubt eigentlich jeder, er könne mit dem BCB GUI-Programme erstellen, ohne die C++-Grundlagen zu beherrschen?

    Schau mal in die Linkliste im C++-Forum. Da sind reichlich Tutorials verlinkt, in dem die Grundlagen vermittelt werden.



  • Joe_M. schrieb:

    Wieso glaubt eigentlich jeder, er könne mit dem BCB GUI-Programme erstellen, ohne die C++-Grundlagen zu beherrschen?

    Ich kanns dir für mich beantworten: Ich habe Einiges in C programmiert und hier und da mal was über objektorientierte Programmierung gehört. Dann hat man mich vor die Borland-Builder gesetzt und was soll ich sagen, diese IDE (egal ob BCB3 oder BDS2006) vermittelt dem unbedarften Nutzer den Eindruck, es wäre Alles ganz einfach: Form erstellen, Buttons etc drauf, ein paar Settings im OI - schon kanns abgehen... Das es bei Weitem nicht so einfach ist, stellt man dann im Laufe der Arbeit erst fest.
    Das sagt aber den Anfängern Keiner. Diese suchen sich etwas, das übersichtlich ist und ihrer Meinung nach schnell geht - dabei greifen dann Viele zu einer IDE wie dem Builder.
    Meiner Meinung nach ist der Borland Builder für Anfänger ungeeignet. Die IDE vermittelt den Eindruck eines Baukastens, dessen Prinzipien nicht bekannt sein müssen - das ist natürlich völlig falsch!



  • trotzdem solltest du aus deiner "C-Zeit" wissen wie man eine Funktion deklariert...

    xxx meine_func(...) { };
    

    greetz KN4CK3R



  • @ KN4CK3R: Wer lesen kann, ist klar im Vorteil 😉

    Ich bin in diesem Thread nicht derjenige, der mit den Funktionen nicht klarkommt.



  • Kolumbus schrieb:

    @ KN4CK3R: Wer lesen kann, ist klar im Vorteil 😉

    Ich bin in diesem Thread nicht derjenige, der mit den Funktionen nicht klarkommt.

    stimmt, hat sich so gelesen, nehms zurück 😉

    greetz KN4CK3R



  • Klar das müsste ich auch wissen aber ich weiß es nur mit int, und double variablen, ich hab keine ahnung was ich jetzt bei bildern eintragen muss

    stimmt das so ähnlich?

    void zurueck (TImage hintergrundbild,TImage starten,TImage levelauswahl,TImage optionen,TImage highscore, TImage beenden, TImage hilfe)
    {
    hintergrundbild->Picture->LoadFromFile("Images/hintergrundbild.bmp");
    starten->Visible=false;
    levelauswahl->Visible=false;
    optionen->Visible=false;
    highscore->Visible=false;
    hilfe->Visible=false;
    beenden->Visible=false;
    zurueck->Visible=true;
    }



  • Hallo

    Im Grunde werden alle Variablen gleich an Funktionen übergeben. Aber da du von deinen TImage-Komponenten sowieso nur einen Pointer hast must du auch bei der Funktion mit Pointern arbeiten

    void zurueck (TImage* hintergrundbild,...)
    

    Und bitte beim nächsten Mal beachten : sfds

    bis bald
    akari



  • danke, daran hätt ich auch denken können



  • @peter12:

    1. Willst du dich weiter mit der Programmierung beschäftigen und öfter hier im Forum posten, dann melde dich doch einfach mal an (registrieren) - das steigert den Wiedererkennungswert und tut nicht weh. 😉

    2. Wenn du Code postest, verwende doch bitte die Code-Tags - das macht deine Beiträge viiieeelll übersichtlicher.

    3. Was möchtest du denn jetzt noch genau wissen? Wie eine Funktion erstellt wird?
    Also:
    * du deklarierst die Funktion im Header unter private oder public, je nachdem ob du die Funktion auch von anderen Formularen aus aufrufen willst - Bsp:

    //...
    class TFormMain : public TForm
    {
    //...
    private:   // hier folgen Deklarationen, die nur für das Formular gültig sind zu dem der Header gehört
       int Ergebnis;
       void BeispielFunktion(int);   // dies ist eine Funktion, die nichts zurückliefert und der ein Integerwert übergeben wird
    //...
    };
    //...
    

    * dann schreibst du deine Funktion in der Quellcode-Datei *.cpp - Bsp:

    //...
    void TFormMain::BeispielFunktion(int Input)   // hier bekommt der übergebene Parameter einen Namen, 
    //mit dem du innerhalb der Funktion arbeiten kannst
    {
       Ergebnis= 3 + Input;
    }
    

    * die Funktion kannst du nun überall auf FormMain aufrufen - Bsp:

    void __fastcall TFormMain::Button1Click(TObject *Sender)   // Ereignis-Methode für Button 1
    {
       //...
       Ergebnis= 0;                                              // schreibt den Wert 0 in die Variable Ergebnis
       BeispielFunktion(6);                                      // ruft die Funktion auf und übergibt die Zahl 6
       Label1->Caption= StrToInt(Ergebnis);                      // gibt die Zahl 9 auf Label1 aus
       //...
    }
    

    das wärs erstmal

    Edit: ok, mein Beitrag war dann wohl überflüssig 🙄


Anmelden zum Antworten