elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  [Solucionado]Orientación para crear un programa de escritorio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Solucionado]Orientación para crear un programa de escritorio  (Leído 2,739 veces)
luchi

Desconectado Desconectado

Mensajes: 71


Ver Perfil
[Solucionado]Orientación para crear un programa de escritorio
« en: 18 Febrero 2015, 23:18 pm »

Hola.
Me gustaría crear un programa de escritorio, un programa sencillo en el que cada hora te alerte algo. El problema es que vengo de programación web y no sé por dónde empezar. El programa sería para win 7 y o Vista. Tengo nociones de Java, aunque no me asusta empezar a aprender otro lenguaje.


« Última modificación: 19 Febrero 2015, 01:26 am por luchi » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Orientación para crear un programa de escritorio
« Respuesta #1 en: 19 Febrero 2015, 00:57 am »

Hola.
Me gustaría crear un programa de escritorio, un programa sencillo en el que cada hora te alerte algo. El problema es que vengo de programación web y no sé por dónde empezar. El programa sería para win 7 y o Vista. Tengo nociones de Java, aunque no me asusta empezar a aprender otro lenguaje.

¿Por cada hora te refieres a cada intervalo de 60 minutos, o cada hora del reloj interno del SO?, ¿y por "alerta", te refieres a mostrar una caja de texto, o ventanas de notificación en la esquina de la pantalla?.

Sea como sea, en cualquier lenguaje te resultará más o menos sencillo de hacer, los lenguajes de programación suelen tener miembros para el manejo de datos como Fechas y Horas, y miembros para medir intervalos de tiempo y/o utilizar temporizadores (en el caso de que quieras eso).

