Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

dlina : array of integer;


Страницы:   1 2

Нуб ©   (2007-03-16 10:14:00) 

У меня вот такой вопрос у меня есть массив элементов типа int, я в программе задаю количество элементом путем
SetLength(dlina,kol4isel);
необходимо ли в конце выполнения программы освобождать память выделенную под элементы этого массива ?


Нуб   (2007-03-16 10:31:00) [21]


procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
var
 i, kol4isel: integer;
 k, posl_tab : integer;
 arrstr : string;
 str : string;
 step : integer;
 dlina : array of integer;

begin
 k := 1;
 kol4isel := 1;
 step := 1;
 posl_tab :=0;
 str := Clipboard.asText;

 if ((Key = ord('V')) and (ssCtrl in Shift)) then  begin

     for i := 1 to Length(str) do    // kol ya4eek
        if str[i] = chr(9) then
        Inc(kol4isel);

     SetLength(dlina,kol4isel+1);   - ПОЖЛОБИЛСЯ НА 1 :) // massiv iz kol4isel elementov

     for i := 1 to Length(str) do begin      // opredelyaem all dlinuYa4eyki v simvolah
        if str[i] = chr(9) then begin
           dlina[k] := i-posl_tab-1 ;
           posl_tab := i;                    // indeks posl tab
           Inc(k);
        end;
     end;
     dlina[k] := Length(str) - posl_tab-2;     // dlina posl ya4eyki

     StringGrid1.ColCount := kol4isel+1;
     Label1.Caption := IntToStr(dlina[k]);
     Label2.Caption := IntToStr(Length(str));
     Label3.Caption := IntToStr(posl_tab);

     for i := 1 to kol4isel do begin
        arrstr := copy(str,step,dlina[i]);
        step := step + dlina[i]+1;
        StringGrid1.Cells[i,1] := arrstr;
     end;
     Label4.Caption := FloatToStr(StrToFloat(arrstr));

 end;
end;


все рабатоет тему считаю закрытой :)


Jeer   (2007-03-16 10:29:00) [22]


> Нуб   (16.03.07 10:27) [3]


Телепаторы в отпуске - код предъяви.


Нуб   (2007-03-16 10:28:00) [23]


> Jeer ©

сенкс за инфу , на будущее учту


Нуб   (2007-03-16 10:27:00) [24]


> Ega23 ©


мда глюк если задаю массив определенной длины , то все работает ок , а если задаю его SetLengthом программа прерывается и пишет хвак ю


Jeer   (2007-03-16 10:26:00) [25]

Нуб   (16.03.07 10:14)
Ega23 ©   (16.03.07 10:22) [1]

По правильному - не надо.
Динамические массивы финализируются автоматически.
Если же это массив массив объектов, то достаточно очистить все объекты, а ссылки на них приведутся к nil автоматически.


Ega23   (2007-03-16 10:22:00) [26]

По-хорошему - да.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо