Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2015, 16:12   #21
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,528
По умолчанию

Цитата:
но при 3 проходе не находит (((( не могу понять почему
тоже не смог понять, но вот так работает
Код:
type
Tsp=record sp:integer; xx: Pointer; end;

function GetSp(var Psp_: Psp; SourceP: integer): Tsp;
var
  k: integer;
  i: integer;
begin
 k:=high(Psp_);
 result.xx:=nil;// Pointer(0);
 for i:=0 to k do begin
  if Psp_[i].xx=nil then begin
    Psp_[i].xx:=Pointer(1);
    Psp_[i].sp:=SourceP;
  end;
  if SourceP=Psp_[i].sp then begin
   result:=Psp_[i];
  end;
 end;
 if result.xx=nil then begin
   k:=high(Psp_);
   SetLength(Psp_,k+2);
   Psp_[k].sp:=SourceP;
   Psp_[k].xx:=Pointer(1);
   result:=Psp_[k]; //это эквивалентно двум след. строкам
   // result.sp:=Psp_[k].sp;
   // result.xx:=Psp_[k].xx;
  end;
end;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 21.09.2015, 14:42   #22
sera.kerch
Пользователь
 
Регистрация: 09.04.2015
Сообщений: 24
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
тоже не смог понять, но вот так работает
Код:
type
Tsp=record sp:integer; xx: Pointer; end;

function GetSp(var Psp_: Psp; SourceP: integer): Tsp;
..
end;
в общем Ваш подход не работает вообще ((((

построил типы
Код:
Tdp=record dp,size:integer; p: PN end;
Pdp = array of Tdp;
Tdip=record dip:integer; dp: Pdp; end;
Pdip = array of Tdip;
Tsp=record sp:integer; dip: Pdip; end;
Psp = array of Tsp;
Tsip=record sip:integer; sp: Psp; end;
Psip = array of Tsip;
Tp=record p:integer; sip: Psip; end;
Tpaket = array of TP;
написал им нужные функции
так вот при изменении в Tpaket все записывает как только изменяются Pdip или Psp или Psip все теряется и данные просто перезаписываются (((



может кто то подскажет как сделать в динамическом массиве ссылку на динамический массив в котором также есть ссылка на динамический массив
sera.kerch вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указатели и динамические массивы Placebo228 Общие вопросы C/C++ 4 07.11.2012 16:15
Указатели и динамические массивы С++ Лилия396 Помощь студентам 0 14.05.2012 18:00
Динамические массивы и указатели GrihaI Общие вопросы C/C++ 5 30.05.2010 17:52
Указатели и динамические массивы iiunbreakableii Общие вопросы Delphi 7 04.09.2009 14:43
Указатели и динамические массивы. Airou Общие вопросы C/C++ 5 16.01.2009 19:05