28 jun 2008

Conceptos básicos de programación en Visual Basic 6.0 (Parte I)

Buenas!

Hoy les voy a comentar algunas cosas que hay que tener en cuenta a la hora de programar en Visual Basic 6.0.
Es muy importante que uno cuando escriba el código, lo pueda leer cualquiera, hasta alguien que tiene minimos conceptos de programación.



Un buen recurso para esto es comentar las líneas del codigo, así, no hay que andar viendo qué es lo que hace cada llamada.

Ejemplo:

'Reproduzco el sonido de clic
Call Audio.PlayMIDI("7.mid")

'Actualizo el tipo de Login
EstadoLogin = E_MODO.Dados

'Estoy usando un socket?
#If UsarWrench = 1 Then
'Si el socket está conectado, lo desconecto y limpo
If frmMain.Socket1.Connected Then
frmMain.Socket1.Disconnect
frmMain.Socket1.Cleanup
DoEvents
End If

'Le damos la ip y puerto al socket
frmMain.Socket1.HostName = CurServerIp
frmMain.Socket1.RemotePort = CurServerPort
'Conectamos
frmMain.Socket1.Connect
#Else
'Si el winsock no está cerrado y preparado, lo cierro.
If frmMain.Winsock1.State <> sckClosed Then
frmMain.Winsock1.Close
DoEvents
End If
'Conectamos el winsock
frmMain.Winsock1.Connect CurServerIp, CurServerPort
#End If
Así cualquiera, con el código completo, y de una mirada rápida, puede saber qué es lo que se hace en cada línea.



Otro buen punto, es la indentación, que es tabular el código, diviendolo por estructuras. Se me complica dar un ejemplo acá porque el blog me saca los espacios que sobran, pero les dejo un screen:

Ver Imagen

Acá queda explicito el uso de este recurso.



Hay muchos mas :p, por ejemplo:
El uso explícito de modificadores de acceso para evitar inconvenientes y accidentes. ¿Qué es ésto?, lo que va a adelante de todo lo que declares, que dictaminan desde que lugar del código vamos a tener permiso para usarlo. Son los "Public" y "Private".



También, es importante, en los parámetros de una función o rutina, que siempre se ponga delante de la variable "ByVal" o "ByRef".
Ahora, ¿qué diferencia hay?

ByVal: Al llamar la rutina, se envía el valor de la variable y se hace una copia de la misma. Al modificar esta variable, NO se modifica la variable origen.

ByRef:
Al llamar la rutina, se manda sólo la dirección en la memoria donde está alojada la variable a utilizar. Que es un valor en Hexadecimal, Long de 4 bytes. Al modificar esta variable, se modifica la variable origen.




Bueno, espero no haberlos cansado :P y que les haya servido, en estos días subo la segunda parte.

Saludos!

12 jun 2008

Habilitar uso de temas (msstyles) en Service Pack 3

Hoy, después de haber instalado el parche de Service Pack 3, me di cuenta que había perdido el tema que tenía puesto.
Me puse a investigar, y conseguí un programa que parchea el archivo uxthemes.dll que nos permite usar cualquier tema de escritorio.
Se los dejo, porque es útil y no encontre información acerca de éste tema en internet en español.

Bueno, vamos a la parte práctica :P

Bajamos este programita lindo jaja: LINK

y lo ejecutamos, hacemos clic en "Patch"
reiniciamos la pc
y te descargas algun tema que te guste, y le das doble clic
te aparece en la lista
le das aceptar a la ventana que se nos abre
y ya estamos disfrutando del tema elegido :)



saludosss

2 jun 2008

Y asi soy yo...

Voy a dejar un código en VB6, para los que les interese mi persona.
Si no te interesa mi persona, podés copiar el código e irte.


Así me siento yo, creo que ésta es mi manera de actuar en la vida. Piensenlo, y si tienen ganas, me cuentan :). Les pido que se tomen la molestia de ver más allá del mensaje.


Mensaje a desencriptar: "DqqktaYjjV_Sd_SY[_K\!,(.1"
Para los poco atentos, el codigo va sin comillas....


''
' Desencripta un mensaje
'
' @param codigo Mensaje a desencriptar
Private Function DesencriptarMensaje(ByRef codigo As String) As String
'******************************************
'Author: NicoNZ
'Last modified: 06/02/2008
'
'******************************************
Dim i As Long

For i = 1 To Len(codigo)
DesencriptarMensaje = DesencriptarMensaje & Chr$(Val(Asc(Mid(codigo, i, 1)) + i))
Next i
End Function

''
' Encripta un mensaje
'
' @param codigo Mensaje a encriptar
Private Function EncriptarMensaje(ByRef mensaje As String) As String
'******************************************
'Author: NicoNZ
'Last modified: 06/02/2008
'
'******************************************
Dim i As Long

For i = 1 To Len(mensaje)
EncriptarMensaje = EncriptarMensaje & Chr$(Val(Asc(Mid(mensaje, i, 1)) - i))
Next i
End Function


Bueno...

No sirve para ésto el blog, capaz más adelante me copo con algún tema de programación, pero no se... Veré...


¡Gracias por leer!



NOTA PARA LOS BOLUDINES: YA SÉ QUE LA ENCRIPTACIÓN ES UNA CAGADA, PERO ES UNA FORMA QUE YO SIENTO DE REPRODUCIR COMO ME SIENTO.