Mac Professional Member
Joined: 08 Jul 2000 Posts: 1585 Location: Oklahoma USA
|
Posted: Sat Dec 28, 2002 8:47 pm Post subject: Email program template... |
|
|
Had a couple of requests for this code. It's not finished (and
it's been a while since I worked on it) but I think it will check
your ISP email (NOT dload it) if you fill in the required info.
I think all the controls are set up OK...
NOTE - You'll have to add a comma for a GROUP tooltip for
VDS4 (line 51). I think everything else should be VDS3 and
VDS4 compatible, but an extra comma in a GROUP causes
an error in VDS3.
Anyway, here it is - feel free to modify it as you see fit...
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Code: |
if @not(@file(@path(%0)mail_inbox, D))
DIRECTORY CREATE, @path(%0)mail_inbox
end
if @not(@file(@path(%0)mail_outbox, D))
DIRECTORY CREATE, @path(%0)mail_outbox
end
if @not(@file(@path(%0)mail_attach, D))
DIRECTORY CREATE, @path(%0)mail_attach
end
if @not(@file(@path(%0)mail_inbox, D))@not(@file(@path(%0)mail_outbox, D))@not(@file(@path(%0)mail_attach, D))
WARN "ERROR - Cannot find/create required folder(s)...."@tab()
EXIT
end
EXTERNAL VDSIPP.DLL
OPTION SCALE, 96
OPTION DECIMALSEP, "."
TITLE By Mac
%%wintitle = "Mac's Email Program"
DIALOG CREATE,%%wintitle,0,0,634,428,RESIZABLE,CLICK
DIALOG ADD,STYLE,S1,Wingdings,14,C,,BLACK
DIALOG ADD,STYLE,S2,Webdings,14,C,,BLACK
DIALOG ADD,STYLE,S2A,Webdings,12,C,,BLACK
DIALOG ADD,STYLE,S3,MS Sans Serif,8,B
DIALOG ADD,STYLE,S4,MS Sans Serif,10
DIALOG ADD,STYLE,S5,Comic Sans MS,7
DIALOG ADD,STYLE,S6,Small Fonts,7,B
DIALOG ADD,STYLE,S7,Small Fonts,7,B,,RED
DIALOG ADD,STYLE,S8,Courier New,8
DIALOG ADD,BUTTON,Setup,0,0,38,25,@chr(93),,S1
DIALOG ADD,BUTTON,Help,0,38,38,25,@chr(115),,S2
DIALOG ADD,BUTTON,Search,0,76,38,25,@chr(36),,S1
DIALOG ADD,BUTTON,AddrBook,0,114,38,25,@chr(165),,S2
DIALOG ADD,BUTTON,Compose,0,152,38,25,@chr(43),,S1
DIALOG ADD,BUTTON,Reply,0,190,38,25,@chr(63),,S1
DIALOG ADD,BUTTON,Attach,0,228,38,25,@chr(235),,S2
DIALOG ADD,BUTTON,Send,0,266,38,25,@chr(154),,S2
DIALOG ADD,BUTTON,Save,0,304,38,25,@chr(60),,S1
DIALOG ADD,BUTTON,Print,0,342,38,25,@chr(202),,S2
DIALOG ADD,BUTTON,Delete,0,380,38,25,@chr(114),,S2
DIALOG ADD,BUTTON,Move,0,418,38,25,@chr(96),,S2
DIALOG ADD,BUTTON,GoInbox,0,456,38,25,@chr(202),,S1
DIALOG ADD,BUTTON,GoOutbox,0,494,38,25,@chr(198),,S1
DIALOG ADD,BUTTON,GoSent,0,532,38,25,@chr(216),,S1
DIALOG ADD,BUTTON,SendRec,0,570,64,25,@chr(44),,S1
DIALOG ADD,GROUP,G1,23,-1,636,16,,S2
DIALOG ADD,TEXT,T1,24,7,,,"Setup Help Search Address Compose Reply Attach Send Save Print Delete Move Inbox Outbox Sent Send/Receive",,S5,TRANSPARENT
DIALOG ADD,TEXT,T3,39,0,,10,"Atch To-From Subject Sent-Received",,S6
rem -- Resized/moved elements ---------------------------------
DIALOG ADD,LIST,L1,50,0,634,46,,CLICK,DBLCLICK,S8
DIALOG ADD,BUTTON,Up,97,1,16,10,@chr(53),,S2A
DIALOG ADD,BUTTON,Down,107,1,16,10,@chr(54),,S2A
DIALOG ADD,TEXT,T4,96,24,,," To"@cr()"From",,S6
DIALOG ADD,EDIT,E1,97,54,150,20
DIALOG ADD,TEXT,T5,102,212,,,"Subject",,S6
DIALOG ADD,EDIT,E2,97,253,180,20
DIALOG ADD,TEXT,Stat,96,434,,,"INBOX",,S7
DIALOG ADD,PROGRESS,Progbar,107,434,200,10
DIALOG ADD,EDIT,E3,118,0,634,280,,,MULTI,SCROLL,S4
DIALOG ADD,LIST,L2,399,0,634,30,,CLICK
rem -----------------------------------------------------------
DIALOG SHOW
rem -- Current box being viewed --
%%box = "INBOX"
rem -- Center divide --
%%median = 100
LIST ADD,L1,0 Test1
LIST ADD,L1,0 Test2
LIST ADD,L1,0 Test3
LIST ADD,L1,0 Test4
LIST ADD,L2,Attach1
LIST ADD,L2,Attach2
LIST ADD,L2,Attach3
GOSUB LoadInbox
:CancelMENU
:EVLOOP
if @not(%%child)
DIALOG FOCUS, L1
DIALOG SET, Stat, %%box
end
%e = @event()
WAIT EVENT
rem -- %e is event, %d is dialog number that issued it (0,1,2,etc.) --
PARSE "%e;%d", @event(d)
goto %e
:CLICK
GOSUB CloseChild
goto EVLOOP
:RESIZE
%%width = @diff(@winpos(%%wintitle, W), 8)
%%height = @winpos(%%wintitle, H)
DIALOG SETPOS,L1,,,%%width,@diff(%%median, 54)
DIALOG SETPOS,Up,@diff(%%median, 3)
DIALOG SETPOS,Down,@sum(%%median, 7)
DIALOG SETPOS,T4,@diff(%%median, 4)
DIALOG SETPOS,E1,@diff(%%median, 3)
DIALOG SETPOS,T5,@sum(%%median, 2)
DIALOG SETPOS,E2,@diff(%%median, 3)
DIALOG SETPOS,Stat,@diff(%%median, 4)
DIALOG SETPOS,Progbar,@sum(%%median, 7)
DIALOG SETPOS,E3,@sum(%%median, 18),,%%width,@diff(@diff(%%height, 57),@sum(%%median, 18))
DIALOG SETPOS,L2,@diff(%%height, 56),,%%width
goto EVLOOP
:UpBUTTON
if @greater(%%median, 100)
%%median = @diff(%%median, 100)
end
goto RESIZE
:DownBUTTON
if @greater(@diff(@winpos(%%wintitle, H), %%median), 210)
%%median = @sum(%%median, 100)
end
goto RESIZE
:SetupBUTTON
GOSUB CloseChild
GOSUB CreateSetupWindow
goto EVLOOP
:SetupOKBUTTON
%%server = @dlgtext(SetupE1)
%%user = @dlgtext(SetupE2)
%%pass = @dlgtext(SetupE3)
:SetupCancelBUTTON
GOSUB CloseChild
goto EVLOOP
:HelpBUTTON
goto EVLOOP
:SearchBUTTON
goto EVLOOP
:AddrBookBUTTON
goto EVLOOP
:ComposeBUTTON
goto EVLOOP
:ReplyBUTTON
goto EVLOOP
:AttachBUTTON
goto EVLOOP
:SaveBUTTON
goto EVLOOP
:PrintBUTTON
goto EVLOOP
:DeleteBUTTON
goto EVLOOP
:MoveBUTTON
GOSUB CloseChild
GOSUB CreateMoveWindow
goto EVLOOP
:MoveL1CLICK
:MoveCancelBUTTON
GOSUB CloseChild
goto EVLOOP
:SendBUTTON
INFO Your email has been sent to the OUTBOX folder.@cr()@cr()OUTBOX items are sent to the server by pressing SEND/RECEIVE.@tab()
goto EVLOOP
:GoInboxBUTTON
goto EVLOOP
:GoOutboxBUTTON
goto EVLOOP
:GoSentBUTTON
goto EVLOOP
rem =================== SEND/RECEIVE ===================================
:SendRecBUTTON
rem -- CREATE the POP3 client and turn THREAD ON --
DIALOG SET, Stat, CREATING THREAD...
INTERNET POP3,CREATE,1
INTERNET POP3,THREADS,1,ON
WAIT ".5"
rem -- Authenticate username/password with POP3 server --
DIALOG SET, Stat, AUTHENTICATING...
INTERNET POP3,AUTHENTICATE,1,%%user,%%pass
WAIT ".5"
rem -- Connect to the server --
DIALOG SET, Stat, CONNECTING...
INTERNET POP3,CONNECT,1,%%server
rem -- Wait for "POP31ONCONNECT" event, or 10 seconds... --
WAIT EVENT, 10
if @not(@equal(@event(), "POP31ONCONNECT"))
WARN Cannot connect to POP3 server...@tab()
goto DESTROY
end
rem -- Make sure connection to the server has been made --
if @equal(@internet(pop3,connected,1),1)
rem -- return the number of email messages on the server --
DIALOG SET, Stat, CHECKING MAIL...
%%msgcount = @internet(pop3,msgcount,1)
if @greater(%%msgcount, 0)
%%num = 1
%m = ""
REPEAT
DIALOG SET, Stat, RETRIEVING MAIL %%num...
INTERNET POP3,GETHEADER,1,%%num
rem -- Wait for "POP31ONGETHEADERDONE" event, or 3 minutes... --
WAIT EVENT,180
if @equal(@event(),"POP31ONGETHEADERDONE")
%m = %m@cr()@cr()From: @internet(pop3,from,1)@cr()Subject: @internet(pop3,subject,1)@cr()@internet(pop3,msgsize,1,%%num) bytes
%%num = @succ(%%num)
else
%%num = "ERROR"
end
UNTIL @greater(%%num, %%msgcount)@equal(%%num, "ERROR")
end
else
WARN Cannot connect to mail server...@tab()
goto DESTROY
end
rem -- Disconnect from the POP3 server --
INTERNET POP3,DISCONNECT,1
rem -- Wait for "POP31ONDISCONNECT" event, or 10 seconds... --
WAIT EVENT, 10
if @not(@equal(@event(), "POP31ONDISCONNECT"))
WARN Cannot disconnect from POP3 server...@tab()
end
:DESTROY
INTERNET POP3,DESTROY,1
if @greater(%%msgcount, 0)
%t = @datetime(mm-dd-yy hh:nn am/pm)
if @file(@path(%0)gotmail.wav)
PLAY @path(%0)gotmail.wav
end
INFO "You have "%%msgcount" email(s) "%t@tab()@tab()@tab()%m
else
INFO You have no new email...@tab()
end
goto EVLOOP
rem =================== END SEND/RECEIVE ===============================
:L1CLICK
goto EVLOOP
:L1DBLCLICK
DIALOG POPUP,Cancel|Move|View|-|Delete this Email
%e = @event()
goto EVLOOP
:L2CLICK
DIALOG POPUP,Cancel|Virus Scan|View|Save As|-|Delete this Attachment
%e = @event()
goto EVLOOP
:CLOSE
if @greater(%d, 0)
DIALOG SELECT, %d
DIALOG CLOSE
rem -- Kill any extra events -
%e = @event()
%%child = ""
goto EVLOOP
end
EXIT
rem -------- SUB --------
:LoadInbox
if @greater(@count(L1), 0)
LIST SEEK, L1, @pred(@count(L1))
end
exit
:CloseChild
rem -- Only one child to be open at any time --
if %%child
DIALOG SELECT, 1
DIALOG CLOSE
%%child = ""
end
exit
:CreateSetupWindow
DIALOG CREATE,"Email Setup",-1,0,235,110,ONTOP
DIALOG ADD,TEXT,SetupT1,8,22,,,"Server"
DIALOG ADD,EDIT,SetupE1,5,55,176,19,%%server
DIALOG ADD,TEXT,SetupT2,33,5,,,"Username"
DIALOG ADD,EDIT,SetupE2,30,55,176,19,%%user
DIALOG ADD,TEXT,SetupT3,58,6,,,"Password"
DIALOG ADD,EDIT,SetupE3,55,55,176,19,%%pass
DIALOG ADD,BUTTON,SetupOK,80,55,60,25,"OK"
DIALOG ADD,BUTTON,SetupCancel,80,120,60,25,"Cancel"
DIALOG SHOW
%%child = 1
exit
:CreateMoveWindow
DIALOG CREATE,"Move To...",-1,0,235,110,ONTOP
DIALOG ADD,STYLE,MoveS1,MS Sans Serif,10,B
DIALOG ADD,LIST,MoveL1,5,5,225,65,,MoveS1,CLICK
DIALOG ADD,BUTTON,MoveCancel,80,90,60,25,"Cancel"
DIALOG SHOW
LIST ADD, MoveL1, Inbox
LIST ADD, MoveL1, Outbox
%%child = 1
exit
|
Cheers, Mac _________________ VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
|
|