Вниз
Скачать: CL | DM;

Опять Pointer   Найти похожие ветки 

← →
Undert ©   (2004-11-25 19:30) [0]

Есть Ptr1, есть Ptr2, есть обе размерности, как сделать данные Ptr3 = данные ptr1 + данные ptr2


← →
Alexander Panov ©   (2004-11-25 19:32) [1]

Всё зависит от типа данных, на которые указывают Ptr


← →
Undert ©   (2004-11-25 19:33) [2]

Хммм....
GetMem(Ptr1, BufSize1)
GetMem(Ptr2, BufSize2)

оба


← →
Суслик ©   (2004-11-25 19:35) [3]


>  [2] Undert ©   (25.11.04 19:33)

и что?
какие данные харнятся в областях, на которые указывают указатели?


← →
jack128 ©   (2004-11-25 19:37) [4]

GetMem(Ptr3, Ptr1DataSize + Ptr2DataSize);
move(Ptr1^, Ptr3^, Ptr1DataSize);
move(Ptr2^, Pointer(Integer(Ptr3) + Ptr1DataSize)^, Ptr2DataSize);


← →
Undert ©   (2004-11-25 19:38) [5]

jack128 ©

Спасибо!


← →
Alexander Panov ©   (2004-11-25 19:39) [6]

Ну если и ддлина данных исзвестна, то никаких проблем:
Ptr3 := AllocMem(BufSize1+BufSize1);
move(Ptr1^,Ptr3^,BufSize1);
PtrTmp := Pointer((Integer(Ptr3)+BufSize1);
move(Ptr2^,PtrTmp^,BufSize2);


← →
Суслик ©   (2004-11-25 19:42) [7]

так, это не сложение, которое обычно обозначается заком "+", а конкатенация :))


← →
Undert ©   (2004-11-25 19:46) [8]

Спасибо всем :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.029 c
8-1094910180
InfMag
2004-09-11 17:43
2004.12.12
Форматы данных


1-1101224364
kaktus
2004-11-23 18:39
2004.12.12
Перекодировка в Unicod


14-1100546201
Познающий БД
2004-11-15 22:16
2004.12.12
BDE: Какие файлы скопировать?


14-1101045870
Piter
2004-11-21 17:04
2004.12.12
Зачем делать Set8087CW после вызова WinApi функций?


1-1101887251
Майя
2004-12-01 10:47
2004.12.12
Закрытие OLe объекта




   Наверх