Разумевање и употреба врста података записа у Делфима

Сетови су у реду, низови су сјајни.

Претпоставимо да желимо да створимо тродимензионалне низове за 50 чланова у нашој програмској заједници. Први низ је за имена, други за е-пошту и трећи за број учитавања (компоненте или апликације) у нашу заједницу.

Сваки низ (листа) имао би одговарајуће индексе и обиље кода за одржавање све три листе паралелно. Наравно, могли бисмо покушати с једним тродимензионалним низом, али шта је с његовим типом? Потребан нам је низ за имена и е-маилове, али цео број за број отпремања.

Начин рада са таквом структуром података је употреба Делфи структура записа.

ТМембер = Сними...

На пример, следећа декларација ствара врсту записа звану ТМембер, ону коју бисмо могли користити у нашем случају.

У суштини, а структура података записа може да меша било коју од уграђених врста компаније Делпхи укључујући све врсте које сте креирали. Врсте записа дефинирају фиксне колекције предмета различитих врста. Сваки предмет, или поље, је као променљива, која се састоји од имена и врсте.

instagram viewer

Тип ТМембер садржи три поља: вредност низа која се зове Име (да би се држало име члана), вредност врсте низа који се зове е-пошта (за једну е-пошту) и цео број (кардинал) звани Постови (да задржи број поднесака у нашој заједница).

Једном када смо поставили тип записа, можемо прогласити променљиву врсту ТМембер. ТМембер је сада подједнако добар тип варијабли за све варијабле Делпхи 'с уграђеним типовима као што су Стринг или Интегер. Напомена: декларација о типу ТМембер, не додељује меморију за поља Наме, еМаил и Постс;

Да бисмо уствари створили инстанцу записа ТМембер, морамо прогласити променљиву врсту ТМембер, као у следећем коду:

Сада, када имамо запис, користимо тачку за изоловање поља ДелпхиГуиде-а.

Напомена: горњи део кода може се преписати употребом сакључна реч.

Сада можемо копирати вредности поља ДелпхиГуиде у АМембер.

Рекорд опсега и видљивости

Врста записа декларирана у декларацији обрасца (одјељак за имплементацију), функције или поступка има опсег ограничен на блок у којем је деклариран. Ако је запис деклариран у дијелу интерфејса јединице, он има опсег који укључује било које друге јединице или програме који користе јединицу у којој се декларација дешава.

Низ записа

Будући да ТМембер дјелује као и било који други тип Објецт Пасцал, можемо прогласити низ варијабли записа:

Напомена: Ево како то учинити прогласити и иницијализирати константни низ записа у Делфима.

Записи као поља за снимање

Пошто је врста записа легитимна као и свака друга врста Делпхија, можемо имати поље записа и сам запис. На пример, могли бисмо да створимо ЕкпандедМембер да пратимо шта члан шаље заједно са подацима о члану.

Испуњавање свих информација потребних за један запис сада је некако теже. За приступ пољима ТЕкпандедМембер потребно је више периода (тачака).

Снимите са "непознатим" пољима

Тип записа може имати и варијантни део (да се не меша са променљивом типа Вариант). Варијантни записи се користе, на пример, када желимо да направимо врсту записа за који постоје поља различите врсте података, али знамо да никада нећемо морати да користимо сва поља у једном запису инстанца. Да бисте сазнали више о варијантним деловима у Рецордс, погледајте Делпхи датотеке помоћи. Употреба варијабилног типа записа није сигурна за тип и није препоручена пракса програмирања, посебно за почетнике.

Међутим, записи о варијанти могу бити веома корисни ако се икада нађете у ситуацији да их употребите.

instagram story viewer