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

babelfish

Alter Hase

  • »babelfish« ist der Autor dieses Themas

Beiträge: 1 222

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

1

01.02.2006, 17:37

Musik in der Konsole abspielen

Hi :huhu:
Also ich habe die Forumssuche benutzt,
und bin auch darauf gestossen wie ich Die Musik abspielen kann,
leider funktionierten diese aber nur in einer Win-Anwendung.

Gibt es eine Funktion mit der ich in der Konsole Musik abspielen kann?

Chef-Koch

Treue Seele

Beiträge: 115

Wohnort: Ulm

  • Private Nachricht senden

2

01.02.2006, 19:50

*husthust* mit system() geht fast alles ... aber darauf würde ich nur im Notfall zugreifen ... (warum : frag nix da und co. die vierteilen mich immer wenn ich system() vorschlag ^^)

ok ich hab jetzt hier mal ein Zitat von nix da (damit ers nicht ein 10xmal schreiben muss :P ) :

Zitat von »"nix da"«

Ich prädige es jetzt kein 9x mehr in diesem Forum!

system() ist zwar eine standard Funktion, aber die Parameter sind total Platform abhängig! Deswegen sollte man auf system() genauso versuchen zu verzichten, wie auf Systemfunktionen! Und wenn man mal auf die Idee kommt system() zu benuzten, sollte man lieber die passende Systemfunktion nutzen als ein system() aufruf! Einerseits, kann man Systemfunktions aufrufe auf anderen Platformen leicht emulieren und system() ist sehr teuer und gefaehrlich, da immer eine Shell gestartet wird und die Shell zum Beispiel das Programm einfach unterbrechen kann oder informationen ausgeben!

Wichtig ist auch, dass für system() jedes mal eine neue Shell gestartet wird und nach dem Aufruf von system() beendet wird (was natürlich sehr langsam ist!), also nützt das Verändern von zB Umgebungsvariablen (was man auch standard konform mit putenv(3) machen kann) nichts, da sie wieder verschwinden!

system() hat außerdem das Problem, dass das Programm hängen bleiben kann, wenn der Parameter falsch war und die Shellwartet, dass der User reagiert!

Außerdem kann system() zu einem Sicherheitsloch führen, wenn man zum Beispiel ein CGI Programm schreibt und dann mit system() einen Aufruf zum Beispiel zum durchsuchen einer Datei mit den Benutzereingaben durchführt

C-/C++-Quelltext

1
2
3
ostringstream a; 
a << "grep " << userinput << " db"; 
system( a.str().c_str() );  



so könnte der User von einem anderen Host einfach Shellmetha Zeichen benutzen, die fast jeder Shell hat, um weitere Befehle auszuführen, die die CGI, dann mit den Rechten des Programmes ausführt. Ein Beispiel sei hier nur die Eingabe von "; rm -rf / ; echo "!

Weiter Infos: http://www.whitefang.com/sup/secure-faq.html#INPUT3

3

01.02.2006, 20:00

Und wenne uns jetzt noch sagst wie dsa mit system() geht wären wir alle glücklich (bis auf nix da) ^^.

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

4

01.02.2006, 20:09

probier mal PlaySound, weis net ob das in Consolen geht. Und vielleicht gibts noch was besseres... Doch is in jedem Fall besser als system()...
http://msdn.microsoft.com/library/defaul…2_playsound.asp
Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

01.02.2006, 20:12

Für welches Betriebssystem willst Du das überhaupt machen?
Falls Windows: Was hindert Dich daran, die Windows-Funktionen zu verwenden? Du könntest es z.B. mit den MCI-Funktionen machen.

babelfish

Alter Hase

  • »babelfish« ist der Autor dieses Themas

Beiträge: 1 222

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

6

01.02.2006, 20:55

Wie gehen diese funktionen denn?
(verzeiht meine noobigkeit :P )

__stdcall*

Treue Seele

Beiträge: 101

Wohnort: Dauchingen

Beruf: Schüler

  • Private Nachricht senden

7

01.02.2006, 21:17

Hi,

www.msdn.microsoft.com ist eine sehr schöne Seite ;)

Da findeste sicher was.

__stdcall*
[ICQ: 194-584-442 | MSN: nos4_9@hotmail.de | X-Fire: shadowstalker45]

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

8

01.02.2006, 22:23

@DarkRange

... und mich. system ist ur ur ur alt. Ich weiss nicht woher ihr das alle habt. Wenn man etwas machen will macht man es sich entweder _richtig selber_ oder nutzt zumindest Funktionen die auch ordentlich unterstützt werden. So ist PlaySound z.B. eine oder auch alle anderen WinAPI Funktionen.

9

02.02.2006, 15:07

Ok dann erkläre ich dir das mal:

a) Wenn man googelt findet man nur System Befehle (zB System(cls)).
b) Warum? Weil Noobs das nunmal am einfachsten Nutzen können
c) Ich weiß nicht welche anderen Befehle es gibt und habe gerade erst angefangen mit dem Proggen! Wo finde ich denn den besseren Befehl? In der MSDN usw finde ich tausende Sachen aber nich das was ich suche (bzw ich weiß es nicht weil ich echt nicht durchblicke).

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

10

02.02.2006, 16:41

a) bezweifel ich sehr. Ich find sowas nie ;) wenn man natürlich nach DOS Befehlen sucht ist das doch klar......
b) Jeder hier war mal Noob, und ob leichter zu benutzen oder nicht. Wenn man nicht einfache WinAPI Funktionen nutzen kann, in denen man nur Strukturen stupide ausfüllen muss, ist man selber dran schuld. Weiterhin exestiert dazu meist irgendwo im Netz mehrere Beispiele mit Erläuterungen und auch noch die MSDN. Also .... kein Argument.
c) Fragen, WinAPI anschauen, mal den Dingen auf den Grund gehen. Was bringt mir das wenn ich SEND und GET habe die irgendwas im Netzwerk senden? Das bringt Dir nix und mir auch nicht. Man sollte verstehen / lernen wie so etwas aufgebaut ist. Nur nehmen nutzt nix.
Ok ich gab zu manchmal ist es mühsam das Rad jedesmal neu zu erfinden, und wenn man es verstanden hat kann man sich ja selbst etwas schreiben was einem das Leben erleichtert, oder auch fertige Dinge nutzen.
d) Es untersagt dir keiner uns zu Fragen (nicht nur mich ^^). Oder mal zu googlen. Bei dem Beispiel würde ich eigentlich automatisch PLAY und SOUND bei google such, und ds finde ich nix mit system.


Neben Tutorials kann ich nur Bücher empfehen.

Werbeanzeige