|
I tell you I have a program for online connection, it runs the MAME emulator online, 3 instances open, one the main menu, the second the KAILLERA and the third the game window already executed, then when you press the ESC key the game window will close but it remains it still activates the MAME main menu window but if I go to the main form and press the ESC key it completely closes the emulator
|
|
|
|
|
What does "I have a program for online connection" mean? How does this "online" thing relate to what code is running on which machines?
|
|
|
|
|
Thank you for the time you dedicated, but I already solved the problem that it presented
|
|
|
|
|
The Process.Kill method[^] is a method of last resort. It immediately terminates the specified process without giving it a chance to clean up, and could potentially lead to system corruption.
If you want to close the application properly, you should start with the Process.CloseMainWindow method[^] instead.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Why I need to write the password when I refresh a report viewer 8.5 and visual basic. Net
|
|
|
|
|
|
Hello everyone, I comment I have the following problem. It happens that I have this code where the information sent from a TCP is added, but I can't find a way to make it so that if a user leaves the application, it is removed from the listviem without having to be selected. only with the username that is in column 1
Protected Sub ActualizarTextoMensaje(ByVal sender As Object, ByVal e As System.EventArgs)
Dim HHusuario As String = "config\usuario.txt"
Dim Usuario As String
Usuario = System.IO.File.ReadAllText(HHusuario)
Dim line As String = ContenidoMensaje
Dim parts() As String = line.Split("|"c)
Dim item As New ListViewItem()
item.Text = parts(0)
If item.Text = Usuario Then
LNetgames.Items.Remove(item)
Else
For i As Integer = 1 To parts.Length - 1
item.SubItems.Add(parts(i))
Next
LNetgames.Items.Add(item)
End If
End Sub
|
|
|
|
|
You should then first Find an item having the text of "username" in column 1. Then if it was found delete the item with the found item index.
Note that there could be more than one item in your listview!
|
|
|
|
|
Hello everyone, I have the following code that works perfectly without problems When sending the data throughout the network, but I have a problem that I cannot solve And it happens that When a client executes the program, it does Not receive the data from the other clients that are are connected only receives the data When New data Is sent.
Example someone connects And In the listview the information that the other users sent Is loaded because they are online, but If another connects they cannot see that information, what I want To Do Is To wait If a client connects again this I send you the information that Is In the listview
#Region "Variables"
Dim ElSocket As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
Dim HiloRecibir As Thread
Dim Saliendo As Boolean = False
Dim DireccIP As String, ContenidoMensaje As String
#End Region
Private Sub RecibirDatos()
Do Until Saliendo
Dim LaIPRemota As New IPEndPoint(IPAddress.Any, 0)
Dim IPRecibida As EndPoint = CType(LaIPRemota, EndPoint)
Dim RecibirBytes(255) As Byte
Dim Datos As String = ""
Try
ElSocket.ReceiveFrom(RecibirBytes, RecibirBytes.Length, SocketFlags.None, IPRecibida)
Datos = Encoding.Default.GetString(RecibirBytes)
Catch ex As SocketException
If ex.ErrorCode = 10040 Then
Datos &= "[truncado]"
Else
MsgBox("Error '" & ex.ErrorCode.ToString & "' " & ex.Message, MsgBoxStyle.Critical, " Error receiving data ")
End If
End Try
LaIPRemota = CType(IPRecibida, IPEndPoint)
DireccIP = LaIPRemota.Address.ToString
ContenidoMensaje = Datos.ToString
LNetgames.Invoke(New EventHandler(AddressOf ActualizarTextoMensaje))
Loop
End Sub
Protected Sub ActualizarTextoMensaje(ByVal sender As Object, ByVal e As System.EventArgs)
Dim line As String = ContenidoMensaje
Dim parts() As String = line.Split("|"c)
Dim item As New ListViewItem()
item.Text = parts(0)
For i As Integer = 1 To parts.Length - 1
item.SubItems.Add(parts(i))
Next
LNetgames.Items.Add(item)
End Sub
Private Sub LoadSocket()
ElSocket.Bind(New IPEndPoint(IPAddress.Any, 20145))
ElSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, True)
HiloRecibir = New Thread(AddressOf RecibirDatos)
HiloRecibir.Start()
End Sub
<Obsolete>
Private Sub EnviarDatos()
Dim IpExternal = GetComputer_InternetIP()
Dim host_name As String = Dns.GetHostName()
Dim ip_address As String = Dns.GetHostByName(host_name).AddressList(0).ToString()
Dim HHusuario As String = "config\usuario.txt"
Dim Player1 As String
Player1 = System.IO.File.ReadAllText(HHusuario)
Dim DirecciónDestino As New IPEndPoint(IPAddress.Broadcast, 20145)
Dim DatosBytes As Byte() = Encoding.Default.GetBytes(LNetgames.Text)
ElSocket.SendTo(DatosBytes, DatosBytes.Length, SocketFlags.None, DirecciónDestino)
End Sub
modified 26-Jan-22 11:52am.
|
|
|
|
|
Hi Benjamin.
I did something similar to this in Visual Basic using windows functions (DLL) in those days. I called it broadcast.
However, your issue is not very difficult because those clients that are online receive your message, but anyone just connecting will not receive it after the broadcast.
What you have to do is to store and forward your messages for the clients that are offline. You can achieve this by storing your message and client ID on a database or a file for the clients that are online at the time of sending message out, then you will have a sort of service program that will forward the message later for new clients just connecting to the network.
Remember every system has a unique computer name (ID) on windows network.
When you send the message out, you keep the IDs of those online and the service program will later forward to new online clients and store their IDs too.
Note that you may also have to generate unique message ID also to filter.
|
|
|
|
|
Hello everyone, I have the following problem. It happens that I sent some data through TCP and I receive it, but it happens that this data is all added in a single column.
Public Function Rutina()
Do
If Ejecuto = True Then
Exit Do
End If
If TCP.Pending = True Then
TCPSERVERCLI.Client = TCP.AcceptSocket
End If
If TCPSERVERCLI.Connected = True Then
If TCPSERVERCLI.Available > 0 Then
Dim DataBytes(1000) As Byte
Dim decode As New ASCIIEncoding
TCPSERVERCLI.Client.Receive(DataBytes)
Me.LNetgames.Items.Add(decode.GetString(DataBytes))
End If
End If
Loop
End Function
https://i.postimg.cc/hvkHf8V7/Screenshot-1.png
|
|
|
|
|
Because that's precisely what you've told it to do!
You need to split the string and add the elements to the columns:
Dim line As String = decode.GetString(DataBytes)
Dim parts() As String = line.Split("|"c)
Dim item As New ListViewItem()
item.Text = parts(0)
For i As Integer = 1 To parts.Length - 1
item.Subitems.Add(parts(i))
Next
Me.LNetgames.Items.Add(item)
NB: According to your screenshot, your text starts with the | character. You may need to adjust the indices on the array to skip the blank first element:
item.Text = parts(1)
For i As Integer = 2 To parts.Length - 1
...
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
thank you very much it helped me thank you for your help
|
|
|
|
|
Is it possible to extract information from pdf document with vb6?
Thank you very much in advance
|
|
|
|
|
VB6? Why? It's been dead for over 20 years now. If you're starting new development in VB6, you really need to rethink that.
If you insist on using it, you're going to have to do some research into finding a PDF library that is exposed through COM. I don't know of any straight away.
If you switch to VB.NET (which is FREE with the Visual Studio Community Edition!), you can use any of today's libraries, like PDFSharp.
|
|
|
|
|
Unfortunately I need it for vb6. I know the version is outdated, but it's the one I need right now. The next step is to develop in nodejs. This is now just a pilot project.
|
|
|
|
|
Well, you're going to have to start looking for a PDF library that you can access through COM support.
|
|
|
|
|
|
|
Story:
I have a ListBox where I add custom objects, when the user clicks these custom objects in that ListBox some WPF Controls are generated in a stackpanel, these WPF Controls are properties of the custom objects. Below you may see the class.
<pre> Public Class VariableClass
Public Property Content As String
Public Property myNameLabel As New Label
Public Property myNameTextBox As New ComboBox
Public Property myTypeLabel As New Label
Public Property myTypeTextBox As New ComboBox
Public Overrides Function ToString() As String
Return Content.ToString()
End Function
End Class
I want to know what PropertyName the control the user types into has.
<pre> Private Sub ValuePanel_PreviewKeyDown(sender As Object, e As KeyEventArgs) Handles ValuePanel.PreviewKeyDown
Dim myElement As ComboBox = e.OriginalSource.TemplatedParent
Dim myVar = GetValue(myElement).GetType().GetProperty("PropertyName")
End Sub
However myElement is not a DependencyObject and cannot be cast to one, I don't know how else to get the PropertyName or the VariableName.
|
|
|
|
|
|
Hello and thanks in advance.
I have created a form1 which is asking for a password to get to form2. After you put in your code and click on the submit button it looks at an access database table for that code, if code exists it then returns by closing form1 and shows form2.
In the access database there are 2 fields, username and password. how can I show on form2 in a text box the username which was approved to sign on in a textbox?
|
|
|
|
|
|
Thank you for the quick reply. I am trying to understand this, sorry. So I have in my button the following. So when I get to form2 (Form2.Show) how would I pull out the username from the MDB file.
Dim connab As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test\1274-Users.accdb")
REM Dim cmd As New OleDbCommand("select* from login1 where user1=@userl and pass1=@pass1", connab)
Dim cmd As New OleDbCommand("select* from login1 where pass1=@pass1", connab)
REM cmd.Parameters.Add("@userl", OleDbType.VarChar).Value = TextBox1.Text
cmd.Parameters.Add("@pass1", OleDbType.VarChar).Value = TextBox2.Text
Dim adapter1 As New OleDbDataAdapter(cmd)
Dim table As New DataTable
adapter1.Fill(table)
If table.Rows.Count <= 0 Then
MsgBox("ERROR: NO PASSWORD OR INCORRECT PASSWORD")
TextBox2.Text = ""
Else
TextBox2.Text = ""
Form2.Show()
Me.Visible = False
|
|
|
|
|
The data from the database record should be in the DataTable. Use your debugger to examine the results after the Fill operation.
|
|
|
|