Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Возведение и запись, HELP 
:(
    Опции темы
balcon
Дата 1.1.2005, 15:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Мне нужно возвести массив данных Wav файла в степень, затем из возведенных значений взять остаток
от целочисленного деления(типа mod) и записать их обратно в wav файл. Вот неполный листинг, подскажите пожалуйста ошибку:
Код

..
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
     Dialogs, StdCtrls, Math, UMathServices{Модуль Vit'a};
..
procedure RSACript(p: pointer;WavSize:integer);
var
 i,n,e,j, stp : integer;
 WavFile: PStringArray;
 str:array [1..400] of string;
begin
WavFile:=PStringArray(p^);
e:=1;
n:=21;
 for i:=56 to 100 do
 begin
   Application.ProcessMessages;
   str[i]:=UlDiv((ulPower(WavFile[i], IntToStr(e))), IntToStr(n), 100);
end;
for i:=56 to 400 do
stp:=pos('.',str[i]);
for i:=1 to 400 do
delete(str[i],1,stp);
for i:=56 to 400 do
begin
for j:=1 to length(str) do

WavFile[i]:=str[j];
end;
end;

procedure TMainForm.Button1Click(Sender: TObject);
var
WAVFile: array of string;
WAVOFStruct: TOFStruct;
hWav, hMod: THandle;
WavSize,i: Integer;
BytesRead, BytesWrite: Dword;


begin
ZeroMemory(@WAVOFStruct, SizeOf(WAVOFStruct));
hWav:= OpenFile(PChar(WavFileName), WavOFStruct, OF_READWRITE);
if hWav = HFILE_ERROR then RaiseLastWin32Error;
try
  WavSize:= GetFileSize(hWav, nil);
  SetLength(WAVFile, WavSize);
  ReadFile(hWav, WAVFile[0], WavSize, BytesRead, nil);
  p:=@WavFile;

  RSACript(p,Wavsize);



  hMod:= CreateFile('NewPath1.wav', GENERIC_WRITE, 0, nil, CREATE_ALWAYS, 0, 0);
  if hMod = INVALID_HANDLE_VALUE then RaiseLastWin32Error;
  try
    WriteFile(hMod, WavFile[0], WavSize, BytesWrite, nil);
  finally
    CloseHandle(hMod);
  end;
finally
  _lclose(hWav);
end;
end;


  Вверх
Гость_Гость
Дата 1.1.2005, 23:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Код

begin
 for x:=1 to 100 do y:=y+1;
end;

  Вверх
Guest
Дата 1.1.2005, 23:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Код

<?
 echo "проверка тэгов";
?>

  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0801 ]   [ Использовано запросов: 19 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.