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 - Hadess_inf

#721
Diseño Gráfico / Fuente de esta imagen
28 Junio 2008, 01:47 AM
HOla, no soy un experto en el tema de las fuentes, pero agradeceria si alquien me pudiera decir que fuente es esta:

#722
Hola nuevamente y gracias. ya me di cuenta que son botones pero aun asi lo que ahora me pregunto es como sobre poner el boton al cual paso el mouse sobre los demas.... tal como esta en el ejemplo.

Gracias.
#723
Gracias por tu respuesta .. ahora estoy leyendo sore ese efecto, esto es un ejemplo de lo que quiero hacer. Saludos

Ejemplo
#724
Hola a todos, pues actuamente estoy desarrollando una pequeña aplicacion y pues me he topado con un problema, el cliente desea que haya un mapa en flash, pero, la cuestion es que cuando se pase el mouse por algun departamenteo de el mapa este departamente debe aumentar su tamaño (algo asi como en el discoverychannel cuando hay un planeta y quieren mostrar un animal de ese planeta o zona y lo muestran como en una pequeña ventana), esto se hace para poder diferenciar ese departamente de los otros. No tngo idea de como hacerlo y por eso recudo a ustedes. Espero alquien pueda ayduarme a hacer o quzias un pequeño ejemplo y yo poder guiarme de el, o en todo caso decirme como tengo que buscar en internet para hallar tal efecto porque la verdad no se por donde empezar. Saludos desde ya. Gracias.
#725
Juegos y Consolas / Re: Nuevo PlayStation 2
26 Junio 2008, 02:07 AM
Tienen que ser discos originales para que los puedan leer. Lo sabias verdad ¿?
#726
Esto esta tomando toda la vida... zZZzZZZzzzzZ

:-\ :-\ :-\ :-\
#727
Olvide poner eso. Sera TFT
#728
Hola se me dio la idea se hacer un tornedo de Warcraft III. Haber si en este foro hay los suficientes como para armar uno. Se necesitan grupos de 3 cada uno. Todos los que sepan jugar pues que lo digan aqui. El modo del juego puede ser:

-PVP o DOTA.
Si se reune la gente necesaria dare parametros del mini tornero y demas. Saludos.
#729
Hola a todos, bueno se hizo la encuesta porque queria saber la aceptacion y cantidad de usuarios que les agradara la idea, segun la cantidad de votos e visto que a muchos les interesa la idea, aunque aun pienso que son pocos. Tengan paciencia que el tuto se hara, aunque por ahora he estado muy ocupado con el trabajo y no dispongo de mucho tiempo para dar inicio a esto, espero sepan tener paciencia y lo mas importante es que esto no se dejara de lado.

Saludos.
#730
Introduccion: Hola a todos, bueno aqui estoy... si otra vez ...  para traerles un nuevo aporte, hace tiempo que quiero empiezar un nuevo tutorial, habia pensado en escribir un largo y extenso tuto sobre C# claro que con la participacion de todos los usuarios que quisieran aportar con su grano de arena, sin embargo de momento no podre hacerlo puesto que no dispongo de mucho tiempo, habra que esperar a que el trabajo me de un tiempito... en fin, ahora mismo hare una pequeña recopilacion sobre temas interesantes y que muchas personas me han preguntado como hacer, espero que sea de ayuda y que como en mi anterior tutorial si encuentra alquien algun error me lo haga saber. Tambien decirles que al los que quieran participar con sus aportes en este post pueden hacerlo, simplemente enviarme un mensaje privado con el tema en cuestion, la idea de esto es hacer algo bueno para la comunidad de programadores de este lenguaje; bueno... sin mas que decir empezemos.

Aplicaciones Windows en .NET 2005
Mostrar tiempo para ejecutar consultas SQL en ProgressBar

Bueno muchas veces nos hemos preguntado como hacer para mostrar al usuario el estado de un proceso, en ocasiones establecemos una cantidad de tiempo ya definida para que en un ProgresBar muestre el estado de nuestro proceso, sin embargo este proceso no tiene el mismo tiempo de duracion en una y otra maquina, dando la apariencia al usuario de que nuestra aplicacion se ha "muerto". Lo que haremos a continucacion sera tratar de mostrar el tiempo aproximado en un ProgresBar de un proceso determiado. El formulario debe quedar como se muestra en la imagen A. Ademas de los controles mostrados en la imagen A, agregar tambien un control BackgroundWorker1, en la imagen B se podran ver los controles con sus respectivas propiedades que se cambian:

Imagen A. Diseño del formulario

Imagen B. Tabla de controles y propiedades

Para este ejemplo he generado un archivo txt con las lineas de codigo en SQL, el archivo se llama "archivo.txt" y esta ubicado en "C:>\", la idea es poner las sentencia sql en ese documento, en este caso no he usado saltos de linea (aunque si se quisieran usar se tendria que validar en el codigo para que no los considere, para evitar algun error posterior), aqui dejo el contenido del "archivo.txt":

