[Tutorial] Crear un selector - Ejemplo #2
#1
Hola como dice el título hoy les dejo un ejemplo de cómo crear un selector, para ello voy a usar visual basic 2010 express ya que es más liviano en tamaño y recursos. Pero pueden usar el visual studio más recientes. Yo también tengo el 2019 comunity y anda perfecto.

Primera parte:. Para ir familiarizándose 133

Voy a dejar un ejemplo de cómo crear un selector de pulsar un botón. Será bastante simple como para ir aprendiendo luego iremos agregando más funciones en base a lo que ustedes me pidan o sugieran hacer.
Créditos a mi amigo pes logo por los pulsar un botón que usé de ejemplo

Selector final. Ustedes puede hacerlo con un diseño más moderno jeje
[Imagen: J6Q8Ifr.png]

Descargamos el archivo zip y abrimos el proyecto
Spoiler

Luego van al solution Explorer y seleccionan el form1 y colocan la vista de diseño de interfaz o código.
En VS Studio 2019:
Spoiler


Ese proyecto ya trae agregados los archivos para funcionar perfectamente.
Si ustedes crean un nuevo proyecto les aparece una ventana para diseñar el formulario para este ejemplo yo usé un combobox, dos botones y un picturebox
Spoiler

Para qué funcionen los botones y demás controles deben agregarle un evento en este caso un evento Cuando le hacemos clic
Spoiler


El selector se basa en copiar los archivo al kitserver, asi que para eso usamos el siguiente codigo para copiar un archivo:
 
Código:
My.Computer.FileSystem.CopyFile("Archivo a copiar", "Archivo Destino", overwrite:=True)

"overwrite:=True" es para sobrescribir el archivo que encuentre en el destino)

Ejemplo:
 
Código:
My.Computer.FileSystem.CopyFile("Pulsar un Boton\PES2018-BAR.bin", "kitserver\dat\s_text.afs\unnamed_387.bin", overwrite:=True)

En el evento del botón vamos a usar el Select case para copiar los archivos segun la opcion que se elijan en el combobox:
Spoiler

Boton de desinstalar el componente (borra):
En este caso vamos a borrar el archivo unnamed_387.bin que se encuentre en el s_text.afs del kitserver, para eso tenemos en cuenta esta ruta "kitserver\dat\s_text.afs\unnamed_387.bin"

Para esto vamos a comprobar si es archivo existe en el kitserver, para ello usamos el metodo Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban. y Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban. para eleminar el archivo, entonces comprobamos que el archivo existe y si exites lo borramos. Al final nos dirá un mensaje que se ha borrado el componente (MsgBox)
 
Código:
'comprobamos que el archivo existe
        If System.IO.File.Exists("kitserver\dat\s_text.afs\unnamed_387.bin") = True Then
            'Si el archivo existe lo eliminamos
            System.IO.File.Delete("kitserver\dat\s_text.afs\unnamed_387.bin")
        End If
        MsgBox("Desinstalado")

Ademas de copiar, vamos a agregar un Picturebox para podes visualizar lo que vamos a instalar mediante el selector. Al picturebox debemos colocarle la opción de StretchImage en SizeMode. Hacemos clic al icono pequeño que aparece arriba del picturebox y en SizeMode le ponemos StretchImage
Para cargar una imagen en un picturebox desde un archivo usamos el siguiente codigo:
 
Código:
PictureBox1.Image = Image.FromFile("ruta de Imagen")

Ejemplo:
 
Código:
PictureBox1.Image = Image.FromFile("Pulsar un Boton\PES2018-BAR.png")


Para el Combobox, vamos a agregar los items. Hacemos click en el icono que esta arriba del combobox y de damos a items y agregamos las opciones.
Spoiler



Despues de agregamos el evento ComboBox1.SelectedIndexChanged, esta accion es para que cuando se cambie la opción en el combobox realice una accion, que será cambiar de imagen en el picturebox:
 
Código:
If ComboBox1.SelectedIndex = 0 Then PictureBox1.Image = Image.FromFile("Pulsar un Boton\CL.png")
Esto significa que si seleccionamos la primera opción mostramos una imagen, que seria la de la previa de la Champions
Las opciones del combobox empiezan en el index 0, 1, 2, etc

Por lo tanto el evento del Combobox quedaría así
Spoiler



Para poder probarlo deben ir a la pestaña que selecciono y en Star debugging. Para compilarlo deben ir a Build
Spoiler

Es importante colocar los archivos qué va a usar el selector en la misma carpeta. En este caso yo la puse en Debug así la uso mientras pruebo el programa usando Star debugging. Después de compilar la pueden copiar a release...
Spoiler

En VS2019
En la parte donde dice Release, al lado de X86 y del icono de play le ponen Debug para que funcione asi como se los dejé, y si lo dejan de Release deben ir a la carpeta Release que se encuentra en el proyecto (\bin\Release) y pegar la carpeta donde tendrá los archivos necesarios para el selector
Spoiler

El proyecto tiene la opción de guardar la selección en el combo box así cuando volvamos a abrir el selector sabemos que gráfico tenemos instalado

La configuración que voy a guardar será un valor numérico de tipo integer que será en principio = -1
Spoiler
Voy aguardar selección del Combobox según el Index, por eso voy a colocar este codigo en el evento del boton
 
Código:
My.Settings.Combobox = ComboBox1.SelectedIndex

