Найдено 7 результатов

aag
27.07.2006 10:50:45
Форум: Lazarus
Тема: Работают ли динамические массивы в freepascal?
Ответы: 15
Просмотры: 18321

Все просто. Пусть
var A: array of TSomeBody. Тогда Length(A) - число элементов в массиве, Low(A) и High(A) - нижний и верхний индексы в массиве.
Т.о. Length(A)=High(A)+1 (т.к. индексация в динамических массивах идет от нуля). Если Length(A)=0, то Low(A)=0 и High(A)=-1

Например, можно ...
aag
27.07.2006 01:24:45
Форум: Lazarus
Тема: Работают ли динамические массивы в freepascal?
Ответы: 15
Просмотры: 18321

aag писал(а):for i:=0 to Length(A)-1 do


noch писал(а):Можно еще писать HIGH(a)


Всегда с сомнением относился к этой функции (High). Зачем плодить сущее без необходимости? Да и код менее понятным становится.
aag
23.07.2006 12:53:25
Форум: Lazarus
Тема: Работают ли динамические массивы в freepascal?
Ответы: 15
Просмотры: 18321

Ага, не вылез. По крайней мере, эту проблемму, судя по всему так и не решили ( http://www.lazarus.freepascal.org/index.php?name=PNphpBB2&file=viewtopic&t=777&start=0&postdays=0&postorder=asc&highlight=dynamic )

Таки все же, под Linux'om (или т.п.) subj. работает?
aag
21.07.2006 12:36:28
Форум: Lazarus
Тема: Работают ли динамические массивы в freepascal?
Ответы: 15
Просмотры: 18321

Отладчик gdb мало что знает о Паскале с его динамическими массивами, кроме того - он очень не родной по отношению к Windows.

Значит ли это, то, что под linux отладчик правильно отображает содержимое динамического массива? Или, все-таки, это уже действительно проблемы поддержки Pascal в gdb ...
aag
21.07.2006 09:48:29
Форум: Lazarus
Тема: Работают ли динамические массивы в freepascal?
Ответы: 15
Просмотры: 18321

{$mode delphi} - то же не помогает. Да и вообще, это должно работать и в {$mode objfpc}
aag
21.07.2006 09:47:06
Форум: Lazarus
Тема: Работают ли динамические массивы в freepascal?
Ответы: 15
Просмотры: 18321

Ну да, в том-м то и дело, что код выдает правильный результат. Например:

procedure TForm1.Button1Click(Sender: TObject);
var A:array of integer;
i:integer;
S:String;
begin
S:='';
Setlength(A,10);
for i:=0 to Length(A)-1 do begin
A[i ...
aag
21.07.2006 00:23:01
Форум: Lazarus
Тема: Работают ли динамические массивы в freepascal?
Ответы: 15
Просмотры: 18321

Работают ли динамические массивы в freepascal?

Трям!

Я не совсем в теме, просто пока пробую перевести куски своего кода с Delphi.
В ходе тестов возникли сложности при работе с динамическими массивами. Упрощенно, есть следующая процедура

procedure TForm1.Button1Click(Sender: TObject);
var A:array of integer;
i&#58 ...