Citarcreate database prueba
use prueba
create table usuario(id_usuario int primary key,usuario varchar(30),telefono varchar(9),estado char(1))
insert into usuario values (1,'us1','121212','1')
insert into usuario values (2,'us2','213232','0')
insert into usuario values (3,'us3','434343','1')
insert into usuario values (4,'us4','454545','0')
insert into usuario values (5,'us5','654545','1')
insert into usuario values (6,'us6','754546','0')
insert into usuario values (7,'us7','854547','1')
insert into usuario values (8,'us8','854547','0')
insert into usuario values (9,'us9','954549','1')

Como se pueden dar cuenta, la sentencia para crear la tabla esta en una sola linea, es necesario que este asi, ya se explicara adelante el porque de esto. Ahora veamos el codigo:

CitarImports System.IO
Imports System.Collections
Imports System.Data.SqlClient
Public Class Form1
   Private con As New SqlConnection("integrated security=sspi;data source=(local);initial catalog=master")
   Private cmd As SqlCommand
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim RutaArchivo As New StreamReader("C:\archivo.txt")
       Dim total As Integer
      While Not RutaArchivo.EndOfStream
           total += 1
           RutaArchivo.ReadLine()
      End While
       Me.ProgressBar1.Minimum = 0
       Me.ProgressBar1.Maximum = total
       Me.BackgroundWorker1.RunWorkerAsync()
   End Sub
   Private Sub BackgroundWorker1_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
       Try
           Dim CalculoTiempo As New Stopwatch
           Dim RutaArchivo As New StreamReader("C:\archivo.txt")
           Dim porcentaje As Integer
           Dim linea As String
          While Not RutaArchivo.EndOfStream
               If BackgroundWorker1.CancellationPending Then
                   Exit While
               End If

               CalculoTiempo.Reset()
               CalculoTiempo.Start()
               linea = RutaArchivo.ReadLine()
               porcentaje += 1
               cmd = New SqlCommand(linea, con)
               cmd.CommandType = CommandType.Text
               cmd.ExecuteNonQuery()
               BackgroundWorker1.ReportProgress(porcentaje)
               CalculoTiempo.Stop()
               Threading.Thread.Sleep(CalculoTiempo.ElapsedMilliseconds)
           End While
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
   End Sub
   Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
       ProgressBar1.Value = e.ProgressPercentage
       Label1.Text = "Ejecutados " & e.ProgressPercentage & " de " & Me.ProgressBar1.Maximum
   End Sub
   Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
       Label2.Text = "Proceso completado"
   End Sub
   Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
       con.Close()
  End Sub
   Private Sub
Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
       con.Open()
   End Sub
End Class

BackgroundWorker: Nos permite ejecutar una operación en un hilo independiente y dedicado. Esto, entre otras cosas, permite que la interfaz de la aplicación no deja de responder ya que nada satura su hilo propio.

Stopwatch: Los metodos Start, Stop, Reset (Inicia, Detiene, Resetea); ElapsedMilliseconds devuelve un valor Long con los milisegundos transcurridos desde que se inicio la variable.

Explicacion: Bueno como uds se pueden dar cuenta todo se hace en el evento DoWork del control backgroundworker:

CitarDim CalculoTiempo As New Stopwatch

CalculoTiempo sera la variable en la cual se calculara (valga la redundancia) el tiempo que demora en ejecutarse el sqlcommand, lo iniciaremos con el metodo Start y lo daremos por terminado con el metodo Stop, para el siguiente bucle antes de volver a hacer el conteo lo resetearemos con el metodo Reset.

Citar   While Not RutaArchivo.EndOfStream
               CalculoTiempo.Reset() 'Reseteamos el tiempo para la variable
               CalculoTiempo.Start() 'iniciamos el valor para calcular el tiempo
               linea = RutaArchivo.ReadLine() ' leemos la linea de la sentencia sql
               porcentaje += 1 'aumentamos el porcentaje del progessbarr
               cmd = New SqlCommand(linea, con) 'instanciamos la consulta en el sqlcommand
               cmd.CommandType = CommandType.Text 'definimos el tipo de comando
               cmd.ExecuteNonQuery() 'ejecutamos el comando
               BackgroundWorker1.ReportProgress(porcentaje) 'enviamos el porcentaje al evento ProgressChanged del BackgroundWorker.
               CalculoTiempo.Stop() 'detenemos el conteo de tiempo del proceso
               Threading.Thread.Sleep(CalculoTiempo.ElapsedMilliseconds) 'pausa
           End While

Simplemente al final le decimos que en el evento ProgressChanged modifique el label1, podran leer sobre este evento aqui.

Citar    Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
       ProgressBar1.Value = e.ProgressPercentage
       Label1.Text = "Ejecutados " & e.ProgressPercentage & " de " & Me.ProgressBar1.Maximum
   End Sub

Bueno hemos llegado al final de este pequeño tutorial, espero que sea de utilidad, cabe recalcar que se puede usar para lo que se necesite no solo para la ejecucion de SQL, con el tipo de dato Stopwatch se pueden hacer muchas cosas. En fin ... espero algun comentario (por supuesto como mensaje privado) y si alquien se anima a continuar o aportar algo aqui enviarme un MP. Muchos saludos a todos.

Descargar archivo de Ejemplo