Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

$splash$

Treue Seele

  • »$splash$« ist der Autor dieses Themas

Beiträge: 172

Wohnort: BW

Beruf: Schüler

  • Private Nachricht senden

1

10.02.2005, 09:36

MessageBox

wenn ich eine MessageBox erstellen will kommt ein fehler das MessageBoxA kein Parameter annimt was soll ich tun ?? ???

Sicaine

unregistriert

2

10.02.2005, 11:25

Dreh dich drei mal um dich selbst und sing dabei Tralalalalallaal. Wenn du damit fertig bist, kannste ja den Quellcode mit dem Problem hier posten, da leider meine Glaskugel kaput ist und ich keine Lust habe, extra nur wegen dem Quelltext jetzt irgendwie deinen PC zu infiltrieren ;-)

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

3

10.02.2005, 23:54

Jep poste Code mal, außerdem würde ich dir raten, wenn dein Compiler ne Hilfe hat, zuerst die zu zittieren, bin mir sicher, das da sich was finden lässt. ;)

$splash$

Treue Seele

  • »$splash$« ist der Autor dieses Themas

Beiträge: 172

Wohnort: BW

Beruf: Schüler

  • Private Nachricht senden

4

11.02.2005, 10:51

also das ist der code:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <windows.h>

using namespace std;

// Hauptprogramm

//

int main ()
{
    
    
    char chAuswahl;      

    // Menue

    printf ("%s", "[S]tart\n");
    printf ("%s", "[E]nde\n" );
    cin >> chAuswahl;

    // Je nach Auswahl verzweigen

    switch (chAuswahl)
    {
        // Programm Starten

        case ('S'):
        {
            cout << "Das Spiel wird gestartet" << endl;
        } break;

        // Ende

        case ('E'):
        {
            cout << "Das Spiel wird beendet" << endl;
        } break;

        

        //  Fehler

        default:
        {
            MessageBox("FALSCH EINGABE");
        
        }
    }

    
    cout << "Ende" << endl;

    return 0;
}


und das ist der fehler:
error C2660: 'MessageBoxA' : Funktion akzeptiert keine 1 Parameter

Heiko Kalista

Treue Seele

Beiträge: 99

Wohnort: Hessen

  • Private Nachricht senden

5

11.02.2005, 12:06

Hi!

Lesen, lernen, verstehen, anwenden ;)

Schau Dir mal den Prototyp der Messagefunktion an (MSDN verwenden). Dann kommst Du von alleine drauf ;)

mfg,
Heiko

Anonymous

unregistriert

6

11.02.2005, 12:20

Du musst der MessageBox noch nen paar weitere sachen eingeben wie z.b. Titel der Box.

Deine Fehlernachricht bedeutet nichts anderes als das die Funktion MessageBox mehr oder weniger als 1 Parameter brauch. In dem fall mehr.

Anonymous

unregistriert

7

11.02.2005, 12:23

Hier mal dein Code verbessert:

C-/C++-Quelltext

1
2
3
4
5
//  Fehler 

default: 
{ 
     MessageBox("Falsche Eingabe!","Fehler",MB_OK | MB_ICONERROR);
}


DUrch den Code da oben bekommst du eine MessageBox mit einem OK Button und einem Error Icon. Guck am besten mal in der MSDN nach wie diese Funktion richtig gebraucht wird.[/cpp]

8

11.02.2005, 12:24

misst, hab mich irgendwie ausgeloggt, das obrige ist von mir.

$splash$

Treue Seele

  • »$splash$« ist der Autor dieses Themas

Beiträge: 172

Wohnort: BW

Beruf: Schüler

  • Private Nachricht senden

9

11.02.2005, 13:28

danke für die hilfe jetzt kommt kein fehler mehr

thx :roll: 8)

MannyDasMammut

Treue Seele

Beiträge: 76

Wohnort: Baden - Würtemberg / Achern

Beruf: Schüler

  • Private Nachricht senden

10

21.03.2005, 18:54

Er hat evtl. auch nur den falschen Referenzeintrag gelesen

Also es könnte auch seind as er nur den falschen Eintrag in der MSDN gelsen hat. In den Microsoft Foundation Classes ist MessageBox nämlich überladen und kann auch einfach so geschrieben werden.

C-/C++-Quelltext

1
MessageBox("BlaBla");


Das ist dann eine MessageBox ohne alles.

Ich hab in all meinen Anwendungen die MessageBox selbst überladen und zwar wie folgt:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Prototyp:

void MessageBoxWP(HWND hWnd,char* cp_text,char* cp_title,DWORD dw_flags,...);

// Definition:

void MessageBoxWP(HWND hWnd,char* cp_text,char* cp_title,DWORD dw_flags,...)
{
    char ch_buffer[2048];

    va_list argptr;
    va_start(argptr,cp_text);
    vsprintf(ch_buffer,cp_text,argptr);

    MessageBox(hWnd,ch_buffer,cp_title,dw_flags);

    va_end(argptr);
}


Das hat den Vorteil das mann der MessageBox genau wie sprintf und fprintf so viele Parameter übergeben kann wie man will wie z.B. Zahlen und Werte. Das macht das Debugging etwas einfacher weil man sich die drei Vektorkomponete XYZ einfacher ausgeben kann.

:)[/cpp]
Werde ich hier eigentlich noch gebrauch ansonsten würd ich gerne nach Hause gehen und meine graue Wand anstarren.

Werbeanzeige