Commit e2d9880342519877d9232d91228f0cabc8871e63
1 parent
341b5f1c
Exists in
master
Implementando classe VB.NET
Showing
2 changed files
with
37 additions
and
5 deletions
Show diff stats
src/native/network.cc
@@ -32,6 +32,7 @@ | @@ -32,6 +32,7 @@ | ||
32 | /*---[ Implement ]----------------------------------------------------------------------------------*/ | 32 | /*---[ Implement ]----------------------------------------------------------------------------------*/ |
33 | 33 | ||
34 | int tn3270_connect(h3270::session *ses, const char *host, time_t wait) { | 34 | int tn3270_connect(h3270::session *ses, const char *host, time_t wait) { |
35 | + debug("%s(%s,%d)",__FUNCTION__,host,(int) wait); | ||
35 | return ses->connect(host,wait); | 36 | return ses->connect(host,wait); |
36 | } | 37 | } |
37 | 38 |
testprograms/vbclass.vb
@@ -49,7 +49,7 @@ Public Class pw3270 | @@ -49,7 +49,7 @@ Public Class pw3270 | ||
49 | End Function | 49 | End Function |
50 | 50 | ||
51 | <DllImport("lib3270-mono", CallingConvention := CallingConvention.Cdecl)> _ | 51 | <DllImport("lib3270-mono", CallingConvention := CallingConvention.Cdecl)> _ |
52 | - Private Shared Function tn3270_connect(ByVal hSession As IntPtr, ByVal buffer As StringBuilder, ByVal seconds as Integer) as Integer | 52 | + Private Shared Function tn3270_connect(ByVal hSession As IntPtr, ByVal buffer As String, ByVal seconds as Integer) as Integer |
53 | End Function | 53 | End Function |
54 | 54 | ||
55 | <DllImport("lib3270-mono", CallingConvention := CallingConvention.Cdecl)> _ | 55 | <DllImport("lib3270-mono", CallingConvention := CallingConvention.Cdecl)> _ |
@@ -89,15 +89,15 @@ Public Class pw3270 | @@ -89,15 +89,15 @@ Public Class pw3270 | ||
89 | End Function | 89 | End Function |
90 | 90 | ||
91 | <DllImport("lib3270-mono", CallingConvention := CallingConvention.Cdecl)> _ | 91 | <DllImport("lib3270-mono", CallingConvention := CallingConvention.Cdecl)> _ |
92 | - Private Shared Function tn3270_set_string_at(ByVal hSession As IntPtr, ByVal row as Integer, ByVal col as Integer, ByVal buffer As StringBuilder) as Integer | 92 | + Private Shared Function tn3270_set_string_at(ByVal hSession As IntPtr, ByVal row as Integer, ByVal col as Integer, ByVal buffer As String) as Integer |
93 | End Function | 93 | End Function |
94 | 94 | ||
95 | <DllImport("lib3270-mono", CallingConvention := CallingConvention.Cdecl)> _ | 95 | <DllImport("lib3270-mono", CallingConvention := CallingConvention.Cdecl)> _ |
96 | - Private Shared Function tn3270_wait_for_string_at(ByVal hSession As IntPtr, ByVal row as Integer, ByVal col as Integer, ByVal key As StringBuilder, ByVal timeout as Integer) as Integer | 96 | + Private Shared Function tn3270_wait_for_string_at(ByVal hSession As IntPtr, ByVal row as Integer, ByVal col as Integer, ByVal key As String, ByVal timeout as Integer) as Integer |
97 | End Function | 97 | End Function |
98 | 98 | ||
99 | <DllImport("lib3270-mono", CallingConvention := CallingConvention.Cdecl)> _ | 99 | <DllImport("lib3270-mono", CallingConvention := CallingConvention.Cdecl)> _ |
100 | - Private Shared Function tn3270_cmp_string_at(ByVal hSession As IntPtr, ByVal row as Integer, ByVal col as Integer, ByVal buffer As StringBuilder) as Integer | 100 | + Private Shared Function tn3270_cmp_string_at(ByVal hSession As IntPtr, ByVal row as Integer, ByVal col as Integer, ByVal buffer As String) as Integer |
101 | End Function | 101 | End Function |
102 | 102 | ||
103 | <DllImport("lib3270-mono", CallingConvention := CallingConvention.Cdecl)> _ | 103 | <DllImport("lib3270-mono", CallingConvention := CallingConvention.Cdecl)> _ |
@@ -130,6 +130,14 @@ Public Class pw3270 | @@ -130,6 +130,14 @@ Public Class pw3270 | ||
130 | hSession = tn3270_create_session(name) | 130 | hSession = tn3270_create_session(name) |
131 | End Sub | 131 | End Sub |
132 | 132 | ||
133 | + Public Sub Connect(ByRef url as String, ByVal seconds as Integer) | ||
134 | + tn3270_connect(hSession, url, seconds) | ||
135 | + End Sub | ||
136 | + | ||
137 | + Public Sub Disconnect() | ||
138 | + tn3270_disconnect(hSession) | ||
139 | + End Sub | ||
140 | + | ||
133 | Public Sub Finalize() | 141 | Public Sub Finalize() |
134 | tn3270_destroy_session(hSession) | 142 | tn3270_destroy_session(hSession) |
135 | End Sub | 143 | End Sub |
@@ -150,6 +158,21 @@ Public Class pw3270 | @@ -150,6 +158,21 @@ Public Class pw3270 | ||
150 | End Get | 158 | End Get |
151 | End Property | 159 | End Property |
152 | 160 | ||
161 | + Public ReadOnly Property Connected As Boolean | ||
162 | + Get | ||
163 | + return tn3270_is_connected(hSession) | ||
164 | + End Get | ||
165 | + End Property | ||
166 | + | ||
167 | + Public Function GetStringAt(ByVal row as Integer, ByVal col as Integer, ByVal strlen as Integer) | ||
168 | + dim buffer As New StringBuilder(strlen) | ||
169 | + tn3270_get_string_at(hSession, row, col, buffer, strlen) | ||
170 | + return buffer.toString | ||
171 | + End Function | ||
172 | + | ||
173 | + Public Sub WaitForReady(ByVal seconds as Integer) | ||
174 | + tn3270_wait_for_ready(hSession, seconds) | ||
175 | + End Sub | ||
153 | 176 | ||
154 | 177 | ||
155 | End Class | 178 | End Class |
@@ -161,8 +184,16 @@ Public Module modmain | @@ -161,8 +184,16 @@ Public Module modmain | ||
161 | 184 | ||
162 | dim host as new pw3270("") | 185 | dim host as new pw3270("") |
163 | 186 | ||
164 | - Console.WriteLine ("Using pw3270 version " + host.Version + " revision " + host.Revision) | 187 | + Console.WriteLine("Using pw3270 version " + host.Version + " revision " + host.Revision) |
188 | + | ||
189 | + host.Connect("tn3270://zos.efglobe.com:telnet",10) | ||
190 | + | ||
191 | + if host.Connected Then | ||
192 | + | ||
193 | + Console.WriteLine(host.GetStringAt(14,19,38)) | ||
165 | 194 | ||
195 | + host.Disconnect() | ||
196 | + End If | ||
166 | 197 | ||
167 | End Sub | 198 | End Sub |
168 | 199 |