Ayuda en arrays en c# aplicacion visual

Iniciado por ronald hisp, 14 Abril 2009, 21:53 PM

0 Miembros y 1 Visitante están viendo este tema.

ronald hisp

Bueno anexo esta imagen:


Mis grandes problemas :
1.- Por defecto deve aver 2 usuarios en el programa (admin,user) en un array.
los almacene en tipo string.

2.- cuando manda registrar a un nuevo usuario no se como agregarlo al primer array (donde estan los usuarios por defecto).
O deberia crear otro array(duda).
3.- Y si el nuevo usuario pone el mismo nombre de los por defecto---> se me ocurrio mandar un : MessageBox.Show("Nombre en uso-Ingrese otro nombre");

ahh,,, seme ocurrio luego de 2 intenetos no se logueo correctamente que se cierre el programa..
cree un objeto:
Login obj=new Login();
obj.Close(); // pero no se cierra el form ó hice algo mal..ayuda...

....bueno gracias por sus comentarios..aver si me sacan de esta frustacion ...esperando consejos especialmente en el almacenamiento en el array.

;D ;D :D ;D

AntonioMeucci

Hola, supongo que lo que estas haciendo es un programa para "probar" un poco, porque sino lo primero que tendrías que hacer sería persistir los usuarios nuevos(es decir, guardarlos donde sea, en un fichero, en base de datos, ...) porque si no los vas a perder en cada ejecución del programa.
Citar2.- cuando manda registrar a un nuevo usuario no se como agregarlo al primer array (donde estan los usuarios por defecto).
O deberia crear otro array(duda).

El problema será que has creado el primer array de dos elementos, para ir añadiendo elementos a una colección que no sabes a priori cuantos puede tener, suele ser mejor usar listas, en .NET tienes las listas genéricas:
System.Collections.Generic.List<string> usuarios = new System.Collections.Generic.List<string>();
            usuarios.Add("admin");
            usuarios.Add("user");


En cuanto al punto 3, eso es una buena opción.

Lo de cerrar el programa, con poner
this.Close(); debería valer.
Lo que estás haciendo ahí, es crear una nueva ventana de login, pero no se está mostrando (para mostrarla necesitas obj.Show()) y cuando cierras, estás cerrando esa ventana.

ronald hisp

Bueno gracias por tus comentarios.. me diste una buena de usar listas aver..buscare mas info aver si lo termino y lo posteo todo ...

para que me digan que no devi hacer...

gracias... :D ;D

43H4FH44H45H4CH49H56H45H

A la rápida hice un ejemplo fijate si te sirve:
Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        ArrayList lista = new ArrayList();
        int contador = 0;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
           
            lista.Add("user");
            lista.Add("admin");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (contador > 1) Application.ExitThread();
            if (textBox1.Text.Length < 1) MessageBox.Show("Introduzca un nombre");
            else
            {
                if (lista.Contains(textBox1.Text.Trim()))
                {
                    contador++;
                    MessageBox.Show("Nombre de usuario en uso");
                    textBox1.Text = "";
                }
                else
                {
                    lista.Add(textBox1.Text.Trim());
                    textBox1.Text = "";
                }
            }
        }
       
    }
}


Falta perfeccionar pero funciona.

-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W

ronald hisp

#4
gracias... por sus ayudas, lo probare ..

lo probe y esta de lujo:
sera cosa de analizarlo mas y listo...

using System.Collections; --es el para usar el ArrayList Una cosa aprendida (gracias..)
textBox1.Text.Trim() --> esto creo es para validar el textbox ...
y como aria si el usuario ingresa varios espacios en blanco...mandarle
un mensaje de que no se puede...(surgen mas dudas) :huh:
---------------------------------------------------------------------------

if (textBox1.Text.Trim()=="") 
                    {
                        MessageBox.Show("No Ingrese Spacios en blanco...");
                         textBox1.Text = "";
                    }
                    else
                    {
                    lista.Add(textBox1.Text.Trim());
                    textBox1.Text = "";
                    }

bueno es una solucion...simple...le implementare el pass..



domo arigato.(gracias)