Модуль "Стили звонка" (часть 3) - ReadMelodyByPattern
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
от 07 декабря 2007 г.
procedure TfrmP2K_RingStyles.ReadMelodyByPattern(APAtern: string; AFolder: string; var AMelList: TStringList; AfrmProgress: TfrmProgress); var xMF: TMotoFileList; i, cntFiles: integer; str, tmp, ext: string; t, y, m: integer;
begin
if not Form1.IsP2KConnected then exit;
try
cntFiles:= p2k.GetFilesCount(APAtern);
if cntFiles < 1 then exit;
SetLength(xmf, cntFiles);
if p2k.GetFileList(str, cntFiles, xmf, cntFiles, AfrmProgress) then
begin
if xmf <> nil then
begin
for i:=0 to High(xmf) do
begin
str:= xMF[i].Name;
if Pos(AFolder, str) > 0 then
begin
ExtractStr(str, AFolder);
for m:= length(str) downto 1 do
if str[m]='/' then begin
Delete(str, 1, m);
break;
end;
if not CorrectMotoName(str) then
begin
{
tmp:= '';
ext:= ExtractStr(str, '.');
y:= 0; t:=0;
y:= length(str)-4;
for t:= 1 to y do tmp:= tmp + '04' + IntToHex(ord(str[t]), 2);
y:= length(str);
tmp:= tmp + '00' + IntToHex(ord(str[y-3]), 2) +
'00' + IntToHex(ord(str[y-2]), 2) +
'00' + IntToHex(ord(str[y-1]), 2) +
'00' + IntToHex(ord(str[y]), 2);
tmp:= UCS2ACSI(tmp, true);
str:= trim(tmp);
}
str:= TryCorrectName('', str);
end;
if ansilowercase(AFolder[2]) <> 'b'
then begin
if ansilowercase(AFolder[2]) = 'a'
then AMelList.Add(str + #1 + inttostr(convert_word(xMF[i].Attr)) + #2 + '0')
else if (ansilowercase(AFolder[2]) = 'c') or
(ansilowercase(AFolder[2]) = 'e')
then AMelList.Add(str + #1 + inttostr(convert_word(xMF[i].Attr)) + #2 + '2')
end
else AMelList.Add(str + #1 + inttostr(convert_word(xMF[i].Attr)) + #2 + '1');
end;
end;
end;
end;
finally
end;
end;
Еще записи по теме
- Модуль "OtherFeatures" (часть 1) - определение переменных и типов данных
- Модуль "P2KApi" (часть 27) - TP2KAPI.GetFilesCount
- Модуль "Flash Rainbow POG" (часть 15) - RemoveRSASignDirect
- Модуль "Flash_Patching" (часть 4) - GetPatchInfo
- Модуль "ObexFM" (часть 6) - OBEX_SendCommand
- Модуль "P2KFileManager" (часть 7) - BuildFolderTreeEx
- Модуль "Редактирование меню" (часть 1) - определение переменных и типов данных
