0 Members and 1 Guest are viewing this topic.
При разработке столкнулся со следующей проблемой:Для того, чтобы AIMP подхватил файл, вручную добавленный в его БД, требуется правильно рассчитать хеш имени (поле iNameHash). Если этот хеш рассчитать неправильно, то AIMP просто проигнонирует добавленную запись с создаст свою заново (с потерей рейтингов и статистики, разумеется).Поэтому пока что нет возможности сохранить результаты поиска.В связи с этим у меня просьба к Артёму: подскажи пожалуйста, как рассчитать этот самый iNameHash. Буду очень благодарен! Пока что сейчас можно только скачать утилитку и посмотреть, как она ищет замены файлам....
Собственно меня держит только незнание того, как рассчитать хеш для поля iNameHash. Здесь бы совет нашего любимого гуру.
function WideElfHash(const S: WideString): Integer;var ABuffer: TWidePathArr; AIndex: Integer; AScan: PWideChar;begin Result := 0; LCMapStringW(0, LCMAP_UPPERCASE, PWideChar(S), Length(S) + 1, @ABuffer, SizeOf(ABuffer) div 2); Pointer(AScan) := @ABuffer; while AScan^ <> #$00 do begin Result := Result shl 4 + Ord(AScan^); AIndex := Result and $F0000000; Result := Result xor (AIndex shr 24); Result := Result and (not AIndex); Inc(AScan); end;end;
Если есть возможность, отправь пожалуйста на почту
XP,версия плеера 2.61 не выбирается папка..