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

Вниз

не получаеться обратиться к массиву   Найти похожие ветки 

 
Sfagnum   (2003-08-25 17:21) [0]

есть такой тип
type t: array[0..MAXPLEN, char] of integer;

MAXPLEN - константа.

надо сделать динамический массив таких типов

type t = array[0..MAXPLEN, char] of integer;
var r: array of t;
Вроде всё нормально, но у меня не получаеться обратиться к конкретному элементу...

может я не правильно его объявляю?
я хочу n-ое количество таких записей в массиве

Заранее спасибо
Sfagnum


 
MBo   (2003-08-25 17:23) [1]

Как именно не получается?


 
Skier   (2003-08-25 17:24) [2]

-SetLength(...) используешь ?
-Код покажи


 
Романов Р.В.   (2003-08-25 17:25) [3]

r[i][5, 7] := 30;


 
Skier   (2003-08-25 17:26) [4]

Уверен ?


 
Романов Р.В.   (2003-08-25 17:31) [5]


> Skier © (25.08.03 17:26) [4]
> Уверен ?

Если не пойдет - обработать напильником


 
Skier   (2003-08-25 17:32) [6]

>Романов Р.В. © (25.08.03 17:31) [5]
Я к тому что индекс 7 вряд ли пройдёт.


 
default   (2003-08-25 17:33) [7]

Романов Р.В. ©
там же Char есть - наверно так будет r[i][5, #7] := 30;


 
Sfagnum   (2003-08-26 13:35) [8]

>Skier © (25.08.03 17:24) [2]
>-SetLength(...) используешь ?
>-Код покажи

-вообще да
-показал

2 Романов Р.В.
спасибо получилось

что самое странное оказалось можно двумя сполсобами обратиться...
const MAXPLEN = 24;
type t = array[0..MAXPLEN, char] of integer;
var r: array of t;
begin
SetLength(r,2);
r[1][1,"d"] := 25;
ShowMessage(IntToStr(r[1][1,"d"]));
r[2][10]["a"] := 45;
ShowMessage(IntToStr(r[2][10]["a"]));
end;

причём
const MAXPLEN = 24;
type t = array[0..MAXPLEN, char] of integer;
var r: array of t;
begin
SetLength(r,1);
r[1][1,"d"] := 25;
ShowMessage(IntToStr(r[1][1,"d"]));
//r[1][1]["d"] := 45;
ShowMessage(IntToStr(r[1][1]["d"]));
end;

во втором случае не то значение - в принципе пустое

не объясните разницу если не влом


 
han_malign   (2003-08-26 13:56) [9]

> в принципе пустое
- IntToStr - не может выдать пустое значение(""), хотя бы "0", но выдаст...

никакой разницы
@r[i,j,k]=@r[i][j,k]=@r[i][j][k]=PInteger(PChar(r)+i*sizeof(t)+(j*256+ k)*4)


 
han_malign   (2003-08-26 14:01) [10]

>SetLength(r,1);
>r[1][1,"d"] := 25;
>ShowMessage(IntToStr(r[1][1,"d"]));

- динамический массив начинается с 0-го элемента, SetLength(r,1) - означает что доступны элементы с 0-го по 0-й, а r[1] - это ты уже вылез за пределы выделенной памяти...

правильно будет ...r[ 0][1,"d"]...


 
Skier   (2003-08-26 14:14) [11]

>Sfagnum © (26.08.03 13:35)
Поставь галку Range Checking и выполни "второй случай"
Увидишь интересную вещь...


 
Sfagnum   (2003-08-26 14:17) [12]

>> в принципе пустое
>- IntToStr - не может выдать пустое значение(""), хотя бы "0", но выдаст...

просто какое-то достаточно большое число которое никто никуда не ложил => произвольное число => для меня оно значение не имеет =>
пустое значение в смысле бессмысленное

извените за не правильную формулировку

>правильно будет ...r[0][1,"d"]...

мда... скоро совсем писать разучусь всё AccEzz ентот долбаный...
(стыдно...)



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

Форум: "Основная";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
1-24422
Андерсон
2003-08-26 09:16
2003.09.08
Проблема с Edit. Как спрятать курсор в его окне.


4-24756
miguel1
2003-07-09 13:24
2003.09.08
Ошибка при вызове функции WriteFile?!


14-24630
Е-Моё имя
2003-08-21 15:17
2003.09.08
Придумать страну? легко!


4-24746
MishaS
2003-07-07 17:15
2003.09.08
Как определить высоту заголовка формы


6-24589
KIE
2003-05-28 15:06
2003.09.08
Can t create new socket - Что это за такое?





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