1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

vb6 declarar variaveis

Discussão em 'Programação' iniciada por Goblin, 7 de Fevereiro de 2007. (Respostas: 21; Visualizações: 1721)

  1. oi pexoal (again) tou com uma duvida, como e k no vb eu declaro uma variavel para ser usada em todos os forms????? epa eu tentei por o 'Public temp', mas dps kd digo k o 'temp=txtnome.text', fica so nessa form, n passa para outras.... alguem??

    obg desde ja :)
     
  2. ja n e preciso thx anyway...:002:
     
  3. epa agora tou com outra duvida lol, tipo cm e k eu faço para por exemplo fazer um contador de tempo para saber a kt tempo k o user ta logado e uma cena ond eu ao mesmo tempo k mostre o tempo logado, mostre tb o custo que esta a ter ate ao momento, tipo meia hora custa um euro... alguem me pode dar uma luzes???

    thx in advance ;)
     
  4. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    O que queres saber? Como é que se faz o programa? Os cálculos para custo/tempo?

    Dá-nos dúvidas específicas, diz exactamente o que pretendes, e diz o que tens feito (e se puderes, mostra) e talvez te consiga ajudar :) parece-me que estás a tentar desenvolver um programa que serve de contador em cybercafés ou assim.... há partes fáceis e outras não tanto, cada uma em áreas diferentes... tenta ser mais específico nas dúvidas sff ;)

    Cumps [[[[[[]]]]]]
    angelofwisdom
     
  5. epa ya e isso, tou a fazer um programa para esta loja de informatica ond o k eu tenho k fazer e um programa k faça registos de novos usuarios,o login dos mesmos, e dps tipo kd o usuario faz login aparece uma form assim no canto inferior direito a mostrar à qt tempo ele esta logado e dps o preço(kt ele tem de pagar) ate ao momento, ate agora fiz assim uma mistela :P :
    Private Sub Form_Load()
    Set banco = OpenDatabase("c:\projecto\acesso.mdb")
    Set tabela = banco.OpenRecordset("users", dbOpenTable)
    tempo1 = DateAdd("n", 0, Time)
    TOPMOST login, True
    End Sub

    Private Sub Timer1_Timer()
    tempo2 = DateAdd("n", 0, Time)
    tempototal = tempo2 - tempo1
    Label1.Caption = tempototal
    End Sub

    Private Sub cmdsair_Click()
    tempo2 = DateAdd("n", 0, Time)
    tempototal = tempo2 - tempo1
    End
    End Sub

    Dim tempototal As Date
    Dim tempo2 As Date
    Dim tempt As Integer
    Dim tempo1 As Date
    Dim total As Currency

    tipo o k eu tentei por agora foi:

    tempt = TimeValue(tempototal)
    total = tempt * 0.033
    Label2.Caption = FormatNumber(total, 2)

    mas no label2 tipo akilo fica sempre '0,00', n muda..............
    se me podessem ajudar, agradecia :)
     
    Última edição: 8 de Fevereiro de 2007
  6. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Faz um "Msgbox tempt" depois da linha "tempt = TimeValue(tempototal)". Olhando para o código, e tendo em conta o teu erro, pode ser o tempt que está a resultar 0, e terás de verificar o tempototal. Digo eu...
     
  7. angelofwisdom obg por kualker opiniao, mas n consegui perceber cm krias fazer, de kualker das maneiras ja consegui :) aki esta o codigo:

    Private Sub Timer1_Timer()
    tempo2 = DateAdd("n", 0, Time)
    tempototal = tempo2 - tempo1
    Label1.Caption = tempototal
    tempos = DatePart("s", tempototal)
    tempon = DatePart("n", tempototal)
    tempos1 = tempos * 0.00055
    tempon1 = tempon * 0.033
    tempoh = DatePart("h", tempototal)
    tempoh1 = tempoh * 2#
    total = FormatNumber(tempoh1 + tempon1 + tempos1, 1)
    Label2.Caption = total & " €"
    End Sub

    :002:
     
  8. Boa lobo :D
    tás no bom caminho :P

    só um aparte ...
    por que raio é que aparece aqui um cardinal ?!

    BTW o teu programa tem um pequenito bug
    se o utilizador fizer login ás 23:00 e sair ás 5:00
    o teu programa vai fazer 5 - 23 = -18 horas :P
    ou seja 2 x -18 = -36 Euros ... o pessoal da loja ainda
    vai ter que dar dinheiro ao sortudo que ficar por lá

    :lol: isso por acaso tá aberto depois da meia noite ?! :-D
    fica bem
     
  9. epa tipo se eu puser '2.00' ele mete o cardinal...
    epa n lol isto so ta abrto ate as 22h, e abre as dez, por isso axo k n vou ter problemas ;)
     
  10. lol epa mais uma cena k eu n consigo fazer e o update do tempo e do custo para a base de dados, tipo ja te mostro o codigo, mas ele em vez de por no usuario correspondente, mete num novo registo:

    Private Sub cmdsair_Click()
    tabela.Index = "indextempocusto"
    tabela.Seek "=", login_form.nome 'o nome que o pessoal poe na textbox, na form do login
    If tabela.NoMatch Then
    MsgBox "Critical Error! Disk C: wil format in 5 seconds! RUN!!! :P", vbCritical, vbOKOnly 'hehe justkiding:P
    Else
    tabela.AddNew
    tabela("tempo") = tempototal
    tabela("custo") = total
    tabela.Update
    End If
    login.Hide
    frmpago.Show
    End Sub
     
  11. eu não tenho aqui o vb6
    mas se fizeres isto assim deve resultar

    Private Sub cmdsair_Click()
    tabela.Index = "indextempocusto"
    tabela.Seek "=", login_form.nome 'o nome que o pessoal poe na textbox, na form do login
    If tabela.NoMatch Then
    MsgBox "Critical Error! Disk C: wil format in 5 seconds! RUN!!! :P", vbCritical, vbOKOnly 'hehe justkiding:P
    Else
    tabela.edit
    tabela("tempo") = tempototal
    tabela("custo") = total
    tabela.Update
    End If
    login.Hide
    frmpago.Show
    End Sub
     
  12. e isso mo puto, obrigadao :)
     
  13. epá que estupido que fui
    esqueci-me de explicar

    mudei o TABELA.ADDNEW
    para TABELA.EDIT

    que é o que tens de fazer sempre que quiseres mudar os valores de uma tabela existente
    mas para resultar tens de colocar o indice na posição certa da tabela

    para isso podes fazer algo deste estilo

    tabela.recordset.movefirst ' colocar a tabela na posição zero
    do until tabela.recordset.eof

    if tabela.("nome").value = login_form.nome then
    tabela.edit
    tabela("tempo") = tempototal
    tabela("custo") = total
    tabela.Update
    end if

    tabela.recordset.movenext

    loop
     
  14. ñ é "wil" mas sim "will" :004: (BTW este smile é mt bacano xD)
     
  15. lol n vi o "wil" :lol:
     
  16. hehe mais um problema o estupido n faz update ao custo:

    Private Sub cmdsair_Click()
    tabela.Index = "indextempocusto"
    tabela.Seek "=", login_form.nome
    If tabela.NoMatch Then
    MsgBox "Critical Error! Disk C: will format in 5 seconds! RUN!!! :P", vbCritical, vbOKOnly
    Else
    tabela.Edit
    tabela("tempo") = tabela("tempo") + tempototal
    tabela("custo") = tabela("custo") + total
    tabela.Update
    End If
    login.Hide
    frmpago.Show
    End Sub


    n faço a minima pk.... pessoal?
     
  17. não estás a posicionar o recordset tal como eu te disse
    penso que seja isso o problema :P
    mas só mm vendo o código!

    0.o! :banana:


    edit: Olhando melhor axu que te falta escreve antes assim :
    em vez de
    tabela("custo") = X
    tabela("custo").value = X
     
  18. eh puto n ta a dar ja tentei por na tabela o campo custo como inteiro, texto, currency.... mas 0o *** nc faz o update!!! ja tentei por essa cena do .value mas tb n da....... o cabrao nc faz update ao campo do custo agora ate tentei por assim :

    Private Sub cmdsair_Click()
    tabela.Index = "indextempo" 'um index com os campos usuarios e tempo
    tabela.Seek "=", login_form.nome
    If tabela.NoMatch Then
    MsgBox "Critical Error! Disk C: will format in 5 seconds! RUN!!! :P", vbCritical, vbOKOnly
    Else
    tabela.Edit
    tabela("tempo") = tabela("tempo") + tempototal
    tabela.Update
    End If
    tabela.Index = "indexcusto" ' um index com os campos usuarios e custo
    tabela.Seek "=", login_form.nome
    If tabela.NoMatch Then
    MsgBox "Error!", vbCritical
    Else
    tabela.Edit
    tabela("custo") = tabela("custo") + total 'tb ja tentei por o tabela("custo").value
    tabela.Update
    End If
    login.Hide
    frmpago.Show
    End Sub



    ke ****..........
     
  19. faz-me um favor
    posta-me aqui a tabela e o tipo de controlo que estás a utilizar na BD
    para que eu possa ter um visão uma beca mais abrangente de como ascoisas estão a
    trabalhar por ai
     
  20. ? n percebi mto bem.
    tou a utilizar o Visual Data Manager do vb6 para criar e modificar a tabela

    nome da tabela:users

    os campos k tenho sao:
    usuarios:text
    tempo:date/time
    custo:text
    codigo:long:autoincrement
    password:text

    indices:
    indextempo:+usuarios;+tempo
    indexusers:+usuarios
    indexcusto:+usuarios;+custo
    indexlogin:+usuarios;+password



    era isto????
     

Partilhar esta Página