faq

Como imprimir un fichero PRN.

Simplemente debes copiar el fichero generado .PRN a la ruta donde se encuentra compartida la impresora.

FileCopy "c:.....archivo.PRN", "servidorimpresora"

Nota: Si la impresora está en LPT1… solamente cópiala a LPT1

FileCopy "c:.....archivo.PRN", "LPT1:" 

Publicado en microsoft.public.es.vb por Jhonny Vargas P.

Anuncios

Extraer el valor Rojo, Verde y Azul de un color Hexadecimal.

Con estas funciones podrás extraer el valor RGB de Rojo, Verde y Azul de un valor Hexadecimal.

Public Function RedFromRGB(ByVal RGB As Long) As Integer
   RedFromRGB = &HFF& And RGB
End Function
Public Function GreenFromRGB(ByVal RGB As Long) As Integer
   GreenFromRGB = (&HFF00& And RGB)  256
End Function
Public Function BlueFromRGB(ByVal RGB As Long) As Integer
   BlueFromRGB = (&HFF0000 And RGB)  65536
End Function

Publicado en es.comp.lenguajes.visual-basic por iNFiNiTY

Volcar el contenido de un fichero en una cadena de texto.

Crea un proyecto que contenga un TextBox (Text1) y añade el siguiente código:

Private Sub Form_Load()
    Text1.Text = "c:autoexec.bat"
    Debug.Print DameContenidoFichero(Text1.Text)
End Sub
Function DameContenidoFichero(ByVal xFicheroDatos As String) As String
    ' Devuelve en una cadena el contenido del fichero indicado
    Dim xContenido As String, lLongitud As Long, iFreeFile As Integer   
    
    iFreeFile = FreeFile()
    Open xFicheroDatos For Binary Access Read Shared As #iFreeFile
    lLongitud = LOF(iFreeFile)
    xContenido = Space(lLongitud)
    Get #iFreeFile, , xContenido
    Close #iFreeFile
    DameContenidoFichero = xContenido
End Function

En la ventana de depuración debe salirte el contenido del fichero.

Convierte una cadena de texto en Mayúsculas o Minúsculas.

Visual Basic dispone de dos funciones para convertir a mayúsculas o minúsculas una cadena de texto. Estas funciones son UCase (Upper Case) y LCase (Low Case), mayúsculas y minúsculas, respectivamente.

Crea un proyecto que contenga un TextBox (Text1) y dos CommandButton (Command1, Command2) con la propiedad Caption “Mayúsculas” y “Minúsculas”, respectivamente, y añade el siguiente código:

Private Sub Command1_Click()
    ' Convierte todo el TextBox en Mayúsculas
    Text1.Text = UCase(Text1.Text)
End Sub
Private Sub Command2_Click()
    ' Convierte todo el TextBox en Minúsculas
    Text1.Text = LCase(Text1.Text)
End Sub

También puedes hacer una función para convertir el texto en letra capital, es decir la primera letra de la frase en mayúsculas y el resto en minúsculas.

Function ConvTextCapital(Texto As String) As String
    ' Convierte el texto enviado en letra capital, la primera en mayúscula y el resto en minúsculas
    ConvTextCapital = UCase(Left$(Texto, 1)) & LCase(Mid(Texto, 2))
End Function

Cómo detectar si una tarjeta de crédito es válida

En una aplicación de comercio electrónico o una aplicación que necesite validar el número de una tarjeta de crédito, se puede hacer uso del algoritmo ISO 2894. Este algoritmo permite comprobar que la numeración de la tarjeta es correcta, pero obviamente no indica si la tarjeta sigue siendo válida (no ha sido anulada, ha caducado, etc.).

A continuación, se muestra el código Visual Basic para comprobar la validez en la numeración de una tarjeta de crédito:

1.- Crea un nuevo proyecto en Visual Basic y añade una caja de texto y un botón.

