AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi MCISendString und Leerzeichen im Dateinamen?
Thema durchsuchen
Ansicht
Themen-Optionen

MCISendString und Leerzeichen im Dateinamen?

Ein Thema von Elko · begonnen am 17. Feb 2008 · letzter Beitrag vom 17. Feb 2008
Antwort Antwort
Elko

Registriert seit: 2. Feb 2008
52 Beiträge
 
Delphi 7 Personal
 
#1

MCISendString und Leerzeichen im Dateinamen?

  Alt 17. Feb 2008, 14:34
Hallo Leute,
ich will in meinem Programm nur einen wav-Sound abspielen: C:\WINDOWS\Media\Windows XP-kritischer Fehler.wav
Leider klappt's bei mir nicht Das heißt, das Programm lässt sich zwar kompilieren, aber es kommt kein Sound...
Ich habe auch schon viel im Internet gesucht und dabei herausgefunden, dass mein Problem offensichtlich mit der Tatsache, dass der Dateiname Leerzeichen enthält, zu tun hat. Leider haben viele Versuche mit " bei mir nicht geklappt
Kennt jemand einen Kniff, der mir weiterhilft? Wär' super!

Hier mal der Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
  FileName = '"C:\WINDOWS\Media\Windows XP-kritischer Fehler.wav"';
begin
label1.Caption := inttostr( MCISendString(PChar('open ' + FileName), nil, 0, Handle));
end;
Im Label wird dann 296 ausgegeben (falls das jemandem weiterhilft )

In manchen Codeausschnitten hab' ich ansatt "Handle" auch eine "0" gefunden, was macht das denn für einen Unterschied, bzw. wofür sind beide gut?
Außerdem habe ich manchmal noch ein "+ ' type sequencer alias sound'" hinter "Filename" gefunden, wovon ich auch nicht weiß, was es bewirken soll

Liebe Grüße,
Elko
Keyboard not found. Press any key to continue.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: MCISendString und Leerzeichen im Dateinamen?

  Alt 17. Feb 2008, 15:01
Hallo Elko,

MCI versteht keine langen Dateinamen - da hilft nur sowas hier:

Delphi-Quellcode:
function GetShortPathName(fn: TFileName): TFileName;
var
  buf: array [0..MAX_PATH] of Char;
begin
  SetString(Result, PChar(@buf),
    Windows.GetShortPathName(PChar(fn), @buf, MAX_PATH)
  )
end;

procedure TForm1.Button1Click(Sender: TObject);
const
  FileName = '"C:\WINDOWS\Media\Windows XP-kritischer Fehler.wav"';
begin
  label1.Caption := inttostr( MCISendString(PChar('open ' + GetShortPathName(FileName)), nil, 0, Handle));
end;
Getippt und nicht getestet.

Grüße vom marabu
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: MCISendString und Leerzeichen im Dateinamen?

  Alt 17. Feb 2008, 15:02
Moin Elko,

schau Dir doch mal die Dokumentation zu den vor Dir verwendeten Funktionen an (z.B. MSDN-Library durchsuchenMCISendString).
296 ist ein Fehlercode, den Du Dir mit MSDN-Library durchsuchenmciGetErrorString wohl auch in eine lesbare Fehlerbeschreibung umwandeln kannst.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Elko

Registriert seit: 2. Feb 2008
52 Beiträge
 
Delphi 7 Personal
 
#4

Re: MCISendString und Leerzeichen im Dateinamen?

  Alt 17. Feb 2008, 15:15
Ahhhhhhh, jetzt funktionierts, Danke! Allerdings muss ich die doppelten Anführungszeichen dann weglassen
Die Dokumentationen muss ich mir mal in einer ruhigen Minute anschauen (scheint viel zu sein^^)
Keyboard not found. Press any key to continue.
  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 03:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz