tableeau et contenu

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Patix
Messages : 102
Inscription : ven. 19/nov./2004 14:17

tableeau et contenu

Message par Patix »

Bonjour,

Je teste les tableaux et la question est :
Est il possible de mélanger du numérique et texte dans un tableau ?

Code : Tout sélectionner

Global vtexte.s, vchiffre.l

;************
Enumeration
#ID_BPARAM:#ID_BPARAM2
#ID_IMAGE_PARAM:#ID_IMAGE_PARAM2
EndEnumeration

NbColonnes=8
NbLignes=2
Dim TableauMultiple.b(NbColonnes,NbLignes)


If OpenWindow(0, 100, 200, 300, 260, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget, "PureBasic Window")


Restore WNT_P_L 
     For lig= 0 To NbLignes-1 
             For col=0 To NbColonnes-3
              Read vChiffre
                Select col
                      Case 0
                        TableauMultiple(0, lig)=vChiffre   
                        MessageRequester("tab C0 Lx =",Str(TableauMultiple(0, lig)),#PB_MessageRequester_Ok)
                     
                      Case 1
                        TableauMultiple(1, lig)=vChiffre                         
                      Case 2
                        TableauMultiple(2, lig)=vChiffre                         
                      Case 3
                        TableauMultiple(3, lig)=vChiffre                         
                      Case 4
                        TableauMultiple(4, lig)=vChiffre                         
                      Case 5
                        TableauMultiple(5, lig)=vChiffre                         
                      Case 6
                        TableauMultiple(6, lig)=vChiffre                         
                      Default
                        Debug vchiffre
                EndSelect
;                MessageRequester("JE PASSE",Str(Col),#PB_MessageRequester_Ok)
;                MessageRequester("CELLULE",Str(TableauMultiple(col,lig)),#PB_MessageRequester_Ok)
             Next
     Next           

Restore WNT_P_S 
     For Lig = 0 To NbLignes 
             For Col=0 To NbColonnes
                Read vTexte
                Select Col
                      Case 0
                        TableauMultiple(7, lig)=vTexte                        
                      Case 1
                        TableauMultiple(8, lig)=vTexte                         
                      Case 2
                        TableauMultiple(9, lig)=vTexte                                                 
                      Default
                EndSelect
             Next
     Next    
 
  Repeat
    EventID.l = WaitWindowEvent()

    If EventID = #PB_Event_CloseWindow  ; If the user has pressed on the close button
      Quit = 1
    EndIf

  Until Quit = 1
  
EndIf

End  
  
DataSection 
WNT_P_S: 
Data.s "PARAM","PARAM1_P","lien"
Data.s "PARAM2","PARAM2_P","lien"
WNT_P_L: 
Data.l #ID_BPARAM,1,1,100,30,#ID_IMAGE_PARAM,100
Data.l #ID_BPARAM2,62,31,43,30,#ID_IMAGE_PARAM2,43
EndDataSection

 
; ExecutableFormat=Windows
; EOF
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Les tableaux peuvent utiliser les structures sinon tu peux convertir du numérique en une chaine de caractère.
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Tu peux utiliser la commande "StructureUnion" (je ne l'ai jms testé).
Mais regarde l'aide :wink:
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Patix
Messages : 102
Inscription : ven. 19/nov./2004 14:17

tableau structure datas

Message par Patix »

Bonjour,

Je voudrais remplir, avec des datas en texte et en numérique, un tableau en deux dimensions.
J'essaie donc d'utiliser la structure (conseil de nico).

Mais voila je n'y arrive pas. Si je regarde ds mes variables (vchiffre,vtexte) les données sont bonnes. Si je regarde dans le tableau, c'est loupé (0) et je ne comprends pas :-(.

Ou est l'erreur ?

Code : Tout sélectionner

Global vtexte.s, vchiffre.w

;************
Enumeration
#ID_BPARAM:#ID_BPARAM2
#ID_IMAGE_PARAM:#ID_IMAGE_PARAM2
EndEnumeration

Structure structessai
    vid_param.l
    vY.l 
    vH.l
    vlarg.l 
    vhaut.l
    vid_imag.l 
    vlarg_coul.l
    vtexte1.s 
    vtexte2.s
    vtexte3.s  
EndStructure


NbColonnes=8
NbLignes=2
Dim TableauMultiple.structessai(NbColonnes,NbLignes)


If OpenWindow(0, 100, 200, 300, 260, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget, "PureBasic Window")


Restore WNT_P_L 
     For lig= 0 To NbLignes-1 
             For col=0 To NbColonnes-3
              Read vChiffre
                Select col
                      Case 0
                        TableauMultiple(0, lig)\vid_param=vChiffre   
                        MessageRequester("vid_param - c =",Str(vchiffre),#PB_MessageRequester_Ok)
                        MessageRequester("vid_param =",Str(vid_param),#PB_MessageRequester_Ok)
                     
                      Case 1
                        TableauMultiple(1, lig)\vY=vChiffre                         
                        MessageRequester("vY - c =",Str(vchiffre),#PB_MessageRequester_Ok)
                        MessageRequester("vY =",Str(vY),#PB_MessageRequester_Ok)
                      Case 2
                        TableauMultiple(2, lig)\vH=vChiffre                         
                        MessageRequester("vH - c =",Str(vchiffre),#PB_MessageRequester_Ok)
                        MessageRequester("vH =",Str(vH),#PB_MessageRequester_Ok)
                      Case 3
                        TableauMultiple(3, lig)\vlarg=vChiffre                         
                      Case 4
                        TableauMultiple(4, lig)\vhaut=vChiffre                         
                      Case 5
                        TableauMultiple(5, lig)\vid_imag=vChiffre                         
                      Case 6
                        TableauMultiple(6, lig)\vlarg_coul=vChiffre                         
                      Default
                        Debug vchiffre
                EndSelect
;                MessageRequester("JE PASSE",Str(Col),#PB_MessageRequester_Ok)
;                MessageRequester("CELLULE",Str(TableauMultiple(col,lig)),#PB_MessageRequester_Ok)
             Next
     Next           

Restore WNT_P_S 
     For Lig = 0 To NbLignes 
             For Col=0 To NbColonnes
                Read vTexte
                Select Col
                      Case 0
                        TableauMultiple(7, lig)\vtexte1=vTexte                        
                        MessageRequester("tab C0 Lx =",vTexte,#PB_MessageRequester_Ok)

                      Case 1
                        TableauMultiple(8, lig)\vtexte2=vTexte                         
                      Case 2
                        TableauMultiple(9, lig)\vtexte3=vTexte                                                 
                      Default
                EndSelect
             Next
     Next    
 
  Repeat
    EventID.l = WaitWindowEvent()

    If EventID = #PB_Event_CloseWindow  ; If the user has pressed on the close button
      Quit = 1
    EndIf

  Until Quit = 1
  
EndIf

End  
  
DataSection 
WNT_P_S: 
Data.s "PARAM","PARAM1_P","lien"
Data.s "PARAM2","PARAM2_P","lien"
WNT_P_L: 
Data.l #ID_BPARAM,1,1,100,30,#ID_IMAGE_PARAM,100
Data.l #ID_BPARAM2,62,31,43,30,#ID_IMAGE_PARAM2,43
EndDataSection

 
; ExecutableFormat=Windows
; EOF
t
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

TableauMultiple(0, lig)\vid_param et vid_param sont deux entités différents...
L'erreur vient de là :wink:
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Répondre