[C++] MessageBox Ja/Nein
-
Hey Leute!
Bin seit grade eben neu hier, habe gesehn, dass sich hier einige erfahrene Programmierer tummeln und da dacht ich mir, dass mir hier bestimmt geholfen werden kann
Vorweg: Ich bin AnfÀnger und lerne gerade in der Schule zu "programmieren"
Also zu meinem Problem:
Ich habe ein Programm zum Erstellen und Auflisten von FussballTipps. Anzugeben und auszuwÀhlen sind Vorname/Nachname ( in je 2 Edit-Fenstern ), Tipp Gastmannschaft und Tipp Heimmannschaft ( in je 2 Edit-Fenstern ) und die Paarung der Mannschaften ( in einer ComboBox ). ZusÀtzlich gibt es einen Button, den man zum Speichern des Tipps in einem StringGrid betÀtigen kann.
Nun habe ich schon weitesgehend alles fertig programmiert und wollte das Programm, da ich es morgen abgeben muss, ein wenig aufpolieren und ein paar kleine Details einbauen.
Dann habe ich mir ĂŒberlegt eine MessageBox mit einer Ja/Nein Abfrage fĂŒr den Button einzubauen, ob man sich wirklich sicher sei, den Tipp abgeben zu wollen!Es wĂ€re wirklich super, wenn mir jemand in irgendeiner Weise noch bis morgen erklĂ€rt kriegt wie ich solch eine Abfrage da zwischenschalte!
Um das Ganze ein wenig deutlicher zu machen hier ein Bild der graphischen OberflÀche und ein Auszug aus dem Quelltext des bisherigen Programms:
Bild:
http://img91.imageshack.us/my.php?image=fussballtippge9.jpg
Quelltext:
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Fussball2.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; AnsiString VName, NName; float TippH, TippG; int j,i=1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { StringGrid->Cells[0][0] = " Nr. "; StringGrid->Cells[1][0] = " - Tipper - "; StringGrid->Cells[2][0] = " - Paarung - "; StringGrid->Cells[3][0] = " - Tipp - "; for ( j=1; j<=51; j++ ) { StringGrid->Cells[0][j] = " "+FloatToStr(j)+"."; } } //--------------------------------------------------------------------------- void __fastcall TForm1::EditVNameChange(TObject *Sender) { VName = ( EditVName->Text ); } //--------------------------------------------------------------------------- void __fastcall TForm1::EditTippHChange(TObject *Sender) { TippH = StrToFloat ( EditTippH->Text ); } //--------------------------------------------------------------------------- void __fastcall TForm1::EditTippGChange(TObject *Sender) { TippG = StrToFloat ( EditTippG->Text ); } //--------------------------------------------------------------------------- void __fastcall TForm1::ButtonTippClick(TObject *Sender) { if ( ComboPaarung->Items->Strings[ComboPaarung->ItemIndex]=="Energie Cottbus - FC Schalke 04" ) { StringGrid->Cells[1][i] =" "+(VName)+", "+AnsiString (NName); StringGrid->Cells[2][i] =" Energie Cottbus - FC Schalke 04 "; StringGrid->Cells[3][i] =" "+FloatToStr(TippH)+" : "+FloatToStr(TippG); i=i+1; } if ( ComboPaarung->Items->Strings[ComboPaarung->ItemIndex]=="Werder Bremen - F.C. Hansa Rostock" ) { StringGrid->Cells[1][i] =" "+(VName)+", "+AnsiString (NName); StringGrid->Cells[2][i] =" Werder Bremen - F.C. Hansa Rostock "; StringGrid->Cells[3][i] =" "+FloatToStr(TippH)+" : "+FloatToStr(TippG); i=i+1; } if ( ComboPaarung->Items->Strings[ComboPaarung->ItemIndex]=="Bayern MĂŒnchen - Eintracht Frankfurt" ) { StringGrid->Cells[1][i] =" "+(VName)+", "+AnsiString (NName); StringGrid->Cells[2][i] =" Bayern MĂŒnchen - Eintracht Frankfurt "; StringGrid->Cells[3][i] =" "+FloatToStr(TippH)+" : "+FloatToStr(TippG); i=i+1; } if ( ComboPaarung->Items->Strings[ComboPaarung->ItemIndex]=="Bayer 04 Leverkusen - DSC Arminia Bielefeld" ) { StringGrid->Cells[1][i] =" "+(VName)+", "+AnsiString (NName); StringGrid->Cells[2][i] =" Bayer 04 Leverkusen - DSC Arminia Bielefeld "; StringGrid->Cells[3][i] =" "+FloatToStr(TippH)+" : "+FloatToStr(TippG); i=i+1; } if ( ComboPaarung->Items->Strings[ComboPaarung->ItemIndex]=="1.FC NĂŒrnberg - VfB Stuttgart" ) { StringGrid->Cells[1][i] =" "+(VName)+", "+AnsiString (NName); StringGrid->Cells[2][i] =" 1.FC NĂŒrnberg - VfB Stuttgart "; StringGrid->Cells[3][i] =" "+FloatToStr(TippH)+" : "+FloatToStr(TippG); i=i+1; } if ( ComboPaarung->Items->Strings[ComboPaarung->ItemIndex]=="Hamburg SV - Herta BSC Berlin" ) { StringGrid->Cells[1][i] =" "+(VName)+", "+AnsiString (NName); StringGrid->Cells[2][i] =" Hamburg SV - Herta BSC Berlin "; StringGrid->Cells[3][i] =" "+FloatToStr(TippH)+" : "+FloatToStr(TippG); i=i+1; } if ( ComboPaarung->Items->Strings[ComboPaarung->ItemIndex]=="Hannover 96 - Borussia Dortmund" ) { StringGrid->Cells[1][i] =" "+(VName)+", "+AnsiString (NName); StringGrid->Cells[2][i] =" Hannover 96 - Borussia Dortmund "; StringGrid->Cells[3][i] =" "+FloatToStr(TippH)+" : "+FloatToStr(TippG); i=i+1; } if ( ComboPaarung->Items->Strings[ComboPaarung->ItemIndex]=="VfL Bochum - VfL Wolfsburg" ) { StringGrid->Cells[1][i] =" "+(VName)+", "+AnsiString (NName); StringGrid->Cells[2][i] =" VfL Bochum - VfL Wolfsburg "; StringGrid->Cells[3][i] =" "+FloatToStr(TippH)+" : "+FloatToStr(TippG); i=i+1; } if ( ComboPaarung->Items->Strings[ComboPaarung->ItemIndex]=="Karlsruher SC - MSV Duisburg" ) { StringGrid->Cells[1][i] =" "+(VName)+", "+AnsiString (NName); StringGrid->Cells[2][i] =" Karlsruher SC - MSV Duisburg "; StringGrid->Cells[3][i] =" "+FloatToStr(TippH)+" : "+FloatToStr(TippG); i=i+1; } if ( ComboPaarung->Items->Strings[ComboPaarung->ItemIndex]=="" ) { Application->MessageBox("Achtung!\nKeine Paarung gewĂ€hlt!","Fehlermeldung:",16+32); } } //--------------------------------------------------------------------------- void __fastcall TForm1::EditNNameChange(TObject *Sender) { NName = ( EditNName->Text ); } //---------------------------------------------------------------------------
Und hier schliesslich noch das Programm in einem WinRaR Archiv zum Donwloaden:
http://www.1-filehost.midnightirc.info/index.php?t=dl&hash=hzNC13nbvtC63nG9OrfzxGj2rKdxujC0
Freuen mich ĂŒber jede Hilfe! Bitte heute abend noch
GruĂ scummy
-
Mit der reinen WinAPI sÀhe das so aus:
if ( IDYES == MessageBox( FensterHandle, "Bist du dir sicher?", "Sicher?", MB_YESNO | MB_ICONQUESTION ) ) ; // Ja else ; // Nein
-
Hallo
Danke erstmal, aber es tut mir leid. Ich wĂŒsste damit jetzt nichts anzufangen.
Also rein logisch mĂŒsste da ja auch beschrieben werden wann er was tun soll, sprich: bei "Ja" wird der Tipp gespeichert und bei "Nein" eben nicht.
WĂ€r nett wenn du es ein wenig ausfĂŒhrlicher und evt. an einem Beispiel erklĂ€ren könntest.
Bitte bitte
-
if ( IDYES == MessageBox( FensterHandle, "Bist du dir sicher?", "Sicher?", MB_YESNO | MB_ICONQUESTION ) ) { // Tipp speichern }
-
[C++ Fehler] Fussball.cpp(49): E2451 Undefiniertes Symbol 'FensterHandle'
Sorry aber ich kann dir eben nicht richtig Folgen.
WÀr nicht schlecht wenn du mir sagen könntest wo ich das einbauen soll.
-
btw: Es gibt hier ein VCL-Forum.. C++ ist ne MessageBox nur wirklich nich..
-
So, um es mal klarzustellen:
dieser sourcecode, der auf sourceforge als ein anderer Programmtyp veröffentlicht wurde, den hast du abkopiert und es unbenannt. Das ist eine LĂGE, das du das selber geschrieben hast.
AuĂerdem solltest du FensterHandle(hwnd) verwenden, aber man sieht ja,dass du es abkopiert hast.
Das Original findet man unter Sourceforge -> Programme/Software: HLGD (und ne v nr)
mach mal was eigenes
-
Bitte was?!
Das Programm habe ich in der Schule gebastelt!
Ich bin da seit einigen Stunden dran.
Ich frage mich wirklich wie du darauf kommst. Das mĂŒsste ein zu groĂer Zufall sein, dass es ein Programm gibt, dass genau so aussieht.
Also tut mir Leid, aber das ist echt völliger Schwachsinn.
âŹ: Achja, kannst du mir bitte mal einen Link geben?
Ich kanns immernoch nicht glauben... sowas hab ich schon lang nicht mehr erlebt...
-
So ich habs jetzt geschafft!
Vielen vielen Dank an Badestrand!
und @ der Besserwisser:
Sorry aber du brennst doch oder?
Gib mir erstmal einen Link, dann will ich mal sehen wie Àhnliche dieses Programm meinem ist. Das kann einfach nicht stimmen. Unglaublich so eine Anschuldigung...Gruà scummy
-
Dieser Thread wurde von Moderator/in CStoll 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.
-
Hallo,
VCL-gemÀà nimmt man hier statt MessageBox besser MessageDlg.
Aus der BCB6-Hilfeif (MessageDlg("Datensatz aktualisieren?", mtConfirmation, TMsgDlgButtons() << mbYes << mbNo, 0) = mrYes) { } else { }
[edit]Bei deinem Tipp hast du ja zum GlĂŒck schön daneben gelegen. [edit]
-
mir fÀllt grad auf das Braunsteins antwort geradezu nach FAQ aufnahme schreit ... da hab ichs nÀmlich NICHT gefunden
-
Ja genau.Nehmt die komplette BCB Hilfe mit in die FAQ.
-
danke fĂŒr deinen geistreichen kommentar .... mal abgesehen davon das in der BCB hilfe steht das die syntax fĂŒr OK button
TMsgDlgButtons() << mbOK
lautet .... (das war ironisch)
da steht nur so n dĂ€mlicher spruch in meiner hilfe von wegen "verwenden sie die entsprechende Syntax" die leider in der hilfe nirgendwo scheinbar erwĂ€hnt wird, bzw. vielleicht mit einem unsinnigen suchbegriff verknĂŒpft ist den ich bis heute noch nicht rausgefunden habe .... wenn ich so etwas schreibe werd ich meinen grund dafĂŒr haben, denn ich schaue grundsĂ€tzlich immer erst in die hilfe
BCB hilfe ist zwar sehr gut aber auch die haben nur "menschen" geschrieben
-
Ja mit der Hilfe muss man sich auch beschÀftigen.
Die Hilfe springt dich nicht an, sondern du musst dich mit ihr beschÀftigen, damit du verstehst wie sie aufgebaut ist.Erstmal ist es ja auch kein TMsgDlgButton den du "aufrufst".
Sondern ein TMessageDlg.
Da steht dann auch in der Hilfe zum Dialog was du alles mit ins Dialogfenster reinschieben kannst.Aus der Hilfe TMsgDlgButtons:
Wert Bedeutung
mbNone Gibt keine bestimmte SchaltflÀche an (wenn keine StandardschaltflÀche fesgelegt werden soll)
mbOk Eine SchaltflÀche mit dem Text "Ok"
mbCancel Eine SchaltflÀche mit dem Text "Cancel".
mbYes Eine SchaltflÀche mit dem Text "Ja".'
mbNo Eine SchaltflÀche mit dem Text "Nein".'
'mbAbort Eine SchaltflÀche mit dem Text "Abbruch".
mbRetry Eine SchaltflÀche mit dem Text "Wiederholen".
mbIgnore Eine SchaltflÀche mit dem Text "Ignorieren".
-
da steht aber nicht die "syntax" wie man die buttons im aufruf einbindet :p irgendwoanders hab ich schonmal erwĂ€hnt das ich um die zeit meines posts kein kaffee hatte sry fĂŒr eingeflossene feindseligkeiten