Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

Как правильно связать компонент из 3 TEdit с полем DB?   Найти похожие ветки 

 
Aleksandr ©   (2004-03-23 13:43) [0]

Сделал компонент, разрезающий/слепливающий по трем своим TEdit код страны/код города/телефон. Теперь никак не могу привязать его к полю в таблице, чтобы он брал из записи телефон и опять же разрезал его по трем своим TEdit, а из них собирал назад в поле. Догадываюсь, что надо что-то делать с TDataLink, но какие свойства и у кого переопределять?


 
bushmen ©   (2004-03-23 13:50) [1]

А что, функцию извлечения подстроки из строки уже отменили в Delphi ? :)


 
Aleksandr ©   (2004-03-23 14:47) [2]

Причем тут извлечение подстроки из строки? Компонента для визуального удобства сделана, а извлечения там внутри итак работают. Я спрашиваю, на какие события вешать обработчики для переконвертации из записи и сброса в запись из Edit"ов.


 
bushmen ©   (2004-03-23 14:57) [3]

>чтобы он брал из записи телефон и опять же разрезал его по трем >своим TEdit

А это кто писал - папа Римский? Тогда точнее ставьте вопрос!


 
Aleksandr ©   (2004-03-23 15:20) [4]

Сударь, уточните, что Вы не можете понять? Объясняю популярно:
а) есть компонент, наследник от панели, содержащий в себе 3 TEdit.
б) работа с компонентом идет через свойство PhoneNo - если я ему присвою что-то вроде +7(812)111-2233, то он по трем TEdit раскидает его как Edit1.Text="7", Edit2.Text="812", Edit3.Text="111-2233". Если я впишу в Editы значения "7","095","222-3344", то это свойство PhoneNo вернет мне "+7(095)222-3344". Это - если работать со свойством вручную.
в) А теперь возникает вопрос, как привязать этот компонент наподобие TDBEdit - чтобы при скроллинге по таблице он автоматически забирал из ее поля и отображал номер по своим трем эдитам, а в случае их редактирования также автоматически опять вносил собранный номер в поле таблицы.


 
Вованчик ©   (2004-03-23 15:27) [5]

попробуй менять на AfterScroll для таблицы значения в своем компоненте, а изменять можно сразу при вводе нового номера на OnChange твоего компонента


 
Fay ©   (2004-03-23 15:31) [6]

Если хочешь наподобие TDBEdit - сделай наподобие TDBEdit.


 
Плохиш   (2004-03-23 15:39) [7]


> Aleksandr ©   (23.03.04 15:20) [4]
> Сударь, уточните, что Вы не можете понять? Объясняю популярно:

Нам как-то твой компонент и нафиг не нужен.


 
Petr V. Abramov ©   (2004-03-23 15:45) [8]

Вычисляемые поля (2 шт) + TDBEdit (3 шт) + фрейм. Если очень нужно через обычные Edit - AfterScroll + OnChange + много геморроя


 
Alex_Bredin ©   (2004-03-23 16:15) [9]

лучше разбить ПОЛЕ на 3 поля и 3 TDBEdit, а при выводе слеплять или разлеплять- как будет угодно.


 
Соловьев ©   (2004-03-23 16:20) [10]

ИМХО - надо просто сделать нормальну структуру БД и не заморачиваться с парсингом телефонов.


 
Aleksandr ©   (2004-03-23 16:30) [11]

2 Соловьев:
Увы, структура БД не подлежит. Обратная совместимость.

2 Вованчик:
Спасибо. Просто посмотрел на RXDB-компоненты типа TRxDBDateEdit, у них там через DataLink все это организовано. Когда попытался срисовать с них, получилось почему-то односторонне - с полей компонент все отображает, а в поля заносить нифига не хочет... Вот и спросил, не ведая, что просто недоумков, которые не знают, но желают везде влезть, еще не всех отстреляли... Попробую по Вашему методу.


 
Fay ©   (2004-03-23 16:47) [12]

Отстрельщики заняты. Отстреливают тех гениев, которые не знают и срисовать не могут.


 
Aleksandr ©   (2004-03-23 17:03) [13]

Зато умельцев, как я посмотрю... оффтопы устраивать.



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

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.044 c
1-1081074775
Serious Sam
2004-04-04 14:32
2004.04.18
Как сделать, чтобы приложение запускалось в определенное время?


9-1066737453
MozG
2003-10-21 15:57
2004.04.18
Как избавиться от назначения альтернативных клавиш в DXInput?


3-1079534042
stelius
2004-03-17 17:34
2004.04.18
Transaction


3-1079809775
DIS
2004-03-20 22:09
2004.04.18
таблица (Paradox)


3-1079597149
sohat
2004-03-18 11:05
2004.04.18
Как оформить запрос к двум базам через BDE ?





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