Problem beim Ratespiel



  • Hallo,
    ich wollte mir ein Ratespiel machen (mit dem C++ Builder)
    hab alles so gemacht wie es im Buch steht aber wenn ich dann auf Start drücke zeigt der pc mir das :
    //---------------------------------------------------------------------------

    #include <vcl.h>
    #pragma hdrstop

    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 Form1;
    int Eingabe, Zufall, Edit1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent
    Owner)
    : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------

    void __fastcall TForm1::Button1Click(TObject Sender)
    {
    [Edit1->SetFocus();]
    Eingabe = StrToInt [(Edit1->Text);]
    if (Eingabe == Zufall)
    Label1->Caption = "Richtig geraten!";
    if (Eingabe < Zufall)
    Label1->Caption = "Deine Zahl ist zu klein!";
    if (Eingabe > Zufall)
    Label1->Caption = "Seine Zahl ist zu groß!";
    }
    //---------------------------------------------------------------------------
    [C++ Fehler] Unit1.cpp(22): E2288 Zeiger auf Struktur auf linker Seite von -> oder von ->
    erforderlich*
    [C++ Fehler] Unit1.cpp(21): E2288 Zeiger auf Struktur auf linker Seite von -> oder von ->* erforderlich*

    der fehler soll dort wo in eckige klammern gestzt hab
    kann mir einer helfen ??



  • 1. [ cpp] Tags benutzen, das kann man so nicht recht lesen.
    2. Ins Builder-Subforum gehen 😉
    3. Edit1 ist als Integer deklariert. Ein Integer kann nicht dereferenziert werden und hat schon garkeine Eigenschaft "Text".



  • und packe das hier
    int Eingabe, Zufall;
    besser in den Header unter private:



  • Danke für die schnellen Antworten .....aber da ich C++ gerade lerne hab ich jetzt nicht verstanden was ich machen muss ...hier nochmal in diesem

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Raten.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    int Zufall, Eingabe;
    
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    
      Edit1->SetFocus ();
      Eingabe = StrToInt (Edit1->Text);
      if (Eingabe == Zufall) Label1->Caption = "Richtig geraten!";
      if (Eingabe < Zufall) Label1->Caption = "Deine Zahl ist zu klein!";
      if (Eingabe > Zufall) Label1->Caption = "Deine Zahl ist zu groß!";
    }
    //---------------------------------------------------------------------------
    


  • Wo belegst du denn Zufall?
    Du solltest noch um das StrToInt einen try/catch-Block schreiben um fehlerhafte Eingaben zu vermeiden. Oder du verwendest statt dessen StrToIntDef.
    Vielleicht sollte ein Mod diesen Thread mal in das BCB-Forum verschieben.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum VCL/CLX (Borland C++ Builder) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten