IZONE - http://www.izcity.com/ - бесплатный софт, вэб-сервисы, ресурсы для раскрутки, свежие номера журнала "Internet Zone".

 IZONE 


В курсе всех событий

Очень часто забываешь про различного вида праздники, дни рождения, важные даты. Особенно это касаеться тех, кто сутками проводит с компьютером. Те, вообще, забывают даже поесть или поспать. Но ведь как неприятно, когда в один прекрасный день ты узнаешь, что, оказываеться, у мамы сегодня день рождения, и ты с утра не поздравил ее. Не бывает такого ? У меня это было пару раз. Да что и говорить, случается, что некоторые забывают даже про свой день рождения. (шутка).

В этой статье мы с вами смастерим программульку, которая будет напоминать все необходимые события. Нам не потребуется никаких дополнительных программ, кроме Блокнота. И так, вся суть в том, что программа эта будет выглядить в виде скрипта, написанного на Visual Basic Script. Ниже представлен исходный текст скрипта, который я по мере возможности снабдил комментариями.

Dim objFileSystem
Dim objFile
Dim objTextStream
Dim szConfigFile
Dim szBirthday, szName, szThisYear, szNextYear, szComparisonDate
Dim szMessage
Dim iTime
Dim iDifference

szConfigFile = "C:\winnt\daten.ini" ' директория файла, из которого скрипт будет считывать 
' информацию о датах
iTime        = 14 ' количество дней, за которые программа должна предупреждать о событиях

szMessage    = ""
szThisYear   = CStr(Year(date))
szNextYear   = CStr(Year(date)+1)

Set objFileSystem = CreateObject("Scripting.FileSystemObject")

If objFileSystem.FileExists(szConfigFile) Then
 

   Set objFile = objFileSystem.OpenTextFile(szConfigFile)
 

   Do until objFile.atEndOfStream

     'Считывания информации из файла daten.ini
      szBirthday = objFile.read(6)
      szName = objFile.readLine

      ' Cколько дней осталось до следущего события?
      szComparisonDate = szBirthday & szThisYear
      iDifference = DateDiff("y", date, DateValue(szComparisonDate))
 

      if (CInt(iDifference) < 0) then
         szComparisonDate = szBirthday & szNextYear
         iDifference = DateDiff("y", date, DateValue(szComparisonDate)) 
      end if
 

      if (CInt(iDifference) <= iTime) then
         szMessage = szMessage & szName & " - " & szComparisonDate & " - еще " & iDifference & " дней" & Chr(10) 
      end if

   Loop
   objFile.close

else
   MsgBox "Die Config-Datei " & szConfigFile & " Файл с информацией не найден", vbCritical, "Ошибка"
end if

If szMessage<>"" Then
   MsgBox szMessage, vbInformation, "Ближайщие события"
End If
 

Вам требуеться скопировать выше указанный скрипт в Блокнот и сохранить его под расширением vbs (например birthdays.vbs). Всё, пол-дела сделано. Теперь требуется создать файл daten.ini (главное, что бы имя соответствовало имени, указанному в скрипте), и для этого опять же потребуеться Блокнот. Вот пример этого файла:

17.05 Ivan Draga (Вirthday)
03.06 Экзамен по социологии 
06.10 Natasha Wolf (Birthday)
01.06 Igor Nazarov (Birthday) 
09.05 День Победы (праздник)

И сохранить этот файл нужно обязательно в директорию, указанную в скрипте. В нашем случае это-c:\winnt\daten.ini. Естественно, системное время, дата должны показывать корректно, иначе события могут выскакивать в самые неожиданные моменты :))
И вот, наконец, результат работы программы :

Удобнее всего поместить ярлык от скрипта в папку Autostart  и, тогда, уж точно никакие важные события не пройдут мимо. Если же вдруг в течении ближайших двух недель (можно изменить в скрипте по своему, например, будет предупреждать только за три дня) нет никаких событий, то программа ничего не выдавая, сразу же закрывается, тем самым не надоедая пользователю по пустякам.

Вот, в принципе и все, что я хотел вам рассказать. Удачи и хорошего коннекта.
Все вопросы шлите на  l666l@mail.ru

Necrophobic 

 


Copyright © "Internet Zone"info@izcity.com
Копирование и использование данных материалов разрешается только в случае указания на журнал "Internet Zone", как на источник получения информации. При этом во всех ссылках обязательно явное указание адреса вэб-сайта http://www.izcity.com/. При наличии у копируемого материала авторов и источника информации - их также нужно указывать, наряду со ссылкой на нас.