Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 23:59 23.04.24 
Клубове/ Компютри и Интернет / Delphi Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Много ли съм тъп?
Автор ИвKo (особняк)
Публикувано06.07.07 13:41  



 

Здравейте,
Необходима ми е помощ. Опитвам се да декодирам и кодирам едни масиви...
Декодирането - май е добре. Ама кодирането - направо ще ...

Тъй... Имаме един масив от байтове (Byte), деклариран по следния начин


var
CompactArray:array [0..20] of byte;

Четем го от някъде си... да предположим че е запълнен по следния начин

'FF FF FF FF FF FF FF FF FF FF FF 7F 00 00 E0 FF FF FF FF FF FF '


Същият масив, трябва да се преобразува в друг масив от битове, (YArray :Array [0..167] of Boolean;) като се приложи съответно отместване (виж процедурата по-долу) .

Не мога да направя обратното преобразуване Все се получават различни резултати...


 


procedure SoMeProcedure(Bias:Integer);
var
iCount, z, k, j, m:Integer;
OneInt:Byte;
begin

j:=0;

for iCount:=0 to 20 do
begin
z:=1;
for k := 0 To 7 do
begin
m := 8*j + k - Bias;
if (m < 0) then m := m + 168;
if (m > 167) then m := m - 168;

OneInt:=CompactArray[iCount];
if (OneInt and Z)=Z then
YArray [m] := 1
else
YArray [m] := 0 ;
Inc(z,z); //Z:=Z*2
end;
Inc(j)
end;

end;



В конкретния случай YArray съдържа

 


(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)



Когато се опитвам да напиша "обратната" процедура, която превръща YArray в CompactArray,
получавам най-различни глупости, но не и изходните стойности...
А да - Bias в конкретния случай е -2 (минус 2, демек БГ отместването в часове от UNC/GMT)

Някой да помогне?!?



Цялата тема
ТемаАвторПубликувано
* Много ли съм тъп? ИвKo   06.07.07 13:41
. * Re: Много ли съм тъп? Formal   06.07.07 17:42
. * Re: Много ли съм тъп? ИвKo   07.07.07 09:59
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.