Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - gusman

#11
Hola.

Me parece que el problema que tienes es que estás validando el valor introducido en el evento TextChange del textbox, si es así el problema que tienes es que "" no se puede convertir a integer, para solucionarlo cambia la funcion solod por esta:

Código (vbnet) [Seleccionar]
Public Sub solod()
        If txtDias.Text <> "" Then
            Try
                Dim soloD As Integer
                soloD = CInt(txtDias.Text)
                If soloD > 30 Then
                    MsgBox("Ingresar Solo Hasta 30 x Dias Trabajadas", MsgBoxStyle.Information, "Advertencia")                   
                End If
            Catch
                MsgBox("Introduzca los dias en formato numerico.", MsgBoxStyle.Information, "Advertencia")
            End Try
       End If
    End Sub


A demás de verificar que el texto no esté vacío (en cuyo caso no hay que hacer nada)  has de verificar que el texto introducido sea en formato numérico, para eso es el Try-Catch.

Un saludo.
#12
Buenas.

Prueba pasando el handle devuelto por GetForegroundWindow al API GetTopWindow, de esta forma obtendrás el handle de la ventana hija que está en el índice Z superior.

Un saludo.
#13
.NET (C#, VB.NET, ASP) / Re: Compilar en VB
14 Noviembre 2007, 17:40 PM
Bueno, pues si no recuerdo mal, el ofuscador Xenocode tiene una opción para integrar las partes del Framework que utilices dentro de tu ejecutable y compilar este como un exe nativo.

La unica pega que vas a tener es que a lo mejor te encuentras con que un ejecutable que te pesaba 30Kb pasa a ocupar 20Mb :S

Un saludo.
#14
.NET (C#, VB.NET, ASP) / Re: Compilar en VB
9 Noviembre 2007, 21:20 PM
Hola.

Cuando compilas ya te sale un .exe que sirve para cualquier máquina, lo que tienes que tener en cuenta es que el framework ha de estar instalado.

Si está instalado y te sigue dando un error, si posteas el error a lo mejor te podemos decir algo más.

Un saludo.
#15
Buenas.

Si quieres enumerar los procesos de la máquina, puedes extraer una matriz de procesos usando System.Diagnostics.Process.GetProcesses(), desde ahí puedes recorrer esta matriz para sacar la ID del mismo.

Un saludo.
#16
.NET (C#, VB.NET, ASP) / Re: Control TreeView
5 Noviembre 2007, 18:26 PM
Usa TreeView1.BeginUpdate() antes de comenzar a actualizar el treeview y TreeView1.EndUpdate() cuando acabes, de esta forma evitas que se redibuje el control mientras estás añadiendo nuevos elementos.

Un saludo
#17
Buenas.

Te he reescrito el ejemplo de la máquina expendedora de una forma muchísimo más eficiente, hechale un vistazo que seguro que te es interesante.

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    struct Producto
    {

        public string ID;
        public string Nombre;
        public double Precio;

        public Producto(string id, string nombre, double precio)
        {

            ID = id;
            Nombre = nombre;
            Precio = precio;
       
        }

   
    }

    class menu
    {
        Producto[] listaDeProductos = new Producto[] {
       
            new Producto("A1", "Doritos", 5),
            new Producto("B1", "Crush De Naranja", 6),
            new Producto("C1", "Pizza", 15),
            new Producto("D1", "Coca Cola", 6),
            new Producto("E1", "Cigarros", 21),
            new Producto("F1", "Ruffles", 4.5),
            new Producto("G1", "Halls", 3.5),
            new Producto("A2", "Trident", 3.5),
            new Producto("B2", "HotNuts", 4),
            new Producto("C2", "GoldenNuts", 4.5),
            new Producto("D2", "Panditas", 5),
            new Producto("E2", "Sprite", 7),
            new Producto("F2", "Enchilados", 3),
            new Producto("G2", "MaxAir", 4),
            new Producto("A3", "Crujitos", 5),
            new Producto("B3", "Sangria", 7),
       
        };
        public void start(string entrar)
        {
            Dictionary<String, Producto> ProductosEnLaMaquina = new Dictionary<string, Producto>();

            for (int buc = 0; buc < listaDeProductos.Length; buc++)
                ProductosEnLaMaquina.Add(listaDeProductos[buc].ID, listaDeProductos[buc]);

            double total = 0;
            string des = "";

            do
            {
                Console.WriteLine("MakiNa ExpENdEdorA De _Bj0rD_");

                foreach (Producto p in ProductosEnLaMaquina.Values)
                    Console.WriteLine(p.ID + " --- " + p.Nombre);

                string producto =  Console.ReadLine().ToUpper();

                while(!ProductosEnLaMaquina.ContainsKey(producto))
                {

                    Console.WriteLine("Producto no disponible, por favor seleccione otro.");
                    producto = Console.ReadLine().ToUpper();
               
                }

                Console.WriteLine("Deposite " + ProductosEnLaMaquina[producto].Precio.ToString() + "$ Pesos");

                double price = SolicitarMoneda();

               
                while (price < ProductosEnLaMaquina[producto].Precio)
                {

                    Console.WriteLine("Faltan " + (ProductosEnLaMaquina[producto].Precio - price).ToString() + " Peso(s)");
                    price += SolicitarMoneda();
               
                }

                Console.WriteLine("Su cambio: " + (price - ProductosEnLaMaquina[producto].Precio).ToString());

                total += ProductosEnLaMaquina[producto].Precio;

                Console.WriteLine("La máquina tiene " + total.ToString() + " Peso(s)");
                Console.WriteLine("¿Desea realizar otra compra?");

                des = Console.ReadLine();

            } while (des.ToLower() == "s" || des.ToLower() == "si");

            Console.ReadLine();
        }

        private double SolicitarMoneda()
        {
            bool monedaCorrecta = false;
           
            double res = 0;
           
            while (!monedaCorrecta)
            {
                Console.WriteLine("Introduzca una moneda (Solo Se Aceptan 10, 5, 2, 1, .50");

                try
                {

                    res = double.Parse(Console.ReadLine());
                    if (res != 0.5 && res != 1 && res != 2 && res != 5 && res != 10)
                        Console.WriteLine("Moneda no aceptada, solo se aceptan monedas de  10, 5, 2, 1, .50");
                    else
                        monedaCorrecta = true;

                }
                catch {

                    Console.WriteLine("Por favor, no intente introducir objetos extraños en la ranura de la moneda.");
               
                }
            }

            return res;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            string ini;
            Console.ForegroundColor = ConsoleColor.Black;
            Console.BackgroundColor = ConsoleColor.White;
            menu entrar = new menu();
            Console.WriteLine("Bienvenido a la tienda del Dr. Gusman");
            ini = Console.ReadLine();
            entrar.start(ini);
        }
    }
}


Un saludo.
#18
.NET (C#, VB.NET, ASP) / Re: >≠ , existe esto??
5 Noviembre 2007, 00:36 AM
Buenas.

Si este es el foro de .net me imagino k preguntarás por VB .net o C#, no por C++, así que si quieres sacar esa función acabas antes usando:

Código (csharp) [Seleccionar]
char.IsLetter("cadena",indicedelaletra);

esto devuelve true o false si es una letra.

Un saludo.
#19
Buenas.

Mira en System.Diagnostics.Process, puedes enumerar todos los procesos abiertos, acceder a cada uno por ID o nombre, cerrarlos y guarrearlos de millones de formas  ;D.

De todas formas, ese error que estás poniendo tiene pinta de ser porque no has definido correctamente la llamada al API, el tipo de valor devuelto por el API no es el mismo que el definido en tu llamada a esta (recuerda que en VB6 los long's son de 32 bits, y en .net son de 64 y este tipo de cosillas).

Un saludo
#20
Aquí dejo como ejecutar un programa:

Código (csharp) [Seleccionar]
System.Diagnostics.Process.Start("archivo");