[Aportes indexados] Programación en VB orientada al AO

Estado
Cerrado para nuevas respuestas.

BlasTeR

Aprendiz Lvl 5
Bueno lo reposteo por que vi un post que un usuario lo estaba pidiendo y el que le paso el manual, se lo paso incompleto, bueno aca lo paso completito :)

Código:
 
Progamacion en VB6 orientada a argentum-online
 
Bueno, aca les voy a enseñar un poco de programación de vb para que puedan realizar sus propios codes en el ao.
 
Empecemos con variables, Las variables son una porción de memoria en la cual podemos guardar datos, hay variables más "pesadas" que otras por eso hay que ser cauto al elegir el determinado tipo de dato para no ocupar memoria sin sentido.
Hay varios tipos de variables,
 
Booleana (2) Admite 0 y 1, o True (verdadero) y False (falso)
 
Byte (1) Números enteros, en el rango de 0 a 255
 
Integer (2) Números enteros en el rango de -32768 a 32767
 
Long (4) Números enteros en el rango de -2147483648 a 2147483647
 
Single (4) Punto flotante, simple precisión
 
Doble (8) Punto flotante, doble precisión.
 
Currency (8) Entero, con punto decimal fijo (Típico de monedas)
 
String (*) Cadenas alfanuméricas de longitud variable o fija
 
Date (8) Fechas
 
Object (4) Referencia a objetos
 
Variant (**) Otros tipos de datos
 
(*) Una variable tipo String ocupa el mismo número de bytes que caracteres tenga la cadena.
 
(**) Una variable tipo Variant ocupa 16 bytes si se trata de un número y 22 bytes + longitud de la cadena si se trata de un dato tipo cadena de caracteres.
 
 
 
Veamos un simple manejo de variables, por ejemplo queremos hacer una suma de 2 números, al resultado hay que guardarlo en algún lado, no? , bueno ese lado seria una variable, ya que son dos números vamos a crear una Integer, que es para guardar enteros.
 
Primero 'creamos' o declaramos la variable.
 
Dim NOMBREVARIABLE as TIPO
 
O sea
 
dim Resultado as Integer
 
Resultado=156+1 'Siempre En donde guardamos va a la izquierda, ósea aca guardamos la suma en resultado (a la izquierda del igual) 
 
 
 
+ (suma)
 
- (resta)
 
/ (Divide)
 
* (Multiplica)
 
And (Y logico)
 
OR (o lógico)
 
> (Mayor que)
 
< (Menor que)
 
>= (mayor o igual que)
 
<= (menor igual que)
 
<> (Distinto) 
 
 
 
Condicionales, Para hacer preguntas :D
 
Los condicionales simples o ‘if’, son en resumen para preguntar, por ejemplo.
 
Yo quiero preguntar si la variable Resultado es mayor a 100.
 
Tendría que hacer 
 
Código 
 
dim Resultado as Integer 'declaro la variable resultado 
 
Resultado=156+1 'guardo la suma de 156+1 en resultado 
 
If Resultado>100 then 'Pregunto Si Resultado Es mayor que 100 
 
label.caption=Mayor ' si es mayor muestro la palabra Mayor en el label 
 
Else ' si no es mayor, quedaría ser menor o igual 
 
label.caption=Menor o Igual ' muestro menor o igual 
 
End if ' fin del condicional 
 
 
 
Como decíamos anteriormente, este es el tipo de sentencia condicional mas usada. Existe otra:
 
Select Case
 
Su nombre casi nos define lo que es: Selecciona, dependiendo del caso, un determinado juego de instrucciones:
 
Select Case variable ' variable es una variable que puede tomar los valores (p.e.) de 1 a 4
 
Case 1
 
Instrucciones a ejecutar en caso de que variable = 1
 
Case 2
 
Instrucciones a ejecutar en caso de que variable = 2
 
Case 3
 
Instrucciones a ejecutar en caso de que variable = 3
 
Case 4
 
Instrucciones a ejecutar en caso de que variable = 4
 
End Select
 
Este procedimiento resulta mucho más sencillo y rápido que las sentencias If Then Else
 
Vistas anteriormente, cuando el margen de elección es mayor que 2.
 
Cuando lo que queremos es elegir un valor, no ejecutar instrucciones como hacíamos anteriormente, disponemos de otras dos funciones: Choose y Switch.
 
Switch toma una serie de parámetros, todos por parejas. El primer término de cada pareja es la expresión a evaluar. El segundo es el valor que tiene que devolver. En realidad Switch es una función (las funciones las veremos muy pronto)
 
A = Switch (B=1, 5, B=2, 7, B=3, 11)
 
Esta instrucción obtiene un valor para A que dependerá del valor que tome B entre los valores posibles (1, 2 ó 3)
 
La sentencia Choose es casi igual, cambia solamente la forma. La misma intrucción anterior puede realizarse con Choose de la siguiente forma:
 
A = Choose ( B, 5, 7, 11 )
 
En estas sentencias, Switch y Choose, si el valor de B no coincide con ninguno de los valores que se le habían establecido (1, 2 ó 3 en nuestro caso), la sentencia devuelve el valor Nulo ( Null ). Esto puede producir algún error si no se contempla esa posibilidad.
 
Con estas sentencias condicionales es posible realizar bifurcaciones del programa, cambiar las propiedades de un objeto, obtener resultados de operaciones, ....
 
Sentencias de bucle.
 
Es muy común utilizar bucles a lo largo de un programa. Un bucle es una sucesión repetitiva de instrucciones, que se estarán realizando mientras se cumpla una condición o mientras no se cumpla otra condición. Es tan sencillo como esto:
 
Mientras condición
 
Instrucciones
 
Fin del bucle
 
Existen dos formas de bucle: Una, que realiza un número determinado de recorridos por el bucle. Es el denominado bucle por contador. Otra, realiza el bucle hasta que se cumpla (o deje de cumplirse) una condición. Es el llamado bucle por condición.
 
Bucle por contador
 
Realiza el bucle tantas veces como le indiquemos. Por ejemplo, en este bucle nos va a presentar las 26 letras mayúsculas del alfabeto inglés
 
For N=65 To 90
 
Label1.caption = Chr ( N )
 
Next N
 
Este "programa" nos presentará en una caja (Label) los caracteres cuyo número ASCII vaya desde el 65 (A) al 90 (Z) Comenzará presentando el correspondiente al número 65, e irá presentando sucesivamente el 66, el 67, etc., hasta llegar al 90, donde se parará.
 
Bucles por condición
 
Ejecuta las instrucciones del bucle mientras se cumple una condición
 
X = 0 
 
Do While X < 1000
 
X = X + 1
 
Loop
 
El programa toma una variable ( X ) que previamente tuvimos la curiosidad de ponerla a cero, e incrementa su valor una unidad. Analiza si el valor de X es menor que 1000, y si es cierto, vuelve a realizar el bucle. Así hasta que X ya no sea menor que 1000. Al dejar de cumplirse que X sea menor que 1000, sale del bucle. Acabamos de realizar un temporizador, y también de exponer las sentencias condicionales y los bucles, inicio de cualquier curso de Basic. Como final de lección, se propone un problema. Con el primer bucle, donde visualizábamos los caracteres A a la Z , posiblemente no nos diese tiempo de ver cada una de las letras que iban apareciendo en la pantalla, en la etiqueta Label1, dado que cambiaría con mucha velocidad, y solamente veríamos la Z , que es donde se detuvo el programa. Podemos poner un temporizador cada vez que presente una letra, y así nos dará tiempo a verla. Con los dos bucles vistos anteriormente ya podemos hacerlo.
 
Si lo que queremos es que el programa se ejecute mientras no se cumpla una determinada condición, la sentencia será:
 
X = 0 
 
Do Until X > 1000
 
X = X + 1
 
Loop
 
Observe que la diferencia entre una y otra es la condición, While para indicar Mientras se cumpla que ... y Until para indicar Mientras no se cumpla que ....
 
Para terminar bien el programa anterior utilizaremos la condición de While (Mientras se cumpla la condición)
 
For N=65 To 90
 
Label1.caption = Chr ( N )
 
Label1.RefreshN ' Refresca la etiqueta
 
X = 0 
 
Do While X < 1000
 
X = X + 1
 
