PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Помогите с mail.ru


Помогите с mail.ru

Сообщений 1 страница 6 из 6

1

Можно ли сделать так, чтобы программа заходила на мою почту mail.ru и сообщала, есть ли новые письма?

0

2

Конкретно для Mail.Ru есть специально разработанная программа этим порталом - Mail.Ru Агент.

0

3

Для этого даже есть спец. протоколы.
IMAP и POP3.
А PB умеет работать с почтой, см. раздел "Mail" справки.

Отредактировано Paranoia (03.03.2013 11:10:50)

0

4

За основу можешь взять этот пример. http://purebasic.info/phpBB2/viewtopic.php?p=2212#2212

+1

5

Выдает:"Следующая PureLibrary отсутствует:StringExtension"

Код:
; Форум:  http://pbasic.spb.ru/phpBB2/index.php
; Автор:  Пётр
; Дата:   20 Октября 2007 года.
; OS      Windows
; Версия  1.0
; Для успешной компиляции потребуются дополнительные библиотеки: PurePOP3, PBOSL, Droopy.
; Компилятор - PureBasic 4.0

Path.s=GetTemporaryDirectory()
KeyLog.s="павпр304jibjity9040шош540лОРЗЩЕЭКРЛБuiugtiithroi"
KeyPas.s="890654рлапго756щрпвjhjyrumkgjdfhkmnhgjrfhjfjhjgt"
Global Dostup=0 : Global Count : Global MeilString.s
Gosub Nastroiki

Procedure.s HifrEncode(String.s , Key.s) ; Шифровщик
Result.s=""
Size=Len(String.s)
For i=1 To Size
  S.s=(Mid(String,i,1) )
 
  Result=Result+RSet(Str(Asc(RC4Api(s , Key))),3,"0")
Next i
ProcedureReturn Result
EndProcedure

Procedure.s HifrDecoder(String.s , Key.s) ; Дешифровщик
Result.s=""
Size=Len(String.s)
For i=1 To Size Step 3
x.s=Chr(Val(Mid(String,i,3)))
Result=Result+RC4Api(x, Key)
Next i
ProcedureReturn Result
EndProcedure

Procedure Mail(G_Login,G_Pas)
User.s = GetGadgetText(G_Login)
Pwd.s =  GetGadgetText(G_Pas)
If User<>"" And Pwd<>""
Len=Len(User)
Server.s="smtp."+Right(User, Len-FindString(User,"@",1))
Port.l = 110
If PurePOP3_OpenPOP3Connection(Server, Port, User, Pwd) = #PurePOP3_Ok
CountMessage = PurePOP3_CountMessages()
PurePOP3_ClosePOP3Connection()
Else
CountMessage= -2 ; Нет связи с инетом.
EndIf
Else
CountMessage= -3 ; Одно их полей не заполнено.
EndIf
ProcedureReturn CountMessage
EndProcedure

; Узнаём есть ли связь с инетом (автор Квиталли)
Procedure.l InternetConnected()
  Protected dwConnectionTypes.l = #INTERNET_CONNECTION_MODEM + #INTERNET_CONNECTION_LAN + #INTERNET_CONNECTION_PROXY
 
  ProcedureReturn InternetGetConnectedState_(@dwConnectionTypes,0) ; 0 - связи нет, >0 связь есть.
EndProcedure

Procedure Inet()
If Count>60 Or Dostup=1
;MessageBeep(0)
  Count=0
If InternetConnected()
  Count=0 : Dostup=0
   ;TimerKill(0,WindowID(0) ): Timer(0,10000,@Inet(),WindowID(0) )
   
   Goto X_OpenMail
   X_OpenMail1:
   
   If MeilString<>""
    MessageRequester("Почта",MeilString)
   EndIf
Else
  If Dostup=0
Dostup=1 :TimerKill(0,WindowID(0) ): Timer(0,1000,@Inet(),WindowID(0) )
EndIf
EndIf
Else
Count=Count+1
EndIf
EndProcedure

If OpenWindow(0,200,200,420,280,"Настройки",#PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_Invisible)
  If CreateGadgetList(WindowID(0))
   ScrollAreaGadget(0, 20, 10, 380,200, 350, 900, 30)
     Frame3DGadget(1,20,20,300,100,"Меил 1")
     CheckBoxGadget(2,100,30,70,15,"Включить")
     StringGadget(3,100,50,200,20,"")
     StringGadget(4,100,80,200,20,"",#PB_String_Password | #PB_String_Numeric)
     TextGadget(5,30,52,50,15,"Меил")
     TextGadget(6,30,82,50,15,"Пароль")
     
     Frame3DGadget(7,20,130,300,100,"Меил 2")
     CheckBoxGadget(8,100,30+110,70,15,"Включить")
     StringGadget(9,100,50+110,200,20,"")
     StringGadget(10,100,80+110,200,20,"",#PB_String_Password | #PB_String_Numeric)
     TextGadget(11,30,52+110,50,15,"Меил")
     TextGadget(12,30,82+110,50,15,"Пароль")
 
     Frame3DGadget(14,20,240,300,100,"Меил 3")
     CheckBoxGadget(15,100,30+220,70,15,"Включить")
     StringGadget(16,100,50+220,200,20,"")
     StringGadget(17,100,80+220,200,20,"",#PB_String_Password | #PB_String_Numeric)
     TextGadget(18,30,52+220,50,15,"Меил")
     TextGadget(19,30,82+220,50,15,"Пароль")
     
     Frame3DGadget(20,20,350,300,100,"Меил 4")
     CheckBoxGadget(21,100,30+330,70,15,"Включить")
     StringGadget(22,100,50+330,200,20,"")
     StringGadget(23,100,80+330,200,20,"",#PB_String_Password | #PB_String_Numeric)
     TextGadget(24,30,52+330,50,15,"Меил")
     TextGadget(25,30,82+330,50,15,"Пароль")
     
     Frame3DGadget(26,20,460,300,100,"Меил 5")
     CheckBoxGadget(27,100,30+440,70,15,"Включить")
     StringGadget(28,100,50+440,200,20,"")
     StringGadget(29,100,80+440,200,20,"",#PB_String_Password | #PB_String_Numeric)
     TextGadget(30,30,52+440,50,15,"Меил")
     TextGadget(31,30,82+440,50,15,"Пароль")
     
     Frame3DGadget(32,20,570,300,100,"Меил 6")
     CheckBoxGadget(33,100,30+550,70,15,"Включить")
     StringGadget(34,100,50+550,200,20,"")
     StringGadget(35,100,80+550,200,20,"",#PB_String_Password | #PB_String_Numeric)
     TextGadget(36,30,52+550,50,15,"Меил")
     TextGadget(37,30,82+550,50,15,"Пароль")
     
     Frame3DGadget(38,20,680,300,100,"Меил 7")
     CheckBoxGadget(39,100,30+660,70,15,"Включить")
     StringGadget(40,100,50+660,200,20,"")
     StringGadget(41,100,80+660,200,20,"",#PB_String_Password | #PB_String_Numeric)
     TextGadget(42,30,52+660,50,15,"Меил")
     TextGadget(43,30,82+660,50,15,"Пароль")
     
     Frame3DGadget(44,20,790,300,100,"Меил 8")
     CheckBoxGadget(45,100,30+770,70,15,"Включить")
     StringGadget(46,100,50+770,200,20,"")
     StringGadget(47,100,80+770,200,20,"",#PB_String_Password | #PB_String_Numeric)
     TextGadget(48,30,52+770,50,15,"Меил")
     TextGadget(49,30,82+770,50,15,"Пароль")
     
     Gosub Str : Gosub GadgetAktiv
     Mail(3,4)
     If AddSysTrayIcon(1, WindowID(0), ExtractIcon_(0,GetSystemDirectory()+"\sendmail.dll",0))
       
       If CreatePopupMenu(0)
         MenuItem(1, "Узнать о новых письмах")
         MenuItem(2, "Настройки")
         MenuItem(3, "О программе")
         MenuBar()
         MenuItem(4, "Выход")
       EndIf
   EndIf
   Timer(0,60,@Inet(),WindowID(0) )
    Repeat
    Event=WaitWindowEvent()
    Gadget=EventGadget()
    Type=EventType()
    Menu=EventMenu()
    Window=EventWindow()
    ; Обработка правой кнопки мышки
     If Event = #PB_Event_SysTray And Type=#PB_EventType_RightClick
     DisplayPopupMenu(0, WindowID(0)) ; показ вспывающего меню
     EndIf
     
     If Event = #PB_Event_SysTray And Type=#PB_EventType_LeftDoubleClick
      Goto M1
     EndIf
     
     If Event = #PB_Event_Menu
      Select Menu
       Case 1
   M1:
        If InternetConnected()>0
         Gosub OpenMail
         If MeilString<>""
          MessageRequester("Есть новые письма",MeilString)
         Else
          MessageRequester("Нет писем","Новых писем нет",#MB_OK )
         EndIf
        Else
         MessageRequester("Ошибка","Нет связи с инетом",#MB_OK | #MB_ICONERROR)
        EndIf
       Case 2
        HideWindow(0,0)
       Case 3
        MessageRequester("О программе", "Проверялка мейлов"+Chr(13)+"Автор  -  Пётр")
       Case 4
        Exit=1
      EndSelect
     EndIf
     
     If Window=0
      If Event=#PB_Event_CloseWindow
       HideWindow(0,1)
       Gosub SaveN
      EndIf
      If Gadget=2 Or Gadget=8 Or Gadget=15 Or Gadget=21 Or Gadget=27 Or Gadget=33 Or Gadget=39 Or Gadget=45
       Gosub GadgetAktiv
      EndIf
     EndIf
     
    Until Exit=1
    TimerKill(0,WindowID(0) )
  EndIf
EndIf
End

OpenMail:

MeilString.s=""

If InternetConnected() >0

If GetGadgetState(2)=1 ; Меил 1
MailTemp=Mail(3,4)
   If MailTemp >0 And ks1< MailTemp
     MeilString=MeilString+GetGadgetText(3)+"    "+Str(MailTemp-ks1)+Chr(13)
     ks1=MailTemp
   EndIf
   If MailTemp = -2
   MeilString=MeilString+GetGadgetText(3)+"    нет связи с мейлом!!"+Chr(13)
   EndIf
EndIf
 
If GetGadgetState(8)=1 ; Меил 2
MailTemp=Mail(9,10)
  If MailTemp >0 And ks2< MailTemp
     MeilString=MeilString+GetGadgetText(9)+"    "+Str(MailTemp-ks2)+Chr(13)
     ks2=MailTemp
   EndIf
   If MailTemp = -2
   MeilString=MeilString+GetGadgetText(9)+"    нет связи с мейлом!!"+Chr(13)
   EndIf
EndIf
 
If GetGadgetState(15)=1 ; Меил 3
MailTemp=Mail(16,17)
  If MailTemp >0 And ks3< MailTemp
     MeilString=MeilString+GetGadgetText(16)+"    "+Str(MailTemp-ks3)+Chr(13)
     ks3=MailTemp
   EndIf
   If MailTemp = -2
   MeilString=MeilString+GetGadgetText(16)+"    нет связи с мейлом!!"+Chr(13)
   EndIf
EndIf
 
If GetGadgetState(21)=1 ; Меил 4
MailTemp=Mail(22,23)
  If MailTemp >0 And ks4< MailTemp
     MeilString=MeilString+GetGadgetText(22)+"    "+Str(MailTemp-ks4)+Chr(13)
     ks4=MailTemp
   EndIf
   If MailTemp = -2
   MeilString=MeilString+GetGadgetText(22)+"    нет связи с мейлом!!"+Chr(13)
   EndIf
EndIf
 
If GetGadgetState(27)=1 ; Меил 5
MailTemp=Mail(28,29)
  If MailTemp >0 And ks5< MailTemp
     MeilString=MeilString+GetGadgetText(28)+"    "+Str(MailTemp-ks5)+Chr(13)
     ks5=MailTemp
   EndIf
   If MailTemp = -2
   MeilString=MeilString+GetGadgetText(28)+"    нет связи с мейлом!!"+Chr(13)
   EndIf
EndIf
 
If GetGadgetState(33)=1 ; Меил 6
MailTemp=Mail(34,35)
  If MailTemp >0 And ks6< MailTemp
     MeilString=MeilString+GetGadgetText(34)+"    "+Str(MailTemp-ks6)+Chr(13)
     ks6=MailTemp
   EndIf
   If MailTemp = -2
   MeilString=MeilString+GetGadgetText(34)+"    нет связи с мейлом!!"+Chr(13)
   EndIf
EndIf
 
If GetGadgetState(39)=1 ; Меил 7
MailTemp=Mail(40,41)
  If MailTemp >0 And ks7< MailTemp
     MeilString=MeilString+GetGadgetText(40)+"    "+Str(MailTemp-ks7)+Chr(13)
     ks7=MailTemp
   EndIf
   If MailTemp = -2
   MeilString=MeilString+GetGadgetText(40)+"    нет связи с мейлом!!"+Chr(13)
   EndIf
EndIf
 
If GetGadgetState(45)=1 ; Меил 8
MailTemp=Mail(46,47)
  If MailTemp >0 And ks8< MailTemp
     MeilString=MeilString+GetGadgetText(45)+"    "+Str(MailTemp-ks8)+Chr(13)
     ks8=MailTemp
   EndIf
   If MailTemp = -2
   MeilString=MeilString+GetGadgetText(45)+"    нет связи с мейлом!!"+Chr(13)
   EndIf
EndIf
  Gosub SaveN
Else
SysTrayIconToolTip(1,"Нет связи с инетом")
EndIf
Return

X_OpenMail:
Gosub OpenMail
Goto X_OpenMail1

GadgetAktiv:

If GetGadgetState(2)=1 ; Меил 1
DisableGadget(3,0)
DisableGadget(4,0)
DisableGadget(5,0)
DisableGadget(6,0)
Else
DisableGadget(3,1)
DisableGadget(4,1)
DisableGadget(5,1)
DisableGadget(6,1)
EndIf

If GetGadgetState(8)=1 ; Меил 2
DisableGadget(9,0)
DisableGadget(10,0)
DisableGadget(11,0)
DisableGadget(12,0)
Else
DisableGadget(9,1)
DisableGadget(10,1)
DisableGadget(11,1)
DisableGadget(12,1)
EndIf

If GetGadgetState(15)=1 ; Меил 3
DisableGadget(16,0)
DisableGadget(17,0)
DisableGadget(18,0)
DisableGadget(19,0)
Else
DisableGadget(16,1)
DisableGadget(17,1)
DisableGadget(18,1)
DisableGadget(19,1)
EndIf

If GetGadgetState(21)=1 ; Меил 4
DisableGadget(22,0)
DisableGadget(23,0)
DisableGadget(24,0)
DisableGadget(25,0)
Else
DisableGadget(22,1)
DisableGadget(23,1)
DisableGadget(24,1)
DisableGadget(25,1)
EndIf

If GetGadgetState(27)=1 ; Меил 5
DisableGadget(28,0)
DisableGadget(29,0)
DisableGadget(30,0)
DisableGadget(31,0)
Else
DisableGadget(28,1)
DisableGadget(29,1)
DisableGadget(30,1)
DisableGadget(31,1)
EndIf

If GetGadgetState(33)=1 ; Меил 6
DisableGadget(34,0)
DisableGadget(35,0)
DisableGadget(36,0)
DisableGadget(37,0)
Else
DisableGadget(34,1)
DisableGadget(35,1)
DisableGadget(36,1)
DisableGadget(37,1)
EndIf

If GetGadgetState(39)=1 ; Меил 7
DisableGadget(40,0)
DisableGadget(41,0)
DisableGadget(42,0)
DisableGadget(43,0)
Else
DisableGadget(40,1)
DisableGadget(41,1)
DisableGadget(42,1)
DisableGadget(43,1)
EndIf

If GetGadgetState(45)=1 ; Меил 8
DisableGadget(46,0)
DisableGadget(47,0)
DisableGadget(48,0)
DisableGadget(49,0)
Else
DisableGadget(46,1)
DisableGadget(47,1)
DisableGadget(48,1)
DisableGadget(49,1)
EndIf
Return

Str:
SetGadgetText(3,HifrDecoder(m1.s,KeyLog) )
SetGadgetText(4,HifrDecoder(p1.s,KeyPas) )

SetGadgetText(9,HifrDecoder(m2.s,KeyLog) )
SetGadgetText(10,HifrDecoder(p2.s,KeyPas) )

SetGadgetText(16,HifrDecoder(m3.s,KeyLog) )
SetGadgetText(17,HifrDecoder(p3.s,KeyPas) )

SetGadgetText(22,HifrDecoder(m4.s,KeyLog) )
SetGadgetText(23,HifrDecoder(p4.s,KeyPas) )

SetGadgetText(28,HifrDecoder(m5.s,KeyLog) )
SetGadgetText(29,HifrDecoder(p5.s,KeyPas) )

SetGadgetText(34,HifrDecoder(m6.s,KeyLog) )
SetGadgetText(35,HifrDecoder(p6.s,KeyPas) )

SetGadgetText(40,HifrDecoder(m7.s,KeyLog) )
SetGadgetText(41,HifrDecoder(p7.s,KeyPas) )

SetGadgetText(46,HifrDecoder(m8.s,KeyLog) )
SetGadgetText(47,HifrDecoder(p8.s,KeyPas) )

SetGadgetState(2,s1)
SetGadgetState(8,s2)
SetGadgetState(15,s3)
SetGadgetState(21,s4)
SetGadgetState(27,s5)
SetGadgetState(33,s6)
SetGadgetState(39,s7)
SetGadgetState(45,s8)
Return

Nastroiki:
If OpenPreferences(Path+"Qpm.mpl")
  s1=ReadPreferenceLong("s1", 0)
  m1.s=ReadPreferenceString("m1", "")
  p1.s=ReadPreferenceString("p1", "")
  ks1= ReadPreferenceLong("Меил 1", 0)

  s2=ReadPreferenceLong("s2", 0)
  m2.s=ReadPreferenceString("m2", "")
  p2.s=ReadPreferenceString("p2", "")
  ks2= ReadPreferenceLong("Меил 2", 0)
 
  s3=ReadPreferenceLong("s3", 0)
  m3.s=ReadPreferenceString("m3", "")
  p3.s=ReadPreferenceString("p3", "")
  ks3= ReadPreferenceLong("Меил 3", 0)
 
  s4=ReadPreferenceLong("s4", 0)
  m4.s=ReadPreferenceString("m4", "")
  p4.s=ReadPreferenceString("p4", "")
  ks4= ReadPreferenceLong("Меил 4", 0)
 
  s5=ReadPreferenceLong("s5", 0)
  m5.s=ReadPreferenceString("m5", "")
  p5.s=ReadPreferenceString("p5", "")
  ks5= ReadPreferenceLong("Меил 5", 0)
 
  s6=ReadPreferenceLong("s6", 0)
  m6.s=ReadPreferenceString("m6", "")
  p6.s=ReadPreferenceString("p6", "")
  ks6= ReadPreferenceLong("Меил 6", 0)
 
  s7=ReadPreferenceLong("s7", 0)
  m7.s=ReadPreferenceString("m7", "")
  p7.s=ReadPreferenceString("p7", "")
  ks7= ReadPreferenceLong("Меил 7", 0)
 
  s8=ReadPreferenceLong("s8", 0)
  m8.s=ReadPreferenceString("m8", "")
  p8.s=ReadPreferenceString("p8", "")
  ks8= ReadPreferenceLong("Меил 8", 0)
err=0
ClosePreferences()
Else
err=1
EndIf
Return

SaveN:
If CreatePreferences(Path+"Qpm.mpl")
 
  WritePreferenceLong("s1", GetGadgetState(2))
  WritePreferenceString("m1", HifrEncode(GetGadgetText(3),KeyLog) )
  WritePreferenceString("p1", HifrEncode(GetGadgetText(4),KeyPas) )
  WritePreferenceLong("Меил 1",ks1 )

 
  WritePreferenceLong("s2", GetGadgetState(8))
  WritePreferenceString("m2", HifrEncode(GetGadgetText(9),KeyLog) )
  WritePreferenceString("p2", HifrEncode(GetGadgetText(10),KeyPas) )
  WritePreferenceLong("Меил 2",ks2 )
 
  WritePreferenceLong("s3", GetGadgetState(15))
  WritePreferenceString("m3", HifrEncode(GetGadgetText(16),KeyLog) )
  WritePreferenceString("p3", HifrEncode(GetGadgetText(17),KeyPas) )
  WritePreferenceLong("Меил 3",ks3 )
 
 
  WritePreferenceLong("s4", GetGadgetState(21))
  WritePreferenceString("m4", HifrEncode(GetGadgetText(22),KeyLog) )
  WritePreferenceString("p4", HifrEncode(GetGadgetText(23),KeyPas) )
  WritePreferenceLong("Меил 4",ks4 )
 
  WritePreferenceLong("s5", GetGadgetState(27))
  WritePreferenceString("m5", HifrEncode(GetGadgetText(28),KeyLog) )
  WritePreferenceString("p5", HifrEncode(GetGadgetText(29),KeyPas) )
  WritePreferenceLong("Меил 5",ks5 )
 
  WritePreferenceLong("s6", GetGadgetState(33))
  WritePreferenceString("m6", HifrEncode(GetGadgetText(34),KeyLog) )
  WritePreferenceString("p6", HifrEncode(GetGadgetText(35),KeyPas) )
  WritePreferenceLong("Меил 6",ks6 )
 
  WritePreferenceLong("s7", GetGadgetState(39))
  WritePreferenceString("m7", HifrEncode(GetGadgetText(40),KeyLog) )
  WritePreferenceString("p7", HifrEncode(GetGadgetText(41),KeyPas) )
  WritePreferenceLong("Меил 7",ks7 )
 
  WritePreferenceLong("s8", GetGadgetState(45))
  WritePreferenceString("m8", HifrEncode(GetGadgetText(46),KeyLog) )
  WritePreferenceString("p8", HifrEncode(GetGadgetText(47),KeyPas) )
  WritePreferenceLong("Меил 8",ks8 )
ClosePreferences()
 
EndIf
 
Return

0

6

Кирилл написал(а):

отсутствует:StringExtension

Судя по всему, были установлены библиотеки не той версии.

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Помогите с mail.ru