Свързването на редове и компонент
Делфи. Компоненти и класове. елементи
Свързването на редове и компонент
Възможно е да се връзвам на низ, всеки компонент?
Тъй като Tag Имотът е от тип longint, можете да го отведе до собственост на показалеца или PChar. Така че, можете да съхранявате указател към запис с помощта на Tag имота.
Забележка: Не може да спаси такъв начин линия, указател, или нещо друго, в режим на развитие. Това можете да направите само по време на изпълнение. Обърнете внимание на следния пример:
Тук ние организираме цикъл и обикалят всички компоненти във формуляра. Ако един компонент - TEdit, присвояваме указател към низ Tag собственост. функция NewStr връща PString (указател към низ). Pointer, най-вече идентичен тип longint, или дори "по-добре", т.е. Той е в памет на един и същ брой байтове. Следователно, можете да направите един глас, за да напишете LongInt NewStr върна стойност и след това да го запазите в имот Tag TEdit компонент. Имайте предвид, че това може да е указател към целия запис. Сега ние използваме тази стойност:
Ето ме отново, "работи" за всички компоненти и работи само с TEdits. По това време, аз се извлече от стойността на имота Tag на компонента и го поведе към PString тип (указател към низ, указател към низ), и да я задавате стойността на Текст компонент имот TEdit. Естествено, в този случай трябва да се използва символ ключ (^). След това да се отърва от низа съхранява в TEdit компонент. Важна забележка: ако запишете нещо в маркера на имот TEdit като показалка, вие сте отговорни за освобождаването на съдържанието му.
За ваша информация: защото Delphi обекти наистина са указатели към класа случаи, можете да съхранявате обекти в Tag имота. Може би си спомняте, че това е необходимо да се обадите на метод безплатен.
Бързам да ви предложим три метода, които ви позволяват да използвате Tag за линии за достъп за предаване на различните приложения.
- Ако линията ви никога няма да се промени, можете да създадете низ ресурс в работилницата на ресурсите (или еквивалент) и да използвате маркер като индекс за маса от низове.
- Използвайте TIniFile, да създадете точка за вашите струни и възлага всяка линия на име и номер, т.е. Вашата INI-файл трябва да има раздел, като например това: След това можете да се обърнете към тях, както следва:
И трите метода работят в Делфи, сложи ми, мисля, че това е най-простото решение.