2.- Pega el siguiente código:

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' EsCCValido
'
' Valida la tarjeta de crédito de acuerdo con el algoritmo ISO 2894
' El algoritmo es:
' 1. Calcular el peso para el primer dígito: si el número de dígitos
'    es par el primer peso es 2 de lo contrario es 1. Después los
'    pesos alternan entre 1, 2, 1, 2, 1 ...
' 2. Multiplicar cada dígito por su peso
' 3. Si el resultado del 2º paso es mayor que 9, restar 9
' 4. Sumar todos los dígitos
' 5. Comprobar que el resultado es divisible por 10
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function EsCCValido(sTarjeta As String) As Boolean
    Dim iPeso As Integer
    Dim iDigito As Integer
    Dim iSuma As Integer
    Dim iContador As Integer
    Dim sNuevaTarjeta As String
    Dim cCaracter As String * 1

    iPeso = 0
    iDigito = 0
    iSuma = 0
    
    'Reemplazar cualquier no digito por una cadena vacía
    For iContador = 1 To Len(sTarjeta)
        cCaracter = Mid(sTarjeta, iContador, 1)
        If IsNumeric(cCaracter) Then
            sNuevaTarjeta = sNuevaTarjeta & cCaracter
        End If
    Next iContador
    
    ' Si es 0 devolver Falso
    If sNuevaTarjeta = 0 Then
        EsCCValido = False
        Exit Function
    End If
        
    ' Si el número de dígitos es par el primer peso es 2, de lo
    ' contrario es 1
    If (Len(sNuevaTarjeta) Mod 2) = 0 Then
        iPeso = 2
    Else
        iPeso = 1
    End If
    
    For iContador = 1 To Len(sNuevaTarjeta)
        iDigito = Mid(sNuevaTarjeta, iContador, 1) * iPeso
        If iDigito > 9 Then iDigito = iDigito - 9
        iSuma = iSuma + iDigito
        ' Cambiar peso para el siguiente dígito
        If iPeso = 2 Then
            iPeso = 1
        Else
            iPeso = 2
        End If
    Next iContador
    
    ' Devolver verdadero si la suma es divisible por 10
    If (iSuma Mod 10) = 0 Then
        EsCCValido = True
    Else
        EsCCValido = False
    End If
End Function
Private Sub btnComprobarCC_Click()
    If EsCCValido(Text1) Then
        MsgBox "Tarjeta válida"
    Else
        MsgBox "Tarjeta inválida"
    End If
End Sub

3.- Ejecuta la aplicación. En la caja de texto introduce el número de la tarjeta de crédito y pulsa el botón de comprobación. Puedes probar con 4242 4242 4242 4242 que es un número válido.

NOTA: No sé el origen de este código, alguien me lo paso, pero no tengo el remitente, lo siento.

Tutorial sobre la utilización del Control WinSock.

Contenido

Introducción a Visual Basic.
Origen y desarrollo.

Conceptos básicos de programación Cliente/Servidor.
WinSock Control en Visual Basic

Troyanos.
Definición, características y ejemplos

Comenzando a programar con WinSock Control.
Introducción a los protocolos TCP/IP y UDP
Propiedades, métodos y eventos de WinSock
Programando la primera aplicación Cliente/Servidor

Bibliografía

Introducción a Visual Basic.

Visual Basic es uno de los tantos lenguajes de programación que podemos encontrar hoy en día. Dicho lenguaje nace del BASIC (Beginner´s All-purpose Symbolic Instruction Code) que fue creado en su versión original en el Dartmouth College, con el propósito de servir a aquellas personas que estaban interesadas en iniciarse en algún lenguaje de programación. Luego de sufrir varias modificaciones, en el año 1978 se estableció el BASIC estándar. La sencillez del lenguaje ganó el desprecio de los programadores avanzados por considerarlo “un lenguaje para principiantes”.

Primero fue GW-BASIC, luego se transformó en QuickBASIC y actualmente se lo conoce como Visual Basic. La versión más reciente es la .NET que se incluye en el paquete Visual Studio .NET de Microsoft. Esta versión combina la sencillez del BASIC con un poderoso lenguaje de programación Visual que juntos permiten desarrollar robustos programas de 32 bits para plataformas Windows. Esta fusión de sencillez y la estética permitió ampliar mucho más el monopolio de Microsoft, ya que el lenguaje sólo es compatible con plataformas Windows, un sistema operativo de la misma empresa.

Visual Basic ya no es más “un lenguaje para principiantes” sino que es una perfecta alternativa para los programadores de cualquier nivel que deseen desarrollar aplicaciones compatibles con Windows. Para aquellos programadores avanzados o para quienes deseen incorporar funciones más complejas una alternativa mejor al Visual Basic es el Visual C++.

Conceptos básicos de programación Cliente/Servidor.

