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

Вниз

Покажите пример работы с array property   Найти похожие ветки 

 
volph   (2002-06-30 17:14) [0]

Покажите пример работы с array property


 
Anatoly Podgoretsky   (2002-06-30 17:33) [1]

Тема в хелпе Array properties как раз с примерами


 
volph   (2002-06-30 18:20) [2]

не работает пример и не пойму его логику :(


 
Юрий Зотов   (2002-06-30 18:24) [3]

Повторять хелп смысла, конечно, нет. В чем конкретно проблема? Что именно не работает?


 
Anatoly Podgoretsky   (2002-06-30 18:30) [4]

Да требуются подробности непонимания, что именно, а так работа не отличается от работы с обычным массивов, например Pixels[x,y] наглядный пример свойства с друхмерным массивом, Mermo.Lines[N] одномерный


 
Бурундук   (2002-06-30 19:23) [5]

Простейший пример

TTest = class
private
FData: array of Integer;
public
function GetData(Index: Integer): Integer;
procedure SetData(Index: Integer; Value: Integer);
property Data[Index: Integer]: Integer read GetData write SetData; // default;
end;

function GetData(Index: Integer): Integer;
begin
if (Index > 0) and (Index < Length(FData)) then
Result := FData[Index]
else
Result := 0; // raise ...;
end;

procedure SetData(Index: Integer; Value: Integer);
begin
if (Index > 0) and (Index < Length(FData)) then
FData[Index] := Value
else
; // raise ...;
end;

И работаешь с Test.Data как с массивом

default означает, что ты можешь написать как
Test.Data[i], так и просто Test[i]

Index не обязательно должен быть целым, это может быть что угодно, хоть строка или объект.

Индексов может быть несколько:
property Data[Name: string; Index: Integer{...}]...



 
volph   (2002-06-30 19:37) [6]

А если индекс не целое число а строка?


 
Юрий Зотов   (2002-06-30 20:06) [7]

См., например, в исходниках модуля Classes свойство Values у объекта TStrings (TStringList).


 
Anatoly Podgoretsky   (2002-06-30 20:19) [8]

Так и осталось непонятным, то ли ты хочешь использовать, то ли хочешь создать компонент с индексными саойствами?



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

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

Наверх




Память: 0.46 MB
Время: 0.018 c
14-47757
drpass
2002-06-09 13:11
2002.07.15
Turbo Pascal 4.0


4-47863
Avsam
2002-05-10 19:57
2002.07.15
SysListView32 и ListView_GetItemText


6-47638
DenNNis
2002-04-30 08:00
2002.07.15
Мастерам


7-47833
ah
2002-04-21 20:47
2002.07.15
использую компоненту ComPort Library version 2.60


1-47265
ivlex
2002-06-29 10:30
2002.07.15
Шифрование





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