
28.03.2009, 06:43
|
 |
Активный
|
|
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
|
|
Изменение громкости через ScrollBar (диапозон от 0 до 100):
Код:
uses
MMSystem;
procedure SetVolume(const volL, volR: Word);
var
hWO: HWAVEOUT;
waveF: TWAVEFORMATEX;
vol: DWORD;
begin
// init TWAVEFORMATEX
FillChar(waveF, SizeOf(waveF), 0);
// open WaveMapper = std output of playsound
waveOutOpen(@hWO, WAVE_MAPPER, @waveF, 0, 0, 0);
vol := volL + volR shl 16;
// set volume
waveOutSetVolume(hWO, vol);
waveOutClose(hWO);
end;
procedure TForm1.ScrollBar1Change(Sender: TObject);
var
min, max, v: word;
begin
min:= 0;
max:= 65535;
v:= Round(((Max-Min)/100)*ScrollBar1.Position+Min);
SetVolume(v,v);
end;
Работа с INI:
Код:
uses
IniFiles;
//запись в INI
procedure TForm1.Button1Click(Sender: TObject);
var
Ini: TIniFile;
begin
Ini:= TIniFile.Create('c:\ss.ini');
try
Ini.WriteString('sec', 'id', 'строка');
finally
Ini.Free;
end;
end;
//чтение из INI
procedure TForm1.Button2Click(Sender: TObject);
var
Ini: TIniFile;
s: string;
begin
Ini:= TIniFile.Create('c:\ss.ini');
try
s:= Ini.ReadString('sec', 'id', 'не найдено');
finally
Ini.Free;
end;
ShowMessage(s);
end;
__________________
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра.
|