none
keyevent en small basic RRS feed

  • Question

  • Bonjour à Toutes et tous,

    Je me lance dans le code small basic et je cherche à déclencher des évènements clavier.

    Voilà le principe :

    - Je voudrais charger une image, soit depuis le net (genre serveur ftp, ou en local) : l'image (qui est le fond) explicite les touches 1, 2 et 3 par exemple.

    - Puis stoker 3 autres images (depuis le net ou en local) en mémoire.

    - En appuyant sur la touche 1 => une image plus petite apparait, en fixe, selon des coordonnées (disons le centre, par exemple)

    - Tant qu'une autre touche n'est pas enfoncée, cette petite image reste affichée.

    - Il faudrait répéter le principe pour les touches 2 et 3, par exemple.

    - Le tout en boucle

     

    Voilà le principe.

    Si quelqu'un pourrait me donner l'exemple du code à faire, ça serait cool ^^

    Par avance, je vous remercie de votre aide.

    Absolu.
    • Modifié absolu samedi 1 octobre 2011 09:53
    samedi 1 octobre 2011 09:52

Réponses

  • Merci à vous !!

    Après quelques tests, j'y suis arrivé ^^

    Voici le code de base, au cas où certains le voudrais :

     


    ' *****  INITIALISATION DE L'ESPACE FENETRE GRAPHIQUE  *****

    GraphicsWindow.Width = 1024
    GraphicsWindow.Height = 413





    ' *****  CHARGEMENT IMAGE DE FOND DU MELANGEUR  *****

    Variable image = Shapes.AddImage("mettre l'adresse ftp de l'image")
    Shapes.Move(variable image,00,00)





    ' *****  CHARGEMENT DES IMAGES   *****

    Variable image A = ImageList.LoadImage("mettre l'adresse ftp de l'image")
    Variable image B = ImageList.LoadImage("mettre l'adresse ftp de l'image")





    ' *****  INITIALISATION CLAVIER *****

    GraphicsWindow.KeyDown = OnKeyDown
    GraphicsWindow.Show()





    ' *****  SUB PROCEDURE ==> EVENEMENTS CLAVIER DES ENTREES NUMERIQUES *****

    Sub OnKeyDown
     
      key = GraphicsWindow.LastKey
     
                      If (key = "NumPad1") Then
                                KeyNumPad1()
                          EndIf
     
                                    If (key = "NumPad2") Then
                                              KeyNumPad2()
                                            EndIf
     
                                                 
      EndSub
     
      ' *****  CONFIRMATION DES ENTREES CLAVIER NUMERIQUE  *****
     
      Sub KeyNumPad1

      Variable image A = Shapes.AddImage("adresse image A")
    Shapes.Move(Variable image A ,595,17)
      'GraphicsWindow.BackgroundColor = "Red"
      GraphicsWindow.DrawText(100,100,"1 key")
    EndSub
     
    Sub KeyNumPad2
     
     
    Variable image B  = Shapes.AddImage("adresse image B")
     Shapes.Move(CAM2,595,17)
      'GraphicsWindow.BackgroundColor = "Blue"
      GraphicsWindow.DrawText(100,100,"2 key")
    EndSub


    • Marqué comme réponse Michel K samedi 1 octobre 2011 14:22
    samedi 1 octobre 2011 13:14

Toutes les réponses

  • Bonjour Absolu,

    Est-ce ceci que tu veux :

    ' exemple de saisie clavier sur la form vide
    Option Explicit On
    Public Class Form1
    
      Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Focus()
      End Sub
    
      Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
        Select Case Asc(e.KeyChar)
          Case 49
            MsgBox("touche 1")
            ' code ici pour cette valeur
          Case 50
            MsgBox("touche 2")
            ' code ici pour cette valeur
          Case 51
            MsgBox("touche 3")
            ' code ici pour cette valeur
        End Select
      End Sub
    
    End Class
    ' ça marche pareil dans un objet…
    
    



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    • Proposé comme réponse EhJoe samedi 1 octobre 2011 15:46
    samedi 1 octobre 2011 10:06
  • Salut EhJoe,

    Le code que tu m'as envoyé semble être en VB et en le traduisant, ça correspond à ma requête, effectivement.

    Là j'ai posté en VB, car pas de section "small basic" -_-

    Ce qu'il me faudrait exactement, c'est l'exemple du code en small basic.

     

    Mais je te remercie beaucoup ^^

     

    Absolu.

     

     

     

    samedi 1 octobre 2011 11:16
  • Bonjour,

    C'est le Small Basic de Microsoft ou le SmallBASIC GPL ?

    Essayez peut-être http://msdn.microsoft.com/fr-fr/beginner/hh314609(en-us).aspx pour récupérer des leçons en français. Voir http://msdn.microsoft.com/fr-fr/beginner/gg685834(en-us).aspx qui semble indiquer comment récupérer les évènements clavier depuis l'objet GraphicWindow.

    La ressemblance entre SmallBasic et VB étant assez superficielle, il restera sans doute indispensable de s'orienter vers un forum SmallBasic en français (ou anglais si cela peut convenir ?).

    Vérifiez aussi que ce langage dispose bien des fonctions dont vous avez besoin (récupération de fichiers via ftp par exemple) car à mon sens, c'est plutôt orienté vers une initiation avec notamment pas mal de possibilités graphiques mais peut-être pas très polyvalent à terme.


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    samedi 1 octobre 2011 12:11
    Modérateur
  • Merci à vous !!

    Après quelques tests, j'y suis arrivé ^^

    Voici le code de base, au cas où certains le voudrais :

     


    ' *****  INITIALISATION DE L'ESPACE FENETRE GRAPHIQUE  *****

    GraphicsWindow.Width = 1024
    GraphicsWindow.Height = 413





    ' *****  CHARGEMENT IMAGE DE FOND DU MELANGEUR  *****

    Variable image = Shapes.AddImage("mettre l'adresse ftp de l'image")
    Shapes.Move(variable image,00,00)





    ' *****  CHARGEMENT DES IMAGES   *****

    Variable image A = ImageList.LoadImage("mettre l'adresse ftp de l'image")
    Variable image B = ImageList.LoadImage("mettre l'adresse ftp de l'image")





    ' *****  INITIALISATION CLAVIER *****

    GraphicsWindow.KeyDown = OnKeyDown
    GraphicsWindow.Show()





    ' *****  SUB PROCEDURE ==> EVENEMENTS CLAVIER DES ENTREES NUMERIQUES *****

    Sub OnKeyDown
     
      key = GraphicsWindow.LastKey
     
                      If (key = "NumPad1") Then
                                KeyNumPad1()
                          EndIf
     
                                    If (key = "NumPad2") Then
                                              KeyNumPad2()
                                            EndIf
     
                                                 
      EndSub
     
      ' *****  CONFIRMATION DES ENTREES CLAVIER NUMERIQUE  *****
     
      Sub KeyNumPad1

      Variable image A = Shapes.AddImage("adresse image A")
    Shapes.Move(Variable image A ,595,17)
      'GraphicsWindow.BackgroundColor = "Red"
      GraphicsWindow.DrawText(100,100,"1 key")
    EndSub
     
    Sub KeyNumPad2
     
     
    Variable image B  = Shapes.AddImage("adresse image B")
     Shapes.Move(CAM2,595,17)
      'GraphicsWindow.BackgroundColor = "Blue"
      GraphicsWindow.DrawText(100,100,"2 key")
    EndSub


    • Marqué comme réponse Michel K samedi 1 octobre 2011 14:22
    samedi 1 octobre 2011 13:14