Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Delphi и указатели
цитата
12/04/09 в 12:47
 atrius
Приветствую. Помогите, плз, разобраться и чутка модернизировать чужой код
Есть структура данных, в которой объявлены 2 элемента
1 - pointer
2 - integer
указатель содержит ссылку на область памяти с текстовыми данными, ну а второй параметр - размер данных
Надо модернизировать данные, причем размер новых данных больше чем старые =(
Как провернуть такое?
Заранее спасибо
цитата
12/04/09 в 14:18
 Dantist
Прочитать старые данные, выделить область памяти бОльшего размера и записать данный туда. Обновить поинтер, обновить размер :)
цитата
12/04/09 в 14:23
 atrius
Как сделать в теории я понимаю =)
А вот как на практике это сделать?
т.е. фактически вопрос в том, так на дельфи скопировать область памяти в переменную типа стринг?
цитата
12/04/09 в 14:29
 Dantist
Я бы в делфи вообще так не извращался..
Вам обязательны эти указатели? :) Это пережитки Паскалая :))

Код:

Type TStruct = <Что угодно>;
var A : Array of TStruct;

Begin
  SetLength(A,2);
  A[0] = <что-то>;
  A[1] = <что-то>;

// Теперь модификация:
  SetLength(A,3);
  A[0] = <что-то>;  // Модифицируем 1й элемент
  A[2] = <что-то>;  // Добавляем 3й элемент
End;


И не нужны большие структуры, хранящие указатели и размер..
цитата
12/04/09 в 14:42
 atrius
Не, так не прокатит =(
Можешь свою аську оставить? Та аська, что в профиле из дома не доступна у меня =(
Может поможешь за чуть-чуть вмз? Я уже совсем голову сломал


Эта страница в полной версии