Цитата:
Сообщение от poli-smen
Переменная WavInfo объявленная в Button1Click и переменная WavInfo объявленная в Button4Click это совершенно разные переменные. Т.е. вы сохраняете информацию о wav-файле в одной переменной, а пытаетесь её прочитать из другой. Это всё равно чтобы записать информацию в одну тетрадь и потом удивляться почему она не читается из другой тетради.
|
А как теперь оформить процедуру чтение на button1? Вероятней всего так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
Var
WaveFormat: TWaveFormat;
begin
if OpenDialog1.Execute then
begin
WaveFormat := ReadWavInfo(opendialog1.FileName);
Memo1.WordWrap := False;
Memo1.Lines.Add('Файл: ' + OpenDialog2.FileName);
Memo1.Lines.Add('Формат: ' + IntToHex(WavInfo.WaveFormat.wFormatTag, 1));
Memo1.Lines.Add('Каналов: ' + IntToStr(WavInfo.WaveFormat.nChannels));
Memo1.Lines.Add('Сэмплов: ' + IntToStr(Length(WavInfo.Samples)));
Memo1.Lines.Add('Частота дискретизации: ' + IntToStr(WavInfo.WaveFormat.nSamplesPerSec) + ' сэмплов в секунду');
Memo1.Lines.Add('Разрядность сэмплов: ' + IntToStr(WavInfo.WaveFormat.wBitsPerSample) + ' бит');
end;
end;
Но ошибка в недостачи параметров. Я что-то упустил?