Unterprogramme und Anfänger ´`



  • Hi,
    ich habe erneut ein kleines Problem.
    In meinem Programm ist ein Unterprogramm für die Speicherung in eine Datei enthalten.
    Nun habe ich allerdings das Problem; ich weiß nicht wie ich die Schnittstellen aufbauen muss oder überhaupt wie ich die Prozedur einleite.

    Hier mein Versuch:
    Aufruf der Prozedur:

    void __fastcall Ttii::Speichernunter1Click(TObject *Sender)
    {
    if (SaveDialog1->Execute()) savepath = (SaveDialog1->FileName);
    
    void SPEICHERN(TStringGrid StringGrid1, AnsiString savepath, AnsiString sepdir, AnsiString gamedir, int iid, bool autoclose);
    
    //So gehts erst garnicht:
    /*SPEICHERN(TStringGrid StringGrid1, AnsiString savepath, AnsiString sepdir, AnsiString gamedir, int iid, bool autoclose);*/
    }
    

    Start der Prozedur

    void SPEICHERN(TStringGrid *StringGrid1, AnsiString savepath, AnsiString sepdir, AnsiString gamedir, int iid, bool autoclose)
    {
    //SPEICHERN.....
    }
    

    Wie ihr sehen könnt muss ich ne Menge übergeben. Bestimmt geht das aber schon einfacher.
    Beim Kompilieren dieser Zusammenstellung treten keine Fehler auf, jedoch führt das Programm bei Aufruf die Prozedur nicht aus.

    Bitte helfen^^

    Ich danke euch,

    MfG Icestar



  • Da scheint es ganz offensichtlich an Grundlagen zu fehlen.



  • Ich dank dir. Habe es nun endlich, nach langem Versuchen geschafft. Habe eigentlich C++ in der Schule, aber über deinen Link habe ich eindeutig sehr nützliche Dinge erfahren.

    Hier meine Berichtigung

    Aufruf der Prozedur:

    void __fastcall Ttii::Speichernunter1Click(TObject *Sender)
    {
    if (SaveDialog1->Execute()) savepath = (SaveDialog1->FileName);
    SPEICHERN(Sender);
    }
    

    Start der Prozedur

    void Ttii::SPEICHERN(TObject *Sender)
    {
    //Speichern.....
    }
    

    Prozedurdeklaration

    private:
    void SPEICHERN(TObject *Sender);
    


  • Forum Header unter private

    void __fastcall SPEICHERN(TStringGrid [b]*[/b]StringGrid1, AnsiString savepath, AnsiString sepdir, AnsiString gamedir, int iid, bool autoclose);
    

    Im Formular:

    void __fastcall Ttii::SPEICHERN(TStringGrid [b]*[/b]StringGrid1, AnsiString savepath, AnsiString sepdir, AnsiString gamedir, int iid, bool autoclose)
    {
    // dein Code für die Funktion
    }
    

    Aufrufen:

    void __fastcall Ttii::Speichernunter1Click(TObject *Sender)
    {
    if (SaveDialog1->Execute()) savepath = (SaveDialog1->FileName);
    
    SPEICHERN(die Übergabeparameter die du in der Funktion angegeben bzw. deklariert hast);*
    }
    

Anmelden zum Antworten