Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-46338
aaasv
2002-04-03 14:05
2002.04.15
всплывающее стандартное меню


1-46391
evgen_2001
2002-04-02 10:37
2002.04.15
Коллективизация!!!


1-46431
Babka-Tapka
2002-04-02 23:32
2002.04.15
Как мне в свою прогу вставить цветной курсор из файла?


3-46272
AlGin
2002-03-14 16:58
2002.04.15
Установка IB-client на Миллениум


3-46240
Hiks1
2002-03-25 04:45
2002.04.15
QReport





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский