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

Вниз

СтрингЛист - аргумент функции   Найти похожие ветки 

 
smok_er   (2002-11-29 21:07) [0]

Уважаемые мастера!
Столкнулся с небольшой проблемой.
Суть в следующем. Есть некая функция а, получаяющая в качестве аргумента переменную типа TStringList.
В функции требуется определить имя этого стринглиста. Как только не пробовал - ничего не получается.
Может кто-нибудь знает решение...


 
TTCustomDelphiMaster   (2002-11-29 21:25) [1]

У TStringList нет такого свойства.


 
Song   (2002-11-29 23:10) [2]

"Имя стринглиста" существует только у Вас в тексте программы. При выполнении - это адрес в памяти.


 
Юрий Зотов   (2002-11-29 23:22) [3]

Вероятно, требуется пояснение "на пальцах"...

finction GetStringCount(List: TStringList): integer;
begin
Result := List.Count // List - это и есть "имя". Вот и все.
end;


 
smok_er   (2002-11-29 23:28) [4]

:(
Неужели нет способа определить какой именно стринглист выступает в качестве аргумента?

Хотя я уже знаю, как сделать немного по-другому но с одинаковым результатом. Передавать некое id стринглиста, а затем его анализировать.


 
Anatoly Podgoretsky   (2002-11-29 23:37) [5]

Аргумент сам и являтся этим идентификатором, лишних сущностей не требуется.


 
smok_er   (2002-11-29 23:55) [6]

ОК, огромнейшее спасибо всем ответившим!


 
Юрий Зотов   (2002-11-29 23:57) [7]

> какой именно стринглист выступает в качестве аргумента?

Тот, который пришел в функцию - тот и выступает. Вот примеры вызовов функции 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-30 00:58) [8]

Огромное спасибо!
Я все понял и уже все отлично работает!
Просто стормозил :(



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

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

Наверх




Память: 0.46 MB
Время: 0.007 c
3-27807
Кирилл_
2002-11-20 11:19
2002.12.09
О попытках занести null в поле number


1-27971
vaneks
2002-11-27 09:13
2002.12.09
WinXP Style


1-27997
down
2002-11-29 19:50
2002.12.09
TPrintDialog, выбранный принтер


1-27952
Dracula
2002-11-29 12:42
2002.12.09
PChar to String


1-28082
b_baranov
2002-11-27 22:02
2002.12.09
Ввод





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