Practicamente no se casi nada de Java, pero puedo mostrárte un ejemplo en Vb.Net (cuya traducción sería practicamente igual en C#, con pequeñas diferencias de sintaxis):

Esto es un ejemplo que espera 60 minutos de forma asíncrona (es decir, detiene la ejecución del hilo secundario durante 60 minutos) y muestra un mensaje de alerta:

Código
  1. Imports System.Threading
  2. Imports System.Threading.Tasks
  3.  
  4. Public NotInheritable Class TestForm : Inherits Form
  5.  
  6.    ''' <summary>
  7.    ''' Handles the Load event of the TestForm control.
  8.    ''' </summary>
  9.    ''' <param name="sender">The source of the event.</param>
  10.    ''' <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
  11.    Private Sub TestForm_Load(ByVal sender As Object, ByVal e As EventArgs) _
  12.    Handles MyBase.Load
  13.  
  14.        Me.RunAlertAsync(60 * 1000, "Mensaje de alerta")
  15.  
  16.    End Sub
  17.  
  18.    ''' <summary>
  19.    ''' Waits asynchronouslly the specified time interval then shows an alert.
  20.    ''' </summary>
  21.    ''' <param name="interval">The interval, in ms.</param>
  22.    ''' <param name="alertText">The alert text.</param>
  23.    Public Sub RunAlertAsync(ByVal interval As Integer,
  24.                             ByVal alertText As String)
  25.  
  26.        Task.Factory.StartNew(Sub()
  27.                                  Thread.Sleep(interval)
  28.                                  Me.ShowAlert(alertText)
  29.                              End Sub)
  30.  
  31.    End Sub
  32.  
  33.    ''' <summary>
  34.    ''' Shows an alert.
  35.    ''' </summary>
  36.    ''' <param name="text">The alert text.</param>
  37.    Private Sub ShowAlert(ByVal text As String)
  38.  
  39.        MessageBox.Show(text, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
  40.  
  41.    End Sub
  42.  
  43. End Class

Y esto es un ejemplo que muestra alertas cada hora en punto del reloj interno del SO:
Código
  1. Public NotInheritable Class TestForm : Inherits Form
  2.  
  3.    ''' <summary>
  4.    ''' The timer that will notify an alert.
  5.    ''' </summary>
  6.    Protected WithEvents notifyTimer As New Timer With
  7.        {
  8.            .Interval = 250,
  9.            .Enabled = False
  10.        }
  11.  
  12.    ''' <summary>
  13.    ''' Gets the alert text.
  14.    ''' </summary>
  15.    ''' <value>The alert text.</value>
  16.    Private ReadOnly Property AlertText As String
  17.        Get
  18.            Return "Mensaje de alerta"
  19.        End Get
  20.    End Property
  21.  
  22.    ''' <summary>
  23.    ''' Initializes a new instance of the <see cref="TestForm"/> class.
  24.    ''' </summary>
  25.    Public Sub New()
  26.        Me.InitializeComponent()
  27.        Me.InitializeTimer()
  28.    End Sub
  29.  
  30.    ''' <summary>
  31.    ''' Initializes the <see cref="notifyTimer"/>.
  32.    ''' </summary>
  33.    Private Sub InitializeTimer()
  34.        Me.notifyTimer.Enabled = True ' Inicio el temporizador.
  35.    End Sub
  36.  
  37.    ''' <summary>
  38.    ''' Shows an alert.
  39.    ''' </summary>
  40.    ''' <param name="value">The value.</param>
  41.    Private Sub ShowAlert(ByVal value As String)
  42.        MessageBox.Show(value, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
  43.    End Sub
  44.  
  45.    ''' <summary>
  46.    ''' Handles the Tick event of the Timer1 control.
  47.    ''' </summary>
  48.    ''' <param name="sender">The source of the event.</param>
  49.    ''' <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
  50.    Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) _
  51.    Handles notifyTimer.Tick
  52.  
  53.        ' Si el minuto actual es '0', entonces...
  54.        If DateTime.Now.Minute = 0 Then
  55.            DirectCast(sender, Timer).Stop() ' Detengo el temporizador.
  56.            Me.ShowAlert(Me.AlertText) ' Muestro la alerta.
  57.        End If
  58.  
  59.    End Sub
  60.  
  61. End Class

PD: Te los he documentado para que los entiendas mejor.

Saludos.


« Última modificación: 19 Febrero 2015, 00:59 am por Eleкtro » En línea



luchi

Desconectado Desconectado

Mensajes: 71


Ver Perfil
Re: Orientación para crear un programa de escritorio
« Respuesta #2 en: 19 Febrero 2015, 01:14 am »

Me refería a un intervalo cada de 60 minutos. Pues gracias por el código pero ahora ¿cómo lo hago para ejecutarlo en el ordenador?
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Orientación para crear un programa de escritorio
« Respuesta #3 en: 19 Febrero 2015, 01:21 am »

Me refería a un intervalo cada de 60 minutos. Pues gracias por el código pero ahora ¿cómo lo hago para ejecutarlo en el ordenador?

Necesitas compilar el código fuente para construir el archivo binario ejecutable, claro está, jeje.

Puedes descargar la versión Express de Microsoft VisualStudio aquí:

O puedes descargar mi instalador personalizado de la versión Ultimate, orientada a VB.Net, con un sin fin de addons para empezar a desarrollar con todo lo necesario y más, aquí:

Una vez hayas instalado VisualStudio, creas un nuevo proyecto de tipo WindowsForms bajo el lenguaje VB.Net, pegas el código fuente que mostré ( corrijes el nombre de la Class 'TestForm' por 'Form1' ) y entonces ya puedes empezar a adaptar el código a tus necesidades y formular las consiguientes dudas que tengas al respecto, en el subforo de la sección dedicada a la programación .Net :).

Saludos
« Última modificación: 19 Febrero 2015, 01:23 am por Eleкtro » En línea



luchi

Desconectado Desconectado

Mensajes: 71


Ver Perfil
Re: [Solucionado]Orientación para crear un programa de escritorio
« Respuesta #4 en: 19 Febrero 2015, 01:27 am »

Muchas gracias. Ya me queda más claro  ;D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Programa para grabar escritorio.
Multimedia
Castiblanco 2 4,605 Último mensaje 15 Enero 2011, 18:25 pm
por Castiblanco
programa para escritorio remoto
Software
Paul Young 4 2,625 Último mensaje 14 Agosto 2012, 15:22 pm
por beholdthe
Programa para grabar escritorio
Multimedia
JonaLamper 4 5,041 Último mensaje 30 Abril 2013, 20:16 pm
por alexowolff
TIDE SDK, entorno para crear app de escritorio usando HTML5, CSS3 y javascript
Desarrollo Web
Graphixx 1 3,435 Último mensaje 30 Noviembre 2013, 07:10 am
por EFEX
Orientacion para crear una aplicacion en Objetive C
Programación General
Thryks 1 1,758 Último mensaje 24 Abril 2015, 16:49 pm
por T. Collins
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines