Форум: "Основная";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
ВнизБольшой массив, как? Найти похожие ветки
← →
Pbulbo (2004-01-27 22:02) [0]Как создать массив, более чем на 30000 элементов, на Паскале?
← →
Anatoly Podgoretsky (2004-01-27 22:07) [1]array [1..30001] of
← →
Pbulbo (2004-01-27 22:09) [2]Имел ввиду 60000 -70000 элементов
← →
Anatoly Podgoretsky (2004-01-27 22:11) [3]array [1..60000] of
array [1..70000] of
← →
Dred2k (2004-01-27 22:17) [4]> на Паскале?
На каком?
← →
Pbulbo (2004-01-27 22:22) [5]Борланд 7.0
Не получается создать просто "array [1..60000] of", ошибка возникает, максимум можно сделать около 32000, так вот как можно создать очень большой массив? Динамический? Как? За ранее спасибо :)
← →
DDA (2004-01-27 22:25) [6]var b:array [1..60000] of integer;
var b:array [1..60000] of char;
var b:array [1..60000] of byte;
var b:array [1..60000] of string;
← →
Islander (2004-01-27 22:26) [7]var k: array of something;
begin
SetLength (k, n),
← →
Pbulbo (2004-01-27 22:27) [8]"var k: array of something;
begin
SetLength (k, n),
"
На паскале так нельзя сделать, выдает ошибку, нужно указывать границу :/
← →
Islander (2004-01-27 22:28) [9]SetLength (k, n), - вот это, может быть и нельзя, я уже не помню, но по-моему там другая функция была.
А вот array of можно точно
← →
DDA (2004-01-27 22:29) [10]var p:pchar;
begin
p:=StrAlloc(600000);
//...
StrDispose(p);
← →
Islander (2004-01-27 22:31) [11]Вот то, что ты ищешь
http://rupt.dax.ru/gl7less7.shtml
← →
Dred2k (2004-01-27 22:35) [12]> Pbulbo (27.01.04 22:22) [5]
> Борланд 7.0
Сегмент данных ограничен, нужно выделять руками. GetMem там есть, но он, по-моему, может не более 64K. Поможет или int21h, или забытая мною функция реального режима. Возможно, даже New.
;)
← →
Pbulbo (2004-01-27 22:36) [13]А поподробней можно :)
← →
Dred2k (2004-01-27 22:38) [14]По-подробней тебе поможет хелп и какая-нить книжка. Уж сейчас-то в яндексе этого добра по bp 7.0 вполне навалом, я думаю.
Только сразу скажу - под DOS писать (даже с экстендером) - не то, что на дельфях, там по-жестче...
← →
Pbulbo (2004-01-27 22:39) [15]Вот что там написано :
"... версии Delphi 4 впервые введены так называемые динамические массивы. При объявлении таких массивов в программе не следует указывать границы индексов:
var
A: array of Integer;
"
В Паскале нельзя так объявлять массивы :(
← →
Pbulbo (2004-01-27 22:42) [16]Вот еще вырезка :
"Одним из недостатков языка Паскаль (и Турбо Паскаль) является невозможность создания и использования в программе массивов с переменной размерностью - так называемых динамических массивов. "
← →
Dred2k (2004-01-27 22:44) [17]> Pbulbo (27.01.04 22:39) [15]
> В Паскале нельзя так объявлять массивы :(
Логично. И впредь пиши точнее - для компилятора Borland Pascal 7.0(1) for real mode (DOS). А то запутаешься.
Книгу читаешь не ту. Начни с DOS и > Dred2k © (27.01.04 22:38) [14]
← →
Боян Георгиев (2004-01-27 22:44) [18]
PList = ^TList;
TList = record
Value: integer;
Next: PList;
end;
← →
Юрий Федоров (2004-01-27 22:57) [19]Непрерывно больше 64 к не выделишь. Если только GlobalAlloc (не помню точно, можно ли)
Либо не непрерывно ([18]). либо вариант через санки (32-битная dll)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.03 c