![]() |
String zu PChar in mciSendString klappt nicht
In der untenstehenden Procedure erhalte ich den Fehler:
Got "AnsiString", expected "PChar" bezogen auf diese Zeile: PChar('ALIGNMENT ' +IntToStr(Channels*round(BitsPerSample/8))), Ich war der Meinung PChar() würde reichen. Wo ist der Fehler?
Delphi-Quellcode:
procedure Aufnehmen(SamplesPerSec, BitsPerSample: integer);
var Channels: integer; begin if Form1.RadioButton1.Checked=True then Channels:=1 else Channels:=2; mciSendString('OPEN NEW TYPE WAVEAUDIO ALIAS mysound',nil,0,Handle); mciSendString('SET mysound ' + 'TIME FORMAT MS ' + PChar('BITSPERSAMPLE '+IntToStr(BitsPerSample)+' ') + PChar('CHANNELS ' +IntToStr(Channels)+' ') + PChar('SAMPLESPERSEC '+IntToStr(SamplesPerSec)+' ') + PChar('BYTESPERSEC ' +IntToStr(SamplesPerSec*Channels*round(BitsPerSample/8))+' ') + PChar('ALIGNMENT ' +IntToStr(Channels*round(BitsPerSample/8))), nil,0,handle); mciSendString('RECORD mysound',nil,0,Handle); end; |
Re: String zu PChar in mciSendString klappt nicht
String + PChar + PChar = String
Delphi-Quellcode:
PS: mit
mciSendString(PChar('SET mysound ' +
'TIME FORMAT MS ' + 'BITSPERSAMPLE '+IntToStr(BitsPerSample)+' ' + 'CHANNELS ' +IntToStr(Channels)+' ' + 'SAMPLESPERSEC '+IntToStr(SamplesPerSec)+' ' + 'BYTESPERSEC ' +IntToStr(SamplesPerSec*Channels*round(BitsPerSample/8))+' ' + 'ALIGNMENT ' +IntToStr(Channels*round(BitsPerSample/8)), nil,0,handle); ![]()
Delphi-Quellcode:
mciSendString(PChar(Format('SET mysound TIME FORMAT MS ' +
'BITSPERSAMPLE %d CHANNELS %d SAMPLESPERSEC %d BYTESPERSEC %d ALIGNMENT %d', [BitsPerSample, Channels, SamplesPerSec, SamplesPerSec * Channels * (BitsPerSample div 8), Channels * (BitsPerSample div 8)])), nil, 0, Handle); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 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