![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
dlina : array of integer;
Нуб © (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]По-хорошему - да.