PureBasic

Forums PureBasic
Nous sommes le Jeu 20/Juin/2013 6:13

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 20 messages ]  Aller à la page 1, 2  Suivante
Auteur Message
 Sujet du message: Problème Dim
MessagePosté: Mer 04/Avr/2012 9:11 
Hors ligne

Inscription: Mer 11/Nov/2009 18:17
Messages: 1251
Localisation: Poitiers (Vienne)
Salut

Ya un soucis avec Dim ici dans ce code, ce fichue debuger pète une durite :?

Code:
NombreDimentionTableau = 2 ; Sert juste à savoir le nombre de dimention qu'a le tableau

Macro IniMonTableauA(NombreDimentionTableau, NombreColone, NombreLign, NombreProfondeur)
 
  If DimMonTableau(NombreDimentionTableau, NombreColone, NombreLign, NombreProfondeur) = 1
    Dim MonTableau.a(NombreColone) ; Juste des colonnes
   
  ElseIf DimMonTableau(NombreDimentionTableau, NombreColone, NombreLign, NombreProfondeur) = 2
    Dim MonTableau.a(NombreColone, NombreLigne) ; Des colonnes et des lignes
   
  ElseIf DimMonTableau(NombreDimentionTableau, NombreColone, NombreLign, NombreProfondeur) = 3
    Dim MonTableau.a(NombreColone, NombreLigne, NombreProfondeur) ; Des colonnes, des lignes et une profondeur
   
  EndIf
 
EndMacro

Procedure.l DimMonTableau(NombreDimentionTableau, NombreColone, NombreLign, NombreProfondeur)
  Select NombreDimentionTableau
     
    Case 1
     
      If NombreColone = 0
        NombreColone = 1
      EndIf
     
      DimMonTableau = 1
     
    Case 2
     
      If NombreColone = 0
        NombreColone = 1
      EndIf
     
      If NombreLigne = 0
        NombreLigne = 1
      EndIf
     
      DimMonTableau = 2
     
    Case 3
     
      If NombreColone = 0
        NombreColone = 1
      EndIf
     
      If NombreLigne = 0
        NombreLigne = 1
      EndIf
     
      If NombreProfondeur = 0
        NombreProfondeur = 1
      EndIf
     
      DimMonTableau = 3
     
    Default
     
      If NombreColone = 0
        NombreColone = 1
      EndIf
     
      DimMonTableau = 1
     
  EndSelect
 
  ProcedureReturn DimMonTableau
EndProcedure

Procedure Tableau(Type$ = ".l", NombreDimentionTableau = 1, NombreColone = 1, NombreLigne = 0, NombreProfondeur = 0)
 
  Select Type$
     
    Case ".a"
      IniMonTableauA(NombreDimentionTableau, NombreColone, NombreLign, NombreProfondeur)
     
    Case ".b"
     
    Case ".c"
     
    Case ".d"
     
    Case ".f"
     
    Case ".i"
     
    Case ".l"
     
    Case ".q"
     
    Case ".s"
     
    Default
      Type$ = ".l"
     
  EndSelect
 
EndProcedure


Pourquoi il m'ennuie avec ça puisque le tableau je l'initialise qu'une seulle fois :?
Ya t-il moyen de contourner ce problème, une idée, une tapette, une baffe, une tarte, fin n'importe quoi :lol:

Note: Ceci n'est qu'un essaie, j'ai coder ça juste pour passer le temps et essayer un truc !

_________________
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php


Haut
 Profil  
 
 Sujet du message: Re: Problème Dim
MessagePosté: Mer 04/Avr/2012 11:02 
Hors ligne

Inscription: Mer 14/Sep/2011 16:59
Messages: 345
C'est le même coup qu'avec la map du post de Blendman http://www.purebasic.fr/french/viewtopic.php?f=1&t=12689

Je pense que c'est l’éditeur de PB qui croit que l'on veut déclarer le tableau plusieurs fois.
Faudrait demander à Fred.

Mesa.


Haut
 Profil  
 
 Sujet du message: Re: Problème Dim
MessagePosté: Mer 04/Avr/2012 13:18 
Hors ligne

Inscription: Mer 11/Nov/2009 18:17
Messages: 1251
Localisation: Poitiers (Vienne)
C'est vraiment très problèmatique quand même :(

_________________
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php


Haut
 Profil  
 
 Sujet du message: Re: Problème Dim
MessagePosté: Mer 04/Avr/2012 14:05 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 28/Jan/2004 20:58
Messages: 4311
Localisation: Clermont ferrand OU Olsztyn
avec jaPBe, aucune erreur, c'est quoi le soucis ?

_________________
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]


Haut
 Profil  
 
 Sujet du message: Re: Problème Dim
MessagePosté: Mer 04/Avr/2012 14:35 
Hors ligne

