Модуль "Стили звонка" (часть 5) - GetMelodiesFromPhone
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
от 07 декабря 2007 г.
procedure TfrmP2K_RingStyles.GetMelodiesFromPhone; var i: integer; res: boolean; SeemData: pbytearray; SeemLen: word; curIndex: integer;
begin
if not Form1.IsP2KConnected then exit;
if iSound <> 0 then begin
Form1.spSkinMessage1.MessageDlg(p2k_rs_me_text_02, mtWarning, [mbOk], 0);
end;
//if iSound <> 0
Screen.Cursor:= crHourGlass;
Form1.Enabled:= false;
try
spSkinComboBox4.Items.Clear;
spSkinComboBox5.Items.Clear;
spSkinComboBox6.Items.Clear;
spSkinComboBox7.Items.Clear;
spSkinComboBox8.Items.Clear;
spSkinComboBox9.Items.Clear;
spSkinComboBox10.Items.Clear;
spSkinComboBox11.Items.Clear;
spSkinComboBox12.Items.Clear;
spSkinComboBox13.Items.Clear;
spSkinComboBox14.Items.Clear;
spSkinComboBox15.Items.Clear;
if xMel = nil then exit;
xMel.Clear;
GetMelodies(xMel);
if xMel.Count > 0 then
begin
spSkinComboBox4.Enabled:= true;
spSkinComboBox5.Enabled:= true;
spSkinComboBox6.Enabled:= true;
spSkinComboBox7.Enabled:= true;
spSkinComboBox8.Enabled:= true;
spSkinComboBox9.Enabled:= true;
spSkinComboBox10.Enabled:= true;
spSkinComboBox11.Enabled:= true;
spSkinComboBox12.Enabled:= true;
spSkinComboBox13.Enabled:= true;
spSkinComboBox14.Enabled:= true;
spSkinComboBox15.Enabled:= true;
for i:= 0 to xMel.Count-1 do
begin
spSkinComboBox4.Items.Add(xMel[i]);
spSkinComboBox5.Items.Add(xMel[i]);
spSkinComboBox6.Items.Add(xMel[i]);
spSkinComboBox7.Items.Add(xMel[i]);
spSkinComboBox8.Items.Add(xMel[i]);
spSkinComboBox9.Items.Add(xMel[i]);
spSkinComboBox10.Items.Add(xMel[i]);
spSkinComboBox11.Items.Add(xMel[i]);
spSkinComboBox12.Items.Add(xMel[i]);
spSkinComboBox13.Items.Add(xMel[i]);
spSkinComboBox14.Items.Add(xMel[i]);
spSkinComboBox15.Items.Add(xMel[i]);
end;
//read seem
try
SeemData:= AllocMem($fa4);
FillMemory(SeemData, $fa4, 0);
res:= P2K.ReadSeem('004c', '0001', '0', 0, SeemData, SeemLen);
if res then
begin
//LOUD RINGS
xRingStyles[0].Call.Idx:= SeemData[0];
xRingStyles[0].Call.Name:= GetNameByIndex(xRingStyles[0].Call.Idx);
xRingStyles[0].Line1.Idx:= SeemData[1];
xRingStyles[0].Line1.Name:= GetNameByIndex(xRingStyles[0].Line1.Idx);
xRingStyles[0].Line2.Idx:= SeemData[2];
xRingStyles[0].Line2.Name:= GetNameByIndex(xRingStyles[0].Line2.Idx);
xRingStyles[0].TextMsg.Idx:= SeemData[3];
xRingStyles[0].TextMsg.Name:= GetNameByIndex(xRingStyles[0].TextMsg.Idx);
xRingStyles[0].VoiceMail.Idx:= SeemData[4];
xRingStyles[0].VoiceMail.Name:= GetNameByIndex(xRingStyles[0].VoiceMail.Idx);
xRingStyles[0].InfoService.Idx:= SeemData[5];
xRingStyles[0].InfoService.Name:= GetNameByIndex(xRingStyles[0].InfoService.Idx);
xRingStyles[0].AnswerMAchine.Idx:= SeemData[6];
xRingStyles[0].AnswerMAchine.Name:= GetNameByIndex(xRingStyles[0].AnswerMAchine.Idx);
xRingStyles[0].Alarms.Idx:= SeemData[7];
xRingStyles[0].Alarms.Name:= GetNameByIndex(xRingStyles[0].Alarms.Idx);
xRingStyles[0].DataCalls.Idx:= SeemData[8];
xRingStyles[0].DataCalls.Name:= GetNameByIndex(xRingStyles[0].DataCalls.Idx);
xRingStyles[0].FAxCalls.Idx:= SeemData[9];
xRingStyles[0].FAxCalls.Name:= GetNameByIndex(xRingStyles[0].FAxCalls.Idx);
xRingStyles[0].AIM.Idx:= SeemData[$48];
xRingStyles[0].AIM.Name:= GetNameByIndex(xRingStyles[0].AIM.Idx);
xRingStyles[0].IM.Idx:= SeemData[$4e];
xRingStyles[0].IM.Name:= GetNameByIndex(xRingStyles[0].IM.Idx);
//xRingStyles[0].FileTransfer.Idx:= SeemData[$53];
//xRingStyles[0].FileTransfer.Name:= GetNameByIndex(xRingStyles[0].FileTransfer.Idx);
//xRingStyles[0].PTT.Idx:= SeemData[$67];
//xRingStyles[0].PTT.Name:= GetNameByIndex(xRingStyles[0].PTT.Idx);
//****
xRingStyles[0].IDs:= SeemData[$43];
xRingStyles[0].Reminder:= SeemData[$0a];
//SOFT RING
xRingStyles[1].Call.Idx:= SeemData[$0b];
xRingStyles[1].Call.Name:= GetNameByIndex(xRingStyles[1].Call.Idx);
xRingStyles[1].Line1.Idx:= SeemData[$0C];
xRingStyles[1].Line1.Name:= GetNameByIndex(xRingStyles[1].Line1.Idx);
xRingStyles[1].Line2.Idx:= SeemData[$0D];
xRingStyles[1].Line2.Name:= GetNameByIndex(xRingStyles[1].Line2.Idx);
xRingStyles[1].TextMsg.Idx:= SeemData[$0E];
xRingStyles[1].TextMsg.Name:= GetNameByIndex(xRingStyles[1].TextMsg.Idx);
xRingStyles[1].VoiceMail.Idx:= SeemData[$0F];
xRingStyles[1].VoiceMail.Name:= GetNameByIndex(xRingStyles[1].VoiceMail.Idx);
xRingStyles[1].InfoService.Idx:= SeemData[$10];
xRingStyles[1].InfoService.Name:= GetNameByIndex(xRingStyles[1].InfoService.Idx);
xRingStyles[1].AnswerMAchine.Idx:= SeemData[$11];
xRingStyles[1].AnswerMAchine.Name:= GetNameByIndex(xRingStyles[1].AnswerMAchine.Idx);
xRingStyles[1].Alarms.Idx:= SeemData[$12];
xRingStyles[1].Alarms.Name:= GetNameByIndex(xRingStyles[1].Alarms.Idx);
xRingStyles[1].DataCalls.Idx:= SeemData[$13];
xRingStyles[1].DataCalls.Name:= GetNameByIndex(xRingStyles[1].DataCalls.Idx);
xRingStyles[1].FAxCalls.Idx:= SeemData[$14];
xRingStyles[1].FAxCalls.Name:= GetNameByIndex(xRingStyles[1].FAxCalls.Idx);
xRingStyles[1].AIM.Idx:= SeemData[$49];
xRingStyles[1].AIM.Name:= GetNameByIndex(xRingStyles[1].AIM.Idx);
xRingStyles[1].IM.Idx:= SeemData[$4f];
xRingStyles[1].IM.Name:= GetNameByIndex(xRingStyles[1].IM.Idx);
//xRingStyles[1].FileTransfer.Idx:= SeemData[$54];
//xRingStyles[1].FileTransfer.Name:= GetNameByIndex(xRingStyles[1].FileTransfer.Idx);
//xRingStyles[1].PTT.Idx:= SeemData[$68];
//xRingStyles[1].PTT.Name:= GetNameByIndex(xRingStyles[1].PTT.Idx);
//***
xRingStyles[1].IDs:= SeemData[$44];
xRingStyles[1].Reminder:= SeemData[$15];
//VIBRATE CALLS
xRingStyles[2].Call.Idx:= SeemData[$16];
xRingStyles[2].Call.Name:= GetNameByIndex(xRingStyles[2].Call.Idx);
xRingStyles[2].Line1.Idx:= SeemData[$17];
xRingStyles[2].Line1.Name:= GetNameByIndex(xRingStyles[2].Line1.Idx);
xRingStyles[2].Line2.Idx:= SeemData[$18];
xRingStyles[2].Line2.Name:= GetNameByIndex(xRingStyles[2].Line2.Idx);
xRingStyles[2].TextMsg.Idx:= SeemData[$19];
xRingStyles[2].TextMsg.Name:= GetNameByIndex(xRingStyles[2].TextMsg.Idx);
xRingStyles[2].VoiceMail.Idx:= SeemData[$1A];
xRingStyles[2].VoiceMail.Name:= GetNameByIndex(xRingStyles[2].VoiceMail.Idx);
xRingStyles[2].InfoService.Idx:= SeemData[$1B];
xRingStyles[2].InfoService.Name:= GetNameByIndex(xRingStyles[2].InfoService.Idx);
xRingStyles[2].AnswerMAchine.Idx:= SeemData[$1C];
xRingStyles[2].AnswerMAchine.Name:= GetNameByIndex(xRingStyles[2].AnswerMAchine.Idx);
xRingStyles[2].Alarms.Idx:= SeemData[$1D];
xRingStyles[2].Alarms.Name:= GetNameByIndex(xRingStyles[2].Alarms.Idx);
xRingStyles[2].DataCalls.Idx:= SeemData[$1E];
xRingStyles[2].DataCalls.Name:= GetNameByIndex(xRingStyles[2].DataCalls.Idx);
xRingStyles[2].FAxCalls.Idx:= SeemData[$1F];
xRingStyles[2].FAxCalls.Name:= GetNameByIndex(xRingStyles[2].FAxCalls.Idx);
xRingStyles[2].AIM.Idx:= SeemData[$4A];
xRingStyles[2].AIM.Name:= GetNameByIndex(xRingStyles[2].AIM.Idx);
xRingStyles[2].IM.Idx:= SeemData[$50];
xRingStyles[2].IM.Name:= GetNameByIndex(xRingStyles[2].IM.Idx);
//xRingStyles[2].FileTransfer.Idx:= SeemData[$55];
//xRingStyles[2].FileTransfer.Name:= GetNameByIndex(xRingStyles[2].FileTransfer.Idx);
//xRingStyles[2].PTT.Idx:= SeemData[$69];
//xRingStyles[2].PTT.Name:= GetNameByIndex(xRingStyles[2].PTT.Idx);
//////****
xRingStyles[2].IDs:= SeemData[$45];
xRingStyles[2].Reminder:= SeemData[$20];
//RING VIBRATE
xRingStyles[3].Call.Idx:= SeemData[$21];
xRingStyles[3].Call.Name:= GetNameByIndex(xRingStyles[3].Call.Idx);
xRingStyles[3].Line1.Idx:= SeemData[$22];
xRingStyles[3].Line1.Name:= GetNameByIndex(xRingStyles[3].Line1.Idx);
xRingStyles[3].Line2.Idx:= SeemData[$23];
xRingStyles[3].Line2.Name:= GetNameByIndex(xRingStyles[3].Line2.Idx);
xRingStyles[3].TextMsg.Idx:= SeemData[$24];
xRingStyles[3].TextMsg.Name:= GetNameByIndex(xRingStyles[3].TextMsg.Idx);
xRingStyles[3].VoiceMail.Idx:= SeemData[$25];
xRingStyles[3].VoiceMail.Name:= GetNameByIndex(xRingStyles[3].VoiceMail.Idx);
xRingStyles[3].InfoService.Idx:= SeemData[$26];
xRingStyles[3].InfoService.Name:= GetNameByIndex(xRingStyles[3].InfoService.Idx);
xRingStyles[3].AnswerMAchine.Idx:= SeemData[$27];
xRingStyles[3].AnswerMAchine.Name:= GetNameByIndex(xRingStyles[3].AnswerMAchine.Idx);
xRingStyles[3].Alarms.Idx:= SeemData[$28];
xRingStyles[3].Alarms.Name:= GetNameByIndex(xRingStyles[3].Alarms.Idx);
xRingStyles[3].DataCalls.Idx:= SeemData[$29];
xRingStyles[3].DataCalls.Name:= GetNameByIndex(xRingStyles[3].DataCalls.Idx);
xRingStyles[3].FAxCalls.Idx:= SeemData[$2a];
xRingStyles[3].FAxCalls.Name:= GetNameByIndex(xRingStyles[3].FAxCalls.Idx);
xRingStyles[3].AIM.Idx:= SeemData[$4b];
xRingStyles[3].AIM.Name:= GetNameByIndex(xRingStyles[3].AIM.Idx);
xRingStyles[3].IM.Idx:= SeemData[$51];
xRingStyles[3].IM.Name:= GetNameByIndex(xRingStyles[3].IM.Idx);
//***
xRingStyles[3].IDs:= SeemData[$46];
xRingStyles[3].Reminder:= SeemData[$2b];
//xRingStyles[3].FileTransfer.Idx:= SeemData[$56];
//xRingStyles[3].FileTransfer.Name:= GetNameByIndex(xRingStyles[3].FileTransfer.Idx);
//xRingStyles[3].PTT.Idx:= SeemData[$6a];
//xRingStyles[3].PTT.Name:= GetNameByIndex(xRingStyles[3].PTT.Idx);
//SILENT CALLS
xRingStyles[4].Call.Idx:= SeemData[$2c];
xRingStyles[4].Call.Name:= GetNameByIndex(xRingStyles[4].Call.Idx);
xRingStyles[4].Line1.Idx:= SeemData[$2d];
xRingStyles[4].Line1.Name:= GetNameByIndex(xRingStyles[4].Line1.Idx);
xRingStyles[4].Line2.Idx:= SeemData[$2e];
xRingStyles[4].Line2.Name:= GetNameByIndex(xRingStyles[4].Line2.Idx);
xRingStyles[4].TextMsg.Idx:= SeemData[$2f];
xRingStyles[4].TextMsg.Name:= GetNameByIndex(xRingStyles[4].TextMsg.Idx);
xRingStyles[4].VoiceMail.Idx:= SeemData[$30];
xRingStyles[4].VoiceMail.Name:= GetNameByIndex(xRingStyles[4].VoiceMail.Idx);
xRingStyles[4].InfoService.Idx:= SeemData[$31];
xRingStyles[4].InfoService.Name:= GetNameByIndex(xRingStyles[4].InfoService.Idx);
xRingStyles[4].AnswerMAchine.Idx:= SeemData[$32];
xRingStyles[4].AnswerMAchine.Name:= GetNameByIndex(xRingStyles[4].AnswerMAchine.Idx);
xRingStyles[4].Alarms.Idx:= SeemData[$33];
xRingStyles[4].Alarms.Name:= GetNameByIndex(xRingStyles[4].Alarms.Idx);
xRingStyles[4].DataCalls.Idx:= SeemData[$34];
xRingStyles[4].DataCalls.Name:= GetNameByIndex(xRingStyles[4].DataCalls.Idx);
xRingStyles[4].FAxCalls.Idx:= SeemData[$35];
xRingStyles[4].FAxCalls.Name:= GetNameByIndex(xRingStyles[4].FAxCalls.Idx);
xRingStyles[4].AIM.Idx:= SeemData[$4c];
xRingStyles[4].AIM.Name:= GetNameByIndex(xRingStyles[4].AIM.Idx);
xRingStyles[4].IM.Idx:= SeemData[$52];
xRingStyles[4].IM.Name:= GetNameByIndex(xRingStyles[4].IM.Idx);
//xRingStyles[4].FileTransfer.Idx:= SeemData[$57];
//xRingStyles[4].FileTransfer.Name:= GetNameByIndex(xRingStyles[4].FileTransfer.Idx);
//xRingStyles[4].PTT.Idx:= SeemData[$6b];
//xRingStyles[4].PTT.Name:= GetNameByIndex(xRingStyles[4].PTT.Idx);
//***
xRingStyles[4].IDs:= SeemData[$47];
xRingStyles[4].Reminder:= SeemData[$36];
//SIMUL RING VIB CALLS
xRingStyles[5].Call.Idx:= SeemData[$58];
xRingStyles[5].Call.Name:= GetNameByIndex(xRingStyles[5].Call.Idx);
xRingStyles[5].Line1.Idx:= SeemData[$59];
xRingStyles[5].Line1.Name:= GetNameByIndex(xRingStyles[5].Line1.Idx);
xRingStyles[5].Line2.Idx:= SeemData[$5a];
xRingStyles[5].Line2.Name:= GetNameByIndex(xRingStyles[5].Line2.Idx);
xRingStyles[5].TextMsg.Idx:= SeemData[$5b];
xRingStyles[5].TextMsg.Name:= GetNameByIndex(xRingStyles[5].TextMsg.Idx);
xRingStyles[5].VoiceMail.Idx:= SeemData[$5c];
xRingStyles[5].VoiceMail.Name:= GetNameByIndex(xRingStyles[5].VoiceMail.Idx);
xRingStyles[5].InfoService.Idx:= SeemData[$5d];
xRingStyles[5].InfoService.Name:= GetNameByIndex(xRingStyles[5].InfoService.Idx);
xRingStyles[5].AnswerMAchine.Idx:= SeemData[$5e];
xRingStyles[5].AnswerMAchine.Name:= GetNameByIndex(xRingStyles[5].AnswerMAchine.Idx);
xRingStyles[5].Alarms.Idx:= SeemData[$5f];
xRingStyles[5].Alarms.Name:= GetNameByIndex(xRingStyles[5].Alarms.Idx);
xRingStyles[5].DataCalls.Idx:= SeemData[$60];
xRingStyles[5].DataCalls.Name:= GetNameByIndex(xRingStyles[5].DataCalls.Idx);
xRingStyles[5].FAxCalls.Idx:= SeemData[$61];
xRingStyles[5].FAxCalls.Name:= GetNameByIndex(xRingStyles[5].FAxCalls.Idx);
xRingStyles[5].AIM.Idx:= SeemData[$63];
xRingStyles[5].AIM.Name:= GetNameByIndex(xRingStyles[5].AIM.Idx);
xRingStyles[5].IM.Idx:= SeemData[$64];
xRingStyles[5].IM.Name:= GetNameByIndex(xRingStyles[5].IM.Idx);
//xRingStyles[5].FileTransfer.Idx:= SeemData[$65];
//xRingStyles[5].FileTransfer.Name:= GetNameByIndex(xRingStyles[5].FileTransfer.Idx);
//xRingStyles[5].PTT.Idx:= SeemData[$6c];
//xRingStyles[5].PTT.Name:= GetNameByIndex(xRingStyles[5].PTT.Idx);
//***
xRingStyles[5].IDs:= SeemData[$66];
xRingStyles[5].Reminder:= SeemData[$62];
end;
finally
FreeMem(SeemData, $fa4);
end;
try
SeemData:= AllocMem($fa4);
FillMemory(SeemData, $fa4, 0);
res:= P2K.ReadSeem('0050', '0001', '0', 0, SeemData, SeemLen);
if res then
begin
xRingStyles[0].Volume:= SeemData[3];
xRingStyles[0].KeyVolume:= SeemData[7];
xRingStyles[1].Volume:= SeemData[$0b];
xRingStyles[1].KeyVolume:= SeemData[$0f];
xRingStyles[2].Volume:= SeemData[$13];
xRingStyles[2].KeyVolume:= SeemData[$17];
xRingStyles[3].Volume:= SeemData[$1b];
xRingStyles[3].KeyVolume:= SeemData[$1F];
xRingStyles[4].Volume:= SeemData[$23];
xRingStyles[4].KeyVolume:= SeemData[$27];
xRingStyles[5].Volume:= SeemData[$d7];
xRingStyles[5].KeyVolume:= SeemData[$db];
end;
finally
FreeMem(SeemData, $fa4);
end;
try
SeemData:= AllocMem($fa4);
FillMemory(SeemData, $fa4, 0);
res:= P2K.ReadSeem('004a', '0001', '0', 0, SeemData, SeemLen);
if res then
begin
curIndex:= SeemData[$0A];
end;
finally
FreeMem(SeemData, $fa4);
end;
spSkinComboBox1.ItemIndex:= curIndex;
spSkinComboBox4.ItemIndex:= xRingStyles[curIndex].Line1.Idx;
spSkinComboBox5.ItemIndex:= xRingStyles[curIndex].Line2.Idx;
spSkinComboBox6.ItemIndex:= xRingStyles[curIndex].Call.Idx;
spSkinComboBox7.ItemIndex:= xRingStyles[curIndex].TextMsg.Idx;
spSkinComboBox9.ItemIndex:= xRingStyles[curIndex].Alarms.Idx;
spSkinComboBox8.ItemIndex:= xRingStyles[curIndex].VoiceMail.Idx;
spSkinComboBox11.ItemIndex:= xRingStyles[curIndex].DataCalls.Idx;
spSkinComboBox10.ItemIndex:= xRingStyles[curIndex].InfoService.Idx;
spSkinComboBox13.ItemIndex:= xRingStyles[curIndex].FAxCalls.Idx;
spSkinComboBox12.ItemIndex:= xRingStyles[curIndex].IM.Idx;
spSkinComboBox15.ItemIndex:= xRingStyles[curIndex].AIM.Idx;
spSkinComboBox14.ItemIndex:= xRingStyles[curIndex].AnswerMAchine.Idx;
spSkinSpinEdit1.Value:= xRingStyles[curIndex].Volume;
spSkinSpinEdit2.Value:= xRingStyles[curIndex].KeyVolume;
spSkinComboBox3.ItemIndex:= xRingStyles[curIndex].IDs;
spSkinComboBox2.ItemIndex:= xRingStyles[curIndex].Reminder;
Form1.btnP2K_RingStyles_Set.Enabled:= true;
{
ComboBox1.Enabled:= true;
ComboBox2.Enabled:= true;
ComboBox4.Enabled:= true;
ComboBox5.Enabled:= true;
ComboBox3.Enabled:= true;
}
end;
finally
Screen.Cursor:= crDefault;
Form1.Enabled:= true;
end;
end;
Еще записи по теме
- Модуль "P2KFileManager" (часть 20) - SaveSelectedDir
- Модуль "Пункты меню" (часть 11) - DeleteItem
- Модуль "P2KApi" (часть 19) - TP2KAPI.ReadData
- Модуль "Сообщения" (часть 15) - DeleteMessages
- Модуль "Пункты меню" (часть 5) - SaveMenu
- Модуль "Flash_Backup" (часть 2) - определение переменных и типов данных
- Модуль "Сообщения" (часть 13) - spSkinListView1Change
