Самый добрый бегемот
С нами с 24.06.03
Сообщения: 954
Рейтинг: 574
|
Добавлено: 12/04/09 в 12:47 |
Приветствую. Помогите, плз, разобраться и чутка модернизировать чужой код
Есть структура данных, в которой объявлены 2 элемента
1 - pointer
2 - integer
указатель содержит ссылку на область памяти с текстовыми данными, ну а второй параметр - размер данных
Надо модернизировать данные, причем размер новых данных больше чем старые =(
Как провернуть такое?
Заранее спасибо
|
|
|
|
php наше всё :)
С нами с 26.07.04
Сообщения: 814
Рейтинг: 447
|
Добавлено: 12/04/09 в 14:18 |
Прочитать старые данные, выделить область памяти бОльшего размера и записать данный туда. Обновить поинтер, обновить размер :)
|
|
Толковый программист ждет [не]больших заказов (:
|
1
|
|
|
Самый добрый бегемот
С нами с 24.06.03
Сообщения: 954
Рейтинг: 574
|
Добавлено: 12/04/09 в 14:23 |
Как сделать в теории я понимаю =)
А вот как на практике это сделать?
т.е. фактически вопрос в том, так на дельфи скопировать область памяти в переменную типа стринг?
|
|
|
|
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 |
Не, так не прокатит =(
Можешь свою аську оставить? Та аська, что в профиле из дома не доступна у меня =(
Может поможешь за чуть-чуть вмз? Я уже совсем голову сломал
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |