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

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

ShellExecute(Handle,'open',PCHAR(EMAIL),... - EMAIL c пробелами [D7]


TheEd ©   (2006-03-11 00:30:00) 

Господа вопрос:
делаю
ShellExecute(GetDesktopWindow,'open',PCHAR(EMail), nil, nil, SW_SHOWMAXIMIZED);
где
EMail = 'mailto: Some Name '
Так вот, если в EMail все пробелы заменить напр. '_', то всё сработает, иначе - обрежет адрес до первого пробела, т.е. до пустого значения, то же с subject'ом...

Подскажите, может пробел кодом какимто прописать надо, напр #32 или &nspb; (последний вариант не работает - проверил).

Спасибо за ответ!


TheEd   (2006-03-15 01:30:00) [1]

Спасибо всем!!!

помог palva ©   (11.03.06 17:57) [6]- %20 работает, и AbrosimovA   (13.03.06 08:31) [7]тоже помог - заключая всё кроме ключевых слов в кавычки тоже работает!

Спасибо, ребята!


Чапаев   (2006-03-13 11:07:00) [2]

Хм... Замена пробела на %20 не проходит?


AbrosimovA   (2006-03-13 08:31:00) [3]


> Достаточно двойных кавычек:
>
> ShellExecute(0, nil, '"mailto: Some Name <some_adress@mail.
> ru>?Subject=Привет, как дела?"', nil, nil, SW_SHOWNORMAL);
>


Ключевые слова, типа Mailto, Subject, Body и т.д. не должны быть внутри двойных кавычек. Если после 'Mailto:' ставите пробел, то необходимы двойные кавычки, смотрите ниже:

ShellExecute(0, nil, 'mailto: "Some Name <some_adress@mail.
> ru> "?Subject= "Привет, как дела? "', nil, nil, SW_SHOWNORMAL);


palva   (2006-03-11 17:57:00) [4]

Пробелы можно заменять на %20 и вопросительный знак тоже соответствующим кодом. Но у меня (Windows 2000) работает и с пробелами.


fellix   (2006-03-11 13:45:00) [5]

Для интереса проверил под Win98 и Win2000 - работает, наоборот, без двойных кавычек.
По идее, это зависит от версии shdocvw.dll, но глубже копать лень. :-)


fellix   (2006-03-11 11:44:00) [6]

Тогда остается только экспериментировать.
У меня с дв.кавычками ("") работает - Win2003.


TheEd   (2006-03-11 04:03:00) [7]


> Достаточно двойных кавычек:


я это первым делом проверил - не работает... :(


fellix   (2006-03-11 02:38:00) [8]

Достаточно двойных кавычек:

ShellExecute(0, nil, '"mailto: Some Name <some_adress@mail.ru>?Subject=Привет, как дела?"', nil, nil, SW_SHOWNORMAL);


TheEd   (2006-03-11 00:33:00) [9]

опечатка вверху, EMail читать так:
EMail = 'mailto: Some Name <some_adress@mail.ru > ?Subject=Привет, как дела?'

кстати, последний знак вопроса видимо тоже не сработает, т.к. он используется для склейки параметров. Но этот вопрос не важен, тем не менее кто ответит - тому спасибо!


Наверх

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