Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TListView get item


Страницы:   1 2

bit ©   (2008-12-15 23:53:00) 

Hi,

Имеется таблица (TListView):

Fname|Lname|Email

Как проверить наличие/валидность Email'а выделенной строки?


Сергей М.   (2008-12-16 14:36:00) [21]

В Делфи нет штатных компонентов, реализующих функ-ть процессора рег.выражений.

В составе TIdMessage (Indy) есть, конечно, соответствующий парсер, но это уже на любителя помучиться перед смертью)


bit   (2008-12-16 14:29:00) [22]

Can I avoid including external library what increase size of my program?

may be there is other way , using native delphi components or whatever it is


Сергей М.   (2008-12-16 13:35:00) [23]

http://regexpstudio.com/RU/TRegExpr/TRegExpr.html

uses .. RegExpr ..
...
const
 rtUser = '([\w|\d][\w|\d|\-|\.]*)';
 rtDomain = '(([a-z\d][a-z\d\-]*[a-z\d\.])+[a-z]{2,6})';
 rtMailAddress = rtUser + '@' + rtDomain;
..

 RegExpr := TRegExpr.Create;
 RegExpr.ModifierI := True;
 ...

 RegExpr.Expression := rtMailAddress;
 if not RegExpr.Exec('проверяемый на валидность адрес') then
   ShowMessage('Инвалид !')


bit   (2008-12-16 13:25:00) [24]

i don't familar with regular expression.
Can  you tell what function(!!!) compare or find out if string and regular expression match to each other?

What kind of regular expression/template should i use in function which compares custom string and regexp?

Ps. You can write in russian, coz i understand. Temporarily I have english only keyboard=)

@[6] Сергей М. -> I don't need help in using ShowMessage func!


Сергей М.   (2008-12-16 10:30:00) [25]


> I don't find any info in Help about this function


You must write this function by youself


Сергей М.   (2008-12-16 10:26:00) [26]


> lv.Items.Item[0].SubItems[ 4]; // it works corrrectly


Не трынди)
EMail-сабитем ты, судя по [2], добавляешь вторым по счету, соответственно индекс колонки равен 1, а не 4


Palladin   (2008-12-16 09:37:00) [27]


> IsValidEmailAddress - I don't find any info in Help about
> this function.

кто бы сомневался...


bit   (2008-12-16 09:27:00) [28]

Thanks! :

lv.Items.Item[0].SubItems[4]; // it works corrrectly

but

IsValidEmailAddress - I don't find any info in Help about this function. Can you give example how to check string if it is correct email?
One more question:

What function can compare two strings using regular expression?
(for example in sql : select * from table Where 'fiels' REGEXP 'some_ regular string';)

Help would be greatly appreciated!

Ps. I work with mysql connector, get iform from custom db and fill TlistView


Сергей М.   (2008-12-16 08:38:00) [29]


> проверить наличие/валидность Email'а выделенной строки?


try
 s := lv.Selected.Subitems[1];
 if IsValidEmailAddress(s) then
   ShowMessage('Адрес валидный');
except
 ShowMessage('Адрес не указан');
end;


KilkennyCat   (2008-12-16 03:24:00) [30]


> Германн

о чем ты? ему валидность надо проверять, значит, получать умеет.


> [0] bit

100% решения не существует.
Частично можно решить проверкой существования сервера (части строки после обезьянки), запросом на него о существовании ящика (часть строки до обезьянки).


Eraser   (2008-12-16 02:25:00) [31]

> [0] bit   (15.12.08 23:53)

с помощью регулярных выражений.


Германн   (2008-12-16 01:54:00) [32]


> {I try to do that in this way: Showmessage(lv.Items.Item[7].
> Caption);
> but Receive only First_Name of selected row, but I need
> to get Text from Email field
> }
>

А справку прочитать? Лень?
Некий код, который заполняет TListView данными ты где-то надыбал. (Кстати, стрёмный какой-то код).  Но сей надыбанный код не имел той функциональности, которая была тебе нужна.
Читай справку.
Токо не говори, что не знаешь аглицкого языка. Тебе же хуже будет.


bit   (2008-12-16 00:57:00) [33]

type
...
lv: TListView;
...

var
li:tlistitem;
...

while not q1.Eof do
begin
li:=lv.Items.Add;
li.Caption:=q1.fieldbyname('First_Name').Value;
li.SubItems.Add(q1.fieldbyname('First_Name').text);
 li.SubItems.Add(q1.fieldbyname('Email').text);
...
end;

{I try to do that in this way: Showmessage(lv.Items.Item[7].Caption);
but Receive only First_Name of selected row, but I need to get Text from Email field
}


Германн   (2008-12-16 00:38:00) [34]


> Имеется таблица (TListView):
>

TListView это не таблица. Это ListView. ListView содержит список Item'ов, которые, в свою очередь, содержат списки своих SubItem'ов.
И тут сразу возникает встречный вопрос. А как ты этот TListView заполняешь данными, если ничего не знаешь про сущность TListView? И не понимаешь как узнать содержимое конкретного SubItem'a конкретного Item'a?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо