Symbianize Forum

Most of our features and services are available only to members, so we encourage you to login or register a new account. Registration is free, fast and simple. You only need to provide a valid email. Being a member you'll gain access to all member forums and features, post a message to ask question or provide answer, and share or find resources related to mobile phones, tablets, computers, game consoles, and multimedia.

All that and more, so what are you waiting for, click the register button and join us now! Ito ang website na ginawa ng pinoy para sa pinoy!

Exclusively for Visual Basic 6.0 Programmers Only!

pwd inetwork ang MS ACCESS dabatase un nga lang open mo as SHARED ung folder nya. change mo ung connectionstring don sa program mo. pero hindi it advisable kasi open ang database mo sa buong network mo. sa experience ko ng paggamit ng MS ACCESS sa networking is gumamit ako ng MSWINSCK.OCX (masasabi kong pang advance programmer ito). ito ay ginagamit ng ibang game server (Pokemon Online - nagdedevelop ako nyan. 20% completed) tsaka ginagamit din sa chat application.

kong yan gagamitin mong architecture, mas maganda at mas mabilis compared sa sharing. meron ka dapat SERVER (process ng lahat ng query. ito lang ang connected sa database mo.) at client which is nagsesend ng query string at ang rereceived ng result from the server.


pero since networking yan, mas ok gumamit ka nlng ng MS SQL Server or MySQL. capable un sa networking since they uses TCP IP.

un lang. Good luck


meron ka pong tutorial ng paggamit ng winsock.ocx?
 
maraming tutorial nyan bro. ask mo si google at yahoo.

parang ganto lang yang structure nya. CLIENT [send query "select * from tablename"] ===>> SERVER [received from client "select * from tablename" - query sa database...] ===>> SERVER [send result sa nagquering client...] ===>> CLIENT [received result from server "Parsed the data then display kong san mo gusto i-display ang result"]


short tutorial:

try mo bro gawa ng 2 application [client and server] both app has mswinsck.ocx. add mo sa form mo.

SERVER SIDE:
objects: Microsoft Winsock Control
object name: winsock1

public variable name: MAXCN as long

1. make your mswinsck object as array (para sa multi connection). put 0 on the INDEX properties of the winsock1
2. On the Form_Load()
Private Sub Form_Load()
Winsock1(0).LocalPort = 4567 <=== ito ang port na gagamitin ng server mo
Winsock1(0).Listen <=== ito nagsasabi na pwd na mag accept ng connection ang server mo
End Sub

3. Accepting connections

Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)
MAXCN = MAXCN + 1
Load Winsock1(MAXCN) <=== since array ang ating Winsock1. need natin gawan ng bagong winsock1 object ang bawat connection na tatanggapin ng server.
Winsock1(MAXCN).Accept requestID <=== ang requestid ay unique sa winsock1 object. it ang ID ng bawat connection na naaccept ng server.
Call MsgBox("Connection accepted from " & Winsock1(MAXCN).RemoteHostIP, vbInformation, "Server") <=== obviously, messagebox lang na nagsasabi na accepted ang connection.

winsock1(MAXCN).SendData "Hello World"

End Sub


4. Getting Information from the client

Private Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim Message As String <=== itong variable ang maghahandle ng buffer mula sa client.
Winsock1(Index).GetData Message
Call MsgBox(Message, vbInformation, "From Client")
End Sub


================Tapos na ang server application.



CLIENT SIDE:

objects: Microsoft Winsock Control
object name: winsock1

sa ngaun, ang winsock natin ay hindi na array. since ito ay hindi naman nagrereceive ng incoming connection.

1. On the form_load
Private Sub Form_Load()
Winsock1.Connect "127.0.0.1", 4567 <=== String type po ang IP at Int type naman ang Port. Port 4567, ito ang port na denifine natin sa server. DAPAT TUGMA yan
End Sub

2. Data Arrival from server

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Message As String <=== naghahandle ng buffer from the server
Winsock1.GetData Message
Call MsgBox(Message, vbInformation, "From server") <=== hmmmp message box lang yan nagsasabi kong ano nareceived nyang data mula sa server. obviously "Hello World" ang lalabas kasi un ang sinend ng server.
End Sub

===============Tapos na ang Client


ayan lang po ang simple tutorial ko para sa winsock control. try nyo gawa ng chat application nyo gamit yan. ^_^ sana makatulong.
 
@:ericgmejia

2_751130578l.jpg


yan ang interface nya tol..ewan q bah sa teacher q..bigla nlng kaming pgagawin ng program na walang tinuturo.....hahahay...
sana may mkatulong sakin...
 
Last edited:
Mga Sir, bago lng po ako sa visual basic. Wla kasing natutunan sa instructor. May mga tutorials po ba kung panu malaman yung mga meaning ng codes na ginagamit?kung bakit yun ang gagamitin? kung bakit may mga declarations ng forms?at iba pa....Thanks in advance.
 
Double click u ang keyword then right click then click Definition. Ayon na meaning nya. Gud luck
 
Mga sir possible po ba tong naiisip ku.
Magseset po aku ng timer then after ma'reach nia ung time na sinet ku.
Parang automatic xang mag'gegenerate ng copy nung datagrid1 ku gnun,pero may madadagdag na dun sa nagenerate.
May madadagdag ng value dun sa nagenerate gnun.
Pcnxa na pu mejo magulo.
Kung pwede po pkitulungan naman pu,un nlang pu kasi kULang dun sa ginagawa k0ng program para sa SAD namin.
Or kung my other way naman para mkapaggenerate ng copy nung 1st datagrid gnun.
Maraming salamat pu sa tutulong
 
@:ericgmejia

2_751130578l.jpg


yan ang interface nya tol..ewan q bah sa teacher q..bigla nlng kaming pgagawin ng program na walang tinuturo.....hahahay...
sana may mkatulong sakin...

Brod gusto man kitang tulungan ei di ko maintindihan kung ano ginagawa ng program mo, wala man lang explanation tol.

bigla kayo pagagawain dahil alam nya na marunong na kayong turuan ang sarili nyo, dont blame the teacher, instead start learning.
walang kaso kung bigla kayo pagagawain, you have all the resources around you, best resource ay yung mga brain cells mo

so help me understand your problem so we can solve it

understanding the problem is half of the solution.....
 
Last edited:
Mga Sir, bago lng po ako sa visual basic. Wla kasing natutunan sa instructor. May mga tutorials po ba kung panu malaman yung mga meaning ng codes na ginagamit?kung bakit yun ang gagamitin? kung bakit may mga declarations ng forms?at iba pa....Thanks in advance.

Google brod, google......

http://www.vbtutor.net/vbtutor.html
http://visualbasic.freetutes.com/
http://www.vb6.us/

at saka open mind, willingness to learn, resourcefullness at pinaka importante: tyaga.

natuto ako sa vb3 using one book, wala pa internet nun
i copy/type the codes and try them out myself and
see how it works in front of me
 
Mga sir possible po ba tong naiisip ku.
Magseset po aku ng timer then after ma'reach nia ung time na sinet ku.
Parang automatic xang mag'gegenerate ng copy nung datagrid1 ku gnun,pero may madadagdag na dun sa nagenerate.
May madadagdag ng value dun sa nagenerate gnun.
Pcnxa na pu mejo magulo.
Kung pwede po pkitulungan naman pu,un nlang pu kasi kULang dun sa ginagawa k0ng program para sa SAD namin.
Or kung my other way naman para mkapaggenerate ng copy nung 1st datagrid gnun.
Maraming salamat pu sa tutulong

mas mabuti siguro kung i explain mo kung ano ang specific na ginagawa ng program mo, sa basa ko di mo pa masyado naiintindihan ang ipinagagawa syo.

kung malinaw ang definition ng problem mo madami makakatulong sayo, baka may maisip pa na mas magandang solution dyan

so una understand the problem,
step by step,
make a walkthrough,
saan galing, saan papunta,
ano input, ano output
then explain it clearly

dami ako questions e.
1. ano ano laman ng datagrid? saan galing ang laman?
2. ano igegenerate mo?
3. very unusual for a datagrid na may timer, ano ba talaga ang purpose nun?
4. bakit may copy ng datagrid? di ka ba kuntento sa isa lang?

sorry di ko mavisualize talaga kung ano function at purpose
help us to understand
 
@shandye2

parang ganto lang yang structure nya. CLIENT [send query "select * from tablename"] ===>> SERVER [received from client "select * from tablename" - query sa database...] ===>> SERVER [send result sa nagquering client...] ===>> CLIENT [received result from server "Parsed the data then display kong san mo gusto i-display ang result"]

Maganda yang idea mo brod, i TRIED doing that din long time ago.
Question lang, and ideas, i hope you wont mind

How do you plan to send hundreds of records over the winsock connection?
for example gusto ng client na mag display sa grid ng recordset containing 1000 records,
nakooo katakot takot na parsing yan
--- iconvert mo ba sa delimited string record by record then parse sa kabila?
--- have you considered the speed issue when sending lots of string data?
--- have you experienced na ba na nabubulunan yung recieving end kasi mas mabilis mag send kesa mag recieve at mag parse?
----have you experienced na na dikit dikit ang mga records? or improperly delimited?
----ano gagawin mo kung yung isang record e corrupted?

my suggestion is to convert it to XML, since string na yun mas madali i send at basahin sa kabilang dulo.
since recordset na sya pagdating sa kabila, yung code mo halos walang change when using ADO

Code:
Dim xmlRS As New MSXML2.DOMDocument50
Dim db as New ADODB.Connection
Dim rsTemp As New ADODB.Recordset
dim strConnect as String

strConnect = "Some valid connection string"

db.CursorLocation = adUseClient
db.open strConnect
rsTemp.Open "Select * From tblClients",DB,adStatic,adReadOnly,adCmdText
set rsTemp.ActiveConnection = Nothing

rsTemp.Save xmlRS, adPersistXML

Winsock1.SendData xmlRS.xml 'Sends the recordset as an XML
recordset

Code:
Eto naman sa kabilang dulo para mabuksan yung recordset na ipinadala

WinSock1.DataArrival:

dim strData as String
Dim xmlRS As New MSXML2.DOMDocument50
Dim rsTemp As New ADODB.Recordset

WinSock1.GetData strData
xmlRS.LoadXML strData
rsTemp.Open xmlRS

'ADO recordset ka na dito, so same coding nalang pag gusto mo i display sa ano mang control(grid, listview, etc)


i have made applications using winsock and SAXCOMM over the years, meron pa yung dumadaan sa GPRS modem and i have experience lots of limitations

best solution dyan is to use WebService or Remoting or WCF sa .NET
dun pde ka mag send ng buong dataset without worrying
kung papano dadating sa kabila, all are taken cared of.
maski over the internet gagana yan.
 
Last edited:
Ayaw na mag install ng vb6.0 ko start nung nag upgrade ako s windows 7. Not properly install daw yung os ko. Huhu.
 
@ericgmejia

ang gnagawa ko para masend ng buo ang data kht 1 billion character pa is sinesend ko ng buo. Using this kind of declaration
Dim PARSE_CHAR As String * 1

yan ang gamit ko para sa SPLIT function. Syempre may buffer dun sa client para gather lhat ng data bago iparse. Ang speed i depende kng compress mo pa ang data mo para paliit bgo isend. ASYNCHRONOUS network gamit ko para wlang prob. Mahrap pag synchronous e.
 
@shandye2



Maganda yang idea mo brod, i TRIED doing that din long time ago.
Question lang, and ideas, i hope you wont mind

How do you plan to send hundreds of records over the winsock connection?
for example gusto ng client na mag display sa grid ng recordset containing 1000 records,
nakooo katakot takot na parsing yan
--- iconvert mo ba sa delimited string record by record then parse sa kabila?
--- have you considered the speed issue when sending lots of string data?
--- have you experienced na ba na nabubulunan yung recieving end kasi mas mabilis mag send kesa mag recieve at mag parse?
----have you experienced na na dikit dikit ang mga records? or improperly delimited?
----ano gagawin mo kung yung isang record e corrupted?

my suggestion is to convert it to XML, since string na yun mas madali i send at basahin sa kabilang dulo.
since recordset na sya pagdating sa kabila, yung code mo halos walang change when using ADO

Code:
Dim xmlRS As New MSXML2.DOMDocument50
Dim db as New ADODB.Connection
Dim rsTemp As New ADODB.Recordset
dim strConnect as String

strConnect = "Some valid connection string"

db.CursorLocation = adUseClient
db.open strConnect
rsTemp.Open "Select * From tblClients",DB,adStatic,adReadOnly,adCmdText
set rsTemp.ActiveConnection = Nothing

rsTemp.Save xmlRS, adPersistXML

Winsock1.SendData xmlRS.xml 'Sends the recordset as an XML
recordset

Code:
Eto naman sa kabilang dulo para mabuksan yung recordset na ipinadala

WinSock1.DataArrival:

dim strData as String
Dim xmlRS As New MSXML2.DOMDocument50
Dim rsTemp As New ADODB.Recordset

WinSock1.GetData strData
xmlRS.LoadXML strData
rsTemp.Open xmlRS

'ADO recordset ka na dito, so same coding nalang pag gusto mo i display sa ano mang control(grid, listview, etc)


i have made applications using winsock and SAXCOMM over the years, meron pa yung dumadaan sa GPRS modem and i have experience lots of limitations

best solution dyan is to use WebService or Remoting or WCF sa .NET
dun pde ka mag send ng buong dataset without worrying
kung papano dadating sa kabila, all are taken cared of.
maski over the internet gagana yan.


@ericgmejia

ito mga sagot ko sa tanong mo sir, una hanggang huli

1. ang lahat ng recordset po ay ipapadala ng server ng buo with delimeter char na magsasabi ng kong END OF RECORD na. para madali i-parse sa client side

2. ang speed po is depende din siguro sa traffic ng network mo. kong busy ang network mo, malamang mabagal. pwd i-compress ang data para maliit lang ang ipapadalang data sa transmission medium mo then if received na lahat ng data, pwd na ibalik ulit sa original ang data.

tinest ko mag send ng 1 million characters sa local machine, LAN at WAN (dito sa wan, nagdedepende sa speed ng internet mo).

3. ang gnagawa ko para masend ng buo ang data kht 1 billion character pa is sinesend ko ng buo. Using this kind of declaration
Dim PARSE_CHAR As String * 1

yan ang gamit ko para sa SPLIT function. Syempre may buffer dun sa client para gather lhat ng data bago iparse. Ang speed i depende kng compress mo pa ang data mo para paliit bgo isend. ASYNCHRONOUS network gamit ko para wlang prob. Mahrap pag synchronous e.

since ASYNCHRONOUS po ang way ng networking ko, ang server po ay pwdng magpadala lang ng magpadala kahit na disconnected si client. hindi po mabubulunan si client kasi may BUFFER po sya na naghohold ng data. kong madetect ni client na END OF RECORD na. tsaka nya lang ipaparse ang data received from the server.

sa paraang ito po ay kalimitang ginagamit ng mga Online Game Servers.


4. (ito sagot sa last question mo) - pwd naman isama ang file size sa iyong data na ipapadala sa client para i-compare kong equal o hindi. if not, pwd ka naman magrequest ulit sa server kong ano ung last query.


un po. pasensya na doble2x na post ko pakibura ung isa.
 
@ericgmejia

ito mga sagot ko sa tanong mo sir, una hanggang huli

1. ang lahat ng recordset po ay ipapadala ng server ng buo with delimeter char na magsasabi ng kong END OF RECORD na. para madali i-parse sa client side

2. ang speed po is depende din siguro sa traffic ng network mo. kong busy ang network mo, malamang mabagal. pwd i-compress ang data para maliit lang ang ipapadalang data sa transmission medium mo then if received na lahat ng data, pwd na ibalik ulit sa original ang data.

tinest ko mag send ng 1 million characters sa local machine, LAN at WAN (dito sa wan, nagdedepende sa speed ng internet mo).

3. ang gnagawa ko para masend ng buo ang data kht 1 billion character pa is sinesend ko ng buo. Using this kind of declaration
Dim PARSE_CHAR As String * 1

yan ang gamit ko para sa SPLIT function. Syempre may buffer dun sa client para gather lhat ng data bago iparse. Ang speed i depende kng compress mo pa ang data mo para paliit bgo isend. ASYNCHRONOUS network gamit ko para wlang prob. Mahrap pag synchronous e.

since ASYNCHRONOUS po ang way ng networking ko, ang server po ay pwdng magpadala lang ng magpadala kahit na disconnected si client. hindi po mabubulunan si client kasi may BUFFER po sya na naghohold ng data. kong madetect ni client na END OF RECORD na. tsaka nya lang ipaparse ang data received from the server.

sa paraang ito po ay kalimitang ginagamit ng mga Online Game Servers.


4. (ito sagot sa last question mo) - pwd naman isama ang file size sa iyong data na ipapadala sa client para i-compare kong equal o hindi. if not, pwd ka naman magrequest ulit sa server kong ano ung last query.


un po. pasensya na doble2x na post ko pakibura ung isa.


Ok po, goodluck sa project mo
try mo SAXCOMM pag may chance ka, mas ok sya kesa MSCOMM
 
san pwd maDL yan pre or makuhanan ng info? nagmamigrate na din ako sa .NET. hehehe mga thesis
 
Last edited:
san pwd maDL yan pre or makuhanan ng info? nagmamigrate na din ako sa .NET. hehehe mga thesis

SaxComm kasi gamit namin sa mga financial communications e. like POS, ATM at credit cards

Try mo sa Sax.net, alam ko wala na yung ang VB6 nila, puro ,NET nalang.

Mas madami ka choices ng communications sa .net.
nandyan ang webservices, remoting at yung WCF
pero nandyan parin yung System.Sockets kung gusto mo, similar sa Winsock.
 
oo nga po. nagmamigrate na me sa .NET. un lang ang mahirap kasi ung pokemon online server na ginagawa ko, convert ko ulit sa VB.net o sa C#. tnx tol.
 
Mga Sir ... just want to ask one example of data report na kung saan meron pong date and time kapag ipinrint.. yung nakapost po kasi wala naman.. sige na p...

Sir Eric one question about you, teacher po ba kayo?
Ang strict niyo po kasi... tska lagi niyo po dinidepensahan yung mga instructor... (wala lang po natanung ko lang)

GOD BLESS!
 
Last edited:
@joker20

ganto po, right click mo po sa data report mo then mouse move mo don sa INSERT CONTROL then ayon pili ka ng Date and Time don (Short/Long)

^_^
 
Back
Top Bottom