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

Вниз

Объявление предела массива   Найти похожие ветки 

 
Motion ©   (2005-06-04 18:06) [0]

При объявлении массива с количеством элементов X[1..n] необходимо сначала задать n, а n берётся с компонента spinedit.
Но сначала, объявляется массив, о потом считывается n. Можно ли зделать наоборот? Пример кода:

var n:integer;
var X: array[1..n] of real;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
n:=spinedit1.value;
end;


 
MBo ©   (2005-06-04 18:13) [1]

Можно использовать динамические массивы
X:array of Double;
...
SetLength(X,spinedit1.value);
нумерация с нуля!


 
Motion ©   (2005-06-04 18:14) [2]

А можно с 1-цы?


 
Anatoly Podgoretsky ©   (2005-06-04 18:19) [3]

Motion ©   (04.06.05 18:14) [2]
А зачем? Можешь эмулировать.


 
KilkennyCat ©   (2005-06-04 18:21) [4]

нет, но что мешает использовать нужный коэффициент при обращении к элементу? n[x+k], где k = 1 в требуемом случае. Разумеется, необходимо также учитывать, что некорректное обращение к последнему элементу вызовет ошибку.


 
KilkennyCat ©   (2005-06-04 18:22) [5]

[4] - фигня.
можно просто неиспользовать нулевой элемент.


 
Motion ©   (2005-06-04 18:26) [6]

Получилось как посоветовал MBo, а теперь необходимо обратится не к нулевому а к первому элементу.


 
Anatoly Podgoretsky ©   (2005-06-04 18:43) [7]

Motion ©   (04.06.05 18:26) [6]
Как обращался к нулевому?


 
begin...end ©   (2005-06-04 18:54) [8]

> Motion ©   (04.06.05 18:06)

type
 TMyArray = array [1..MaxInt div sizeof(Real)] of Real;
var
 X: ^TMyArray;
 N: Integer;
begin
 N := ...;
 GetMem(X, N * sizeof(Real));
 try
   X[1] := ...
   ...
 finally
   FreeMem(X)
 end
end.


Недостаток: необходимо строго следить за корректностью индексов массива.



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

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

Наверх




Память: 0.46 MB
Время: 0.042 c
9-1111069768
Smab
2005-03-17 17:29
2005.06.29
Динамической освещение в PowerDraw3/DirectX


14-1117446594
Ricko
2005-05-30 13:49
2005.06.29
Загрузка MMS из телефона в комьютер


3-1116222174
Sergo
2005-05-16 09:42
2005.06.29
Zip в BLOB-поле


1-1118065199
Gashish
2005-06-06 17:39
2005.06.29
Перенос модели в из 3d max в Delphi


1-1117813072
Dezmond
2005-06-03 19:37
2005.06.29
Сообытие или сообщение о деактивации окна





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