Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: BorecK en 6 Diciembre 2006, 01:38 am



Título: Ayuda para mi programa
Publicado por: BorecK en 6 Diciembre 2006, 01:38 am
Bueno como ya puse en el post anterior..... ando haciendo un programa para llevar el control de un ciber... necesito un favor alguien podria decirme como le tendria que hacer para que cuando cambie la hora y vaya incrementado minuto por minuto suba el precio? por ejemplo:

Un chico Renta una maquina en el ciber cafe y en el programa muestra el precio acomulado por cada minuto que pase si son las 7:00 en punto y el chavo la renta y esta navegando y dan las 7:01 necesito que mi label precio incremente por ejemplo de $ 00.00 a $ 00.50, espero que si me entiendan por que es algo enredado esto  :P

asi tengo por ahora el codigo:
Código:
Private Sub Timer1_Timer()
Hora.Caption = Time$
If (Final.Text < Time$) And (ArchivoActivarSi = True) Then
Precio.Caption = Precio.Caption + ("0.5")
Beep: Beep:
End If
Hora.Caption = Time$
End Sub

El problema es que en vez de cambiar el precio de $00.00 a $00.05 lo cambia de $00.00 a $ 00.00.05 y asi susecibamente hasta que el caption de la label se sale de control jajaja  :huh:


Título: Re: Ayuda para mi programa
Publicado por: NekroByte en 6 Diciembre 2006, 02:02 am
Eso es porque lo que quieres es sumar 0.5, y en los String el operador + no suma, sino concatena.

Podrías usar la función Val() para sumar o convertir los datos a Single con CSingle() y sumarlos, pero no en String porque lo que harás es que se agregue ese texto (no número) a la cadena (no cifra).

Sólo es cuestión de usar el tipo de datos correcto.

Hilsener.


Título: Re: Ayuda para mi programa
Publicado por: BorecK en 6 Diciembre 2006, 02:06 am
Ya le intente con el Val() pero ahora me va incrementando los ceros jajaja  :(


Título: Re: Ayuda para mi programa
Publicado por: NekroByte en 6 Diciembre 2006, 02:14 am
Código:
Precio.Caption = CLng(CLng(Precio.Caption) + 0.5)

Modifícale. Por ahí va la idea.

Hilsener.