Добро пожаловать, гость ( Вход | Регистрация )
| Siberian GRemlin |
Jul 20 2006, 05:48
Сообщение
#1
|
|
Advanced Member ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 537 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 222 раз(а) |
Есть алгоритм получения ID по имени файла, реально ли сделать обратный алгоритм?!
CODE function ROL(l:longint):longint; begin ROL:=(l shl 1) or (l shr 31); end; function CalcID(name:string):longint; type PLong = ^longint; var l,i:integer; Calc:longint; begin l:=length(name); if l>12 then l:=12; for i:=1 to l do Name[i]:=UpCase(Name[i]); for i:=l+1 to 13 do name[l]:=#0; Calc:=0; l:=1; while name[l]<>#0 do begin Calc:=ROL(Calc)+PLong(@name[l])^; Inc(l,4); end; CalcID:=Calc; end; |
![]() ![]() |
| jTommy |
Jul 20 2006, 15:05
Сообщение
#2
|
|
Наблюдающий ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 197 Регистрация: 4-February 08 Из: деревня Москва Пользователь №: 6 Спасибо сказали: 19 раз(а) |
К сожалению нереально. Здесь операция сложения и известна только конечная сумма. Вариантов разложения на слагаемые очень много и какой из них правильный - неизвестно.
|
Siberian GRemlin Westwood Studios .MIX Jul 20 2006, 05:48
Xplorer Есть три способа узнать имена файлов:
1. поискать ... Jul 20 2006, 15:38
-=CHE@TER=- Siberian GRemlin!
Что-то у тебя не так с алго... Mar 27 2011, 06:22![]() ![]() |
| Упрощённая версия | Сейчас: 2nd December 2025 - 00:42 |