Messagebox wenn Eingabewert fehlt



  • Hallo

    habe heut für einen Bekannten von mir ein Programm zur Sinus,Cosinus und Tangensberechnung erstellt! Das Programm geht soweit nur eine Frage habe ich noch und zwar wie bekomm ich das hin dass eine Messagebox erscheint wenn man vergisst den Winkel als Eingabewert einzugeben?

    Falls diese Thema schon vorhande sein sollte sorry hab beim suchen nichts gefunden!

    Schonmal danke für eure Hilfe
    Sandra



  • Hallo Sandra,

    in welcher Umgebung arbeitest Du?
    Ist das eine Konsolenanwendung oder ein Windows-Projekt?

    Gruß, Doug_HH



  • Unter Windows rufst du einfach die Funktion "MessageBox" auf (siehe MSDN), die ist in der <windows.h> deklariert 🙂



  • Wenn Du in der Konsole arbeiten solltest, wird das mit der MessageBox nicht funktionieren.
    Weil die Konsole keine Grafische Oberfläche hat.
    Dann solltest Du noch Abfragen, ob der String vom Eingabefeld leer ist, wenn Du nicht in der Konsole arbeitest.
    Lass uns doch erstmal die Frage klären, in welcher Umgebung das Programm entwickelt wurde. 🙄

    Gruß, René



  • Naja die Messagebox an sich ist ja nicht das Problem das hab ich schon des öfetren gemacht ich weiß nur net wie ich abfragen kann ob das Eingabefeld leer ist oder nicht und es ist ne ganz simple Windows-Anwendung die ich mach!

    Hier mal mein Programmcode bis jetzt:

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    #include <math.h>
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    Tfrmmain *frmmain;
    //---------------------------------------------------------------------------
    __fastcall Tfrmmain::Tfrmmain(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    
    void __fastcall Tfrmmain::BitBtn1Click(TObject *Sender)
    {
    //Variablendeklaration
    float eingabe,ausgabe1,ausgabe2,ausgabe3,ausgabe4,ausgabe5,ausgabe6;
    
    //Eingabeteil (Umwandlung Text->Variable)
    eingabe=StrToFloat(frmmain->edteingabe->Text);
    
    //Verarbeitungsteil
    ausgabe1=cos(eingabe);
    ausgabe2=sin(eingabe);
    ausgabe3=tan(eingabe);
    
    //Umwandlung der Rad-Ergebnisse in DEG (Gradmaß)
    ausgabe4=cos(eingabe*(3.141592654/180));
    ausgabe5=sin(eingabe*(3.141592654/180));
    ausgabe6=tan(eingabe*(3.141592654/180));
    
    //Ausgabeteil (Umwandlund der Variable -> Text)
    frmmain->etausgabe1->Text=FloatToStr(ausgabe1);
    frmmain->edtausgabe2->Text=FloatToStr(ausgabe2);
    frmmain->edtausgabe3->Text=FloatToStr(ausgabe3);
    frmmain->edtausgabe4->Text=FloatToStr(ausgabe4);
    frmmain->edtausgabe5->Text=FloatToStr(ausgabe5);
    frmmain->edtausgabe6->Text=FloatToStr(ausgabe6);
    }
    //---------------------------------------------------------------------------
    


  • Der Code hat ja mit Standard-C++ garnichts zu tun.

    Im WINAPI- oder VCL-Sunforum kann man dir sicher besser helfen



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

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

    Dieses Posting wurde automatisch erzeugt.



  • Du willst abfragen, ob kein Text bzw. keine vernünftige Zahl in das Editfeld eingetragen wurde? Da gibt es verschiedene Möglichkeiten:
    1. Abfrage, ob Text leer ist:

    if(edteingabe->Text.IsEmpty())
      ShowMessage("Bitte geben Sie einen Text ein!");
    

    2. Abfrage, ob keine Zahl eingegeben wurde:

    try
    {
      eingabe=StrToFloat(edteingabe->Text);
    }
    catch(EConvertError &)
    {
      ShowMessage("Bitte geben Sie eine Zahl ein!");
    }
    

    P.S: 'frmmain->' solltest du weglassen, da diese Methode ja ein Teil der Klasse 'Tfrmmain' ist.

    Bloody Kiss, bist du auch "Type O Negative"Fan?


Anmelden zum Antworten