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ú

Temas - Hartigan

#1
Java / ¿Cómo crear una etiqueta de un color???
20 Agosto 2012, 19:57 PM
Hola, os explico, tengo un panel en el cual quiero crear una etiqueta para 4 jugadores: rojo, azul, amarillo, verde. Es decir, un recuadro cuyo fondo sea de un color, y al lado irá un número.

Para ello he creado un JPanel con un GridLayout(4, 2). En la primera columna irán las etiquetas y en la segunda los números.

Algo así:

etiquetaRojo | numero
etiquetaAzul | numero
etiquetaVerde | numero
etiquetaAmarillo | numero

yo lo que hago es crear un JLabel y darle un color de fondo y le doy un tamaño, pero no me hace caso. Si no escribo texto dentro de él, el JLabel no se ve.

Como puedo hacerlo? Alguna sugerencia.

Gracias de antemano.
#2
Diseño Gráfico / Duda OpenGL
16 Diciembre 2011, 19:07 PM
Hola, no se si esto va a aquí o donde, así que si no va aquí pido disculpas.

Os comento rápidamente, tengo una esfera, la cual quiero que se desplace arriba y abajo y a la vez vaya rotando. El código que tengo es el siguiente.

Código (cpp) [Seleccionar]

glPushMatrix();
glEnable(GL_TEXTURE_2D);
//glMatrixMode(GL_TEXTURE);
glLightfv(GL_LIGHT1, GL_POSITION, PosicionLuz1);
glTranslatef(-15.0f, 0.0f, 0.0f);


//glColor4f(1.0f, 1.0f, 1.0f, 1.0f);

if(tipo == 1) {
glRotatef(yRot, 0.0f, 1.0f, 0.0f);

glBindTexture(GL_TEXTURE_2D, texture[0]);
}
else if(tipo == 2) {
glRotatef(-yRot, 0.0f, 1.0f, 0.0f);
glBindTexture(GL_TEXTURE_2D, texture[1]);
}

GLUquadricObj*  p = gluNewQuadric();
gluQuadricDrawStyle(p,GLU_FILL);
gluQuadricNormals(p,GLU_SMOOTH);
gluQuadricTexture(p,GL_TRUE);
gluSphere(p,3, 50, 50);
gluDeleteQuadric(p);
//glMatrixMode(GL_MODELVIEW);

glDisable(GL_TEXTURE_2D);
glEnd();
glFlush();

glPopMatrix();



Bueno en realidad son 2 esferas con una textura, por eso dependiendo del tipo, si es una u otra le aplico una u otra textura. Con ese código me las crea, le añade la figura y giran, cada una en un sentido. Además las desplaza una a la izquierda y otra a la derecha:

(esfera izquierda) O  (en el centro va otra figura)  O (esfera derecha)

Como puedo hacer para que ambas se desplacen hacia arriba un poco y vuelvan hacia su posición inicial?? es decir que vayan subiendo y bajando....

Salu2.
#3
Java / Duda con arrayList y HashMap
22 Noviembre 2011, 14:40 PM
Hola os comento:

Tengo un hashMap cuya clave es un String y cuyo valor es un ArrayList<String> que contiene diversas palabras

Osea:
Código (java) [Seleccionar]
Map<String, List<String>> multiMapa = new HashMap<String, List<String>>();

Ahora lo que hago es que si encuentro una clave en el hashMap (usando containsKey()) quiero obtener los elementos del arrayList de esa clave y meterlos en otro ArrayList distinto.

Como puedo hacerlo?

valdría?:

Código (java) [Seleccionar]
if(multiMapa.containsKey(anagrama)) {
            List<String> lista = new ArrayList<String>();
            lista = multiMapa.get(anagrama);
}



Obtengo así el arrayList (el Value del hashMap) y puedo igualarlo directamente al nuevo arrayList llamado lista???


gracias de antemano.
#4
Hola os comento un poco la situación: Tengo 3 ordenadores en casa, 2 de los cuales están conectados al router por cable y un tecero en la planta de abajo conectado por wifi.

Como conexión tengo orante.

El caso es que si el ordenador que uso yo, está apagado el pc de abajo (conectado por wifi) establece la conexión a 54 mbps, pero en el momento que enciendo mi ordenador, y solo el mio (da igual que el tercero esté conectado o no), la conexión wifi se le pone a 1 mb.

Por que puede ser??? no lo entiendo.

