Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.04.2014, 07:02
ivankom ivankom вне форума
Прохожий
 
Регистрация: 04.02.2014
Сообщения: 21
Версия Delphi: Delphi XE5
Репутация: 10
По умолчанию Создание правил для программы

Есть программа, которая получает по IMAP письма и пресылает их на телефон в виде смс.
Нужно сделать правила, по которым письма с определенных адресов, пресылались только на указанные телефонные номера.
Думал как реализовать, может не совсем правильно, но решил сделать правила в ini файле.
Как-то так:
Цитата:
[Rule1]
email=mail1@mail.ru
recipient=+79999999;+7888888
[Rule2]
email=mail2@mail.ru
recipient=+777777777;+766666666

Теперь думаю как написать код, который будет проходить по этим правилам и если отправитель совпадает с со значением mail в правиле, то срабатывает функция отправки смс и отправляет письмо на телефоны, указанные в recipient в том же правиле.
Как это описать в коде? Или может есть более правильный способ?


P.S. программа работает как сервис, без интерфейса, поэтому правила нужно хранить отдельно, с возможностью их редактировать.
Ответить с цитированием
  #2  
Старый 23.04.2014, 07:13
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

может проще в качестве ключа использовать адрес электронки?
Код:
[Rules]
mail1@mail.ru=+79999999;+7888888
mail2@mail.ru=+777777777;+766666666 
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием
Этот пользователь сказал Спасибо dr. F.I.N. за это полезное сообщение:
ivankom (24.04.2014)
  #3  
Старый 23.04.2014, 08:16
ivankom ivankom вне форума
Прохожий
 
Регистрация: 04.02.2014
Сообщения: 21
Версия Delphi: Delphi XE5
Репутация: 10
По умолчанию

Цитата:
Сообщение от dr. F.I.N.
может проще в качестве ключа использовать адрес электронки?
Код:
[Rules]
mail1@mail.ru=+79999999;+7888888
mail2@mail.ru=+777777777;+766666666 

Кстати, да, спасибо за идею.
Т.е. я процедурой ReadSection буду считывать всю секцию.
А дальше писать условие, если эл.адрес равен какому-нибудь ключу в секции, то слать смс на номера указанные в значении ключа.
Получиться так? Можете код подсказать как написать?

Проверяю существование ключа
Код:
if IniFile.ReadSectionValues('Rules',idMessage1.From.Address') then
begin
...
end;
ругается на
Код:
E2010 Incompatible types: 'TStrings' and 'string'

Последний раз редактировалось M.A.D.M.A.N., 23.04.2014 в 10:37.
Ответить с цитированием
  #4  
Старый 23.04.2014, 18:47
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Код:
rule := INIFile.ReadString('Rules', idMessage1.From.Address, 'not exist');
if rule = 'not exist'
then ....//правило не существует
else ...//правило существует
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием
Этот пользователь сказал Спасибо dr. F.I.N. за это полезное сообщение:
ivankom (24.04.2014)
  #5  
Старый 24.04.2014, 03:27
ivankom ivankom вне форума
Прохожий
 
Регистрация: 04.02.2014
Сообщения: 21
Версия Delphi: Delphi XE5
Репутация: 10
По умолчанию

Цитата:
Сообщение от dr. F.I.N.
Код:
rule := INIFile.ReadString('Rules', idMessage1.From.Address, 'not exist');
if rule = 'not exist'
then ....//правило не существует
else ...//правило существует
Так работает, спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:41.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025