Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск в подстроке по шаблону 
:(
    Опции темы
masterofmind
Дата 10.10.2007, 10:07 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 1.4.2007

Репутация: нет
Всего: нет



Доброго всем времени суток, сразу сорри мб за повтор или оффтоп, но есть такая ситуация:

Существует строка неопределённой длинны(текст е-майл) в которой существует подстрока подобного плана:
----Текст-----------------
....02.10.07.......
...................................
----Конец текста------
Причем данная дата постоянно меняется.

Что нада:
Функция которая б искала по всему телу письма подобную комбинацию, выдерала её и конверртировала в один постоянный формат даты

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

Возможно ли такое в принципе??? Как привязать поиск по подстроке в InStr по шаблону, никогда с таким не сталкивался.

Заранее огромное спасибо!

Это сообщение отредактировал(а) masterofmind - 10.10.2007, 10:10
PM MAIL   Вверх
Akina
Дата 10.10.2007, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Зачем использовать поиск (InStr), когда много разумнее сразу использовать замену (Replace)?

Или опишите задачу более внятно.
Цитата(masterofmind @  10.10.2007,  11:07 Найти цитируемый пост)
Нужно для разбиения все аттачей по папкам на винте с указанной в письме датой.

А почему бы не поручить эту работу почтовому клиенту? Почти любой это умеет (ОutLook - не в счет).


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
masterofmind
Дата 10.10.2007, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 1.4.2007

Репутация: нет
Всего: нет



Не уверен что почтовый клиент сможет сделать то, что мне нужно...аоэтому остановился на аутлуке с его возможностью написания скриптов.
Хорошо, попытаюсь описать задачу:

На ящик приходят письма с фиксированного адреса, в аттачах писем содержаться документы, (в одном письме может быть до 20 вложений) и разных документов, мне нада отфильтровать чать этих документов по типу, а в теле письма стоит дата на какое число эти документы, т.е. письмо может прийти сегодня, а документы на след неделю + на одну и туже дату могут прийти несколько писем.

Что нужно
Обрабатывать аттачи таким образом, чтобы:
а) Выдернуть документы именно того типа что мне нужен(сделано)
б) Из тела письма получить дату, на какое число эти документы(не сделано, сразу скажу, что просить отправляющую сторону ставить дату в тему или ещё куданидь -бесполезно, т.к. буржуи... smile )
в) Полученные файлы слажить в указанную папочку на винте и создать для каждой даты свою подпапку в ней(сделано, почти)

 таким образом затык на пункте 2, прошу помощи
PM MAIL   Вверх
Akina
Дата 10.10.2007, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(masterofmind @  10.10.2007,  13:27 Найти цитируемый пост)
Не уверен что почтовый клиент сможет сделать то, что мне нужно

Если ты описАл ВСЕ, и все описАл ТОЧНО - то, например, сортировщик писем TheBat! сделает это играючи...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bom
Дата 10.10.2007, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



Цитата(masterofmind @  10.10.2007,  15:27 Найти цитируемый пост)
 Из тела письма получить дату

А чем "Date:" из заголовка письма не устраивает? Или нужна какая-то другая дата?

PM MAIL   Вверх
masterofmind
Дата 10.10.2007, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 1.4.2007

Репутация: нет
Всего: нет



В том то все и дело что дата содержится в теле письма и не совпадает с полем дата письма
вот в чем загвоздка...вот например:

от     [email protected]
кому мне@я.ру 
тема документы на машины
Вложения:файл1,файл2...файлN
_______________________

добрый лень. Бла-бла-бла....
..............................................
в присоединенном файле
документы на 12.10.2007
бла-бла-бла..........................

  С уважением .....Бла-бла-бла

Цитата(Akina)


Если ты описАл ВСЕ, и все описАл ТОЧНО - то, например, сортировщик писем TheBat! сделает это играючи...


Значит не точно, нету у бата таких функций, или я плохо искал.... smile 
PM MAIL   Вверх
Akina
Дата 10.10.2007, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(masterofmind @  10.10.2007,  21:16 Найти цитируемый пост)
дата содержится в теле письма 

Ах, вот оно что! мои соболезнования, аднака... да, действительно, тебе в недра Аутлука и VBA... а поиск даты по тексту проще всего выполнять с помощью регулярных выражений...

Вот только что ты будешь делать, если по тексту попадется НЕСКОЛЬКО различных дат?

Добавлено через 4 минуты и 27 секунд
Вот пример из MSDN на VBScript:

Цитата

Regular Expression (RegExp) Object


Provides simple regular expression support. 

Remarks
The following code illustrates the use of the RegExp object.

Код

Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches   ' Create variable.
   Set regEx = New RegExp   ' Create a regular expression.
   regEx.Pattern = patrn   ' Set pattern.
   regEx.IgnoreCase = True   ' Set case insensitivity.
   regEx.Global = True   ' Set global applicability.
   Set Matches = regEx.Execute(strng)   ' Execute search.
   For Each Match in Matches   ' Iterate Matches collection.
      RetStr = RetStr & "Match found at position "
      RetStr = RetStr & Match.FirstIndex & ". Match Value is '"
      RetStr = RetStr & Match.Value & "'." & vbCRLF
   Next
   RegExpTest = RetStr
End Function
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))

ПереписАть его на VB6, полагаю, не проблема? не забудь только подключить либу в референсах.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
masterofmind
Дата 23.10.2007, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 1.4.2007

Репутация: нет
Всего: нет



Цитата

Akina


Тему можно закрыть, кое как прикрутил... Для тех кому инетересно, т.к. сам долго искал:

Если в коде проекта аутлука создать процедуру вот такого типа с вот таким парамметром

Код

Sub Test (oItem as MailItem)
.....
......
end sub



То Аутлук будет воспринимать её как сценарий, и она появится в списке сценариев в нём.
Надеюсь кому нидь помог.
Тему можно закрыть. Спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0582 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.