Loop
 
Next N
 
Este es nuestro primer programa en BASIC. En VISUAL BASIC es idéntico, pero nos falta la interface gráfica. Para realizarla basta con abrir el VB y sobre el formulario que aparece al abrirlo, introducir una etiqueta, (Label) que llevará el nombre por defecto de Label1. Solo nos queda pensar donde introducimos el código anterior. Podemos introducir un botón de comando (Command Button) que saldrá con el nombre por defecto de Command1. Haga doble click sobre el botón. Aparecerá el procedimiento Click. Este procedimiento es el que se realiza cuando hacemos click sobre ese botón. Escriba en ese procedimiento este código. 
 
Private Sub Command1_Click() ' Esta línea sale automáticamente
 
For N=65 To 90
 
Label1.caption = Chr ( N )
 
Label1.RefreshN ' Refresca la etiqueta
 
X = 0 
 
Do While X < 1000 ' Bucle de temporización
 
X = X + 1
 
Loop
 
Next N ' Termina el bucle de temporización
 
End Sub ' Esta línea sale automáticamente
 
Hemos puesto nuestra primera piedra en Visual Basic. Este ejemplo es muy sencillo. Visual Basic es tan sencillo como este ejemplo.
 
 
 
 
 
Estas son Herramientas que nos van a servir para modificar el codigo, Por ejemplo pensamos y decimos quiero hacer un codigo para mi servidor que 
 
Cuando loguee si soy mago me de 100 monedas de oro.
 
Entonces hacemos uso de las herramientas que nos da el vb y las funciones que ya estan programadas en el ao..
 
Pensamos… Que queremos hacer???? , que cuando se conecte si es mago nos de oro, entonces que sabemos que , Tenemos que ir al procedimiento de conectar que se llama…
 
Sub ConnectUser(ByVal UserIndex As Integer, Name As String, Password As String)
 
Y luego decimos Si es mago nos de oro, que es eso un condicional, un if, entonces hacemos un if…. Dentro de ese procesedimiento
 
If UserList(UserIndex).Clase = MAGO Then ‘ si el usuario.clase es MAGO 
 
UserList(UserIndex).Stats.GLD = UserList(UserIndex).Stats.GLD + 100 ‘ A la variable usuario.stats.gld le sumamos 100 monedas de oro 
 
End If
 
 
 
O tambien se nos ocurre, quiero que nuestro cliente tenga ip oculta, entonces primero , vamos a abrir el proyecto de nuestro cliente.
 
Luego abrimos el formconnect que es en el cual nos conectamos entonces, vamos al procedimiento form_load que seria lo primero que carga el formulario.
 
Y hacemos lo siguiente creamos una variable para nuestra ip, como la ip es alfa numerica , contiene puntos y numeros debemos crearla de tipo String.
 
Entonces ahí 
 
Declaramos la variable
 
Dim MIIP as String
 
MIIP=”200.68.95.204” ‘ahí guardamos nuestra ip en la variable miip
 
Luego ponemos
 
IPTxt.Visible=False ‘Ponemos en falso la propiedad visible, o sea estaria oculto el textbox para cambiar la ip , o para verla.
 
Luego ponemos IPTxt.text=MIIP
 
 
 
 
 
2° Capitulo: 
 
STATS: 
 
 
 
Código de Visual Basic: 
--------------------------------------------------------------------------------
UserList(UserIndex).Stats.GLD 'oro en el personaje
UserList(UserIndex).Stats.BANCO 'oro en el banco
UserList(UserIndex).Stats.MaxHP 'vida max
UserList(UserIndex).Stats.MinHP 'vida min
UserList(UserIndex).Stats.MaxSTA 'stamina
UserList(UserIndex).Stats.MinSTA 'stamina
UserList(UserIndex).Stats.MaxMAN 'mana
UserList(UserIndex).Stats.MinMAN 'mana
UserList(UserIndex).Stats.MaxHIT 'golpe
UserList(UserIndex).Stats.MinHIT 'golpe
UserList(UserIndex).Stats.MaxAGU 
UserList(UserIndex).Stats.MinAGU
UserList(UserIndex).Stats.MaxHAM
UserList(UserIndex).Stats.MinHAM
UserList(UserIndex).Stats.EXP
UserList(UserIndex).Stats.ELV
UserList(UserIndex).Stats.ELU
 
Para cambiar la apariencia
 
UserList(UserIndex).Char.Body 'cuerpo
UserList(UserIndex).Char.Head 'cabeza 
--------------------------------------------------------------------------------
 
 
 
 
Algunas Funciones Bastante interesantes y utiles: 
 
Funcion SendData : 
Como bien lo dice su nombre es para enviar informacion, al cliente o servidor. 
Por ejemplo, queremos que el servidor envie un mensaje de Bienvenido Usuario. 
 
Código de Visual Basic: 
--------------------------------------------------------------------------------
Call SendData(ToAll, 0, 0, "||Servidor> Bienvenido Usuario" & FONTTYPE_SERVER) 
--------------------------------------------------------------------------------
 
 
 
Se compone por SendData(a_quien, 0, 0, "|| MENSAJE" & FUENTE_Y_COLOR) 
 
Otro ejemplo: 
 
procedimiento sacado del modulo handledata 
Call SendData(ToAdmins, 0, 0, "||Servidor> " & UserList(UserIndex).Name & " ha baneado a " & tStr & "." & FONTTYPE_SERVER) 
 
 
En pseudo codigo, 
 
LLamo SendData(Para Los admins, 0, 0, "|| Servidor> " & NOMBRE_GM & " ha baneado a " & USUARIO & "." & FUENTE_Y_COLOR) 
 
 
Funcion GetVar y WriteVar: 
 
GetVar: 
 
Funcion Utilizada para Obtener datos dentro de un fichero INI, utilizandolo como una variable. 
Por ejemplo 
GetVar(DatPath & "Map.dat", "INIT", "NumMaps")) 
 
Pseudo-Code GetVar(RUTA, "PRINCIPAL", "VARIABLE") 
 
 
WriteVar: 
Nos sirve para escribir en un fichero INI, para luego leerlo con GetVar. 
 
Por ejemplo: 
WriteVar(UserFile, "CONTACTO", "Email", UserList(UserIndex).email) 
 
WriteVar(RUTA, "PRINCIPAL", "VARIABLE", DATO_A_GUARDAR) 
 
Funcion RandomNumber: 
 
Simple, para sacar un numero al azar. 
 
ejemplo 
 
RandomNumber(10, 20) 
Saca un numero al azar entre 10 y 20. 
 
 
La unica manera de que aprendan a manejar el codigo fuente del ao, es que investiguen en el mismo, manejenlo, vean las propiedades, funciones, y demases.
 
Cualquier pregunta: 
[email protected]
 (no lo uso como msn, solo mail)
 
 
 
ArrayDude.- 
 
 

AsD

Aprendiz Lvl 2
muy bueno ese manual para los k recien inicia la verdad k me si lo huviera visto cuando empeze estaria un poko mas adelantado :( pero bue la verdad k muy buena guia.
 

Khalem

Mica
Colaborador
Ex-Staff
Uhss... xD, disculpá.
Te pido un favorcito?, Editarías el post y sacás los emoticons?, así queda más entendible :)

Suerte
 

BlasTeR

Aprendiz Lvl 5
Khalem dijo:
Uhss... xD, disculpá.
Te pido un favorcito?, Editarías el post y sacás los emoticons?, así queda más entendible :)

Suerte

Bueno ahora me fijo.

EDIT.: ya esta , lo puse dentro de un
Código:
 
A

Anonymous

Invitado
Disculpen por algun caso de mi ignoracia sobre el tema,jajaja, pero
Saben de algun link o site, que este el VB6 para descargar?
O alguno tiene otra solucion que no sea comprarlo?
muchas gracias y espero respuestas.[/b]
 

Khalem

Mica
Colaborador
Ex-Staff
Martin ortiz dijo:
Disculpen por algun caso de mi ignoracia sobre el tema,jajaja, pero
Saben de algun link o site, que este el VB6 para descargar?
O alguno tiene otra solucion que no sea comprarlo?
muchas gracias y espero respuestas.[/b]

Pegate una vuelta por la sección descargas que lo vas a encontrar ahí arriba entre todos :).

