Projecto Vb 11º(inicio)

Diogo.23

Membro
Ora boas a todos,
desde já felicito este forum pelo exelente
trabalho desenvolvido.

Estou no 11º em bases de programaçao estou a dar Vb.
foi nos pedido um trabalho a dois ainda sem data pre-defenida(mas é melhor começar já a pensar)
eu e o meu colega, temos conhecimentos muito basicos de Vb,(só de 11º mesmo)
e a nossa ideia para o projecto/trabalho seria fazer uma especie de barra de tarefas.
Passo a explicar.

- Nessa mesma barra gostava de conter coisas como botao de acesso ao browser de internet,
para o meu computador,meus documentos e o media player.
- ter botoes com tarefas agendadas... que por exemplo..e saio de casa carrego no botao..
deixo la uma hora 'X' e ele nessa hora ira se desligar.
- uma calculadora (sim essa sabemos xD)
- será possivel ter um mostrador de relógio/calendário?
- ter links para os sites mais visitados ou então para os escolhidos pelo utilizador

Isto é so uma ideia/esboço inicial.
tudo isto será possivel com trabalho.
Mas como ja referi os meus conhecimentos sao super reduzidos.
Gostava que me aconselhassem por onde começar ou se tem alguma ideia.

um grande obrigado meu desde já.

cumps.
 
vem, vamos la entao!

1º criar botoes de atalho para programas! facil!
crias um command button, duplo click, e escreves o codigo:
shell direcotrio do programa
exemplo
shell ("C:\Program Files\Internet Explorer\IEXPLORE.EXE")
isto executa o internet explorer
fazes isto po resto que queres!

Pa cena de agendamento
crias 3 textboxes
e um timer e poes
Text1 = Hour(Time)
Text2 = Minute(Time)
Text3 = Second(Time)

nestas e onde mostra a hora actual!
depois crias mais 3 para pores tu a hora que queres que algo aconteca!
e crias mais um botao e um timer
no botao podes como caption algo tipo Iniciar
e poes o codigo:
Timer2.Enabled = True
desde ja aviso que o timer2.enabled = false no inicio do forum deve tar timer2.enabled = false
e todos devem ter de interval 1000 que e 1 segundo
no timer2 no codigo poes algo tipo:
If Text4.Text = Text1.Text Then
If Text5.Text = Text2.Text Then
If Text6.Text = Text3.Text Then
codigo que keres ke faça
end if
end if
end if
ou seja quando for as caixas iguais ele faz algo que tu dises
e pronto, basicamente e isto que queres saber!
espero ter sido util!
nao testei o codigo, foi feito aki espero que n tenha erros, mas se tiver tu dises!
 
Última edição:
vem, vamos la entao!

1º criar botoes de atalho para programas! facil!
crias um command button, duplo click, e escreves o codigo:
shell direcotrio do programa
exemplo
shell ("C:\Program Files\Internet Explorer\IEXPLORE.EXE")
isto executa o internet explorer
fazes isto po resto que queres!

----------------------------------------------------------------------------------------

If Text4.Text = Text1.Text Then
If Text5.Text = Text2.Text Then
If Text6.Text = Text3.Text Then
codigo que keres ke faça
end if
end if
end if

Boas,

apenas 2 reparos:

em relação á primeira questão, aviso-te desde já que deves ter cuidado com os caminhos, pois quem tiver o windows em português a pasta é programas, e não Program Files, a lógica está lá, depois tens é de ajustar ao teu caso.

Ainda em relação a esse tema, não te deves esqueçer, que os programas no teu computador são diferentes dos do teu professor, exemplo podes usar o Microsoft Office, e o teu stor usar o OpenOffice, e o link de por exemplo do word não funcionar.

Em relação ao ciclo if..then, podes optimiza-lo da seguinte forma:

Código:
If Text4.Text = Text1.Text And Text5.Text = Text2.Text And Text6.Text = Text3.Text Then
 [bloco de instruções]
End If

Da maneira que foi referida tambem funciona, contudo assim utilizas apenas 1 ciclo em vez de 3!

Cumpts.
 
Última edição:
Desde já o meu obrigado...

Ainda em relação a esse tema, não te deves esqueçer, que os programas no teu computador são diferentes dos do teu professor, exemplo podes usar o Microsoft Office, e o teu stor usar o OpenOffice, e o link de por exemplo do word não funcionar.

Sim era uma das minhas duvidas ininicias,
gosta ve que abrise sim por exemplo o browser padrão do utilizador da maquina?

Tou um bocado confuso em relaçao ao relogio... é melhor um passo de cada vez :)
para tambem eu e o meu colega ficarmos a perceber.

entao eu posso ter uma label e um timer e ter um codigo no timer que faça aparecer a hora
actual(a da maquina)? mas tambem li algures que convem por o formato.

cumps
 
boas,

o codigo para abrir o browser pre-definido e:
Código:
Private Declare Function ShellExecute Lib "shell32.dll" _
        Alias "ShellExecuteA" (ByVal hwnd As Long, _
        ByVal lpOperation As String, _
        ByVal lpFile As String, _
        ByVal lpParameters As String, _
        ByVal lpDirectory As String, _
        ByVal nShowCmd As Long) As Long

Private Const SW_SHOW = 1
Dim hBrowse As Long

hBrowse = ShellExecute(0&, "open", "http://www.sapo.pt", "", "", SW_SHOW)

em que o website que vai abrir e o do sapo, alteras e funciona.

[Codigo não feito por mim, retirado de um outro post aqui do forum]


Em relação ao relógio:
Para colocares a hora actual basta usares o seguinte codigo:
Código:
Text1.Text = Format(Time, "hh:mm:ss")

Nota: se em vez de hora, quiseres a data, trocas o formato para: Format(Date, "dd-mm-yyyy").

O que o flavio te quis explicar com aquele ciclo foi: em 3 text box´s (podes trocar por apenas uma, se usares o formato que eu te dei) , e noutras 3 (que tambem pode ser apenas 1a), vais inserir a data a que queres que ele faça alguma coisa, por exemplo, messagebox a informar que está na hora de qualquer coisa.

o que aquele codigo faz, é comparar a hora da máquina, com a hora que foi inserida para 1 determinado evento, e quando essa condição for verdadeira vai executar o bloco de instruções que definires.

isto funciona para apenas 1 evento, para usares mais do que um evento em simultaneo, ja vais ter que dificultar um pouco as coisas.

Espero ter conseguido ajudar e ter explicado de uma forma minimamente compreensivel.

Cumpts.
 
Obrigado pela ajuda,

bom mas agora começaram tambem a surgir os erros,
http://img181.imageshack.us/img181/8889/semttulo4cx.jpg

em seguida tentei as horas,
fiz a textbox e introduzi o codigo no timer mas ao correr o prog.
as horas nao aparecem automaticamente.


abraços.
 
boas,

quanto ao erro:

esqueçi-me de referir 1a coisa, no topo do form, na zona das declarações, tens de declarar a funcao:
Código:
Private Declare Function ShellExecute Lib "shell32.dll" _
        Alias "ShellExecuteA" (ByVal hwnd As Long, _
        ByVal lpOperation As String, _
        ByVal lpFile As String, _
        ByVal lpParameters As String, _
        ByVal lpDirectory As String, _
        ByVal nShowCmd As Long) As Long

Private Const SW_SHOW = 1
Dim hBrowse As Long
Depois, onde queres abrir o evento (comando/evento) é que metes o seguinte codigo:

Código:
hBrowse = ShellExecute(0&, "open", "http://www.sapo.pt", "", "", SW_SHOW)

Para que as horas apareçam tens de fazer o seguinte:

no form load, activas o timer, e tens de definir o intervalo (1 segundo):

Timer1.enabled = true
timer1.intervalv = 1000

depois no timer1 metes:

labelhoras.caption = Format(Time, "hh:mm:ss")

Penso que sejam estes os erros que estás a cometer.

Cumpts.
 
ya, tal como disse em cima tens que ter num timer a actualizar de um segundo pa mostrar a hora em tempo real :)

Sim, :)

Obrigado(once again)
bem até agora as horas e o botao que faz a ligaçao ao browser estão testados
e a funcionar.

Agora, em relação as tarefas agendadas.o a ideia era a seguinte
ter o botao ex.shutdown. ao clicar nesse botao fazer aparecer um msgbox para introduzirmos a hora a que queremos desligar a maquina.

cumps:P
 
para a cena de desligares o pc axo k em cima de td poes:
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_CLOSE As Long = &H10
'SHUT DOWN AND RESTART IN VB6
Const EWX_LOGOFF As Long = 0
Const EWX_SHUTDOWN = 1
Const EWX_REBOOT = 2
Const EWX_FORCE = 4
Private Declare Function ExitWindows _
Lib "user32" Alias "ExitWindowsEx" _
(ByVal dwOptions As Long, ByVal dwReserved As Long) As Long

e depois no botao poes algo tipo
timer2.enabled
no timer2 poes:
a cena de verifiar horas de agendmento como tens explicado em cima e poes mais:
ExitWindows EWX_SHUTDOWN, &HFFFFFFFF

se td correr bem deve encerrar!
 
para a cena de desligares o pc axo k em cima de td poes:
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_CLOSE As Long = &H10
'SHUT DOWN AND RESTART IN VB6
Const EWX_LOGOFF As Long = 0
Const EWX_SHUTDOWN = 1
Const EWX_REBOOT = 2
Const EWX_FORCE = 4
Private Declare Function ExitWindows _
Lib "user32" Alias "ExitWindowsEx" _
(ByVal dwOptions As Long, ByVal dwReserved As Long) As Long

e depois no botao poes algo tipo
timer2.enabled
no timer2 poes:
a cena de verifiar horas de agendmento como tens explicado em cima e poes mais:
ExitWindows EWX_SHUTDOWN, &HFFFFFFFF

se td correr bem deve encerrar!

Obrigado,
criei as 3 textbox para se inserir a hora os minutos e os segundos.
fiz isso cliquei no botao encerrar e nada.
tirei que por algum codigo nas textbox.
nao será possivel ao clicar mos no botao shutdown ele nos mostrar uma mensagem
aí sim nessa mensagem inserirmos as horas?

sou bue xato:-D
 
para a cena de desligares o pc axo k em cima de td poes:
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_CLOSE As Long = &H10
'SHUT DOWN AND RESTART IN VB6
Const EWX_LOGOFF As Long = 0
Const EWX_SHUTDOWN = 1
Const EWX_REBOOT = 2
Const EWX_FORCE = 4
Private Declare Function ExitWindows _
Lib "user32" Alias "ExitWindowsEx" _
(ByVal dwOptions As Long, ByVal dwReserved As Long) As Long

e depois no botao poes algo tipo
timer2.enabled
no timer2 poes:
a cena de verifiar horas de agendmento como tens explicado em cima e poes mais:
ExitWindows EWX_SHUTDOWN, &HFFFFFFFF

se td correr bem deve encerrar!
@ flaviorodrigues, dá uma vista de olhos a esta thread, porque esse método só resulta em Win95/98/ME.
Para fazer shutdown, podes sempre fazer Shell ("shutdown -s -f -t 00"), em que s = Shutdown; f =
Force; t = Tempo - 00 segundos = imediato :P
É um workaround... há formas melhores de o fazer, mas são muito complexas.

Quanto às horas para encerrar o pc, há muito que fazer. Podes usar um form novo, em que controlas o que é escrito (uma InputBox permite que se desligue o computador às 254 horas, 352 minutos e 95 segundos).
Num Timer, já podes controlar a hora actual e a hora para shutdown, e quando forem a mesma, faz o shutdown.

Se puderes, coloca cada uma das tuas dúvidas actuais em tópicos, como fizeste no post inicial, para eu te tentar responder a todas e a cada uma individualmente ;)

Cumps [[[[[[[]]]]]]]
angelofwisdom
 
Back
Topo