Un programa simple es un conjunto de instrucciones que generalmente devuelven un valor al usuario, ya sea numérico o una cadena de letras, este dato es el resultado de la acción del usuario sobre el programa, ya que el usuario fue el que solicitó el dato.

Al igual que un usuario se comunica con un programa por medio del teclado y dos personas se comunican por medio del teléfono, dos programas se pueden comunicar entre sí por medio de sockets. Visual Basic cuenta con un control especial que se denomina WinSock Control, el cual simplifica la programación de los sockets para ahorrarle tiempo al programador. Este control se encuentra bajo el nombre de archivo winsock.ocx, dicho nombre proviene de Windows Sockets.

El Winsock Control como opción predeterminada no se encuentra disponible en la barra de controles estándar de Visual Basic, para acceder a él debemos agregarlo manualmente mediante Proyecto> Componentes> y luego seleccionar WinSock Control y Aceptar. No es visible en tiempo de ejecución, lo que significa que no podremos verlo mientras nuestra aplicación se este ejecutando, no obstante podemos modificar sus propiedades en tiempo de ejecución.

Este tipo de aplicaciones Cliente-Servidor permiten comunicar programas entre sí y en consecuencia también permiten intercomunicar computadoras, porque habiendo un programa en la computadora llamada “Oscar_1” y otro en la computadora llamada “Daniel_1” ambos programas se pueden comunicar a través de Internet.

Para que el lector entienda por completo y de forma sencilla cuál es la estructura del software Cliente-Servidor vamos a dar un ejemplo bien sencillo y concreto. Un programa para administrar un cyber-café es un programa que se basa en la arquitectura Cliente-Servidor, permitiendo al dueño del local controlar/administrar las computadoras que posee. El dueño del local puede facturar el tiempo que se utilizó en cada computadora, apagar las computadoras, reiniciarlas, todo de forma ordenada y sin la necesidad de ir máquina por máquina. Como si esto no fuera poco además y por más increíble que parezca el dueño podría administrar el local desde su casa, a través de Internet, de la misma forma que lo haría si estuviese en el local, ya que el programa es el mismo, pero se utiliza a distancia gracias a la red Internet.

Troyanos

Un troyano es un aplicación “disfrazada” de un programa útil, consta de dos programas, el “Servidor” es el que se encarga de abrir un puerto en la PC a la que se quiere tener acceso y dejar el puerto a la escucha, es decir, esperando a que se realice una conexión a dicho puerto para dar acceso a la máquina. Y el “Cliente” que es el programa que se conecta al puerto que el Servidor dejó abierto, solicita que se realice la conexión y después comienza a transmitir información, solicitando datos de la PC remota, que pueden ser información del sistema, contraseñas, archivos importantes, etc.

