Показать сообщение отдельно
  #129  
Старый 22.08.2012, 11:36
Dmitry_DM Dmitry_DM вне форума
Активный
 
Регистрация: 07.08.2012
Сообщения: 258
Версия Delphi: Delphi 7
Репутация: 11
По умолчанию

Цитата:
Сообщение от 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;
Но ошибка в недостачи параметров. Я что-то упустил?
Ответить с цитированием