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

Anonymous

unregistriert

1

01.11.2008, 12:31

mciSendString

Hi. Ich lerne grad, wie man Musik in ein Projekt furzen kann. Ich habe überall im Google gesucht Copy/Paste gemacht und trotzdem kommen Fehler raus:

Quellcode

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
1>------ Neues Erstellen gestartet: Projekt: The Code, Konfiguration: Release Win32 ------
1>Die Zwischen- und Ausgabedateien für das Projekt "The Code" mit der Konfiguration "Release|Win32" werden gelöscht.
1>Kompilieren...
1>Spielen.cpp
1>Hauptmenü.cpp
1>.\Hauptmenü.cpp(22) : error C2653: 'CPlayerDlg': Keine Klasse oder Namespace
1>.\Hauptmenü.cpp(22) : error C2065: 'CString': nichtdeklarierter Bezeichner
1>.\Hauptmenü.cpp(22) : error C2146: Syntaxfehler: Fehlendes ')' vor Bezeichner 'sThe_Code'
1>.\Hauptmenü.cpp(22) : error C2059: Syntaxfehler: ')'
1>.\Hauptmenü.cpp(23) : error C2143: Syntaxfehler: Es fehlt ';' vor '{'
1>.\Hauptmenü.cpp(23) : error C2447: '{': Funktionsheader fehlt - Parameterliste im alten Stil?
1>.\Hauptmenü.cpp(46) : error C2653: 'CPlayerDlg': Keine Klasse oder Namespace
1>.\Hauptmenü.cpp(49) : error C2664: 'mciSendStringW': Konvertierung des Parameters 1 von 'const char [12]' in 'LPCWSTR' nicht möglich
1>        Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>.\Hauptmenü.cpp(50) : error C2664: 'mciSendStringW': Konvertierung des Parameters 1 von 'const char [13]' in 'LPCWSTR' nicht möglich
1>        Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>.\Hauptmenü.cpp(58) : error C2653: 'CPlayerDlg': Keine Klasse oder Namespace
1>.\Hauptmenü.cpp(58) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'GetPlayPosition'
1>.\Hauptmenü.cpp(58) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>.\Hauptmenü.cpp(59) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>.\Hauptmenü.cpp(60) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'sPostitionStat'
1>.\Hauptmenü.cpp(60) : error C2065: 'sPostitionStat': nichtdeklarierter Bezeichner
1>.\Hauptmenü.cpp(64) : error C2664: 'mciSendStringW': Konvertierung des Parameters 1 von 'const char [23]' in 'LPCWSTR' nicht möglich
1>        Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>.\Hauptmenü.cpp(64) : error C2065: 'sPostitionStat': nichtdeklarierter Bezeichner
1>.\Hauptmenü.cpp(67) : error C2065: 'COleDateTimeSpan': nichtdeklarierter Bezeichner
1>.\Hauptmenü.cpp(67) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'dtsZeitStatus'
1>.\Hauptmenü.cpp(67) : error C2065: 'dtsZeitStatus': nichtdeklarierter Bezeichner
1>.\Hauptmenü.cpp(68) : error C2065: 'dtsZeitStatus': nichtdeklarierter Bezeichner
1>.\Hauptmenü.cpp(68) : error C2228: Links von ".SetDateTimeSpan" muss sich eine Klasse/Struktur/Union befinden.
1>        Typ ist ''unknown-type''
1>.\Hauptmenü.cpp(70) : error C2065: 'sPostitionStat': nichtdeklarierter Bezeichner
1>.\Hauptmenü.cpp(70) : error C2065: 'dtsZeitStatus': nichtdeklarierter Bezeichner
1>.\Hauptmenü.cpp(70) : error C2228: Links von ".Format" muss sich eine Klasse/Struktur/Union befinden.
1>        Typ ist ''unknown-type''
1>.\Hauptmenü.cpp(71) : error C2065: 'sPostitionStat': nichtdeklarierter Bezeichner
1>Das Buildprotokoll wurde unter "file://c:\Users\Luca\Documents\Visual Studio 2008\Projects\The Code\The Code\Release\BuildLog.htm" gespeichert.
1>The Code - 26 Fehler, 0 Warnung(en)
========== Alles neu erstellen: 0 erfolgreich, Fehler bei 1, 0 übersprungen ==========



Hier 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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
#include <iostream>
#include <string>
#include <stdio.h>
#include <time.h>
#include <windows.h>
#include "mmsystem.h"
#include "Spielen.hpp"

using namespace std;
#pragma comment (lib, "winmm.lib")
int Optionen (float Auswahl, string &Spielername, int &Spielepunkte);
int Zeit (int Sekunden)
{
    clock_t Endzeit;
    Endzeit = clock () + Sekunden;
    while (clock () < Endzeit);

    return 0;
}

// Spielt die MP 3 ab mit FileName als DateiNamen 

