powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Сжатые числа
6 сообщений из 6, страница 1 из 1
Сжатые числа
    #33832113
Vladimir_Ot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите плс разобраться.
Есть PRG-модуль позволяющий сжимать числа. Что под этим понимается я не знаю, возможно сжатие в двоично-десятичные числа, используемые в ассемблере, но судя по беглому осмотру кода, что-то большее.
С фоксом никогда не имел дело, поэтому используемые в коде функции не всегда понятны, а разбираться времени нет. : (

Мне нужно знать что делает этот алгоритм, т.е. каким образом он пакует, чтоб написать аналогичноена другом языке.
Ниже кусочек кода файла, может кому покажется знакомым.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
STATIC aTabl1       := {  29 ,   7 ,  15 ,  14 ,  23  }  //   3  - 5_1 O5_1
STATIC aTabl2       := {   5 ,  21 ,  12 ,  30 ,  26  }  //  16  - 5_2 O5_2
STATIC aTabl3       := {   8 ,  24 ,  17 ,  13  }      //  10  - 4_1 O4_1
STATIC aTabl4       := {   4 ,  11 ,   9 ,  22  }      //  25  - 4_2 O4_2
STATIC aTabl5       := {  20 ,   1 ,  18 ,  27  }      //  19  - 4_3 O4_3
STATIC aTabl6       := {   2 ,   6 ,  28  }          //  19  - 3_1 O3_1
STATIC aTabl7       := {  23 ,  21 ,  13 ,   9 ,   6  }
STATIC aTabl8       := {   7 ,  12 ,  11 ,  22 ,  28  }
STATIC aTabl9       := {  29 ,  30 ,  24 ,   1  }
STATIC aTabl10      := {  15 ,  14 ,  20 ,   2  }
STATIC aTabl11      := {   5 ,  26 ,   8 ,  17  }
STATIC aTabl12      := {   4 ,  18 ,  27  }
STATIC aTabl01      := {   1 ,  2 ,  4 ,   5 ,  7  }
STATIC aTabl02      := {   3 ,  6 ,  8 ,  10  }

// упаковка полей C  5 
FUNCTION PackC5( Data )
  MEMVAR pnKey
  LOCAL  nRandVal, nKey :=  0 , nSavData
  IF pnKey =  3487595928158456 
     IF Data <  0  .OR. Data >  16777215  .OR. Data =  2105376 
        Data :=  0 
     ENDIF
     nKey := RANDOM()% 65535 + 1 
     nSavData := Data
     ChBits( @nKey, @Data,  3  )
     IF nKey =  8224  .OR. nKey =  0 
        nKey :=  0 
        Data := nSavData
     ELSE
        nRandVal := INT(RAND(nKey*( 34 *nKey+ 845 )+ 196 )* 1000000 )
        Data := NUMXOR( Data, nRandVal )
     ENDIF
  ENDIF
  RETURN SUBSTR(L2BIN(Data), 1 , 3 )+I2BIN(nKey)


...
Рейтинг: 0 / 0
Сжатые числа
    #33832126
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто тебе сказал что это ФОКС
...
Рейтинг: 0 / 0
Сжатые числа
    #33832137
Vladimir_Ot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А кто предоставил файлик этот.
...
Рейтинг: 0 / 0
Сжатые числа
    #33832239
StasL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это Clipper
...
Рейтинг: 0 / 0
Сжатые числа
    #33832330
Vladimir_Ot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не подскажешь, куда можно обратиться с этим кодом?
...
Рейтинг: 0 / 0
Сжатые числа
    #33832381
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_OtНе подскажешь, куда можно обратиться с этим кодом?
Модератор: В раздел "другие СУБД" данного форума
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Сжатые числа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]