![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TListView get item
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?