Suerte
 
A

Anonymous

Invitado
Khalem dijo:
Martin ortiz dijo:
Disculpen por algun caso de mi ignoracia sobre el tema,jajaja, pero
Saben de algun link o site, que este el VB6 para descargar?
O alguno tiene otra solucion que no sea comprarlo?
muchas gracias y espero respuestas.[/b]

Pegate una vuelta por la sección descargas que lo vas a encontrar ahí arriba entre todos :).

Suerte

Te referis a "Visual Basic 6.0 Enterprise Edition", cierto?
Bueno donde lo subieron Megaupload da esto. Asiqe xD...
Desafortunadamente, todo el ancho de banda disponible está reservado a nuestros usuarios premium. En consecuencia, las descargas gratuítas no estarán disponibles en las siguientes 4 horas.

Estamos trabajando para añadir más capacidad para los usuarios gratuítos. Rogamos disculpe las molestias.

Su equipo de Megaupload
 

DeliriuM

Newbie Lvl 1
Microsoft Visual Studio 6.0
Código:
[URL='http://rapidshare.de/files/27039409/MSVS6.part01.rar']http://rapidshare.de/files/27039409/MSVS6.part01.rar[/URL]
[URL='http://rapidshare.de/files/27060742/MSVS6.part02.rar']http://rapidshare.de/files/27060742/MSVS6.part02.rar[/URL]
[URL='http://rapidshare.de/files/27094988/MSVS6.part03.rar']http://rapidshare.de/files/27094988/MSVS6.part03.rar[/URL]
[URL='http://rapidshare.de/files/27052738/MSVS6.part04.rar']http://rapidshare.de/files/27052738/MSVS6.part04.rar[/URL]

Salutes
 
A

Anonymous

Invitado
DeliriuM dijo:
Microsoft Visual Studio 6.0
Código:
[URL='http://rapidshare.de/files/27039409/MSVS6.part01.rar']http://rapidshare.de/files/27039409/MSVS6.part01.rar[/URL]
[URL='http://rapidshare.de/files/27060742/MSVS6.part02.rar']http://rapidshare.de/files/27060742/MSVS6.part02.rar[/URL]
[URL='http://rapidshare.de/files/27094988/MSVS6.part03.rar']http://rapidshare.de/files/27094988/MSVS6.part03.rar[/URL]
[URL='http://rapidshare.de/files/27052738/MSVS6.part04.rar']http://rapidshare.de/files/27052738/MSVS6.part04.rar[/URL]

Salutes


" The file has been delete "; lo borraron.

Salu2,
Espero respuestas...
 

Rodra

Newbie Lvl 3
Ajah tiene razon martin, no esta el archivo de VB.

Ah, Saludos a todos me acabo de registrar, Excelente comunidad GS.

Suerte Martin

Y saludos a todos.

PD: Descarga Visual Basic 6.0 Enterprise Edition (1 Archivo); By3k . Click en el primer mirror. Creo qe ahi tenes lo que necesitas.

=)

Suerte!
 

DeliriuM

Newbie Lvl 1
se viene la segunda!!

Código:
[URL='http://rapidshare.com/files/19591511/Visual.Studio.6.esp.part01.rar']http://rapidshare.com/files/19591511/Vi ... part01.rar[/URL]
[URL='http://rapidshare.com/files/19586672/Visual.Studio.6.esp.part02.rar']http://rapidshare.com/files/19586672/Vi ... part02.rar[/URL]
[URL='http://rapidshare.com/files/19568262/Visual.Studio.6.esp.part03.rar']http://rapidshare.com/files/19568262/Vi ... part03.rar[/URL]
[URL='http://rapidshare.com/files/19554835/Visual.Studio.6.esp.part04.rar']http://rapidshare.com/files/19554835/Vi ... part04.rar[/URL]
 

leem0n

Aprendiz Lvl 1
tengo una duda, la podonga xD
no, encerio
hoy tratando de compilar en vb 2005 express edition, no pude... no hay manera de poder compilar en este vb?
me marca mas de 100 erroreas y no soy capo programador
AYUDA :)
 
Estado
Cerrado para nuevas respuestas.
Arriba