Модуль "Стили звонка" (часть 4) - CompareMelody
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
от 07 декабря 2007 г.
function TfrmP2K_RingStyles.CompareMelody(S1, S2: string): integer;
{*****} function GetNum(C: char): integer;
{*****} //динам. функция получения номера символа из нашего массива
{*****} var
{*****} i: integer;
{*****} begin
{*****} Result := 0;
{*****} for i := 1 to 136 do
{*****} if Chars[i] = C then begin Result := i; exit; end;
{*****} end;
{*****} function CompCh(C1, C2: integer): integer;
{*****} //динам. функция определения "что больше???"
{*****} begin
if C1 = C2 then Result := 0;
if C1 > C2 then Result := 1;
if C1 < C2 then Result := -1;
{*****} end;
var i, xS1, xS2, CurrR: integer; begin //начало функции сортировки Result := 0; CurrR := 0; //временный результат if S1 <> S2 then begin //сканирование сток посимвольно for i := 1 to Length(S1) do begin if Length(S2) >= i then begin xS1 := GetNum(S1[i]); xS2 := GetNum(S2[i]); if (xS1 <> 0) and (xS2 <> 0) and (xS1 <> xS2) then CurrR := CompCh(xS1, xS2) else begin if (xS1 = 0) or (xS2 = 0) then begin if xS2 = 0 then CurrR := 1; if xS1 = 0 then CurrR := -1; end; end; if CurrR <> 0 then begin Result := CurrR; Exit; end; end else begin Result := CurrR; Exit; end; end; end; end;
Еще записи по теме
- Модуль "АТ-команды" (часть 10) - GetPlatform_AT
- Модуль "Свойства события(расширенные)" (часть 1) - определение переменных и типов данных
- Модуль "Календарь" (часть 7) - FillListDateBookEvents
- Модуль "Пункты меню" (часть 54) - FillMMAEditMenuType
- Модуль "Flash Rainbow POG" (часть 5) - spSkinSpeedButton3Click
- Модуль "P2KApi" (часть 41) - TP2KAPI.Restart
- Модуль "Информация АТ" (часть 6) - getIMSI
