Для удобного просмотра блоков памяти если функции hex() недостаточно
Например - сложно кодированых IP-пакетов. Можно удобно отследить каждый байт.
Готового ничего подходящего не нашел.

Код:
Procedure.s MemoryToHex(*mem, memSize, delimiter.s="")
  Protected result$="", *buff, B.b, DelimSize=Len(delimiter)
  If memSize=0
    ProcedureReturn result$
  EndIf
  *buff=AllocateMemory(memSize*(2+DelimSize)+1)
  If *buff
    For i=0 To memSize-1
      B=PeekB(*mem+i)
      PokeS(*buff+i*(2+DelimSize), RSet(Hex(B,#PB_Byte),2,"0")+delimiter)
    Next i
    result$=PeekS(*buff,memSize*(2+DelimSize)-DelimSize,#PB_Ascii)
    FreeMemory(*buff)
  EndIf
  ProcedureReturn result$
EndProcedure

например

Код:
Send SNMP request
30.29.02.01.00.04.06.70.75.62.6C.69.63.A0.1C.02.04.52.72.2A.2A.02.01.00.02.01.00
.30.0E.30.0C.06.08.2B.06.01.02.01.01.01.00.05.00
SNMPresponse
30.45.02.01.00.04.06.70.75.62.6C.69.63.A2.38.02.04.52.72.2A.2A.02.01.00.02.01.00
.30.2A.30.28.06.08.2B.06.01.02.01.01.01.00.04.1C.4B.59.4F.43.45.52.41.20.4D.49.5
4.41.20.50.72.69.6E.74.69.6E.67.20.53.79.73.74.65.6D

для сравнения - видно истинное расположения байтов числа

Код:
test.l=123456789
hex(test)=75BCD15
MemoryToHex(test)=15 CD 5B 07

Отредактировано SadStar (07.03.2014 01:30:39)