Para cargar la configuración su usa este código:
 
Código:
ComboBox1.SelectedIndex = My.Settings.Combobox

A eso se lo agregará en el evento Form1_load , así al abrir el programa me cargue la configuracion que ya habia aplicado

Spoiler

Otra cosa que olvidé de agregar es sobre el framework, en algunos equipo te pide instalar determinado famework. Para ello voy a usar el VS Studio 2019.
Para ello vamos a Proyect, Pulsar boton Properties
Spoiler

Vamos a la parte que dice Target Fraework
Y seleccionamos la que necesitemos, yo voy a cambiar a al 2.0 O 3.0 según me sea suficiente para lo que necesite hacer... Recomiendo hacerlo esto antes de crear el proyecto ya que a veces nos da problemas al cambiar la versión una vez que ya tenemos hecho el proyecto.
Spoiler

En esta misma ventana vamos a donde dice Asembly Information para colocar el nombre de autor, version , ect.
Spoiler


El proyecto tiene comentarios de cómo funciona. Así que por ahora les dejo eso. Si miran el código del proyecto se van a ir dando cuenta como funciona.
Voy a ir completando está primera parte más tarde y a medida que me consulten...
Selector de Pulsar un Botón y Relatos!
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.

Espero que les sirva. Saludos!
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.





Responder
#2
Reservado.
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.





Responder
#3
Vaaaamoooooo... muchas gracias pato, ya le pego una leída...

Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.

Responder
#4
Que grande Patito!!! Estas a full hermano!!!
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.
------------------------------------
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.
Responder
#5
Mil gracias Pato 58 Muy esperado éste tuto de mi parte 149
+1
"My PES, my WORLD

Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.
Responder
#6
Muchas gracias. Si necesitas más ejemplos me dices!
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.





Responder
#7
Hola chicos, un usuario me pidió un ejemplo de un selector de relatos y entonces se me ocurrió hacerlo y compartirlo con ustedes, lo que hago aquí es cambiar el nombre de la lectura del afs (solo para idioma español) y para eso debo tener los otros archivos afs de relatos con el nombre comm_01_afs,comm_02_afs, comm_03_afs ...

Es similar al ejemplo anterior de pulsar un botón, lo adapté para leer y escribir archivo binario (pes6.exe).
[Imagen: previa-Relatos.png]

Según el caso elegido en el combobox hará lo siguiente: determinar el valor de una variable "nombreAFS", entonces si elijo el primer caso (case 0) la variable será igual a el nombre "s_sound.afs", si lo hago con el segundo caso el nombre será  "comm_01.afs".  Aquí el código:
 
Código:
Select Case ComboBox1.SelectedIndex
            Case -1
                MsgBox("Seleccione una opcion")
                Exit Sub
            Case 0
                nombreAFS = "s_sound.afs"
            Case 1
                nombreAFS = "comm_01.afs"
            Case 2
                nombreAFS = "comm_02.afs"
            Case 3
                nombreAFS = "comm_03.afs"
        End Select

Después de eso escribe el nombre en el exe. De esta forma cambiamos los relatos sin copiar archivos ya que son muy grande. Seguramente tendrán que ejecutar como administrador ya que por lo general el juego se instala en "Programs file".

Otra cosa a tener en cuenta es que el programa al abrirse carga la opción que elegimos, y según el nombre que este escrito nos selecciona el item del combobox. 
 
Código:
'Leer la posicion del nombre del relato en español offset = 77E108
        fs.Seek(&H77E108, SeekOrigin.Begin)
        Dim bytes() As Byte = br.ReadBytes(&HB)
        Dim s_sound As String = Encoding.UTF8.GetString(bytes, 0, bytes.Length)

        'Segun el nombre obtenido, voy a seleccionar la opcion que esta elegida en el exe
        If s_sound = "s_sound.afs" Then ComboBox1.SelectedIndex = 0
        If s_sound = "comm_01.afs" Then ComboBox1.SelectedIndex = 1
        If s_sound = "comm_02.afs" Then ComboBox1.SelectedIndex = 2
        If s_sound = "comm_03.afs" Then ComboBox1.SelectedIndex = 3

Para mostrar la previa solo editamos esta parte, use el mismo nombre del afs en el png...
 
Código:
'Opciones de Pulsar un boton, los index empieza en 0
        If ComboBox1.SelectedIndex = 0 Then PictureBox1.Image = Image.FromFile("dat\s_sound.png") 'Si selecciono la opcion 1
        If ComboBox1.SelectedIndex = 1 Then PictureBox1.Image = Image.FromFile("dat\comm_01.png") 'Si selecciono la opcion 2
        If ComboBox1.SelectedIndex = 2 Then PictureBox1.Image = Image.FromFile("dat\comm_02.png") 'Si selecciono la opcion 3
        If ComboBox1.SelectedIndex = 3 Then PictureBox1.Image = Image.FromFile("dat\comm_03.png") 'Si selecciono la opcion 4

Esas tres partes del código deben tener en cuenta si agregan o quitan las opciones de relatos, solo deben borrar, agregar las lineas y colocar bien el index del combobox que empieza en 0,1,2,3,4,5,6,7...

Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.
Saludos!
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.
Invitados no pueden ver los enlaces. El foro de PES Retro te invita a registrarte para acceder a todas las funciones. No se requiere activación por correo. Atentamente, Esteban.





Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)