Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.04;
Скачать: CL | DM;

Вниз

Кто помнит pascal...   Найти похожие ветки 

 
GanibalLector ©   (2006-05-07 00:00) [0]

Есть ли в сабже array of что-то или только array [0..число] of что-то


 
Хозяин   (2006-05-07 00:02) [1]

Да.


 
Anton_K ©   (2006-05-07 00:02) [2]

Только array [число..число] of что-то. Динамических массивов нет.


 
alex-drob ©   (2006-05-07 00:02) [3]

только array [0..число] of что-то


 
Хозяин   (2006-05-07 00:02) [4]

или прочитал как и
:)


 
Писатель   (2006-05-07 00:03) [5]

Ф паскале динамические массивы? Нэту.


 
saa   (2006-05-07 00:03) [6]

в параметрах функций так массивы по ссылке передают.


 
ArtemESC ©   (2006-05-07 00:04) [7]

Не просто 0..число, а любой порядковый тип...


 
Langely   (2006-05-07 00:05) [8]

но параметры по ссылке так передаются...


 
GanibalLector ©   (2006-05-07 00:05) [9]

Дык это...как-нибудь обойти можно ???
З.Ы. Еще...есть ли в pascal"e SetLength???


 
Eraser ©   (2006-05-07 00:07) [10]


> GanibalLector ©   (07.05.06 00:05) [9]

да нету вроде.


 
Anton_K ©   (2006-05-07 00:07) [11]


> Дык это...как-нибудь обойти можно ???
> З.Ы. Еще...есть ли в pascal"e SetLength???

Что обойти? Это ж не глюк.
И откуда там SetLength возьмется, если динамических массивов нету?

GetMem, FreeMem, New, Dispose юзай.


 
Langely   (2006-05-07 00:07) [12]

GanibalLector ©   (07.05.06 00:05) [9]
Вах! А динамическое выделение память, Dispose там всякие, или как это в паскале?


 
GanibalLector ©   (2006-05-07 00:11) [13]

Понял,спасибо. Еще по ходу вопрос...как число в строку и обратно переводить??? На IntToStr ругается ;)


 
Eraser ©   (2006-05-07 00:12) [14]


> GanibalLector ©   (07.05.06 00:11) [13]

str


 
Anton_K ©   (2006-05-07 00:12) [15]

Val, Str.


 
DevilDevil ©   (2006-05-07 00:19) [16]

Единственный выход - динамическое выделение памяти. Ищи соответствующие фунции

Ещё момент (покажу, как можно с GetMem):
type
 TArr = array[0..high(integer)] of что-то;
 PArr = ^TArr;
var
 Massive : PArr;
...
begin
GetMem(Massive, 100 * sizeof(что-то));

for i := 0 to 99 do //!!! -> 0..99
Massive[i] := какое-то значение;
...
FreeMem(Massive);
end.

Фишка в следующем: в качестве аргумента-указателя функции задавай Massive. В то же время берутся элементы нашего массива, как из обычного: Massive[i]


 
GanibalLector ©   (2006-05-07 01:08) [17]

2 DevilDevil ©   (07.05.06 00:19) [16]
Ок. Только что-то ругается на high.Видать какой-то модуль надо подключить...


 
GanibalLector ©   (2006-05-07 01:09) [18]

Господа,Вы уж извините за ламерские вопросы... Мне это нужно буквально на 1 день, а книги под рукой нет.


 
DrPass ©   (2006-05-07 01:49) [19]

TArr = array[0..32567] - вполне сойдет. Главное - в программе не выйди за пределы выделенной памяти такого "динамического" массива. В отличие от Windows, ты тут получишь не AV, а что угодно от непонятных глюков до полного краха системы


 
TUser ©   (2006-05-08 09:58) [20]

Примерно так делали до появления дин массивов

PArray = ^TArray
TArray = array [0..0] of integer

...

var A: PArray;

GetMem (A, NewLength * sizeof (integer));
A^[0] := ...


 
DiamondShark ©   (2006-05-08 11:43) [21]


> GanibalLector ©   (07.05.06 01:08) [17]
> 2 DevilDevil ©   (07.05.06 00:19) [16]
> Ок. Только что-то ругается на high.Видать какой-то модуль
> надо подключить...

Просто high(integer) для 16-битного паскаля -- слишком большой размер массива.
;)



Страницы: 1 вся ветка

Текущий архив: 2006.06.04;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.048 c
2-1147838742
Rubey
2006-05-17 08:05
2006.06.04
Не обновляется DBGRID


2-1148066031
Призрак
2006-05-19 23:13
2006.06.04
В чём разница между Form1.CLOSE и Form1.HIDE ?


4-1142103030
Handle
2006-03-11 21:50
2006.06.04
Процессы,окна


2-1147978707
delta123
2006-05-18 22:58
2006.06.04
Help Pls!!!!!!!!!!!!!!!!!!!!!!!!!


2-1147699621
Ironman83
2006-05-15 17:27
2006.06.04
Выборки через TIBDataset