How to do chat and file transfer software using fivewin ?

How to do chat and file transfer software using fivewin ?

Postby shahir.fivewin » Thu Aug 21, 2014 9:38 am

Dear all
Is anybody's knows about how to build chat and file transfer application or any concept for this ?
I would like to build this type of application for local network. Please share with me if anybody's have an idea about this.

Thanking You
Muhammed Shahir
User avatar
shahir.fivewin
 
Posts: 14
Joined: Thu Jun 26, 2014 10:18 am

Re: How to do chat and file transfer software using fivewin ?

Postby Antonio Linares » Fri Aug 22, 2014 12:53 am

Muhammed,

Its a very simple concept:

Just browse a shared DBF that has a field of 80 chars or so. You refresh the browse every x secs. If one of the users write on it, all the others see it :-)

A shared file will be just a line in the chat pointing to a shared donwload location visible from such chat.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41322
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: How to do chat and file transfer software using fivewin ?

Postby shahir.fivewin » Fri Aug 22, 2014 11:17 am

Dear sir,
I would like use MySQL Server for built chat application. How can i refresh xbrowse each time and fetch data from MySQL ?
User avatar
shahir.fivewin
 
Posts: 14
Joined: Thu Jun 26, 2014 10:18 am

Re: How to do chat and file transfer software using fivewin ?

Postby ShumingWang » Sat Aug 23, 2014 4:19 am

DEFINE TIMER otimer ;
INTERVAL 14000 ;
ACTION Msg() ;
OF oWnd

FUNCTION Msg(lok)
local odb1,odlg
private obrow
DEFAULT lok:=.f.


odb1:=oServer:Query("select receiver from message where receiver='"+username1+"' and lread<>'Y'";
+" union all select receiver from message where receiver='' and lread<>'Y'";
+"")
if odb1:LASTREC()>0 .or. lok
otimer:DeActivate()
if odb1:LASTREC()>0
msginfo2("您有"+cvaltochar(odb1:LASTREC())+"条新的短消息!","提示")
endif
odb1:end()
odb1:=oServer:Query("select * from message where receiver='"+username1+"' ";
+" union all select * from message where receiver=''";
+" order by dateline DESC")

DEFINE DIALOG odlg RESOURCE "msg1" TITLE "即时通信系统" FONT ofont14
obrow := TXBrowse():New( odlg )
obrow:SetMySQL(@odb1)
obrow:nMarqueeStyle:=4
obrow:bSkip:=obrow:bSkipper

oCol := obrow:AddCol()
oCol:bStrData := {||odb1:sender}
oCol:cHeader := "发送人"

oCol := obrow:AddCol()
oCol:bStrData := {||odb1:dateline}
oCol:cHeader := "发送时间"

oCol := obrow:AddCol()
oCol:bStrData := {||odb1:lread}
oCol:cHeader := "已读"

obrow:CreateFromResource(201)

REDEFINE SBUTTON ID 101 OF odlg PROMPT "创建" xp ACTION NewMsg()
REDEFINE SBUTTON ID 102 OF odlg PROMPT "查看" xp ACTION ViewMsg(@odb1)
REDEFINE SBUTTON ID 103 OF odlg PROMPT "删除" xp ACTION (oserver:query("delete from message where messageid="+cvaltochar(odb1:messageid)+if(username1=="SUPER ",""," and receiver='"+username1+"'")),odb1:refresh(),obrow:refresh(.t.))
REDEFINE SBUTTON ID 104 OF odlg PROMPT "刷新" xp ACTION (odb1:refresh(),obrow:refresh())
REDEFINE SBUTTON ID 105 OF odlg PROMPT "退出" xp ACTION odlg:end()

ACTIVATE DIALOG odlg CENTER on INIT odlg:autoresize()

otimer:ACTIVATE()
endif
odb1:end()


return

FUNCTION NewMsg(receiver)
local odlg,content:=SPACE(200)
DEFAULT receiver:=SPACE(8)


DEFINE DIALOG odlg RESOURCE "msg3" TITLE "新建短消息" FONT ofont14

REDEFINE GET receiver ID 101 OF odlg PICTURE "@!"
REDEFINE GET content ID 201 OF odlg
REDEFINE SBUTTON ID 102 OF odlg PROMPT "发送" xp ACTION (oServer:Query("insert into message (receiver,sender,dateline,content) values ('"+cvaltochar(receiver)+"','"+username1+"',now(),'"+TranMsg(content)+"')"),odlg:end())
REDEFINE SBUTTON ID 103 OF odlg PROMPT "退出" xp ACTION odlg:end()

REDEFINE SAY PROMPT "收件人" ID 901 OF odlg

ACTIVATE DIALOG odlg CENTER on INIT odlg:autoresize()

return

FUNCTION ViewMsg(odb1)
local odlg

oServer:Query("update message set lread='Y' where messageid="+cvaltochar(odb1:messageid))


DEFINE DIALOG odlg RESOURCE "msg2" TITLE "查看短消息" FONT ofont14
REDEFINE GET odb1:sender ID 101 OF odlg WHEN .f.
REDEFINE GET odb1:dateline ID 102 OF odlg WHEN .f.
REDEFINE GET odb1:content ID 201 OF odlg READONLY MEMO

REDEFINE SAY PROMPT "发件人:" ID 901 OF odlg
REDEFINE SAY PROMPT "时间" ID 902 OF odlg

REDEFINE SBUTTON ID 103 OF odlg PROMPT "回复" xp ACTION (RepMsg(odb1:sender),odlg:end())
REDEFINE SBUTTON ID 104 OF odlg PROMPT "删除" xp ACTION (oserver:query("delete from message where messageid="+cvaltochar(odb1:messageid)+if(username1=="SUPER ",""," and receiver='"+username1+"'")),odb1:refresh(),obrow:refresh(.t.),odlg:end())
REDEFINE SBUTTON ID 105 OF odlg PROMPT "退出" xp ACTION odlg:end()

ACTIVATE DIALOG odlg CENTER on INIT odlg:autoresize()

return

FUNCTION RepMsg(receiver)
local odlg,content:=space(200)


DEFINE DIALOG odlg RESOURCE "msg3" TITLE "回复短消息" FONT ofont14
REDEFINE GET receiver ID 101 OF odlg WHEN .f.
REDEFINE GET content ID 201 OF odlg

REDEFINE SAY PROMPT "收件人" ID 901 OF odlg

REDEFINE SBUTTON ID 102 OF odlg PROMPT "发出" xp ACTION (oServer:Query("insert into message (receiver,sender,dateline,content) values ('"+cvaltochar(receiver)+"','"+username1+"',now(),'"+TranMsg(content)+"')"),odlg:end())
REDEFINE SBUTTON ID 103 OF odlg PROMPT "退出" xp ACTION odlg:end()

ACTIVATE DIALOG odlg CENTER on INIT odlg:autoresize()
return
http://www.xtech2.top
Mobile:(86)13802729058
Email:100200651@qq.com
QQ:100200651
Weixin: qq100200651
ShumingWang
 
Posts: 460
Joined: Sun Oct 30, 2005 6:37 am
Location: Guangzhou(Canton),China

Re: How to do chat and file transfer software using fivewin ?

Postby shahir.fivewin » Sat Aug 23, 2014 9:59 am

Thanks
User avatar
shahir.fivewin
 
Posts: 14
Joined: Thu Jun 26, 2014 10:18 am


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 14 guests

cron