![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
СтрингЛист - аргумент функции [D7, WinXP]
smok_er © (2002-11-29 21:07:00)Уважаемые мастера!
Столкнулся с небольшой проблемой.
Суть в следующем. Есть некая функция а, получаяющая в качестве аргумента переменную типа TStringList.
В функции требуется определить имя этого стринглиста. Как только не пробовал - ничего не получается.
Может кто-нибудь знает решение...
smok_er (2002-11-30 00:58:00) [1]Огромное спасибо!
Я все понял и уже все отлично работает!
Просто стормозил :(
Юрий Зотов (2002-11-29 23:57:00) [2]> какой именно стринглист выступает в качестве аргумента?
Тот, который пришел в функцию - тот и выступает. Вот примеры вызовов функции GetStringCount (см. выше). Предположим, у нас есть 2 стринглиста (List4 и List7), причем в List4 - 4 строки, а в List7 - 7 строк. Тогда:
GetStringCount(List4) - даст 4;
GetStringCount(List7) - даст 7/
Поймите, TStringList - это не компонент, а просто объект, у него нет никакого имени. Его как бы "именем" служит переменная. Скажем, если мы написали:
Vasja := TStringList.Create
то после этого Vasja - это и есть "имя" стринглиста. И вызов
GetStringCount(Vasja)
вернет количество строк в нем.
smok_er (2002-11-29 23:55:00) [3]ОК, огромнейшее спасибо всем ответившим!
Anatoly Podgoretsky (2002-11-29 23:37:00) [4]Аргумент сам и являтся этим идентификатором, лишних сущностей не требуется.
smok_er (2002-11-29 23:28:00) [5]:(
Неужели нет способа определить какой именно стринглист выступает в качестве аргумента?
Хотя я уже знаю, как сделать немного по-другому но с одинаковым результатом. Передавать некое id стринглиста, а затем его анализировать.
Юрий Зотов (2002-11-29 23:22:00) [6]Вероятно, требуется пояснение "на пальцах"...
finction GetStringCount(List: TStringList): integer;
begin
Result := List.Count // List - это и есть "имя". Вот и все.
end;
Song (2002-11-29 23:10:00) [7]"Имя стринглиста" существует только у Вас в тексте программы. При выполнении - это адрес в памяти.
TTCustomDelphiMaster (2002-11-29 21:25:00) [8]У TStringList нет такого свойства.