[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
Mostrar Contenido

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:
Mostrar Contenido


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
Mostrar Contenido

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


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:
Mostrar Contenido

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 System.IO.File.Exists y System.IO.File.Delete 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.
Mostrar Contenido



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í
Mostrar Contenido



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

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...
Mostrar Contenido

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
Mostrar Contenido

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
Mostrar Contenido
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

Mostrar Contenido

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
Mostrar Contenido

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.
Mostrar Contenido

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


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!
Descargar proyectos

Espero que les sirva. Saludos!
Responder
#2
Reservado.
Responder
#3
Vaaaamoooooo... muchas gracias pato, ya le pego una leída...
Responder
#4
Que grande Patito!!! Estas a full hermano!!!
------------------------------------
Responder
#5
Mil gracias Pato :58: Muy esperado éste tuto de mi parte :149:
+1
"My PES, my WORLD

Responder
#6
Muchas gracias. Si necesitas más ejemplos me dices!
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...

Descarga
Saludos!
Responder
#8
Cita: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.
[Imagen: mTxrfy7.png]


Hola no entiendo esa parte cual seria el "el icono que esta arriba del combobox" espero me puedas ayudar. Gracias
Responder
#9
Sería un cuadrito pequeño (parece al icono play) que aparece al tocar el combobox. O también agrega ítems desde las propiedades del combobox https://www.aulafacil.com/cursos/program...box-l42147
Responder
#10
Hola. Comparto una nueva version del selector, es simple como el otro en la interfaz, pero el modo de agregar las opciones de relato es diferente:
Descarga


Proyecto
PatoLucas18/Selector-Relatos (github.com)
 Modo de uso: editar el archivo "map.csv" que debe estar en la carpeta dat los valores deben estar separado por comas (,) y serian el siguiente:#id,Titulo de relatos,Nombre_afs,Ruta_previa_png
0,Juan Carlos Rivero - Iñaki Cano,s_sound.afs,dat\s_sound.png


Saludos!
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)