| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Как создать в Paradox ссылку |
| Автор: User 6.4.2005, 10:24 |
| Добрый день. У меня возникла проблема. Я работаю с таблицами Paradox. Требуется в таблице создать поле, в котором будут храниться почтовые E-mail адреса клиентов. Но мне требуется следующее. Адреса эти как в обычной страничке HTML должны быть подсвечены как голубенькие. И при нажатии на них открывалась бы почтовая служба интернета, или Outlook если он установлен. Как такое сделать? |
| Автор: DimW 6.4.2005, 11:49 |
| В разделе uses подключите ShellAPI В обработчике OnClick метки или клавиши введите следующий код. ShellExecute(Handle, 'open', 'mailto:lalala@lala.ru?par1=value1&par1=value1&...', nil, nil, SW_SHOWNORMAL); Третий параметр функции ShellExecute() - это строка в соответствии с протоколом mailto и правилами оформления URL: mailto: тип протокола (может быть http: в этом случае оставшая URL и параметры запроса). lalala@lala.ru адрес получателя, можно включать несколько адресов, разделяя из символом ";" ? разделитель параметров от адреса par1=value1 имя параметра и его значение & разделитель параметров Протокол Mailto имеет следующую форму. MAILTO:Recipients&Parameters Поле Recipients может быть пустым, одиночным адресом и состоять из нескольких адресов, разделенных символом ";" Поле Parameters дополнительно и если оно есть то должно быть отделено символом "&". Параметры должны появляться в форме пары name/value. Следующий список описывает возможные параметры: PARAMETER DESCRIPTION CC= Carbon copy (дополнительные получатели) BCC= Blind carbon copy (дополнительные получатели, адреса которых не показываются остальным получателям) SUBJECT= Subject text (тема) BODY= Body text (текст) Все данные указываемые в параметрах должны быть так называемые Internet safe characters. Используййте %0d для символа перевод строки (LF), %20 для пробела и так далее. Пример: mailto:email1;email2&cc=email3?subject=Это%20тема& body=это%20текст%20письма%0dЭто%20другая%20строка А насчет как это организовать в DBGrid смотри сюда:http://forum.vingrad.ru/index.php?showtopic=46459 |
| Автор: User 7.4.2005, 13:27 |
| Согласен. Можно написать и так: ShellExecute(GetDesktopWindow(), 'open', PChar('mailto: lala@la.ru), nil, nil, SW_SHOWNORMAL); Проблема в другом. Я использую dxDBGrid. В нем можно выставить по умолчанию на которое запускается инет. т.е. оно срабатывает если выставить www.rambler.ru но не более. ВВеди что нибудь другое, и этого эффекта не получиться. В стандартном TDBGrid есть событие OnSelectCell передает номер выбранной колонки (ACol) и строки (ARow). А в компоненте dxDBGrid этого нету. Какое свойство регулирует данные действия. И надо описать что бы клик мыши по данному столюцу, передало запись в данной ячейки. Я имею в виду что в вышеизложенном случаи я сам ручками прописываю адрес (lala@la.ru), а как сделать что бы этот адрес считывался из столбца ячейки, ведь они могут быть разными. |
| Автор: DimW 8.4.2005, 07:25 | ||
|
| Автор: User 8.4.2005, 13:05 |
| Извени что сразу не сказал. Так кто нибудь знает? |