Показать сообщение отдельно
  #9  
Старый 06.11.2011, 22:45
Змей Змей вне форума
Прохожий
 
Регистрация: 03.11.2011
Сообщения: 18
Репутация: 10
По умолчанию

Я менял datalen, нужно было еще Rifflen и InfoLen,потому что остальное одинаковое,файлы однотипные, поменял на всякий случай все:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.Execute then
F:= TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
F.Read(WaveHeader, sizeof(TWaveHeader));
  with WaveHeader do
  begin
  memo1.Lines.Text:=inttostr(dataLen);
  RiffLe:=Rifflen;
  InfoLe:=Infolen;
  DataLe:=Datalen;
  WaveTyp:=WaveType;
  C:=Ch;
  Fre:=Freq;
  BytesPerSe:=BytesPerSec;
  alig:=align;
  Bit:=Bits;
  for i:=0 to 10000000 do
  dat[i]:=data[i];
  end;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
if opendialog1.Execute then
E:= TFileStream.Create(OpenDialog1.FileName, fmOpenReadWrite);
E.Read(WaveHeader1, sizeof(TWaveHeader1));
  with WaveHeader1 do
  begin
  RiffLen1:=Riffle;
  InfoLen1:=Infole;
  DataLen1:=Datale;
  WaveType1:=WaveTyp;
  Ch1:=C;
  Freq1:=Fre;
  BytesPerSec1:=BytesPerSe;
  align1:=alig;
  Bits1:=Bit;
  for i:=0 to 10000000 do
  data1[i]:=dat[i];
  E.Write(WaveHeader1, sizeof(TWaveHeader1));
  end;
end;
Результата никакого, все так же
Ответить с цитированием