Inscription: Mer 11/Nov/2009 18:17
Messages: 1251
Localisation: Poitiers (Vienne)
Le debuger pète une durite car il crois que l'on crée plusieur fois le même tableau :?

_________________
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php


Haut
 Profil  
 
 Sujet du message: Re: Problème Dim
MessagePosté: Mer 04/Avr/2012 17:52 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 26/Avr/2004 0:40
Messages: 13086
avec EPB j'ai une erreur de syntaxe ligne 4

sur la ligne 75
Code:
Case ".a"
      IniMonTableauA(NombreDimentionTableau, NombreColone, NombreLign, NombreProfondeur)


message de l'erreur
"5- Erreur de syntaxe at line 4 of the expanded Macro (Macro.out)"

_________________
Image


Haut
 Profil  
 
 Sujet du message: Re: Problème Dim
MessagePosté: Mer 04/Avr/2012 18:12 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 13/Fév/2004 0:57
Messages: 3073
Ben, c'est normal, on ne peut pas créer dynamiquement des tableaux, des constantes, des variables etc...


Haut
 Profil  
 
 Sujet du message: Re: Problème Dim
MessagePosté: Mer 04/Avr/2012 18:18 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 26/Avr/2004 0:40
Messages: 13086
bon :) EPB marche mieux que Japbe si j'en crois Le Soldat inconnu :lol:

_________________
Image


Haut
 Profil  
 
 Sujet du message: Re: Problème Dim
MessagePosté: Jeu 05/Avr/2012 23:16 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 28/Jan/2004 20:58
Messages: 4311
Localisation: Clermont ferrand OU Olsztyn
non, j'ai l'erreur aussi effectivement, z'avais pas tout compris.

Comme dis nico,ça ne peut pas fonctionné, ton affaire

_________________
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]


Haut
 Profil  
 
 Sujet du message: Re: Problème Dim
MessagePosté: Ven 06/Avr/2012 8:45 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 14/Oct/2004 19:48
Messages: 420
Il faut changer ton paradigme de programmation, David.
On ne programme pas de cette manière avec PB.

_________________
Ceci n'est pas une signature.


Haut
 Profil  
 
 Sujet du message: Re: Problème Dim
MessagePosté: Ven 06/Avr/2012 9:41 
Hors ligne

Inscription: Mer 11/Nov/2009 18:17
Messages: 1251
Localisation: Poitiers (Vienne)
Oui mais pourquoi on pourais pas crée des tableaux au autre dinamiquement, c'est dommage ça :(
Comment puis-je faire autrement svp ?!

_________________
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php


Haut
 Profil  
 
 Sujet du message: Re: Problème Dim
MessagePosté: Sam 07/Avr/2012 14:13 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 14/Oct/2004 19:48
Messages: 420
Je ne sais pas ce que tu veux faire au final (ce n'est pas trivial quand on regarde ton code !!), mais en admettant que tu veuille vraiment faire ce que tu fais, je procéderai ainsi:

au début du programme, tu créé un tableau avec le maximum de dimension que tu souhaites:

dim montableau.a(1,1,1)

ensuite,
tu le redimensionne en fonction de tes besoins avec

redim montableau(colonne,ligne,profondeur)


M'enfin, déja si on savait ce que tu veux faire, ça serait plus simple ;)

_________________
Ceci n'est pas une signature.


Haut
 Profil  
 
 Sujet du message: Re: Problème Dim
MessagePosté: Sam 07/Avr/2012 14:17 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 21/Mai/2005 17:50
Messages: 941
Fig a écrit:
Je ne sais pas ce que tu veux faire au final (ce n'est pas trivial quand on regarde ton code !!), mais en admettant que tu veuille vraiment faire ce que tu fais


:mrgreen: :mrgreen: :mrgreen: :lol:

je suis mort de rire...

_________________
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))


Haut
 Profil  
 
 Sujet du message: Re: Problème Dim
MessagePosté: Sam 07/Avr/2012 15:42 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 17/Déc/2007 12:44
Messages: 942
Localisation: Nord (France)
Bonjour,

J'avous ne pas tout avoir compris mais juste avec un :

Code:
Dim Machin.l(0)
ReDim Machin(100)


Ce ne serait pas plus simple? ton redim donne la taille en fonction des besoins ?

Cordialement,
GallyHC

J'utilise pas mal le Redim et cela fonctionne plutot bien, quand on ne fait pas d'erreur dans le code (ce qui m'est deja arrive) lol.


Haut
 Profil  
 
 Sujet du message: Re: Problème Dim
MessagePosté: Sam 07/Avr/2012 15:47 
Hors ligne

Inscription: Mer 11/Nov/2009 18:17
Messages: 1251
Localisation: Poitiers (Vienne)
Un:

Dim MonTableau.Type$()

Serais bien je trouve, Type$ pourais être un ".l" par exemple ou ".a", etc. !

_________________
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 20 messages ]  Aller à la page 1, 2  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye