![]() |
Re: Fehler bei Dateinamen
Also egal wie der Dateiname heißt es wird immer ein Umbruch in der Fehlermeldung vor dem .wav gemacht. Woran liegt das?
Zitat:
Delphi-Quellcode:
'C:\Users\Lars\Desktop\' + k + '.wav'
Zitat:
MFG Larsi |
Re: Fehler bei Dateinamen
Die Funktion heisst Gänsefüßchen (oben).
Wenn Du Deinen Dateinamen inklusive Pfad damit umschließt...dann geht das. Beispiel:
Delphi-Quellcode:
FileNameString:='"c:\ein Ordner mit Leerzeichen\eine Datei mit Leerzeichen.txt"'
;) Sherlock |
Re: Fehler bei Dateinamen
Wie sieht es denn so aus?
Delphi-Quellcode:
Format('"C:\Users\Lars\Desktop\%s.wav"',[trim(k)])
|
Re: Fehler bei Dateinamen
@DeddyH: Dann kommt der Fehler:
--------------------------- Benachrichtigung über Debugger-Exception --------------------------- Im Projekt Project10.exe ist eine Exception der Klasse EFCreateError mit der Meldung 'Datei "C:\Users\Lars\Desktop\Elefante\"C:\Users\Lars\Des ktop\Shaggy Featuring Rayvon - Angel.wav"" kann nicht erstellt werden. Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch' aufgetreten. --------------------------- Anhalten Fortsetzen Hilfe --------------------------- |
Re: Fehler bei Dateinamen
Steht der ganze Pfad schon in k, oder wie muss ich das verstehen?
|
Re: Fehler bei Dateinamen
Nein! In k steht nur der richtige Dateiename ohne Pfad. Hab mir k per ShowMessage ausgeben lassen.
|
Re: Fehler bei Dateinamen
Dann müsste mein Beispiel aber funktionieren. Zeig mal etwas Code, der Fehler muss woanders liegen.
|
Re: Fehler bei Dateinamen
Also es geht mir bei dem ganzen Filename Dingens ja darum, dass wenn man in meinem StreamZ eine Aufnahme startet (über BassdllPlayer), dass die Aufnahme dann heißt wie das aktuelle Lied. Über eine Funktion liefert BassdllPlayer den Titel und Interpreten der Online Streams. Diesen zeige ich direkt in einem Statusbarpanel an. Über die Funktion StartRecording verusche ich den Dateinamen zu übergeben, doch das klappt bei den Titeln ja irgendwie nicht. Viel mehr Code als die Zeile die ich gepostet habe steckt da nicht hinter. Hier mal die Funktion StartRecording von Bassdllplayer:
Delphi-Quellcode:
procedure TBassdllPlayer.StartRecording(Input: integer; FileName: string);
var i: Integer; begin //F ile Stream WaveStream := TFileStream.Create(FileName, fmCreate); if WaveStream.Size > 0 then begin // free old recording BASS_StreamFree(Channel); end; // generate header for WAV file WaveHdr.riff := 'RIFF'; WaveHdr.len := 36; WaveHdr.cWavFmt := 'WAVEfmt '; WaveHdr.dwHdrLen := 16; WaveHdr.wFormat := 1; WaveHdr.wNumChannels := 2; WaveHdr.dwSampleRate := 44100; WaveHdr.wBlockAlign := 4; WaveHdr.dwBytesPerSec := 176400; WaveHdr.wBitsPerSample := 16; WaveHdr.cData := 'data'; WaveHdr.dwDataLen := 0; WaveStream.Write(WaveHdr, SizeOf(WAVHDR)); i := 0; while BASS_RecordSetInput(i, BASS_INPUT_OFF) do begin i := i + 1; end; BASS_RecordSetInput(input, BASS_INPUT_ON); // start recording @ 44100hz 16-bit stereo recordchannel := BASS_RecordStart(44100, 2, 0, @RecordingCallback, 0); if recordchannel = 0 then begin ShowMyMessage('Die aufnahme kann nicht gestarted werden.', TRUE); WaveStream.Free; end; isRecording := True; end; |
Re: Fehler bei Dateinamen
Tja, dann würde ich Filename einmal analysieren, da scheint ein Zeilenumbruch drinzustehen.
|
Re: Fehler bei Dateinamen
Wie analysiere ich den denn? :|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:19 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-2025 by Thomas Breitkreuz