int CPlayerDlg::PlayMp3(CString sThe_Code) 
{ 
    CString sCommand; 

     // Eine Datei öffnen und als Device-Alias "Player" setzen: 

    
    sCommand = "open " +sThe_Code+ " alias Player shareable"; 
   // Wurde von unixtom geändert 



    // Wenn es nicht klappt 0 zurück 

    if (mciSendString(sCommand,NULL,NULL,NULL)!=0) return 0; 
    
     // Das Zeitformat auf Millisekunden setzen: 

     sCommand = "set Player time format milliseconds"; 
     if (mciSendString(sCommand,NULL,NULL,NULL)!=0)return 0; 
    
     // Die Wiedergabe starten: 

     sCommand = "play Player"; 
     if (mciSendString(sCommand,NULL,NULL,NULL)!=0)return 0; 
    
    return 1; 
} 

int CPlayerDlg::StopPlayer() 
{ 
    // Den Player stoppen 

    if (mciSendString("stop Player", NULL, NULL, NULL)!=0)return 0; 
    if (mciSendString("close Player", NULL, NULL, NULL)!=0)return 0; 
    // Wurde von unixtom hinzugefügt sonst kann man das File nicht 

    // mehr nach einem Stop erneut anspielen 


    return 1; 
} 

// PlayPosition holt die aktuelle Position und gibt sie als String zurück 

CString CPlayerDlg::GetPlayPosition() 
{ 
    CString sPostitionStat; 
    char szRetVal[MAX_PATH]; 
    int isec; 
    
    if (mciSendString("status Player position", szRetVal, MAX_PATH, NULL)!=0)return sPostitionStat; 

    isec=atoi(szRetVal) / 1000;   // Wird in Sekunden umgerechnet 

    COleDateTimeSpan dtsZeitStatus; 
    dtsZeitStatus.SetDateTimeSpan(0,0,0,isec); //Eingeben 

    
    sPostitionStat = dtsZeitStatus.Format("%X"); //Wird in Format gebracht 

    return sPostitionStat; 
}

int main ()
{
    system ("color 0F");
    float Auswahl = 0;
    string Spielername;
    int Spielepunkte = 0;

    cout << "Spielername eingeben: ";
    cin >> Spielername;

    if (!cin.good ())
    {
        cin.clear ();
        cin.ignore ();
    }

    system ("cls");

    while (Auswahl != 3)
    {
        cout << "THE CODE" << endl;
        cout << "~~~~~~~~" << endl;
        cout << "1) Spielen" << endl;
        cout << "2) Optionen" << endl;
        cout << "3) Beenden" << endl;
        cout << "~~~~" << endl;
        cout << "Deine Wahl: ";
        cin >> Auswahl;
        system ("cls");

        if (Auswahl == 1)
        {
            Spielen (Auswahl, Spielername, Spielepunkte);
        }

        else if (Auswahl == 2)
        {
            Optionen (Auswahl, Spielername, Spielepunkte);
        }

        else if (Auswahl == 3)
        {
        }

        else
        {
            cout << "ERROR: Falsche Eingabe!" << endl;

            if (!cin.good ())
            {
                cin.clear ();
                cin.ignore ();
            }

            for (int t=5; t>0; t--)
            {
                Zeit (1000);
            }

            system ("cls");
        }
    } // while


    return 0;
}

int Optionen (float Auswahl, string &Spielername, int &Spielepunkte)
{
    while (Auswahl != 5)
    {
        cout << "OPTIONEN" << endl;
        cout << "~~~~~~~~" << endl;
        cout << "1) Name aendern" << endl;
        cout << "2) LiesMich" << endl;
        cout << "3) Statistik" << endl;
        cout << "4) Kredit" << endl;
        cout << "5) Zurueck" << endl;
        cout << "~~~~" << endl;
        cout << "Deine Wahl: ";
        cin >> Auswahl;
        system ("cls");

        if (Auswahl == 1)
        {
            cout << "Momentaner Spielername: " << Spielername << endl;
            cout << "Name aendern? 1 = Ja; 2 = Nein: ";
            cin >> Auswahl;
            system ("cls");

            if (Auswahl == 1)
            {
                cout << "Neuer Spielername: ";
                cin >> Spielername;

                if (!cin.good ())
                {
                    cin.clear ();
                    cin.ignore ();
                }

                system ("cls");
                cout << "Herzlichen Gluekwusch, du heisst jetzt " << Spielername << "!" << endl;
                
                for (int t=5; t>0; t--)
                {
                    Zeit (1000);
                }

                system ("cls");
            }

            else if (Auswahl == 2)
            {
                cout << "Du heisst noch immer " << Spielername << "!" << endl;

                for (int t=5; t>0; t--)
                {
                    Zeit (1000);
                }
            }

            else
            {
                cout << "ERROR: Falsche Eingabe!" << endl;

                if (!cin.good ())
                {
                    cin.clear ();
                    cin.ignore ();
                }

                for (int t=5; t>0; t--)
                {
                    Zeit (1000);
                }

                system ("cls");
            }
        }

        else if (Auswahl == 2)
        {
            cout << "The Code, das Spiel fuer Raetselliebhaber!" << endl;
            
            for (int t=7; t>0; t--)
            {
                Zeit (1000);
            }

            system ("cls");
        }

        else if (Auswahl == 3)
        {
            cout << "~~~~~~~~~~~~~~~~~" << endl;
            cout << "Spielername      : " << Spielername << endl;
            cout << "Spielepunkte     : " << Spielepunkte << endl;
            cout << "~~~~~~~~~~~~~~~~~" << endl;
            
            for (int t=5; t>0; t--)
            {
                Zeit (1000);
            }

            system ("cls");
        }

        else if (Auswahl == 4)
        {
            cout << "Programmed by Luca Spiridilgiozzi & Viktor Schulz" << endl;
            
            for (int t=0; t>0; t--)
            {
                Zeit (1000);
            }

            system ("cls");
        }

        else if (Auswahl == 5)
        {
        }

        else
        {
            cout << "ERROR: Falsche Eingabe!" << endl;

            if (!cin.good ())
            {
                cin.clear ();
                cin.ignore ();
            }

            for (int t=5; t>0; t--)
            {
                Zeit (1000);
            }

            system ("cls");
        }
    } // while


    return 0;
}

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

01.11.2008, 12:44

Soll ich dir sagen, wo genau dein Fehler ist?

Zitat

Ich habe überall im Google gesucht Copy/Paste gemacht und trotzdem kommen Fehler raus:


Probier den Code zu verstehen und nicht einfach Copy/Paste zu machen. Das bringt nichts.

Und so, wie dein Code aussieht, solltest du dich noch ein wenig länger mit den Grundlagen beschäftigen.. Klassen, Funktionen usw..

Databyte

Alter Hase

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

3

01.11.2008, 12:55

Zitat von »"drakon"«

Soll ich dir sagen, wo genau dein Fehler ist?

Zitat

Ich habe überall im Google gesucht Copy/Paste gemacht und trotzdem kommen Fehler raus:


Probier den Code zu verstehen und nicht einfach Copy/Paste zu machen. Das bringt nichts.


Naja also ich kann Spiri verstehen... manchmal will man erstmal sehen ob etwas überhaupt
Funktioniert.. und wenn dann so viele Fehler kommen is man nen bisl Demotiviert
und dieser Code sieht jetzt nich gerade geeignet für Anfänger aus... obwohl...^^

Zitat von »"drakon"«

Und so, wie dein Code aussieht, solltest du dich noch ein wenig länger mit den Grundlagen beschäftigen.. Klassen, Funktionen usw..


Da muss ich jetzt Drakon Recht geben...
da scheint irgendwas im Header zu fehler...

Anonymous

unregistriert

4

01.11.2008, 12:58

Das Media Control Interface wird ab 64-Bit Systemen nicht mehr unterstützt und sollte seit Windows NT nicht mehr verwendet werden.

Anonymous

unregistriert

5

01.11.2008, 13:14

Und wie mach ichd as denn jetz

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

6

01.11.2008, 13:17

Zitat von »"Databyte"«

Naja also ich kann Spiri verstehen... manchmal will man erstmal sehen ob etwas überhaupt
Funktioniert.. und wenn dann so viele Fehler kommen is man nen bisl Demotiviert
und dieser Code sieht jetzt nich gerade geeignet für Anfänger aus

Na und?
Das ist aber keine Ausrede. Dann muss man halt sagen, dass man es nicht versteht und man mal rausfinden, warum nicht. Ist es die API, oder die Sprachmittel, die eingesetzt werden?
Offensichtlich sind es die Sprachmittel, die er nocht nicht kennt. Ansonsten hätte er gemerkt, dass es sich da um Klassendefinitionen handelt.

Aber der Grund für meine vielleicht etwas forsche Antwort war nicht das, sondern, wie er hier das Problem präsentiert. Er schreibt nicht, was er nicht versteht, oder fragt, was er da machen muss, dass es läuft. Er scheint offensichtlich zu erwarten, dass wir für ihn das zum laufen bringen.

Mal konkret ausgedrückt:
Wenn jemand in der Realität zu mir kommt und das sagt, dann gebe ich ihm aber mit Sicherheit als Antwort: "Na und. Ist das mein Problem?"
Wenn er aber kommt und fragt, warum das nicht funktioniert, dann werde ich natürlich helfen.

EDIT:
Mit dem letzten Post hat er meine Vermutung natürlich nur bestärkt..

@Spiri:
Ich wiederhole mich nur ungern. Lies meinen ersten Post nochmal..

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

7

01.11.2008, 13:27

Spiri:
Hast du denn ne Klasse, die CPlayerDlg oder CString heißt erstellt? Oder hast du nur den Code kopiert, weil er schön aussieht?

Anonymous

unregistriert

8

01.11.2008, 13:30

Zitat von »"Spiri"«

Und wie mach ichd as denn jetz
Indem du mal dein Hirn benutzt und nicht bei jedem "wewechen" rumflennst wie ein 14 Jähriger!

Sorry aber das muss echt mal gesagt werden, dieser Thread ist an Lächerlichkeit nicht mehr zu überbieten. Daher closed.

Werbeanzeige