Se pueden utilizar de dos formas completamente distintas;

  • Como herramienta de administración remota: que permite manipular el sistema a distancia, ideal para personas que necesitan urgente un archivo de la PC de su oficina y se encuentran en su casa. Se puede considerar como tal solo cuando el usuario tenga el acceso permitido a esa PC.
  • Como herramienta para hackear: (Hacking: penetrar un sistema informático sin acceso) esta es la forma de utilización que prefiere cualquier persona con una conexión a Internet y ganas de espiar lo que hace otra persona conectada a Internet o a su Red privada, también llamada LAN (Local Area Network o Red de Area Local). Pudiendo acceder a sus archivos confidenciales, contraseñas, recursos compartidos, conversaciones que toman lugar en tiempo real, o borrar archivos fundamentales tales como por ejemplo: COMMAND.COM (dejando a la PC “víctima” sin poder arrancar, a menos que el usuario “atacado” sepa iniciar desde un disco de rescate o de inicio.

Los puertos que se dejan a la escucha generalmente son muy altos, es decir puertos que pasan del número 20000, para garantizar que ningún otro programa pueda estar usándolos y cancelar la conexión del troyano.

El uso de estos programas no es ilegal a menos que el usuario final opte por entrar a la máquina remota sin autorización. En dicho caso se puede proceder legalmente de acuerdo al país en el que se encuentre la PC hacheada/víctima, es decir la computadora a la que se infiltró el hacker (hacker: persona interesada en el funcionamiento y vulnerabilidad de los sistemas operativos, lenguajes de programación y seguridad informática). Por ejemplo en EEUU se puede condenar a una larga sentencia por hacer eso, pero también hay que conocer la otra cara de la moneda, es el caso de Argentina, donde todavía no esta tipificado en el código penal la intrusión en computadoras sin autorización, esto quiere decir que no es un delito condenable, a menos que en dicha intrusión se eliminen datos.

Aquí debajo una lista de los troyanos más conocidos del Underground, es decir de la sociedad hacker, o más bien todo aquello que sea difícil de encontrar para el usuario común. La palabra UnderGround significa debajo de la tierra, lo que para la mayoría significa algo oculto y qué otro ejemplo más conciso que los programas que usa un hacker. Cabe aclarar que el uso de estos programas comunmente denominados “para hackers” no convierte a nadie pero absolutamente nadie en “hacker”. El hacker no se hace de la noche a la mañana, es más, el hacker no se hace, nace…

  • NetBus: Este “troyano” o “herramienta de administración remota” fue uno de los más difundidos en Internet, ganó un gran número de usuarios adictos al programa por su sencillez de uso y la rapidez del mismo. El tamaño del servidor (el encargado de permitir el acceso a la máquina con o sin autorización) ahora parece grande en comparación con los troyanos nuevos.
    Tamaño del servidor: 495 KB aproximadamente.

  • Back Oriffice 2000: Sin lugar a duda el troyano que más pánico causó en los últimos tiempos. Fue el preferido de todos por ser el primero que salió en Internet con una facilidad de uso impresionante y características que otros troyanos aun no imaginaban, como la renovada parte gráfica. En la última versión del programa se puede notar que fue programado para funciones de administración remota, ya que se nota la programación estructurada y concisa, sin botones de más, ni funciones innecesarias para el usuario final, la mejor versión hasta el momento.

  • SubSeven: Otro troyano que causó un gran impacto, probablemente el más usado en la actualidad, ya que el programa servidor ocupa menos aun que el servidor del NetBus o el Back Oriffice. La parte gráfica es distinta a las demás, la complementan un gran juego de “skins” (texturas, colores, etc.) y mejor facilidad de uso, además incluye nuevas funciones como la desconexión de Internet del equipo remoto, el cuelgue del módem, el cambio de resolución de la pantalla, lista de los passwords que se encuentran en el caché (las contraseñas que el usuario escribió recientemente), y los passwords de la conexión telefónica a redes, es decir la contraseña de Internet.
    Tamaño del servidor: 327 KB

  • Cybersensor: Este troyano esta programado especialmente para funcionar bajo WindowsNT. No es tan conocido como los anteriores.
    Tamaño del servidor: 29.5 KB

  • DeepThroat v2: Este programa también es bastante conocido, incluye muchas funciones muy parecidas al resto de los troyanos, como la de adquirir las contraseñas en el caché de la PC remota y las típicas funciones del resto.
    Tamaño del servidor: 304 KB

  • Dolly Trojan: Excelente troyano, lástima que no se ganó el aprecio del público porque el servidor es muy grande. Evidentemente el programador no tenía la experiencia necesaria.
    Tama

  • Girlfriend 1.35: Al contrario del Dolly Troyan este programa es muy pequeño, al igual que su servidor, por lo tanto no incluye tantas funciones.
  • InCommand v1.0: Diferente a todos los demás este programa es de tamaño medio, pero lamentablemente no pudo adquirir la atención del usuario porque no tiene suficientes funciones.
    Tamaño del servidor: 168 KB

  • NetSphere: Nuevamente, al igual que el Dolly este troyano posee un servidor muy grande por lo que se hace pesado el envío por Internet o por e-mail, lo que lleva a la gente a buscar algo menos pesado para enviar, recurriendo a otro troyano.
    Tamaño del servidor: 621 KB

  • Master Angel 97: Este troyano es uno de los menos conocidos, pero no deja de ser muy bueno.

Comenzando a programar con WinSock Control.

Protocolos TCP/IP y UDP

Como anteriormente quedó aclarado dos programas se pueden conectar entre sí a través de Internet o de una LAN.

Internet usa el protocolo TCP/IP que significa “Transmision Control Protocol / Internet Protocol”, es el que se encarga de recibir paquetes de información y redirigirlos al usuario final que los solicitó. Este protocolo es el preferido por todos ya que posee una característica que UDP le envidia, TCP/IP puede verificar que el paquete de información haya llegado con éxito al destinatario final, concretando así la transacción.

Por el contrario UDP no puede hacer esto, solo manda el paquete con la información y no verifica que haya llegado satisfactoriamente, poniendo de esta manera en peligro al paquete, ya que puede no llegar entero al destinatario y por lo tanto no sirve si el paquete no llega en su totalidad.

Todas las máquinas que están conectadas a Internet tienen asignadas un número que se forma con 4 cifras de 3 dígitos (que no pueden superar al número 255). Ejemplo del IP máximo que se puede encontrar: 255.255.255.255

 

Propiedades, métodos y eventos de WinSock.

Una vez que tenemos el WinSock control en nuestra barra de controles en Visual Basic ya podemos comenzar a ver las propiedades, eventos y métodos más importantes del control. Para agregarlo manualmente ir a Proyecto> Componentes> y luego seleccionar WinSock Control y Aceptar. Como mencionamos anteriormente este control no es visible en tiempo de ejecución.

Primero abrimos un proyecto (EXE Estándar) y colocamos en control en cualquier parte del formulario. Vamos a comenzar por ver las propiedades, estas pueden ser puestas en tiempo de diseño como también en tiempo de ejecución. A continuación las propiedades más importantes;

 

Lista de propiedades más importantes

LocalIP: Devuelve la dirección IP de la máquina local en el formato de cadena con puntos de dirección IP (xxx.xxx.xxx.xxx).

LocalHostName: Devuelve el nombre de la máquina local.

RemoteHost: Establece el equipo remoto al que se quiere solicitar la conexión.

LocalPort: Establece el puerto que se quiere dejar a la escucha.

RemotePort: Establece el número del puerto remoto al que se quiere conectar.

State: Verifica si el Control WinSock esta siendo utilizado o no.

Estas son algunas de las propiedades más importantes, y a continuación la sintaxis de cada propiedad.

Objeto.Propiedad = Valor

Donde Objeto va el nombre del Control WinSock, el nombre predeterminado cuando lo incluimos en alguna aplicación es “WinSock1”. Luego le sigue la propiedad que deseamos asignar y finalmente el valor que la misma tomará.

Entonces por ejemplo si queremos probar la propiedad LocalIP debemos seguir el ejemplo 1.

 

Ejemplo 1

Crear un Proyecto (EXE Estándar) y agregar el WinSock Control. Luego agregar una etiqueta vacía, es decir un Label. Después introducimos el siguiente código.

Private Sub Form_Load()
    Label1.caption = WinSock1.LocalIP
End Sub

Este simple ejemplo nos da de forma rápida nuestro IP, aunque no estemos conectados a Internet el IP aparece igual, solo que siempre va a tomar el valor : 127.0.0.1

Ahora que sabemos manejar las propiedades podemos seguir con los Métodos. A continuación la lista de algunos de los Métodos más importantes del Control WinSock.

 

Lista de Métodos más importantes

Accept: Sólo para las aplicaciones de servidor TCP. Este método se utiliza para aceptar una conexión entrante cuando se está tratando un evento ConnectionRequest.

GetData: Recupera el bloque actual de datos y lo almacena en una variable de tipo Variant.

Listen: Crea un socket y lo establece a modo de escucha.

SendData: Envía datos a un equipo remoto.

 

Lista de Eventos más importantes

ConnectionRequest: Se produce cuando el equipo remoto solicita una conexión. Sin este evento no se puede llevar a cabo la conexión.

Connect: Se produce cuando el equipo local se conecta al equipo remoto y se establece una conexión.

Close: Se produce cuando el equipo remoto cierra la conexión. Las aplicaciones deben usar el método Close para cerrar correctamente una conexión TCP.

DataArrival: Se produce cuando llegan nuevos datos. Este evento es importante, ya que debemos hacer algo con la información que llega.

La sintaxis de los métodos y eventos es igual a la sintaxis de las propiedades, por lo cual no vamos a hacer referencia a ella.

 

Programando la primera aplicación Cliente/Servidor.

Conociendo las propiedades, métodos y eventos del Control WinSock podemos pasar a la engorrosa labor de la programación.

Para poder programar la siguiente aplicación necesitan tener el Control WinSock en el formulario, eso siempre es fundamental para que el programa ande.

Para enterder el correcto funcionamiento del protocolo TCP/IP vamos a empezar por programar la aplicación Servidor a la cual luego se conectará el Cliente.

Comenzamos por crear un proyecto nuevo (EXE estándar) para el Servidor, y agregamos la siguiente lista de controles al formulario principal. La ubicación de dichos controles es a gusto del programador, siempre tratando de que el usuario final este a gusto con el producto y que se pueda manejar libremente sin problemas por el entorno del mismo.

  • WinSock Control
  • 2 cajas de texto (TextBox)
  • 2 botones.

A continuación hace falta que cambiemos algunas propiedades de los controles, debajo la lista de controles con las respectivas propiedades a cambiar.

Control (nombre predeterminado) Propiedad (nuevo valor)
WinSock1 LocalPort = 888
Text1 Text =
Text2 Text =
Command1 Caption = “Escuchar”
Command2 Caption = “Enviar”

Para que el ejemplo funcione a la perfección conviene que seguir la ubicación de los controles como esta indicado en la figura 1.

Figura 1

Figura 1

 

Una vez hecho esto podemos empezar a escribir código. El sangrado del programa es una cuestión de entendimiento para el programador, algunos recurren a éste como otros no, eso también queda a criterio del que programa.

 

En el Evento Click del Command1 incluimos el siguiente código; (sólo lo que esta en NEGRITA, el resto es en modo de ayuda, ya que aparece cuando se hace doble click en algún control).

Private Sub Command1_Click()
    Winsock1.Listen
End Sub

Esto hace que el Control WinSock empiece a funcionar, escuchando el puerto que se indicó en las propiedades de dicho control. Este puerto es el 888. Ahora si realizamos todo a la perfección el puerto 888 esta siendo vigilado para aceptar conexiones remotas.

 

Luego en el Evento DataArrival del WinSock;

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim datos As String
    Winsock1.GetData datos
    Text1.Text = Text1.Text + datos
End Sub

Datos queda transformada en una variable de cadena, y WinSock almacena los datos que recibe del Cliente en el buffer y luego ingresan a la variable datos, dicha variable mostrará su contenido en el control TextBox (Text1).

 

En el evento ConnectionRequest;

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    Winsock1.Close
    Winsock1.Accept requestID
End Sub

Este evento es muy importante, permite aceptar la petición de conexión. Sin este evento el resto del programa no tendría efecto.

 

En el evento Click del command2;

Private Sub Command2_Click()
    Dim enviar As String
    enviar = Text2.Text
    Winsock1.SendData enviar
End Sub

Esto permite enviar el texto que se introduzca en el TextBox número 2.

Por ahora este es un simple programa Servidor, lo que hace es: designar un puerto, dejarlo a la escucha para aceptar conexiones, si se realiza una petición de conexión aceptarla, y por último enviar datos al Cliente y recibir los datos que éste mande.

Para seguir programando el Cliente hace falta crear un nuevo proyecto y en el formulario principal incluir la siguiente lista de controles:

  • WinSock Control
  • 3 cajas de texto (TextBox)
  • 2 botones.

Como lo hicimos anteriormente hace falta cambiar algunas propiedades. Debajo la lista de controles con las respectivas propiedades para cambiar.

Control (nombre predeterminado) Propiedad (nuevo valor)
WinSock1 RemotePort = 888
Text1 Text =
Text2 Text =
Text3 Text =
Command1 Caption = “Conectar”
Command2 Caption = “Enviar”

Para tener una referencia de cómo situar los controles conviene seguir la Figura 2.

Figura 2

Figura 2

 

En el método del command1;

Private Sub Command1_Click()
    Winsock1.RemoteHost = Text3.Text
    Winsock1.Connect
End Sub

El evento connect permite conectar al programa servidor que esta esperando la solicitud, este evento requiere un parámetro fundamental, el IP o nombre de host el cual es introducido previamente a la conexión en el cuadro de texto número 3 (Text3).

 

En el evento DataArrival del WinSock Control;

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim datos As String
    Winsock1.GetData datos
    Text1.Text = Text1.Text + datos
End Sub

Esto permite a la aplicación (a través de WinSock) recibir información del servidor y mostrarla en pantalla.

 

En el método del command2;

Private Sub Command2_Click()
    Dim enviar As String
    enviar = Text2.Text
    Winsock1.SendData enviar
End Sub

Estas instrucciones son necesarias para enviar información al servidor.

Este ejemplo del primer programa Cliente / Servidor es muy simple, para utilizarlo al máximo es necesario por ejemplo poner las propiedades de los TextBox en Multiline, lo que hace que si los datos recibidos exceden el tamaño del TextBox estos datos vayan directo a la línea de abajo.

Bibliografía.

Toda la información aquí expuesta fue escrita por Insomnia y fue tomada de dos diferentes fuentes, libros e Internet.

Libros.

Baltazar & Mariano Birnios, Creación de Aplicaciones Multimedia con Visual Basic, editorial MP Ediciones, primera edición, Buenos Aires, 1998.

Baltazar & Mariano Birnios, Microsoft Visual Basic Manual de Referencia, editorial MP Ediciones, primera edición, Buenos Aires, 1999.

Internet.

(En Inglés)

http://msdn.microsoft.com/vb
www.vb-herlper.com
www.vbexplorer.com
www.cgvb.com
www.vb-world.net
www.planet-source-code.com/vb
http://www.programmersheaven.com

(En Castellano)

www.programacion.net/
http://www.abcdatos.com
http://www.monografias.com

 

También se puede consultar la ayuda en línea de Microsoft Developer Network (MSDN) o consultarla desde los CDs del Visual Studio.

Revisando estas direcciones de Internet se pueden adquirir algunos tutoriales, la mayoría en Ingles, pero no dejan de ser buenos. Estos tutoriales son una especia de guía en formato de texto, paso por paso, son muy famosos entre programadores por la sencillez y los prácticos ejemplos que brindan.

Texto escrito por Insomnia, miembro actual del grupo DIG (deltaig.tripoid.com).

Lista de comandos Telnet

Lista de los comandos más usuales para controlar un Telnet.

  • user: Indica un determinado usuario. p.e., user maverick.
  • pass: Indica la password o palabra clave que nos dará acceso a nuestra cuenta de correo. Por ejemplo, pass maverick. Nota: antes de usar este comando, deberemos haber usado previamente el comando user.
  • stat: Muestra el número de mensajes que hay en el buzón de correo y el tamaño que ocupan todos ellos (el total de los mensajes).
  • list: Indica los mensajes que tenemos uno tras otro, mostrándonos individualmente, el tamaño que ocupa cada uno de ellos y el total final.
  • retr (num): Recupera un determinado mensaje. La secuencia debe indicarse como retr, seguido de un número que indica el mensaje a leer.
  • top (num) nLin: Muy similares al comando retr, con la salvedad, de que en el argumento nLin, se indica el número de líneas que deseamos leer.
  • dele (num): Elimina un mensaje indicado en el argumento num. Para que el borrado sea efectivo, deberemos haber cerrado el acceso al buzón de correo de forma normal.
  • rset: Chequea el buzón en busca de mensajes nuevos.
  • host (dir): Accede a la dirección host dada en el argumento dir.
  • mbox (file): Accede a un determinado buzón dado en el argumento file.
  • quit: Cierra la conexión.

Lista de comandos IRC

Lista de los comandos más usuales para controlar un IRC.

  • admin: Informa sobre un determinado servidor. p.e., user redestb.
  • clear: Limpia la pantalla.
  • ctcp: Cambia algunas acciones del cliente.
  • date: Muestra la la hora y fecha del servidor.
  • ignore: Ignora a determinadas personas para no recibir mensajes suyos.
  • invite: Invita a un usuario a un determinado canal.
  • join: Accede a un canal.
  • kick: Expulsar a alguien de un canal.
  • leave: Salir de un canal.
  • list: Comando utilizado para listar los canales, usuarios u otras características.
  • msg : Envía mensajes privados.
  • names: Muestra los alias de los usuarios en el canal.
  • nick: Cambia de identificativo, o alias.
  • notify: Notifica los alias o nicks que entran o salen de un canal.
  • query: Inicia una conversación privada.
  • quit: Salir del IRC.
  • server: Para cambiar de servidor.
  • stats: Muestra las estadísticas de uso.
  • time: Muestra la hora del servidor.
  • topic: Cambia el tema del canal actual.
  • trace: Lista las conexiones del servidor.
  • users: Muestra los usuarios del servidor.
  • version: Muestra la versión del programa cliente y del programa servidor.
  • who: Lista los usuarios.
  • whois: Muestra información sobre un usuario en concreto.
  • whowas: Muestra información sobre un usuario en concreto que acaba de dejar el canal.