Модуль "Стили звонка" (часть 8) - SetMelodiesToPhone
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
от 07 декабря 2007 г.
procedure TfrmP2K_RingStyles.SetMelodiesToPhone; var curStyle: byte; xSeemData: pbytearray; seemLen: word; str: string; res: boolean;
begin
if not Form1.IsP2KConnected then exit;
if iSound <> 0 then begin
Form1.spSkinMessage1.MessageDlg(p2k_rs_me_text_02, mtWarning, [mbOk], 0);
exit;
end;
Screen.Cursor:= crHourGlass;
Form1.Enabled:= false;
try
SetRingStyle(zIdx);
try p2k.DeleteFile('MyToneDB.db'); except end;
try p2k.DeleteFile('TempToneDB.db'); except end;
try p2k.DeleteFile('/a/mobile/audio/MyToneDB.db'); except end;
try p2k.DeleteFile('/a/mobile/audio/TempToneDB.db'); except end;
try p2k.DeleteFile('/c/mobile/audio/MyToneDB.db'); except end;
try p2k.DeleteFile('/c/mobile/audio/TempToneDB.db'); except end;
if UseMelodyFromCard then
begin
try p2k.DeleteFile('/b/mobile/audio/MyToneDB.db'); except end;
try p2k.DeleteFile('/b/mobile/audio/TempToneDB.db'); except end;
end;
xSeemData:= AllocMem($fa4);
try
FillMemory(xSeemData, $fa4, 0);
res:= P2K.ReadSeem('004c', '0001', '0', 0, xSeemData, SeemLen);
if res then
begin
xSeemData[0]:= xRingStyles[0].Call.Idx;
xSeemData[1]:= xRingStyles[0].Line1.Idx;
xSeemData[2]:= xRingStyles[0].Line2.Idx;
xSeemData[3]:= xRingStyles[0].TextMsg.Idx;
xSeemData[4]:= xRingStyles[0].VoiceMail.Idx;
xSeemData[5]:= xRingStyles[0].InfoService.Idx;
xSeemData[6]:= xRingStyles[0].AnswerMAchine.Idx;
xSeemData[7]:= xRingStyles[0].Alarms.Idx;
xSeemData[8]:= xRingStyles[0].DataCalls.Idx;
xSeemData[9]:= xRingStyles[0].FAxCalls.Idx;
xSeemData[$48]:= xRingStyles[0].AIM.Idx;
xSeemData[$4e]:= xRingStyles[0].IM.Idx;
xSeemData[$43]:= xRingStyles[0].IDs;
xSeemData[$0a]:= xRingStyles[0].Reminder;
//fill lowd ringstyle
xSeemData[$0b]:= xRingStyles[1].Call.Idx;
xSeemData[$0C]:= xRingStyles[1].Line1.Idx;
xSeemData[$0D]:= xRingStyles[1].Line2.Idx;
xSeemData[$0E]:= xRingStyles[1].TextMsg.Idx;
xSeemData[$0F]:= xRingStyles[1].VoiceMail.Idx;
xSeemData[$10]:= xRingStyles[1].InfoService.Idx;
xSeemData[$11]:= xRingStyles[1].AnswerMAchine.Idx;
xSeemData[$12]:= xRingStyles[1].Alarms.Idx;
xSeemData[$13]:= xRingStyles[1].DataCalls.Idx;
xSeemData[$14]:= xRingStyles[1].FAxCalls.Idx;
xSeemData[$49]:= xRingStyles[1].AIM.Idx;
xSeemData[$4f]:= xRingStyles[1].IM.Idx;
xSeemData[$44]:= xRingStyles[1].IDs;
xSeemData[$15]:= xRingStyles[1].Reminder;
//fill vibe ringstyle
xSeemData[$16]:= xRingStyles[2].Call.Idx;
xSeemData[$17]:= xRingStyles[2].Line1.Idx;
xSeemData[$18]:= xRingStyles[2].Line2.Idx;
xSeemData[$19]:= xRingStyles[2].TextMsg.Idx;
xSeemData[$1A]:= xRingStyles[2].VoiceMail.Idx;
xSeemData[$1B]:= xRingStyles[2].InfoService.Idx;
xSeemData[$1C]:= xRingStyles[2].AnswerMAchine.Idx;
xSeemData[$1D]:= xRingStyles[2].Alarms.Idx;
xSeemData[$1E]:= xRingStyles[2].DataCalls.Idx;
xSeemData[$1F]:= xRingStyles[2].FAxCalls.Idx;
xSeemData[$4A]:= xRingStyles[2].AIM.Idx;
xSeemData[$50]:= xRingStyles[2].IM.Idx;
xSeemData[$45]:= xRingStyles[2].IDs;
xSeemData[$20]:= xRingStyles[2].Reminder;
//fill lowd ringstyle
xSeemData[$21]:= xRingStyles[3].Call.Idx;
xSeemData[$22]:= xRingStyles[3].Line1.Idx;
xSeemData[$23]:= xRingStyles[3].Line2.Idx;
xSeemData[$24]:= xRingStyles[3].TextMsg.Idx;
xSeemData[$25]:= xRingStyles[3].VoiceMail.Idx;
xSeemData[$26]:= xRingStyles[3].InfoService.Idx;
xSeemData[$27]:= xRingStyles[3].AnswerMAchine.Idx;
xSeemData[$28]:= xRingStyles[3].Alarms.Idx;
xSeemData[$29]:= xRingStyles[3].DataCalls.Idx;
xSeemData[$2a]:= xRingStyles[3].FAxCalls.Idx;
xSeemData[$4b]:= xRingStyles[3].AIM.Idx;
xSeemData[$51]:= xRingStyles[3].IM.Idx;
xSeemData[$46]:= xRingStyles[3].IDs;
xSeemData[$2b]:= xRingStyles[3].Reminder;
// aanooiiue
xSeemData[$2c]:= xRingStyles[4].Call.Idx;
xSeemData[$2d]:= xRingStyles[4].Line1.Idx;
xSeemData[$2e]:= xRingStyles[4].Line2.Idx;
xSeemData[$2f]:= xRingStyles[4].TextMsg.Idx;
xSeemData[$30]:= xRingStyles[4].VoiceMail.Idx;
xSeemData[$31]:= xRingStyles[4].InfoService.Idx;
xSeemData[$32]:= xRingStyles[4].AnswerMAchine.Idx;
xSeemData[$33]:= xRingStyles[4].Alarms.Idx;
xSeemData[$34]:= xRingStyles[4].DataCalls.Idx;
xSeemData[$35]:= xRingStyles[4].FAxCalls.Idx;
xSeemData[$4c]:= xRingStyles[4].AIM.Idx;
xSeemData[$52]:= xRingStyles[4].IM.Idx;
xSeemData[$47]:= xRingStyles[4].IDs;
xSeemData[$36]:= xRingStyles[4].Reminder;
//fill lowd ringstyle
xSeemData[$58]:= xRingStyles[5].Call.Idx;
xSeemData[$59]:= xRingStyles[5].Line1.Idx;
xSeemData[$5a]:= xRingStyles[5].Line2.Idx;
xSeemData[$5b]:= xRingStyles[5].TextMsg.Idx;
xSeemData[$5c]:= xRingStyles[5].VoiceMail.Idx;
xSeemData[$5d]:= xRingStyles[5].InfoService.Idx;
xSeemData[$5e]:= xRingStyles[5].AnswerMAchine.Idx;
xSeemData[$5f]:= xRingStyles[5].Alarms.Idx;
xSeemData[$60]:= xRingStyles[5].DataCalls.Idx;
xSeemData[$61]:= xRingStyles[5].FAxCalls.Idx;
xSeemData[$63]:= xRingStyles[5].AIM.Idx;
xSeemData[$64]:= xRingStyles[5].IM.Idx;
xSeemData[$66]:= xRingStyles[5].IDs;
xSeemData[$62]:= xRingStyles[5].Reminder;
res:= P2K.WriteSeem('004c', '0001', '0', SeemLen, xSeemData);
end;
finally
FreeMem(xSeemData);
end;
xSeemData:= AllocMem($fa4);
try
FillMemory(xSeemData, $fa4, 0);
res:= P2K.ReadSeem('0050', '0001', '0', 0, xSeemData, SeemLen);
if res then
begin
xSeemData[3]:= xRingStyles[0].Volume;
xSeemData[7]:= xRingStyles[0].KeyVolume;
xSeemData[$0b]:= xRingStyles[1].Volume;
xSeemData[$0f]:= xRingStyles[1].KeyVolume;
xSeemData[$13]:= xRingStyles[2].Volume;
xSeemData[$17]:= xRingStyles[2].KeyVolume;
xSeemData[$1b]:= xRingStyles[3].Volume;
xSeemData[$1F]:= xRingStyles[3].KeyVolume;
xSeemData[$23]:= xRingStyles[4].Volume;
xSeemData[$27]:= xRingStyles[4].KeyVolume;
xSeemData[$d7]:= xRingStyles[5].Volume;
xSeemData[$db]:= xRingStyles[5].KeyVolume;
res:= P2K.WriteSeem('0050', '0001', '0', SeemLen, xSeemData);
end;
finally
FreeMem(xSeemData);
end;
Form1.spSkinMessage1.MessageDlg(p2k_rs_me_text_01, mtInformation, [mbOk], 0);
finally
Screen.Cursor:= crDefault;
Form1.Enabled:= true;
end;
end;
Еще записи по теме
- Модуль "Мое меню" (часть 9) - FillList2
- Модуль "Flash_SHX" (часть 17) - FirmwareReplaceCG
- Модуль "P2KApi" (часть 54) - TP2KAPI.FlashCmd3
- Модуль "Flash_Patching" (часть 1) - определение переменных и типов данных
- Модуль "Flash Rainbow POG" (часть 21) - FindBootAddr
- Модуль "BackupFormat" (часть 1) - определение переменных и типов данных
- Модуль "P2KFileManager" (часть 2) - определение переменных и типов данных