Sal2 y gracias de antemano.
#5
Java / Coomo ejecutar fichero desde java???
16 Marzo 2011, 13:26 PM
Hola, vereis. tengo un programa en java que crea procesos. Tengo un script llamado matar.sh desde el cual mato al proceso que elijo pasandole un número como parámetro. es decir si desde la consola pongo:

Citar
sh matar.sh 4

me mata al proceso 4.

Pero yo quiero hacer esto desde el propio programa, en concreto desde el cliente (estoy usando java RMI) es decir, quiero que desde el cliente el al escirbir la orden: matar 3, ejecute el script y mate al proceso.

Espero que haya quedado claro, gracias por vuestra ayuda.
#6
Pues eso como se agrega una imagen en TIEMPO DE EJECUCIón (osea por código), la cual he agregado como archivo a mi proyecto???

Lo quiero así porque es un picture box que va cambiando de imágen dependiendo de la opción que se elija y por tanto tienen que ser imágenes fijas no puedo dar una ruta a una carpeta sin más porque si se mueve la carpeta ya no cargaría la imágen...

Salu2.
#7
HOla pues eso, como puedo imprimir un formulario y por otra parte el contenido de un datagridview usando el crystalReports???

gracias de antemano.
#8
Hola, pues resulta que hago una copia de seguridad y me funciona perfectamente, pero a la hora de restaurarla me da un error y me dice la bdd está en uso.....

porqué????

Mi código es el siguiente:

Código (sql) [Seleccionar]

public override bool Restaurar_Copia(string dataBase, string ruta)
       {
           Boolean exito = false;

           String queryRestore = "RESTORE DATABASE agenda FROM DISK = '" + ruta + "'" + " WITH REPLACE";


           SqlConnectionStringBuilder csb = new SqlConnectionStringBuilder();
           csb.DataSource = "(local)\\SQLEXPRESS";
           // Es mejor abrir la conexión con la base Master
           csb.InitialCatalog = "master";
           csb.IntegratedSecurity = true;
           

           using (SqlConnection con = new SqlConnection(csb.ConnectionString))
           {
               try
               {
                   con.Open();

                   SqlCommand cmdBackUp = new SqlCommand(queryRestore, con);
                   cmdBackUp.ExecuteNonQuery();
                   MessageBox.Show("Se ha restaurado la copia de la base de datos.",
                                   "Restaurar base de datos",
                                   MessageBoxButtons.OK,
                                   MessageBoxIcon.Information);

                   con.Close();
               }
               catch (Exception ex)
               {
                   MessageBox.Show(ex.Message,
                                   "Error al restaurar la base de datos",
                                   MessageBoxButtons.OK,
                                   MessageBoxIcon.Error);
               }
           }
}


He depurado el StackTrace me dice esto: StackTrace = "   en System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)\r\n   en System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)\r\n   en System.Data.SqlClient.TdsParser.Run(RunBehavior run...


:huh: :huh: :huh: :huh:
#9
.NET (C#, VB.NET, ASP) / Error con notifyIcon c#
10 Septiembre 2010, 18:58 PM
Hola, pues he creado un notifyIcon para mi agenda para poder minimizarla, pero me salen varios errores.

el primero de ellos es que al restaurar la aplicación una de las barras de herramientas se queda en gris.

y el otro problema es que después de restaurar la aplicación al intentar cerrarla me da un erro de desbordamiento de pila.

Os muestro de lo que os hablo:






Mis funciones para minimizar a la bandeja son:

Código (csharp) [Seleccionar]


private void notifyIcon1_DoubleClick(object sender, EventArgs e)
       {
           this.Show();
           this.WindowState = FormWindowState.Normal;
           this.notifyIcon1.Visible = false;
       }

       private void Interfaz_MenuPrincipal_Resize(object sender, EventArgs e)
       {
           if (this.WindowState == FormWindowState.Minimized)
           {
               //Ocultamos el formulario
               this.Visible = false;
               //Hacemos visible el icono de la bandeja del sistema
               notifyIcon1.Visible = true;
           }

       }


gracias de antemano.
#10
HOla compis bueno pues os comento que al final he decidido programar yo mismo las tareas de mi agenda usando las clases del programador de tareas de windows. Entonces he conseguido ya programar algunas tareas pero no consigo establecer algunos parametros referentes al IRepetitionPattern y son el Duration y el INterval.

mi código:

Código (csharp) [Seleccionar]

TaskSchedulerClass scheduler = new TaskSchedulerClass();
           scheduler.Connect(null, null, null, null);

           ITaskDefinition task = scheduler.NewTask(0);
           
           task.RegistrationInfo.Author = autor;
           task.RegistrationInfo.Description = descripcion;

           ITaskSettings settings = task.Settings;
           settings.Enabled = true;
           settings.Hidden = false;
           
          switch(recurrencia)
           {
               case "horaria":
                   
                  ITimeTrigger trigger = (ITimeTrigger)task.Triggers.Create(_TASK_TRIGGER_TYPE2.TASK_TRIGGER_TIME);
                  trigger.Enabled = true;
                  trigger.Id = nombre;
                 
                  trigger.StartBoundary = fecha.Substring(6, 4).ToString() + "-" + fecha.Substring(3, 2).ToString() + "-" + fecha.Substring(0, 2).ToString() +
                      "T" + hora;
                  if(fechaFin != string.Empty)
                  {
                      trigger.EndBoundary = fechaFin.Substring(6, 4).ToString() + "-" + fechaFin.Substring(3,2).ToString() + "-" + fechaFin.Substring(0, 2).ToString() +
                          "T" + horaFin;
                  }
                  break;

              case "diaria":
                  IDailyTrigger dailyTrigger = (IDailyTrigger)task.Triggers.Create(_TASK_TRIGGER_TYPE2.TASK_TRIGGER_DAILY);
                  dailyTrigger.Enabled = true;
                  dailyTrigger.Id = nombre;
                  dailyTrigger.DaysInterval = Convert.ToInt16(textBoxDia.Text.ToString());
                  IRepetitionPattern rp = (IRepetitionPattern)dailyTrigger.Repetition;
                /*  if (checkBoxRepetir.Checked == true)
                  {
                      rp.Duration = TimeSpan.FromMinutes(int.Parse(this.textBoxDuracion.Text.ToString());
                      rp.Interval = TimeSpan.FromMinutes(60);
                     
                  }*/
                  dailyTrigger.StartBoundary = fecha.Substring(6, 4).ToString() + "-" + fecha.Substring(3, 2).ToString() + "-" + fecha.Substring(0, 2).ToString() +
                      "T" + hora;
                  if (fechaFin != string.Empty)
                  {
                      dailyTrigger.EndBoundary = fechaFin.Substring(6, 4).ToString() + "-" + fechaFin.Substring(3, 2).ToString() + "-" + fechaFin.Substring(0, 2).ToString() +
                          "T" + horaFin;
                  }
                 
                  break;
           }

           
           IShowMessageAction mensaje = (IShowMessageAction)task.Actions.Create(_TASK_ACTION_TYPE.TASK_ACTION_SHOW_MESSAGE);
           mensaje.Id = "My mensaje";
           mensaje.Title = titulo;
           mensaje.MessageBody = mensaje.ToString();

           ITaskFolder root = scheduler.GetFolder("\\");
           IRegisteredTask regTask = root.RegisterTaskDefinition(nombre, task, (int)_TASK_CREATION.TASK_CREATE_OR_UPDATE, null, null, _TASK_LOGON_TYPE.TASK_LOGON_NONE, "");
         ...
....



Lo que está comentado es lo que no consigo hacer funcionar he visto algunos ejemplos y debería estar bien pero a mi no me funcoina porque me dice que no se puede convertir el tipo string en TimeSpan. Como podria hacerlo???

Salu2.
#11
Pues eso, como puedo hacer para seleccionar la última fila de la bdd???

me habian dicho que era select TOP 1 pero eso selecciona la primera, no la última...

gracias de antemano.
#12
Pues eso, os parecerá una bobada pero he buscado y no he dado con la solución. Como leñe inserto un valor bool en sql server????

Yo tengo lo siguiente en c#:

Código (csharp) [Seleccionar]

sentenciaSql = "INSERT into avisos(loginUsuario,autor,nombre,descripcion,fecha,hora,accion,recurrencia,sonido) values('" + login + "','" + datos[0] + "','" + datos[1] + "','" +
                    datos[2] + "','" + datos[3] + "','" + datos[4] + "','" + datos[5] + "','" + datos[6] + "'," + valorBool + ")";
           


pero no me funciona...

Gracias de antemano.
#13
Hola amig@s. Tengo un pequeño problema.

Estoy haciendo que se puedan exportar los datos de un datagridview a varios formatos y uno de ellos es excel. El caso es que no se como ponerle la ruta que yo queira donde guardar el fichero de destino. Es decir yo quiero que se guarde en una ruta que especifico en un textbox, pero no se como hacerlo.

Mi código por si sirve de algo es:

Código (csharp) [Seleccionar]

.....                
               Excel.Application xlApp;
               Excel.Workbook xlWorkBook;
               Excel.Worksheet xlWorkSheet;
               
               object misValue = System.Reflection.Missing.Value;

               try
               {
                   xlApp = new Excel.ApplicationClass();
                   xlWorkBook = xlApp.Workbooks.Add(misValue);
                   xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
                   int i = 0;
                   int j = 0;

                   for (i = 0; i < dataGridView1.Columns.Count; i++)
                   {
                       if (dataGridView1.Columns[i].Visible == true)
                       {
                           xlWorkSheet.Cells[1, i] = dataGridView1.Columns[i].HeaderText;
                       }
                   }

                   for (i = 0; i <= dataGridView1.RowCount - 1; i++)
                   {
                       for (j = 1; j <= dataGridView1.ColumnCount - 1; j++)
                       {
                           DataGridViewCell cell = dataGridView1[j, i];
                           xlWorkSheet.Cells[i + 2, j] = cell.Value;
                       }
                   }

                   xlWorkBook.SaveAs(textBoxDestino.Text + "\\" + textBoxNombre.Text, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
                   xlWorkSheet.Columns.AutoFit();
                   xlWorkBook.Close(true, misValue, misValue);
                   xlApp.Quit();

                   releaseObject(xlWorkSheet);
                   releaseObject(xlWorkBook);
                   releaseObject(xlApp);

                   MessageBox.Show("Archivo Excel creado con éxito", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
               }
               catch (Exception ex)
               {
                   MessageBox.Show("No se ha podido crear el archivo Excel", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
               }
.....


A ver si me podeis ayudar. Salu2. xD
#14
Buenas de nuevo, os comento porque me han surgido varias dudas.

El caso es que en mi agenda he creado un formulario para crear alarmas. Cada alarma tiene una fecha y hora de inicio, y además se establecen propiedades de recurrencia, es decir cuando queremos que se repita esa alarma. Entonces como puedo gestionar todo esto????

Es decir he de crear un timer para cada alarma y que esté continuamente comprobando con la hora local??? o como puedo hacerlo???

Gracias.
#15
Bueno pues tengo un nuevo problema, me explico:

Como sabeis estoy haciendo una agenda electrónica. Para almacenar los contactos tengo una variable id que se autoincrementa en la bdd mi tabla es la siguiente:

Código (sql) [Seleccionar]

CREATE TABLE contactos(
id int IDENTITY NOT NULL,
titulo varchar(50),
nombre varchar(50) NOT NULL,
nombre2 varchar(50),
ape1 varchar(50) NOT NULL,
ape2 varchar(50),
apodo varchar(50) NOT NULL,
direccion varchar(150),
ciudad varchar(20),
provincia varchar(20),
cp varchar(10),
pais varchar(20),
telefono varchar(20),
movil varchar(20),
fax varchar(20),
web varchar(50),
twitter varchar(50),
facebook varchar(50),
direccion2 varchar(150),
ciudad2 varchar(20),
provincia2 varchar(20),
cp2 varchar(10),
pais2 varchar(20),
organizacion varchar(50),
puesto varchar(50),
departamento varchar(50),
oficina varchar(50),
telefono2 varchar(20),
fax2 varchar(20),
sexo varchar(10),
cumple varchar(10),
pareja varchar(50),
aniversario varchar(10),
comentario varchar(1000),
imagen Image,
PRIMARY KEY (ID)

);



Tengo otra tabla para almacenar los emails de los contactos puesto que no se pueden introducir varios en la misma tabla o eso creo y he creado otra tabla de la siguiente manera:

Código (sql) [Seleccionar]

CREATE TABLE email(
id_contacto int NOT NULL,
email varchar (100) NOT NULL,
PRIMARY KEY (email, id contacto),
FOREIGN KEY (id_contacto) REFERENCES contactos (id) ON DELETE CASCADE
);


Lo que hago es introducir en una función primero los datos del contacto, sin los mails, y a continuación obtengo el id e introduzco los mail del contacto en el siguiente código:


Código (csharp) [Seleccionar]

public override bool Nuevo_Email(string correo)
        {
            bool exito = false;

            //Variable para el ide del contacto
            int num_id = 0;

            String sentenciaSql = "SELECT COUNT (*) FROM contactos";


            SqlConnection conexion = null;
            DataTable data_table = null;
            try
            {
                conexion = new SqlConnection(cadena_conexion);
                SqlDataAdapter data_adapter = new SqlDataAdapter(sentenciaSql, conexion);
                data_table = new DataTable();

                conexion.Open();
                data_adapter.Fill(data_table);
                conexion.Close();

                num_id = Convert.ToInt32(data_table.Rows[0][0].ToString());

                String query = "insert into email(id_contacto,email) values(" + num_id + ",'" + correo + "')";

                conexion = new SqlConnection(cadena_conexion);
                conexion.Open();
                SqlCommand cmd = new SqlCommand(query, conexion);
                if ((1 != cmd.ExecuteNonQuery()))
                {
                    MessageBox.Show("Se ha producido un error al acceder a la fuente de datos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    exito = false;
                }
                else
                {
                    exito = true;
                }
            }
            catch (SqlException ex)
            {
               // MessageBox.Show("No se ha podido guardar en la base de datos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                exito = false;
            }
            finally
            {
                if (conexion != null)
                {
                    if (conexion.State == ConnectionState.Open)
                    {
                        conexion.Close();
                       
                    }
                }
            }
            return (exito);
               
        }



Pero me da siempre el siguiente error:

ex = {"Instrucción INSERT en conflicto con la restricción FOREIGN KEY \"FK__email__id_contac__164452B1\". El conflicto ha aparecido en la base de datos \"agenda\", tabla \"dbo.contactos\", column 'id'.\r\nSe terminó la instrucción."}

Qué hago mal???

gracias de antemano.
#16
Hola, tengo un nuevo problema, tengo una imagen la cual obtengo directamente de la base de datos... Una vez obtenida quiero almcenar su valor binario en un archivo (para lo del vcard), como puedo hacerlo???

gracias de antemano.
#17
Hola chic@s, como ya sabeis algunos estoy haciendo una agenda, y ahora me gustaría crear un calendario personalizado en el cual pueda insertar citas y que me muestre también las tareas que tenga programadas etc...

Cual es la mejor forma de hacerlo??? he importado el mscal.ocx pero esque me viene solo en inglés y no lo encuentro en español. Hay alguna otra forma de hacerlo??? hay alguna manera de conseguir algo similar a esto???: (os pongo algunas imágenes para que os hagais una idea)

http://citruslogic.net/images/ZestCalendar.png

http://www.codeproject.com/KB/wtl/HolidayCalendar/calendar.gif

http://www.software-dungeon.co.uk/images/108580_WebdailyCalendar.jpg

gracias de antemano..

#18
HOla, esto no es para mi, sino para mi hermano: os pong lo que me ha puesto:


Estoy intentando hacer una aplicación de escritorio que al ejecutarla, lo primero que hace es establecer conexión con la fuente de datos, que no es mas que una comprobación de que la fuente de datos existe o esta accesible para que la aplicación funcione correctamente. La interfaz que hace dixa operación es la siguiente:



Lo que quiero es que el progressbar vaya sincronizado con las operaciones que se realizan, y que termine de cargarse justo cuando el acceso a la fuente de datos se a completado... El código es el siguiente:

Código (csharp) [Seleccionar]

public partial class Interfaz_Conectar : Form
    {
        /* Delegados */
        public delegate void Delegado_Conectar();
        private delegate void Avanzar_progreso();
        private delegate void Detener_progreso();
        private delegate void Cerrar();
       

        /* Eventos */
        public event Delegado_Conectar Conectar;
        public event Delegado_Conectar noConectar;


        /* Proceso de segundo plano */
        private BackgroundWorker bw = new BackgroundWorker();
        private BackgroundWorker avanzar = new BackgroundWorker();

        /* Factoria */
        private Factoria_DAO factoria;

        /* Para finaliar el progreso de la ProgressBar */
        private bool finalizar = false;
        private bool exito = false;


        public Interfaz_Conectar(Factoria_DAO _factoria)
        {
            InitializeComponent();
            factoria = _factoria;
        }

        /* Evento que tiene lugar cuando se muestra el formulario por primera vez */
        private void Interfaz_Conectar_Shown(object sender, EventArgs e)
        {
            bw.WorkerReportsProgress = true;
            bw.WorkerSupportsCancellation = true;
            bw.DoWork += new DoWorkEventHandler(bw_DoWork);
            bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);
   

            avanzar.WorkerReportsProgress = true;
            avanzar.WorkerSupportsCancellation = true;
            avanzar.DoWork += new DoWorkEventHandler(avanzar_DoWork);
            //avanzar.RunWorkerCompleted += new RunWorkerCompletedEventHandler(avanzar_RunWorkerCompleted);

           

            /* Se incia la operacion en segundo plano */
            avanzar.RunWorkerAsync();

            /* Se inicia la operacion en segundo plano */
            bw.RunWorkerAsync();

           
        }

        private void bw_DoWork(object sender, DoWorkEventArgs e)
        {
            Gestion_Conectividad gconectividad = new Gestion_Conectividad();
            if (gconectividad.Comprobar_conectividad(factoria))
            {
                exito = true;
                finalizar = true;
                if (Conectar != null)
                    Conectar();
            }
            else
            {
                exito = false;
                finalizar = true;
                if (noConectar != null)
                    noConectar();
            }
        }
       

        private void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (this.InvokeRequired == true)
            {
                Cerrar cerrar = new Cerrar(this.Cerrar_form);
                this.Invoke(cerrar);
            }
            else
            {
                this.Cerrar_form();
            }
        }

        private void avanzar_DoWork(object sender, DoWorkEventArgs e)
        {
            if (this.progressBarConectar.InvokeRequired == true)
            {
                Avanzar_progreso aprogreso = new Avanzar_progreso(this.avanzar_Progreso);
                this.progressBarConectar.Invoke(aprogreso);
            }
            else
            {
                this.avanzar_Progreso();
            }

            if (this.InvokeRequired == true)
            {
                Detener_progreso dprogreso = new Detener_progreso(this.detener);
                this.Invoke(dprogreso);

            }
            else
            {
                this.detener();
            }
           
        }

        private void avanzar_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (this.progressBarConectar.InvokeRequired == true)
            {
                Detener_progreso dprogreso = new Detener_progreso(this.detener);
                this.progressBarConectar.Invoke(dprogreso);

            }
            else
            {
                this.detener();
            }
        }

        private void avanzar_Progreso()
        {
            for (int i = this.progressBarConectar.Minimum; i <= this.progressBarConectar.Maximum; i++)
            {
                if (finalizar == false)
                {
                    this.progressBarConectar.PerformStep();
                }
                else
                {
                    i = this.progressBarConectar.Maximum;
                }
                System.Threading.Thread.Sleep(50);
            }
           
        }

        private void detener()
        {
            if (exito)
                this.progressBarConectar.Value = this.progressBarConectar.Maximum;
                   
        }

        private void Cerrar_form()
        {
            this.Close();
        }
    }


En resumen lo que hago es crear dos subprcesos que se ejecutan en segundo plano, uno en el que se realizan las operaciones de acceso a la fuente de datos (factoria, es porque utlizo factoria abstracta junto con el patron DAO, factoria de DAO's) y el otro subproceso es el encargado de la barra de progreso. Lo unico que hago en la barra de progereso es un Sleep del hilo y que continue cargando, y asi sucesivamente, pero obiamnete eso no v a ir sincronizado con el otro subproceso, porque no hay nada que le vaya diciendo el progeso que lleva en las operaciones de acceso a la fuente de datos...
No se si me explico, de todas formas sino queda claro, explicare lo que haga falta y os asgradeczo en todo lo que me podais ayudar para conseguir hacerlo.

Gracias a todos.

pues eso, a ver si teneis alguna solución. Saludos ;)

#19
Hola, pues me gustaría poder exportar los datos de los contactos de mi agenda a fichero .vcf para que puedan se leidos por otras aplicaciones pero no se como hacerlo. He buscado info por google pero lo único que encuentro son cosas relacionadas con outlook pero nada echo en c#. Me podrias ayudar indicamndome los pasos que debo seguir??' que funciones uso para añadir la info???.

saludos y gracias compis
#20
Hola pues esa es la duda. Tengo un dataGridview el cual ha cargado una serie de filas de la bdd. Como puedo hacer para borrar todas esas filas??? OJO!, no me vale .Columns.Clear().. Sólo quiero borrar las filas, he visto como borrar una fila con la siguiete función:

Código (csharp) [Seleccionar]

dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);


Pero quiero borrar todas de una vez, y no encuentro como hacerlo...

Saludos y gracias de antemano.
#21
Bases de Datos / Ayuda con sentencia sql!!
23 Julio 2010, 18:17 PM
Hola compañeros, pues acudo a vosotros nuevamente porque me ha surgido una pequeña duda.

Quiero hacer una consulta a la base de datos sql server usando el texto de un textbox.

Como puedo hacer para que me admita cómodines???? es decir.

yo tengo un textBox para buscar nombres, y yo escribo por ejemplo:  *berto

Como seria la sentencia sql para que admita los cómodines??? yo tengo lo siguiente que es como he visto por net que sería pero no me funciona:

Código (SQL) [Seleccionar]

sentenciaSql = "SELECT nombre, ape1, ape2, telefono, email  FROM contactos WHERE nombre like '%" + texto + "%'";


Donde texto es una variable que contiene el texto del textbox (texto = textBox1.Text)


Salu2 y gracias de antemano
#22
Hola de nuevo amigos. Tengo un label el cual contiene un texto pero el texto es de mayor longitud que el tamaño del label. Como puedo hacer para que el texto se vaya desplazando de un lado a otro para que se muestre entero????. No se si me explico... Como el típico texto pequeño que sale en los anuncios de televisión, que va apareciendo de un lado a otro de la pantalla.... xD

Gracias de antemano.
#23
EDITO:

Problema: Problema al actualizar la base de datos habiendo cambiado la imagen almacenada.

Solución: El error estaba en la sentencia sql:

yo tenía esto:
Código (csharp) [Seleccionar]

... datos[34] + "',imagen = '@img' WHERE apodo = 'litos001'";



y la solución es quitar las comillas del @img de manera que queda así:
Código (csharp) [Seleccionar]

...datos[34] + "',imagen = @img WHERE apodo = 'litos001'";


Espero que ahora quede claro

Salu2.
#24
Hola de nuevo compañeros. Necesito guardar una imágen en la base de datos, y he mirao tutoriales pero no hay manera, porque yo intento guardarla como byte, pero no me covierte, me dice que no puedo convertir un System.Drawing.Image en byte[].

que puedo hacer?? como paso o convierto la imágen??.

gracias de antemano.
#25
Hola, en la aplicación en la que estoy, estoy intentando acceder a la base de datos para almacenar una serie de datos. y me salta un error en el catch (exception) que hago de la conexion. Lo raro esque al principio al realizar la conexión con la base de datos no me da problema ninguno pero luego cuando vuelvo a intentar acceder a ella sí me lo da.

Este es el código que tengo:

Código (csharp) [Seleccionar]

public override bool  Nuevo_Contacto(string[] datos)
        {
            bool exito = false;

            //Sentencia Sql
            String sentenciaSQL = "insert into contactos values('" + datos[0] + "','" + datos[1] + "','" + datos[2] + "','" +
                     datos[3] + "','" + datos[4] + "','" + datos[5] + "','" + datos[6] + "','" + datos[7] + "','" + datos[8] + "','" +
                     datos[9] + "','" + datos[10] + "','" + datos[11] + "','" + datos[12] + "','" + datos[13] + "','" + datos[14] + "','" +
                     datos[15] + "','" + datos[16] + "','" + datos[17] + "','" + datos[18] + "','" + datos[19] + "','" + datos[20] + "','" +
                     datos[21] + "','" + datos[22] + "','" + datos[23] + "','" + datos[24] + "','" + datos[25] + "','" + datos[26] + "','" +
                     datos[27] + "','" + datos[28] + "'," + datos[29] + "','" + datos[30] + "','" + datos[31] + "','" + datos[32] + "')";

            SqlConnection conexion = null;

            try
            {
                conexion = new SqlConnection(cadena_conexion);
                conexion.Open();
                SqlCommand comando = new SqlCommand(sentenciaSQL, conexion);
                if (1 != comando.ExecuteNonQuery())
                {
                    MessageBox.Show("Se ha producido un error al acceder a la fuente de datos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    exito = false;
                }
                else
                {
                    exito = true;
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Se ha producido un error al acceder a la fuente de datos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                exito = false;
            }
            finally
            {
                if (conexion != null)
                {
                    if (conexion.State == ConnectionState.Open)
                    {
                        conexion.Close();
                    }
                }
            }
            return exito;
        }


Y el error que me da es en el catch(Exception). Al pasar el depurador en la variable conexion me sale en rojo lo siguiente: {System.Data.SqlClient.SqlConnection}

Alguna solución???
#26
Hola compañeros, pues como dice el título necesito añadir un formulario dentro de otro formulario. Como puedo hacerlo aparte de con el MDI????

gracias de antemano.
#27
Hola, tengo un listbox en el que se almacenarán nombres. Entonces para agregar los nombres he creado un botón "añadir" que al presionarlo carga un formulario simple con un textBox en el que se introduce el nombre y al darle a aceptar quiero que se añada al listBox.

Como puedo hacerlo??? porque no consigo ver desde el método del botón aceptar del nuevo formuladio el listBox....



gracias de antemano.
#28
Hola de nuevo. Quiero hacer lo siguiente:

En la barra de menú tengo activada una opción llamada: "mostrar barra de herramientas", la cual está en estado checked.

quiero que al hacer click, se ponga en estado unchecked y a su vez como su propio nombre indica una barra de herramientas se oculte, o si vuelvo a hacer click que vuelva a aparecer...

Como puedo hacerlo???


gracias de antemano

EDITO: por si a alguien le interesa lo he hecho así

Código (csharp) [Seleccionar]
private void mostrarBarraDeHerramientasToolStripMenuItem_CheckStateChanged(object sender, EventArgs e)
       {
           if (this.mostrarBarraDeHerramientasToolStripMenuItem.Checked == true)
           {
               this.toolStrip_BarraHerramientas.Show();
           }
           else
           {
               this.toolStrip_BarraHerramientas.Hide();
           }
       }


Salu2.
#29
hola, me encuentro con el siguiente problema. Al iniciar mi aplicación se carga una pantalla de login (form 1) y al meter los datos aparece otro formulario que es la pantalla principal del programa. El caso es que no se como hacer que desaparezca la pantalla de login una vez que ya se ha cargado la pantalla principal, porque si hago un close, se me cierra todo el programa.

Que puedo hacer???

gracias de antemano.
#30
Hola, pues la pregunta es sencilla y para c#.

Tengo 2 textBox y 1 botón, como hago para que el botón se active cuando escribo caracteres en los 2 textBox y se desactive cuando no hay nada escrito en ningun de ellos o cuando solo hay escrito texto en 1 y en el otro no.


Salu2 y gracias de antemano.

EDITO: bueno ya lo he solucionado gracias.
#31
Hola, Ahora necesito crear una conexión a una base de datos para mi aplicación.

Para empezar, cual me recomendais utilizar, sql server o mysql????

Y ahora como se crea una conexión desde mi apliación????

salu2 y gracias.
#32
Scripting / como ejecutar archivo con argumentos???
8 Noviembre 2007, 18:23 PM
Edito lo anterior porque ya lo solucione.

el caso esque necesito ejecutar un archivo ".exe" de una practica en c sobre la consola. y yo lo que hago es abrir el símbolo del sistema cada vez que  voy a probar, y le meto la direccion y luego la ejecuto con el argumento "I".

entonces me gustaria hacer un batch que me la ejecutara directamente. la cuestión es que no se como pasarle el el argumento. Yo lo que hago es crear un txt y luego le cambio la extensión y lo que escribo es lo siguiente:

Citar
echo off
".\adivina.exe I"


pero eso se que está mal y no se como pasarle el argumento.

espero vuestra respuesta

gracias de antemano.

P.D: no se si me he explicado bien, si no lo entendeis lo explico de otra manera.
#33
Java / Empezar con java.
18 Septiembre 2007, 13:57 PM
Hola quiero empezar a aprender java, y he leido el post de lherramientas pero al final no me he eclarado de las que yo necesito. me he bajado el eclipse SDK, y el traductor. y ya no se que mas herramientas necesito. a ver si me las poneis.

gracias de antemano. salu2
#34
Juegos y Consolas / QUe juego es???
12 Septiembre 2007, 11:41 AM
Hola, no se si esto esta permitido o no. pero podriais decirme a que juego pertenece esta imgen. (es un juego de xobx) aunque creo que tb tiene version en pc.



gracias.