![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#8
|
||||
|
||||
|
Нет возможности обкатать функцию в ActionScript и посмотерть на её результаты в этом языке.
Поэтому, пока что обкатываю в JavaScript. Надеюсь у них приоритеты операций идентичны. А по сему, функция и выражения в ней для делфи получили следующий вид: Код:
Type ArrayOfInteger = Array Of Integer;
function createBlocksFromString(arg1:String):ArrayOfInteger;
var loc1 :ArrayOfInteger;
var loc2 : Integer;
var loc3: Integer;
var loc4: Integer;
Begin
// loc1:*=new Array();
loc2 := LenGth(arg1) * 8;
SetLenGth(loc1,(((loc2 + 64) shr 9) shl 4) + 15);
loc3 :=255;
loc4 :=0;
while (loc4 < loc2) do
Begin
loc1[loc4 shr 5] := (loc1[loc4 shr 5]) or (byte(arg1[(loc4 div 8)+1]) and loc3) shl ((24 - loc4) mod 32);
loc4 := loc4 + 8;
End;
loc1[loc2 shr 5] := loc1[loc2 shr 5] or (128 shl ((24 - loc2) mod 32));
loc1[(((loc2 + 64) shr 9) shl 4) + 15] := loc2;
Result := loc1;
End;to icWasya, ещё раз благодарю за наводку про скобки и разноправие операций в виражениях. Последний раз редактировалось seeman_tm, 16.05.2013 в 12:30. |