AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi Sounds Problem

Ein Thema von Windowscratcher · begonnen am 9. Mai 2012 · letzter Beitrag vom 20. Mai 2012
Antwort Antwort
Windowscratcher

Registriert seit: 9. Mai 2012
24 Beiträge
 
#1

Delphi Sounds Problem

  Alt 9. Mai 2012, 21:20
Delphi-Version: 5
Hallo Leute. Ich bin in der 9. Klasse und wir programmieren gerade mit Delphi (manchmal mit Lazarus), d.h. ich habe wenig Erfahrung mit Delphi
Unser Lehrer hat uns jetzt ein "Projekt" aufgegeben, in dem wir ein Programm nach unserem Belieben schreiben sollen (Ich mache eine interaktive Geschichte ). Ich will z.B. bei Programmstart einen Sound abspielen lassen. Hab im Internet auch schon diesen Programmcode gefunden
Code:
sndPlaySound(PChar('C:\Users\Filip\Documents\Schule\Physik und Technik\Physik und Technik\PT-Projekt\Programm\Modem.wav'),SND_ASYNC);
aber damit habe ich gehörig Probleme. Es scheint, der Programmcode an sich ist richtig, aber irgendetwas stimmt mit dem Dateipfad nicht, weil ich immer ein "Fehlerbeep" bekomme. Hab außerdem im Internet was von dem Code gehört:
Code:
ExtractFilePath(Application.Exename)
dieser ist aber kompliziert und ich verstehe ihn irgendwie nicht.
Würde mich über Antworten freuen
MfG Filip
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.316 Beiträge
 
Delphi 12 Athens
 
#2

AW: Delphi Sounds Problem

  Alt 9. Mai 2012, 21:34
Dir ist doch bestimmt aufgefallen, daß MSDN-Library durchsuchensndPlaySound eine Funktion ist?

Und Funktionsrückgabewerte sollte man auch auswerten, vorallem wenn es Probleme gibt.


Außerdem sollte man sich die Dokumentation der entsprechenden Funktion ruhig mal ansehn.
Zitat von MSDN: sndPlaySound:
Return value

Returns TRUE if successful or FALSE otherwise.

Remarks

If the specified sound cannot be found, sndPlaySound plays the system default sound. If there is no system default entry in the registry or WIN.INI file, or if the default sound cannot be found, the function makes no sound and returns FALSE.
Und siehe da, schon weißt du, warum ein anderer Ton zu hören ist.



ExtractFilePath(Application.Exename) oder ExtractFilePath(ParamStr(0)) sind recht einfach zu verstehen, aber dafür schau dir diesen Code in seinen Einzelteilen an.

Application.Exename oder ParamStr(0) geben den Pfad der eigenen EXE an.
Man glaubt es kaum, aber auch Delphi und Lazarus haben ein Hilfesystem, wo sowas drinsteht, so wie auch für Delphi-Referenz durchsuchenExtractFilePath.

Das Ganze gibt also den Pfad (das Verzeichnis) zurück, worin auch die EXE liegt.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 9. Mai 2012 um 21:37 Uhr)
  Mit Zitat antworten Zitat
Windowscratcher

Registriert seit: 9. Mai 2012
24 Beiträge
 
#3

AW: Delphi Sounds Problem

  Alt 9. Mai 2012, 21:37
Danke für deine Antwort.
Muss man für den
Code:
ExtractFilePath(Application.Exename)
Code das Projekt zu einer .exe komprimieren oder geht das auch so?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.316 Beiträge
 
Delphi 12 Athens
 
#4

AW: Delphi Sounds Problem

  Alt 9. Mai 2012, 21:46
Kennst du eventuell den Unterschied, zwischen nativen Programmen und Scripten?

Nativer Delphi Quellcode wird über einen Compiler in eine EXE, DLL oder Dergleichen umgewandelt.
Das Programm ist die EXE.
Der Quellcode ist für das laufende Programm vollkommen unwichtig.

JavaScript wird über einen Interpreter ausgeführt.


Du mußt also deinen Code kompilieren und eine EXE draus machen.
Ohne läuft da garnichts. (PascalScript-Interpreter ausgeschlossen)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: Delphi Sounds Problem

  Alt 9. Mai 2012, 22:05
Muss man für den
Code:
ExtractFilePath(Application.Exename)
Code das Projekt zu einer .exe komprimieren oder geht das auch so?
Bei Delphi mußt du immer das Programm zur Exe kompilieren, Delphi ist kein Interpreter wie z. B. das alte Basic. Aber keine Angst, geht sehr schnell.

Was ExtractFilePath(Application.Exename) angeht, ist das gleiche wie ExtractFilePath(ParamStr(0)) (das eine kopiert den wert beim anderen ab), so ergibt sich hier der Pfad zu deinem Programm, inc. abschließendem "\" Backslash. Du brauchst nur noch den Namen (inc. Endung) von deiner Sounddatei. Wenn die Sounddateien in einem Unterordner sind, z. B. "Sounds", dann den Ordner dazugeben ExtractFilePath(ParamStr(0)) + 'Sounds\' . Zuletzt:

ExtractFilePath(ParamStr(0)) + 'Sounds\' + 'MySound.wav'
  Mit Zitat antworten Zitat
Windowscratcher

Registriert seit: 9. Mai 2012
24 Beiträge
 
#6

AW: Delphi Sounds Problem

  Alt 9. Mai 2012, 22:20
Danke nochmal für die Antworten.

@himitsu Also könnte ich das nicht mitten beim Programmieren "testen" ?

@Popov Ich habe den Sound in meinem Projektordner und hab jetzt mal den Code ausprobiert, aber ich bekomme die Fehlermeldung "Error: Illegal Expression" (bei Lazarus). Wird das erst mit der .exe-Kompilierung funktionieren, also kann man das nicht "testen"?

PS: Sorry, dass ich mich so dumm anstelle, bin sehr neu mit Delphi und habe sonst so gut wie keine Programmiererfahrung. Also tut mir leid, wenn ich euch auf die Nerven gehe
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Delphi Sounds Problem

  Alt 9. Mai 2012, 22:25
DELPHI kannst Du auch im DEBUGGER (FEHLERSUCHER MODUS) ausführen, mit F8 und F7 kannst Du jede einzelne Programmzeile ausführen und feststellen wo Dein Programm kracht.

Wenn das Programm macht was es soll erstellst du eine *.exe , die kann dann jeder ausführen. Der Nutzer Deiner Software braucht dann kein Delphi auf seinem Computer


DELPHI, C++, ... verwenden einen Compiler -> Vorteil Ausführungsgeschwindigkeit

JAVA -> Interpreter -> langsame Programme
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz