LS как конвертнуть всю структуру?

ToxaRat

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 236
28
имеется структура/класс

class c_Test
a as integer
b as long
c as byte(8)
......
z as string
End Class

надо конвертнуть весь этот класс в строку - обычный хекс

в других языках программирования мы просто берём указатель на начало структуры и движемся по байтово

как это сделать на LS?
 
lmike

lmike

нет, пердело совершенство
Lotus team
27.08.2008
7 259
439
@ToxaRat ты щас о чем спросил?
хочешь бинарный код (скомпилированный) конвертнуть или текст?
 
ToxaRat

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 236
28
значение всех переменных внутри структуры в стрингу в виже HEX

в других языках я бы взял указатель на начало структуры и циклом по байту до конца структуры прошёлся

а тут то как?
 
lmike

lmike

нет, пердело совершенство
Lotus team
27.08.2008
7 259
439
значение всех переменных внутри структуры в стрингу в виже HEX

в других языках я бы взял указатель на начало структуры и циклом по байту до конца структуры прошёлся

а тут то как?
опять ничего не понял - пример покажи
 
ToxaRat

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 236
28
p := Addr(Self);
Result := '';
for i := 0 to SizeOf(TLic) - 1 do
Result := Result + IntToHex(p, 2);
 
lmike

lmike

нет, пердело совершенство
Lotus team
27.08.2008
7 259
439
@ToxaRat этож бинарник в памяти
 
ToxaRat

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 236
28
вот и я хочу вытянуть в LS бинарник ;)
 
lmike

lmike

нет, пердело совершенство
Lotus team
27.08.2008
7 259
439
вот и я хочу вытянуть в LS бинарник ;)
здесь, давно, yakov что-то выкладывал (получение и декодинг бинарника) в виде мыслей, продукт (как я помню) был коммерческий
 
ToxaRat

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 236
28
здесь, давно, yakov что-то выкладывал (получение и декодинг бинарника) в виде мыслей, продукт (как я помню) был коммерческий
то есть в лотусе получить указатель на структуру и воспринять все полученное как массив байт нереально?

точно?

а как же тогда внешние либы, которым требуется не значение массива а указатель на массив работают с лотусом?
 
Domino-Designer

Domino-Designer

Людям надо поморгать!
Lotus team
06.12.2011
632
243
Эт вы хотите развить тред, да?
 
lmike

lmike

нет, пердело совершенство
Lotus team
27.08.2008
7 259
439
@Domino-Designer скорее это
 
Domino-Designer

Domino-Designer

Людям надо поморгать!
Lotus team
06.12.2011
632
243
вот что-то и мне кажется, что придётся передать всю структуку в какую-то внешнию библиотеку и она вернёт мне массив байт...
Однозначно, что на чистом LS не получится.
 
Constantin A Chervonenko

Constantin A Chervonenko

Lotus team
30.05.2006
1 347
12
Однозначно, что на чистом LS не получится.
И не должно.
1."Структура в памяти" - платформо-зависима. Те-же long, integer и даже byte на разных процессорах имеет разную длину (и порядок байтов). Или "нет Бога кроме Интел и Б.Гейтс пророк его"?
2.А string в LS вообще-то тоже указатель. Слава Богу хоть кодировка от платформы не зависит

ЗЫ: а вообще-то чистА LS-ное решение есть - через запись на диск
 
ToxaRat

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 236
28
передаём же в сторонние функции указатель - byVal
есть же возможность кинуть в стрим

может всё же можно?
 
G

GROMILA

ToxaRat
задам тебе истинно лотусиный вопрос

"А зачем тебе это, сын мой?"

Уж не хочешь ли ты сохранить экземпляр класса для возможности последующего восстановления?
Скажи, зачем тебе бинарный дамп класса?
Где и на каком языке, ты будешь разговаривать с этим классом?
 
ToxaRat

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 236
28
Уж не хочешь ли ты сохранить экземпляр класса для возможности последующего восстановления?
Скажи, зачем тебе бинарный дамп класса?
для передачи его другой исполняющей программе

ответ то где?

один из примеров такой необходимости это сложные лицензионные ключи, которые выдаются на блоки программ
 
Мы в соцсетях: