Jump to content

Arrays


Go to solution Solved by jpaulino,

Recommended Posts

Posted

Tou a fazer uma espécie de keyloger para um colega meter nos pcs da escola (malandro ^^).

Como usar os hooks do windows e essas tretas dá muito trabalho resolvi fazer algo do género:

If e.KeyCode = Keys.A Then
        "código aqui"
End If

I fazer isto um monte de vezes até ter todas as letras vai me dar trabalho.

Mas lembrei-me duma coisa que já tinha ouvido falar mas que nunca percebi bem chamados arrays.

Um array acho que define um intervalo, supostamente esse intervalo deverá ser de 1 - a 27 (letras do abcedário).

Alguém me conseguia postar aqui um pequeno exemplo de como deverá ser o meu código? É que já tou farto de ler artigos sobre isto, mas acho que só vou lá com um exemplo.

  • Solution
Posted

Um array funciona desta forma

        Dim array(3) As String
        array(0) = "isto"
        array(1) = "é"
        array(2) = "um"
        array(3) = "teste"
        For Each p As String In array
            Debug.WriteLine(p)
        Next

Ou seja, defines o array com 4 posições de memória (3 porque começa no zero) e depois defines para cada posição o que queres guarda (texto, numeros. etc). Finalmente tens um pequeno exemplo de como mostrar os dados.

Com o VS.NET apareceram as generics collections . Têm diversas vantagens em relação aos arrays convencionais e podes ver mais informações aqui: VB.NET: Utilizando Colecções List(Of T)


Finalmente, e para o que qeres, não precisas de colecções ou arrays. Podes fazer assim:

Public Class Form1
    Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
        Debug.WriteLine(Chr(AscW(e.KeyChar)))
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.KeyPreview = True
    End Sub
End Class

Espero que isto ajude a esclarecer!

Posted

Já agora, deves ter tido uma razão para escreveres  "Debug.WriteLine(Chr(AscW(e.KeyChar)))" ou não?

LOL, não ... enganei-me. 😞

Depois tirei mas não me lembrei de alterar no fórum.

PS: És o meu heroi ^^!

Ainda bem que pude ajudar 🙂

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.