Реклама на сайте Advertise with us

Delphi и указатели

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Самый добрый бегемот

С нами с 24.06.03
Сообщения: 954
Рейтинг: 574

Ссылка на сообщениеДобавлено: 12/04/09 в 12:47       Ответить с цитатойцитата 

Приветствую. Помогите, плз, разобраться и чутка модернизировать чужой код
Есть структура данных, в которой объявлены 2 элемента
1 - pointer
2 - integer
указатель содержит ссылку на область памяти с текстовыми данными, ну а второй параметр - размер данных
Надо модернизировать данные, причем размер новых данных больше чем старые =(
Как провернуть такое?
Заранее спасибо

0
 

php наше всё :)

С нами с 26.07.04
Сообщения: 814
Рейтинг: 447

Ссылка на сообщениеДобавлено: 12/04/09 в 14:18       Ответить с цитатойцитата 

Прочитать старые данные, выделить область памяти бОльшего размера и записать данный туда. Обновить поинтер, обновить размер :)

Толковый программист ждет [не]больших заказов (:

1
 

Самый добрый бегемот

С нами с 24.06.03
Сообщения: 954
Рейтинг: 574

Ссылка на сообщениеДобавлено: 12/04/09 в 14:23       Ответить с цитатойцитата 

Как сделать в теории я понимаю =)
А вот как на практике это сделать?
т.е. фактически вопрос в том, так на дельфи скопировать область памяти в переменную типа стринг?

0
 

php наше всё :)

С нами с 26.07.04
Сообщения: 814
Рейтинг: 447

Ссылка на сообщениеДобавлено: 12/04/09 в 14:29       Ответить с цитатойцитата 

Я бы в делфи вообще так не извращался..
Вам обязательны эти указатели? :) Это пережитки Паскалая :))

Код:

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;


И не нужны большие структуры, хранящие указатели и размер..

Толковый программист ждет [не]больших заказов (:

0
 

Самый добрый бегемот

С нами с 24.06.03
Сообщения: 954
Рейтинг: 574

Ссылка на сообщениеДобавлено: 12/04/09 в 14:42       Ответить с цитатойцитата 

Не, так не прокатит =(
Можешь свою аську оставить? Та аська, что в профиле из дома не доступна у меня =(
Может поможешь за чуть-чуть вмз? Я уже совсем голову сломал

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »