03- Control Basico de Escritorio Remoto con Visual Basic (VB.NET)
Se trata de una mejora de las anteriores versiones de este proyecto, incluyendo un teclado en el formulario y algunas simplificaciones de interfaz.
Codigo:
FORM1
Imports System.Net.Sockets
Imports System.Text.Encoding
Imports System.Net
Imports System.IO
Imports System.Runtime.InteropServices
Public Class Form1
Public LAIP As String
Imports System.Text.Encoding
Imports System.Net
Imports System.IO
Imports System.Runtime.InteropServices
Public Class Form1
Public LAIP As String
Dim ENVIANTE As New UdpClient() 'IMAGENES
Dim RECEPTOR As New UdpClient(2000) 'IMAGENES
Dim RECEPTOR As New UdpClient(2000) 'IMAGENES
Dim ENVIANTEMENSAJES As New UdpClient() ' MENSAJES
Dim RECEPTORMENSAJES As New UdpClient(3000) ' MENSAJES
Dim RECEPTORMENSAJES As New UdpClient(3000) ' MENSAJES
Dim BM2 As Bitmap
Dim PUNTOX As Integer
Dim PUNTOY As Integer
Dim PUNTOY As Integer
<DllImport("user32.dll", CharSet:=CharSet.Auto, CallingConvention:=CallingConvention.StdCall)> _
Public Shared Sub mouse_event(dwFlags As Integer, dx As Integer, dy As Integer, cButtons As Integer, dwExtraInfo As Integer)
End Sub
Public Shared Sub mouse_event(dwFlags As Integer, dx As Integer, dy As Integer, cButtons As Integer, dwExtraInfo As Integer)
End Sub
Private Const MOUSEEVENTF_LEFTDOWN As Integer = &H2
Private Const MOUSEEVENTF_LEFTUP As Integer = &H4
Private Const MOUSEEVENTF_RIGHTDOWN As Integer = &H8
Private Const MOUSEEVENTF_RIGHTUP As Integer = &H10
Private Const MOUSEEVENTF_LEFTUP As Integer = &H4
Private Const MOUSEEVENTF_RIGHTDOWN As Integer = &H8
Private Const MOUSEEVENTF_RIGHTUP As Integer = &H10
Public Sub CLICKIZDO()
mouse_event(MOUSEEVENTF_LEFTDOWN, PUNTOX, PUNTOY, 0, 0)
mouse_event(MOUSEEVENTF_LEFTUP, PUNTOX, PUNTOY, 0, 0)
End Sub
'Public Sub CLICKDCHO()
' mouse_event(MOUSEEVENTF_RIGHTDOWN, PUNTOX, PUNTOY, 0, 0)
' mouse_event(MOUSEEVENTF_RIGHTUP, PUNTOX, PUNTOY, 0, 0)
'End Sub
mouse_event(MOUSEEVENTF_LEFTDOWN, PUNTOX, PUNTOY, 0, 0)
mouse_event(MOUSEEVENTF_LEFTUP, PUNTOX, PUNTOY, 0, 0)
End Sub
'Public Sub CLICKDCHO()
' mouse_event(MOUSEEVENTF_RIGHTDOWN, PUNTOX, PUNTOY, 0, 0)
' mouse_event(MOUSEEVENTF_RIGHTUP, PUNTOX, PUNTOY, 0, 0)
'End Sub
Private Sub MOVERMOUSE()
Cursor = New Cursor(Cursor.Current.Handle)
Cursor.Position = New Point(PUNTOX, PUNTOY)
Cursor = New Cursor(Cursor.Current.Handle)
Cursor.Position = New Point(PUNTOX, PUNTOY)
End Sub
Public Sub INSTRUCCIONES() 'ORDENES QUE EJECUTA EL RECEPTORMENSAJES
Select Case (LabelORDENRECIBIDA.Text.ToUpper)
Public Sub INSTRUCCIONES() 'ORDENES QUE EJECUTA EL RECEPTORMENSAJES
Select Case (LabelORDENRECIBIDA.Text.ToUpper)
Case "ARRIBA"
PUNTOX = Cursor.Position.X
PUNTOY = Cursor.Position.Y - 25
MOVERMOUSE()
PUNTOX = Cursor.Position.X
PUNTOY = Cursor.Position.Y - 25
MOVERMOUSE()
Case "ABAJO"
PUNTOX = Cursor.Position.X
PUNTOY = Cursor.Position.Y + 25
MOVERMOUSE()
PUNTOX = Cursor.Position.X
PUNTOY = Cursor.Position.Y + 25
MOVERMOUSE()
Case "IZQUIERDA"
PUNTOX = Cursor.Position.X - 25
PUNTOY = Cursor.Position.Y
MOVERMOUSE()
PUNTOX = Cursor.Position.X - 25
PUNTOY = Cursor.Position.Y
MOVERMOUSE()
Case "DERECHA"
PUNTOX = Cursor.Position.X + 25
PUNTOY = Cursor.Position.Y
MOVERMOUSE()
PUNTOX = Cursor.Position.X + 25
PUNTOY = Cursor.Position.Y
MOVERMOUSE()
Case "PARA"
PUNTOX = Cursor.Position.X
PUNTOY = Cursor.Position.Y
MOVERMOUSE()
PUNTOX = Cursor.Position.X
PUNTOY = Cursor.Position.Y
MOVERMOUSE()
Case "INTRO"
CLICKIZDO()
CLICKIZDO()
Case "DOBLE"
CLICKIZDO()
CLICKIZDO()
Case "STANDBY"
TimerSTANBY.Enabled = True
CLICKIZDO()
CLICKIZDO()
Case "STANDBY"
TimerSTANBY.Enabled = True
End Select
End Sub
Public Sub CAPTURA()
'CAPTURA DE PANTALLA
Dim BM As Bitmap
BM = New Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)
Dim DIBUJO As Graphics
DIBUJO = Graphics.FromImage(BM)
DIBUJO.CopyFromScreen(0, 0, 0, 0, Screen.PrimaryScreen.Bounds.Size)
DIBUJO.DrawImage(BM, 0, 0, BM.Width, BM.Height)
Public Sub CAPTURA()
'CAPTURA DE PANTALLA
Dim BM As Bitmap
BM = New Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)
Dim DIBUJO As Graphics
DIBUJO = Graphics.FromImage(BM)
DIBUJO.CopyFromScreen(0, 0, 0, 0, Screen.PrimaryScreen.Bounds.Size)
DIBUJO.DrawImage(BM, 0, 0, BM.Width, BM.Height)
'AÑADE EL CURSOR
Dim BM3 As Bitmap
BM3 = New Bitmap(BM)
Dim DIBUJO3 As Graphics
DIBUJO3 = Graphics.FromImage(BM3)
DIBUJO3.FillEllipse(Brushes.Black, Cursor.Position.X, Cursor.Position.Y, 30, 30)
DIBUJO3.DrawImage(BM3, 0, 0, BM.Width, BM.Height)
Dim BM3 As Bitmap
BM3 = New Bitmap(BM)
Dim DIBUJO3 As Graphics
DIBUJO3 = Graphics.FromImage(BM3)
DIBUJO3.FillEllipse(Brushes.Black, Cursor.Position.X, Cursor.Position.Y, 30, 30)
DIBUJO3.DrawImage(BM3, 0, 0, BM.Width, BM.Height)
'REDUCE TAMAÑO PARA EVITAR PROBLEMAS BUFFER
BM2 = New Bitmap(CInt(BM3.Width / NumericUpDown1.Value), CInt(BM3.Height / NumericUpDown1.Value))
Dim DIBUJO2 As Graphics
DIBUJO2 = Graphics.FromImage(BM2)
DIBUJO2.DrawImage(BM3, 0, 0, BM2.Width, BM2.Height)
End Sub
Dim DIBUJO2 As Graphics
DIBUJO2 = Graphics.FromImage(BM2)
DIBUJO2.DrawImage(BM3, 0, 0, BM2.Width, BM2.Height)
End Sub
Private Sub Form1_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If ButtonENVIAIMAGENES.Visible = False Then
MsgBox("HASTA PRONTO")
ElseIf ButtonRECIBEIMAGENES.Visible = False Then
LabelORDENENVIADA.Text = "STANDBY"
MsgBox("SE HA ACTIVADO STANDBY EN ESCRITORIO REMOTO")
End If
End Sub
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
RECEPTOR.Client.ReceiveTimeout = 100 'TIEMPO PARA PASAR A ESPERA
RECEPTOR.Client.Blocking = False 'RECEPTOR NO BLOQUEADO
If ButtonENVIAIMAGENES.Visible = False Then
MsgBox("HASTA PRONTO")
ElseIf ButtonRECIBEIMAGENES.Visible = False Then
LabelORDENENVIADA.Text = "STANDBY"
MsgBox("SE HA ACTIVADO STANDBY EN ESCRITORIO REMOTO")
End If
End Sub
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
RECEPTOR.Client.ReceiveTimeout = 100 'TIEMPO PARA PASAR A ESPERA
RECEPTOR.Client.Blocking = False 'RECEPTOR NO BLOQUEADO
RECEPTORMENSAJES.Client.ReceiveTimeout = 100 'TIEMPO PARA PASAR A ESPERA
RECEPTORMENSAJES.Client.Blocking = False 'RECEPTOR NO BLOQUEADO
RECEPTORMENSAJES.Client.Blocking = False 'RECEPTOR NO BLOQUEADO
End Sub
Private Sub ButtonENVIAIMAGENES_Click(sender As System.Object, e As System.EventArgs) Handles ButtonENVIAIMAGENES.Click
TextBoxTIEMPO.ReadOnly = True
OCULTACONTROL()
LabelORDENRECIBIDA.Text = "STANDBY"
ENVIAMENSAJES()
TimerSTANBY.Interval = CInt(TextBoxTIEMPO.Text)
TimerSTANBY.Enabled = True
Private Sub ButtonENVIAIMAGENES_Click(sender As System.Object, e As System.EventArgs) Handles ButtonENVIAIMAGENES.Click
TextBoxTIEMPO.ReadOnly = True
OCULTACONTROL()
LabelORDENRECIBIDA.Text = "STANDBY"
ENVIAMENSAJES()
TimerSTANBY.Interval = CInt(TextBoxTIEMPO.Text)
TimerSTANBY.Enabled = True
'Me.WindowState = FormWindowState.Minimized
End Sub
Private Sub ButtonRECIBEIMAGENES_Click(sender As System.Object, e As System.EventArgs) Handles ButtonRECIBEIMAGENES.Click
TextBoxTIEMPO.ReadOnly = True
OCULTAREMOTO()
LabelORDENENVIADA.Text = "DESPIERTA"
ENVIAMENSAJES()
TimerRECIBEIMAGENES.Enabled = True
End Sub
Private Sub ButtonRECIBEIMAGENES_Click(sender As System.Object, e As System.EventArgs) Handles ButtonRECIBEIMAGENES.Click
TextBoxTIEMPO.ReadOnly = True
OCULTAREMOTO()
LabelORDENENVIADA.Text = "DESPIERTA"
ENVIAMENSAJES()
TimerRECIBEIMAGENES.Enabled = True
End Sub
Private Sub TimerENVIAIMAGENES_Tick(sender As System.Object, e As System.EventArgs) Handles TimerENVIAIMAGENES.Tick
'ENVIA
CAPTURA()
Private Sub TimerENVIAIMAGENES_Tick(sender As System.Object, e As System.EventArgs) Handles TimerENVIAIMAGENES.Tick
'ENVIA
CAPTURA()
ENVIANTE.Connect(LAIP, 2000) 'SE CONECTA CON EL RECEPTOR
Dim ARRAY As New MemoryStream()
BM2.Save(ARRAY, Imaging.ImageFormat.Jpeg)
Dim IMAGEN_ARRAY As Byte() = ARRAY.ToArray
ENVIANTE.Send(IMAGEN_ARRAY, IMAGEN_ARRAY.Length) 'ENVIA EL MENSAJE
End Sub
Dim ARRAY As New MemoryStream()
BM2.Save(ARRAY, Imaging.ImageFormat.Jpeg)
Dim IMAGEN_ARRAY As Byte() = ARRAY.ToArray
ENVIANTE.Send(IMAGEN_ARRAY, IMAGEN_ARRAY.Length) 'ENVIA EL MENSAJE
End Sub
Private Sub TimerRECIBEIMAGENES_Tick(sender As System.Object, e As System.EventArgs) Handles TimerRECIBEIMAGENES.Tick
'RECIBE
Try
Dim IP As IPEndPoint = New IPEndPoint(IPAddress.Any, 0) 'RECIBIRA DESDE CUALQUIER IP, POR CUALQUIER PUERTO
Dim RECIBEMENSAJE As Byte() = RECEPTOR.Receive(IP) 'RECIBE EL MENSAJE EN BYTES
'RECIBE
Try
Dim IP As IPEndPoint = New IPEndPoint(IPAddress.Any, 0) 'RECIBIRA DESDE CUALQUIER IP, POR CUALQUIER PUERTO
Dim RECIBEMENSAJE As Byte() = RECEPTOR.Receive(IP) 'RECIBE EL MENSAJE EN BYTES
Dim IMAGEN As New MemoryStream(RECIBEMENSAJE)
Dim IMAGENRECIBIDA As Image = Image.FromStream(IMAGEN)
PictureBox1.Image = IMAGENRECIBIDA
Catch ex As Exception
Dim IMAGENRECIBIDA As Image = Image.FromStream(IMAGEN)
PictureBox1.Image = IMAGENRECIBIDA
Catch ex As Exception
End Try
End Sub
End Sub
Private Sub TimerRECIBEMENSAJES_Tick(sender As System.Object, e As System.EventArgs) Handles TimerRECIBEMENSAJES.Tick
Try
Dim IP As IPEndPoint = New IPEndPoint(IPAddress.Any, 0) 'RECIBIRA DESDE CUALQUIER IP, POR CUALQUIER PUERTO
Dim RECIBEMENSAJE As Byte() = RECEPTORMENSAJES.Receive(IP) 'RECIBE EL MENSAJE EN BYTES
LabelORDENRECIBIDA.Text = UTF7.GetString(RECIBEMENSAJE) 'DECODIFICA EL MENSAJE A STRING
INSTRUCCIONES() 'ORDENES QUE EJECUTA EL OTRO ORDENADOR
Try
Dim IP As IPEndPoint = New IPEndPoint(IPAddress.Any, 0) 'RECIBIRA DESDE CUALQUIER IP, POR CUALQUIER PUERTO
Dim RECIBEMENSAJE As Byte() = RECEPTORMENSAJES.Receive(IP) 'RECIBE EL MENSAJE EN BYTES
LabelORDENRECIBIDA.Text = UTF7.GetString(RECIBEMENSAJE) 'DECODIFICA EL MENSAJE A STRING
INSTRUCCIONES() 'ORDENES QUE EJECUTA EL OTRO ORDENADOR
Catch ex As Exception
End Try
End Sub
Public Sub ENVIAMENSAJES()
Try
ENVIANTEMENSAJES.Connect(LAIP, 3000) 'SE CONECTA CON EL RECEPTOR
Dim mensaje As Byte() = UTF7.GetBytes(LabelORDENENVIADA.Text) 'CODIFICA EN BYTES
ENVIANTEMENSAJES.Send(mensaje, mensaje.Length) 'ENVIA EL MENSAJE
Catch ex As Exception
Public Sub ENVIAMENSAJES()
Try
ENVIANTEMENSAJES.Connect(LAIP, 3000) 'SE CONECTA CON EL RECEPTOR
Dim mensaje As Byte() = UTF7.GetBytes(LabelORDENENVIADA.Text) 'CODIFICA EN BYTES
ENVIANTEMENSAJES.Send(mensaje, mensaje.Length) 'ENVIA EL MENSAJE
Catch ex As Exception
End Try
End Sub
End Sub
Private Sub TimerSTANBY_Tick(sender As System.Object, e As System.EventArgs) Handles TimerSTANBY.Tick
Try
Dim IP As IPEndPoint = New IPEndPoint(IPAddress.Any, 0) 'RECIBIRA DESDE CUALQUIER IP, POR CUALQUIER PUERTO
Dim RECIBEMENSAJE As Byte() = RECEPTORMENSAJES.Receive(IP) 'RECIBE EL MENSAJE EN BYTES
LabelORDENRECIBIDA.Text = UTF7.GetString(RECIBEMENSAJE) 'DECODIFICA EL MENSAJE A STRING
If LabelORDENRECIBIDA.Text = "DESPIERTA" Then
TimerENVIAIMAGENES.Enabled = True
TimerRECIBEMENSAJES.Enabled = True
TimerSTANBY.Enabled = False
End If
Try
Dim IP As IPEndPoint = New IPEndPoint(IPAddress.Any, 0) 'RECIBIRA DESDE CUALQUIER IP, POR CUALQUIER PUERTO
Dim RECIBEMENSAJE As Byte() = RECEPTORMENSAJES.Receive(IP) 'RECIBE EL MENSAJE EN BYTES
LabelORDENRECIBIDA.Text = UTF7.GetString(RECIBEMENSAJE) 'DECODIFICA EL MENSAJE A STRING
If LabelORDENRECIBIDA.Text = "DESPIERTA" Then
TimerENVIAIMAGENES.Enabled = True
TimerRECIBEMENSAJES.Enabled = True
TimerSTANBY.Enabled = False
End If
Catch ex As Exception
End Try
End Sub
End Sub
Private Sub ButtonGUARDAIMAGENES_Click(sender As System.Object, e As System.EventArgs) Handles ButtonGUARDAIMAGENES.Click
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
PictureBox1.Image.Save(SaveFileDialog1.FileName & ".JPG", Imaging.ImageFormat.Jpeg)
End If
End Sub
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
PictureBox1.Image.Save(SaveFileDialog1.FileName & ".JPG", Imaging.ImageFormat.Jpeg)
End If
End Sub
Private Sub ButtonIZQUIERDA_Click(sender As System.Object, e As System.EventArgs) Handles ButtonIZQUIERDA.Click
LabelORDENENVIADA.Text = "IZQUIERDA"
ENVIAMENSAJES()
End Sub
LabelORDENENVIADA.Text = "IZQUIERDA"
ENVIAMENSAJES()
End Sub
Private Sub ButtonARRIBA_Click(sender As System.Object, e As System.EventArgs) Handles ButtonARRIBA.Click
LabelORDENENVIADA.Text = "ARRIBA"
ENVIAMENSAJES()
End Sub
LabelORDENENVIADA.Text = "ARRIBA"
ENVIAMENSAJES()
End Sub
Private Sub ButtonDERECHA_Click(sender As System.Object, e As System.EventArgs) Handles ButtonDERECHA.Click
LabelORDENENVIADA.Text = "DERECHA"
ENVIAMENSAJES()
End Sub
LabelORDENENVIADA.Text = "DERECHA"
ENVIAMENSAJES()
End Sub
Private Sub ButtonABAJO_Click(sender As System.Object, e As System.EventArgs) Handles ButtonABAJO.Click
LabelORDENENVIADA.Text = "ABAJO"
ENVIAMENSAJES()
End Sub
LabelORDENENVIADA.Text = "ABAJO"
ENVIAMENSAJES()
End Sub
Private Sub ButtonINTRO_Click(sender As System.Object, e As System.EventArgs) Handles ButtonINTRO.Click
LabelORDENENVIADA.Text = "INTRO"
ENVIAMENSAJES()
End Sub
LabelORDENENVIADA.Text = "INTRO"
ENVIAMENSAJES()
End Sub
Private Sub ButtonDOBLE_Click(sender As System.Object, e As System.EventArgs) Handles ButtonDOBLE.Click
LabelORDENENVIADA.Text = "DOBLE"
ENVIAMENSAJES()
End Sub
LabelORDENENVIADA.Text = "DOBLE"
ENVIAMENSAJES()
End Sub
Private Sub ButtonCONECTAR_Click(sender As System.Object, e As System.EventArgs) Handles ButtonCONECTAR.Click
LISTA_DE_CONTACTOS.Show()
End Sub
Public Sub OCULTAREMOTO()
ButtonCONECTAR.Visible = False
ButtonRECIBEIMAGENES.Visible = False
ButtonENVIAIMAGENES.Visible = False
LabelORDENRECIBIDA.Visible = False
TextBoxTIEMPO.Visible = False
NumericUpDown1.Visible = False
End Sub
Public Sub OCULTACONTROL()
ButtonCONECTAR.Visible = False
ButtonENVIAIMAGENES.Visible = False
LabelORDENENVIADA.Visible = False
ButtonRECIBEIMAGENES.Visible = False
ButtonABAJO.Visible = False
ButtonARRIBA.Visible = False
ButtonIZQUIERDA.Visible = False
ButtonDERECHA.Visible = False
ButtonINTRO.Visible = False
ButtonDOBLE.Visible = False
ButtonGUARDAIMAGENES.Visible = False
PictureBox1.Visible = False
LISTA_DE_CONTACTOS.Show()
End Sub
Public Sub OCULTAREMOTO()
ButtonCONECTAR.Visible = False
ButtonRECIBEIMAGENES.Visible = False
ButtonENVIAIMAGENES.Visible = False
LabelORDENRECIBIDA.Visible = False
TextBoxTIEMPO.Visible = False
NumericUpDown1.Visible = False
End Sub
Public Sub OCULTACONTROL()
ButtonCONECTAR.Visible = False
ButtonENVIAIMAGENES.Visible = False
LabelORDENENVIADA.Visible = False
ButtonRECIBEIMAGENES.Visible = False
ButtonABAJO.Visible = False
ButtonARRIBA.Visible = False
ButtonIZQUIERDA.Visible = False
ButtonDERECHA.Visible = False
ButtonINTRO.Visible = False
ButtonDOBLE.Visible = False
ButtonGUARDAIMAGENES.Visible = False
PictureBox1.Visible = False
End Sub
End Class
End Class
LISTA DE CONTACTOS
Imports Microsoft.VisualBasic.FileIO
Imports System.Net.Sockets
Imports System.Net.Sockets
Public Class LISTA_DE_CONTACTOS
Dim DICCIONARIO As New SortedDictionary(Of String, String)
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
'CREA UN NUEVO CONTACTO Y ACTUALIZA EL FICHERO DATOS.txt Y EL LISTBOX
Dim CONTACTO As String
Dim IP As String
CONTACTO = TextBox1.Text
IP = TextBox2.Text
My.Computer.FileSystem.WriteAllText(Application.StartupPath & "\" & "CONTACTOS.txt", "$" & CONTACTO & "$" & IP & vbCrLf, True)
MsgBox("SE HA CREADO EL USUARIO: " & CONTACTO & " IP: " & IP)
ACTUALIZAR_CONTACTOS()
TextBox1.Text = ""
TextBox2.Text = ""
End Sub
Dim CONTACTO As String
Dim IP As String
CONTACTO = TextBox1.Text
IP = TextBox2.Text
My.Computer.FileSystem.WriteAllText(Application.StartupPath & "\" & "CONTACTOS.txt", "$" & CONTACTO & "$" & IP & vbCrLf, True)
MsgBox("SE HA CREADO EL USUARIO: " & CONTACTO & " IP: " & IP)
ACTUALIZAR_CONTACTOS()
TextBox1.Text = ""
TextBox2.Text = ""
End Sub
Private Sub LISTA_DE_CONTACTOS_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'AL CARGAR LLENA EL LISTBOX
ACTUALIZAR_CONTACTOS()
ACTUALIZAR_CONTACTOS()
End Sub
Public Sub ACTUALIZAR_CONTACTOS()
Public Sub ACTUALIZAR_CONTACTOS()
' VACIAMOS EL LISTBOX Y EL ARRAY DICCIONARIO
ListBox1.Items.Clear()
DICCIONARIO.Clear()
ListBox1.Items.Clear()
DICCIONARIO.Clear()
' RECORREMOS EL FICHERO CONTACTOS.txt PARA LLENAR EL LISTBOX
Dim filename As String = Application.StartupPath & "\" & "CONTACTOS.txt"
Dim fields As String()
Dim delimiter As String = "$"
Using parser As New TextFieldParser(filename)
parser.SetDelimiters(delimiter)
While Not parser.EndOfData
' Read in the fields for the current line
fields = parser.ReadFields()
' Add code here to use data in fields variable.
Dim filename As String = Application.StartupPath & "\" & "CONTACTOS.txt"
Dim fields As String()
Dim delimiter As String = "$"
Using parser As New TextFieldParser(filename)
parser.SetDelimiters(delimiter)
While Not parser.EndOfData
' Read in the fields for the current line
fields = parser.ReadFields()
' Add code here to use data in fields variable.
ListBox1.Items.Add(fields(1))
' CREAMOS UN ARRAY DE TIPO DICCIONARIO CON LOS VALORES QUE OBTENEMOS AL RECORRER EL ARCHIVO DE DATOS
DICCIONARIO.Add(fields(1), fields(2))
End While
End Using
'ORDENAMOS ALFABETICAMENTE EL LISTBOX
ListBox1.Sorted = True
End Sub
DICCIONARIO.Add(fields(1), fields(2))
End While
End Using
'ORDENAMOS ALFABETICAMENTE EL LISTBOX
ListBox1.Sorted = True
End Sub
Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
Dim ENUMERADOR As IDictionaryEnumerator
ENUMERADOR = DICCIONARIO.GetEnumerator
While ENUMERADOR.MoveNext
If ENUMERADOR.Key = ListBox1.SelectedItem Then
Form1.LAIP = ENUMERADOR.Value
Form1.LabelCONTACTO.Text = ENUMERADOR.Key
End If
End While
Dim ENUMERADOR As IDictionaryEnumerator
ENUMERADOR = DICCIONARIO.GetEnumerator
While ENUMERADOR.MoveNext
If ENUMERADOR.Key = ListBox1.SelectedItem Then
Form1.LAIP = ENUMERADOR.Value
Form1.LabelCONTACTO.Text = ENUMERADOR.Key
End If
End While
Close()
End Sub
End Class
End Sub
End Class
Hola que tal, se que esta pregunta se sale del post y del tema pero tengo una duda, cómo podría guardar los cambios realizados a una nota creada con el richtextbox, ya se guardar con el SaveFileDialog pero lo que quisiera es poder hacer que cuando vuelva abrir el archivo con un OpenFileDialog y le haga modificaciones esas se guarden al presionar guardar si me pudieras ayudar con esa duda te lo agradecería bastante, de antemano muchas gracias. Saludos
ResponderEliminarHola:
EliminarNo se si esto lo que te interesaba:
http://youtu.be/yvjCEFNsnXs
Si falta algo o no he entendido tu pregunta dejame un comentario.
Saludos.
Podrías pasarme el proyecto, luisguzboni@gmail.com, gracias
ResponderEliminar