Главная страница
    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-24540
NorthMan
2003-08-26 19:14
2003.09.08
Народ, как в DateTimePicker программно перейти на


4-24758
Miwa
2003-07-08 22:36
2003.09.08
SHFileOperation выдает ошибку №7, да еще


1-24426
napil
2003-08-24 22:26
2003.09.08
массив


3-24364
Петр
2003-08-19 11:48
2003.09.08
Как определить версию mdb файла, работая с ним через ADO?


3-24342
Sash2
2003-08-19 11:56
2003.09.08
Проблема с переносом полей.





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