Hola, ¡bienvenido a nuestra comunidad! Es tu primera visita?
Registrarse

User Tag List

Resultados 1 al 3 de 3
  1. #1
    Junior Member Avatar de wizmaster
    Fecha de ingreso:
    11 oct, 16
    Mensajes:
    10

    Basic Launcher Propuestas

    Chicos voy a empezar a boludear con un launcher para consola de windows y quiero que me digan cuales opciones creen que son las mas basicas y simples para un launcher, por ejemplo descargar por http o ftp, y cosas similares el launcher solo va a descargar archivos de actualizaciones nada mas.

    espero consejos

    Generador CRC:
    Hola chicos voy a subir el código fuente del generador de crc para los archivos que va a tener Basic Launcher.

    El mismo será un proyecto WPF y su interfaz grafica es la siguiente: (tengan en cuenta bajarse alguna imagen de flechita y carpeta para que quede bonita la interfaz ya que requiere dos imágenes)
    Cita Iniciado por MainWindow.xaml
    <Window x:Class="CrcGenerator.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:CrcGenerator"
    mc:Ignorable="d"
    Title="BasicLauncher Crc Generator" Height="350" Width="525" ResizeMode="NoResize" AllowDrop="True" Drop="Window_Drop">
    <Grid>
    <Label x:Name="indicaciones" Content="Arrastre aqui la carpeta con los archivos de actualizacion" HorizontalAlignment="Left" Margin="31,20,0,0" VerticalAlignment="Top" FontSize="18">
    <Label.Effect>
    <DropShadowEffect Color="#FF009299"/>
    </Label.Effect>
    </Label>
    <Label x:Name="indicaciones_eng" Content="Drop here the folder with your update files" HorizontalAlignment="Left" Margin="83,86,0,0" VerticalAlignment="Top" FontSize="18">
    <Label.Effect>
    <DropShadowEffect Color="#FF009299"/>
    </Label.Effect>
    </Label>
    <Image x:Name="ArrowImg" Margin="31,148,272,10" Source="img/arrow.png" Stretch="Fill"/>
    <Image x:Name="FolderImg" Margin="263,148,19,10" Source="img/folder.png" Stretch="Fill"/>

    </Grid>
    </Window>
    Y este será nuestro archivo de code behind (no usaremos mvvm para este proyecto, un patrón de diseño para aplicaciones que usan xaml), solo utilizaremos programación basada a eventos:
    Cita Iniciado por MainWindow.xaml.cs
    using System;
    using System.IO;
    using System.Text;
    using System.Windows;
    using Launcher;

    namespace CrcGenerator
    {
    /// <summary>
    /// Lógica de interacción para MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
    public MainWindow()
    {
    InitializeComponent();
    }

    private void Window_Drop(object sender, DragEventArgs e)
    {
    var archivosValidos = e.Data.GetDataPresent(DataFormats.FileDrop,true);
    if (archivosValidos)
    {
    try
    {
    var crc = File.CreateText("BasicLauncher.crc");
    StringBuilder contenidoCrc = new StringBuilder();
    var carpeta = (string[]) e.Data.GetData(DataFormats.FileDrop);
    DirectoryInfo dir = new DirectoryInfo(carpeta[0]);
    foreach (var file in dir.GetFiles())
    {
    if (!file.Name.Equals("Launcher.exe"))
    {
    var archivo = new Archivo(file.Name, file.DirectoryName, file.Length);
    contenidoCrc.AppendLine($"{archivo.Nombre} * {archivo.Checksum}");
    }
    }
    crc.WriteLine(contenidoCrc);
    crc.Close();
    contenidoCrc.Clear();
    }
    catch (NullReferenceException)
    {
    MessageBox.Show($"Error encontrado: No se puede encontrar la carpeta.");
    }

    }
    }
    }
    }
    Hasta aquí la aplicación para generar el crc de los archivos, cabe destacar que tanto el launcher como el generador de crc referencian a una librería compartida quien le aporta la funcionalidad básica del launcher, esta funcionalidad será, generación de crc para nuestros objetos "Archivo" que representaran cada archivo que podria actualizar nuestro launcher, y un objeto "Launcher" el cual tendrá la lógica de verificación de datos y seguimiento de archivos pendientes y totales, mas alguna cosa que se vaya ocurriendo mientras se desarrolle.

    Me gustaría que me digan cual creen que es la mejor forma de compartir esto, quizá esto de subir el código fuente como quote es incomodo, sino lo vamos subiendo por git, ustedes diran.

    Hasta la próxima su amado vende Humo, wiz.
    Última edición por wizmaster; 02/12/2016 a las 02:21

  2. Publicidad!
    Publicidad MU Server


  3. #2
    Member Avatar de Scream
    Fecha de ingreso:
    11 oct, 16
    Ubicación:
    ¯\_(ツ)_/¯
    Mensajes:
    58

    Re: Basic Launcher Propuestas

    Nada, simplemente que al abrir el main se abra la consola y diga algo como...

    Se están descargando las actualizaciones...
    con otro mensaje que muestre el progreso...
    y finalmente que se ejecute el main automáticamente
    o que quede a la espera de presionar una tecla(?
    y si queres hacerlo mas completo podrías poner una serie de opciones, por ejemplo...
    - Modo ventana
    - Pantalla completa

    Suerte con el proyecto, espero ver resultados! Saludoss
    Última edición por Scream; 24/10/2016 a las 03:43

  4. #3
    Junior Member Avatar de wizmaster
    Fecha de ingreso:
    11 oct, 16
    Mensajes:
    10

    Re: Basic Launcher Propuestas

    Bueno actualizando un poco esto del basic launcher. Aporten su opinión sobre la mejor metodología para ir haciendo esto.


 

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •