Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Вниз

Кто помнит 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.039 c
15-1147526071
boriskb
2006-05-13 17:14
2006.06.04
Госдума приравняла российских программистов к малому бизнесу,


1-1146111022
гога
2006-04-27 08:10
2006.06.04
Спецсимвол в компоненте Label


1-1145951672
001
2006-04-25 11:54
2006.06.04
Очередь сетевого принтера


2-1147931585
Tempora
2006-05-18 09:53
2006.06.04
Application.terminate а программа продолжает работать


15-1147237978
Ega23
2006-05-10 09:12
2006.06.04
С Днём рождения! 9 мая





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский