Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
ВнизДинамеческие массивы Найти похожие ветки
← →
Miwa (2002-04-03 21:42) [0]Возможна ли работа с subj в Паскале 7.0 или более ранних версиях? Если да, то как?
← →
Miwa (2002-04-03 22:00) [1]Тоесть, конечно, динам_И_ческие :о)
← →
lipskiy (2002-04-03 22:06) [2]Имхо, нет.
Тоже была такая потребность - не нашел способа, кажется, никак нельзя.
← →
Miwa (2002-04-03 22:16) [3]В принципе, можно вроде создавать массивы в процедуре типа
Procedure MyProc(arr:array[a..b]of sometype)
Но это не очень красиво, по-моему. Никто ничего получше не знает?
← →
Лёша (2002-04-03 22:21) [4]Вот у Кулибы пример:
Const
MaxBooleans = (High(Cardinal) - $F) div sizeof(boolean);
Type
TBoolArray = array[1..MaxBooleans] of boolean;
PBoolArray = ^TBoolArray;
Var
B : PBoolArray;
N : integer;
BEGIN
N := 63579;
{= получение памяти под динамический массив.. =}
GetMem(B, N*sizeof(boolean));
{= работа с массивом... =}
B^[3477] := FALSE;
{= возвращение памяти в кучу =}
{$IFDEF VER80}
FreeMem(B, N*sizeof(boolean));
{$ELSE}
FreeMem(B);
{$ENDIF}
END.
← →
KaPaT (2002-04-03 22:49) [5]1)Надо создать новый тип в разделе type, где будет описываться этот массив.
type
massive = array [1..100] of Integer;
2)А дальше как с динамическими переменными
var
example_mas : ^massive
Вот! Что-нибудь еще?
← →
Malder (2002-04-03 22:55) [6]Miwa, ты уверен в том, что говоришь ?
Procedure MyProc(arr:array [a..b]of sometype)<>/code
По моему, объявление размерности массива при объявлении подпрограмы невозможно. В Delhi так нельзя. Неужели в Pascal 7 так можно ?!
← →
KaPaT (2002-04-03 22:56) [7]И еще чуть-чуть:
For i:=1 to 100 do GetMem(example_mas^[i],SizeOf(Integer)) - выделение памяти под массив
example_mas^[2]:=5 -обращение к элементу массива (к его значению)
← →
KaPaT (2002-04-03 23:02) [8]Кстати можно в Паскале 7 в процедурах делать массивы открытого типа:
Function Name(var Mas:array of Integer) : Integer;
← →
Miwa (2002-04-03 23:42) [9]2 Malder © (03.04.02 22:55)
> Miwa, ты уверен в том, что говоришь ?
Вообще-то после твоего вопросса - нет. Кажется, я делал немного не так. Было что-то вроде
Procedure SomeProc;
Var arr:array[1..i] of sometype;
Все-таки, лет 5 назад делал, так что прости уж...
2 KaPaT ©
По-моему, хватит. Спасибо большое.
← →
Anatoly Podgoretsky (2002-04-04 09:57) [10]Var arr:array[1..i] of sometype;
А ыт пробовал проверить в компиляторе, если у тебя I константа, то какое это отношение имеет к динамике, если переменная, то попробуй сначала.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c