Page 1 sur 1

Variable et structure [Résolu]

Publié : lun. 05/oct./2009 10:09
par Kwai chang caine
Bonjour à tous

J'ai une petite question qui va vous prouver que pour moi...la route est encore longue :oops:
J'ai cette valeur "*strPtr.INTEGER" qui arrive dans une de mes procedures

Code : Tout sélectionner

Procedure Essai(*strPtr.INTEGER)
 Debug PeekS(*strPtr\i, - 1, #PB_Ascii)
EndProcedure
Sous cete forme j'ai un resultat 8)
Si je veux changer "I" j'ecris ça

Code : Tout sélectionner

Procedure Essai(*strPtr.INTEGER)
 i = 2
 Debug PeekS(*strPtr\i, - 1, #PB_Ascii)
EndProcedure
J'ai aussi un autre resultat qui me va plus que bien
Mais j'aimerais mettre en statique l'appel de cette valeur, donc ne plus passer par la variable "I"
J'ecris ceci en remplaçant le "i" par "2"...mais la ... BOING !! (Commande de structure introuvable) :cry:

Code : Tout sélectionner

Procedure Essai(*strPtr.INTEGER)
 Debug PeekS(*strPtr\2, - 1, #PB_Ascii)
EndProcedure
J'ai apparement pas tout compris sur les structures :oops:
Que dois-je ecrire pour plus avoir de musique ??? :roll:

Bonne journée

Re: Variable et structure

Publié : lun. 05/oct./2009 10:21
par djes
N'importe quoi, on voit que tu n'y comprends rien! Tu vas me faire quelque exercices simples avec les pointeurs (à grands coups de debug et de visualisation mémoire et pas dans des procédures), et tout de suite! :twisted:

Re: Variable et structure

Publié : lun. 05/oct./2009 10:26
par Backup
deja lorsque tu fait :

PeekS(*strPtr\i)
tu LIS le i de la structure

si tu veux ecrire c'est pokeXXX() qu'il faut faire !! :roll:

de plus il y a un tres bon tuto sur les structures ;)

mais pour faire vite une structure c'est une zone qui contient des variables de toutes nature

structure zone
variable1.s
variable2.l
variable3.W
.... etc
endstructure

tu lis une variable comme ça

chaine$=Zone\variable1
long.l=zone\variable2.l
court.w=zone\variable3.w

tu ecrit dans une variable comme ça

Zone\variable1=chaine$
zone\variable2.l=long.l
zone\variable3.w=court.w


si tu utilise Peek() tu lis le contenu
si tu utilise Poke() tu ecris le contenu ....

en faisant debug Zone\2 , ça va planter parceque '2' n'est pas une variable contenue dans Zone !! ;)

Re: Variable et structure

Publié : lun. 05/oct./2009 11:19
par Kwai chang caine
Merci DJES...je savais que je pouvais compter sur toi :lol: :lol: :lol:
T'as raison...faut qu'trouve un coin dans mon bureau :oops:

@Dobro
Merci beaucoup de ton explication. 8) (C'est pas comme certains... huuuummmffff !!! :wink:)
J'ai presque jamais utilisé ces trucs, un peu en VB, mais avec copier/coller sans bien comprendre.
C'est un genre de tableau, en fait.

Bon.... je commence a comprendre, et je vais essayer de le retenir, ce qui risque pas de m'arriver si je les utilisent une fois tous les ans, comme actuellement.

Et comme je connais pas trop, j'me suis dit...peut etre que la syntaxe est pas bonne

Peut etre est-ce :

Code : Tout sélectionner

Debug PeekS(*strPtr.i, - 1, #PB_Ascii)
Debug PeekS(*strPtr[i], - 1, #PB_Ascii)
Debug PeekS(*strPtr/i, - 1, #PB_Ascii)
En plus avant de vous deranger j'ai essayer tout ça.... :oops:
Aie pas sur la tete...pas sur la tete !!!!
C'est costaud un IDE :roll:

En fait ce qui m'a induit en erreur, c'est que le code est dans une boucle "i"

Code : Tout sélectionner

Procedure Essai(*strPtr.INTEGER, x)
 For i = 1 to X
    ...
    ... 
   Debug PeekS(*strPtr\i, - 1, #PB_Ascii)
   ...
   ... 
    *strPtr + SizeOf(INTEGER)
   ...
   ... 
 Next
EndProcedure
Alors j'ai cru que c'etait le i qui faisait avancer le schmilblick :oops:
Mais c'est pas le meme "i", un il est pour avancer et l'autre pour la structure INTEGER, si je comprend bien.
Alors qu'en fait pour avancer c'est l'autre ligne

Code : Tout sélectionner

*strPtr + SizeOf(INTEGER)
Reste quand meme que les structures...c'est pas simple :(
Merci beaucoup à vous deux de votre reponse rapide 8)

Re: Variable et structure [Résolu]

Publié : lun. 05/oct./2009 11:27
par Backup
si c'est simple :)

mais le probleme , c'est que tu pose ici des probleme relatif a Visual Basic ....
c'est pas le meme langage... tu le sais

ma réponse concerne le PureBasic et rien d'autre ....
sur notre Forum, mieux vaut parler Purebasic ;)

Re: Variable et structure [Résolu]

Publié : lun. 05/oct./2009 11:32
par djes
Dobro a plus de patience que moi, c'est un bon modérateur et il est toujours prêt à aider. Moi je vois qu'il y a déjà plein de tutos sur le sujet et que tu t'attaques à des trucs que tu ne maîtrises pas du tout, alors je te dis qu'il faut que tu t'entraines.

Avec PB on a la chance d'avoir un debugger qui te permet de voir les zones mémoires et le contenu des variables en direct (y compris les pointeurs). Ca aide à comprendre où on poke; je n'ai pas l'impression que tu saches t'en servir.

En outre, les chaînes de caractères sont assez complexes à maîtriser, puisqu'il y a différentes conventions de manipulations, et des conversions à prendre en compte. La plupart des problèmes de sécurité viennent de là, avec des dépassements mémoire, etc. Tu n'es pas le seul à galérer.

Re: Variable et structure [Résolu]

Publié : lun. 05/oct./2009 13:50
par Kwai chang caine
ma réponse concerne le PureBasic et rien d'autre ....
sur notre Forum, mieux vaut parler Purebasic
Je le sais bien pas d'inquietude.
Et heureusement c'est pour ça que j'aime tant PB depuis que je le connais.
Mais tu sais que j'ai pas le choix...VB c'est la gamelle :lol:
Mais je m'arrange toujours pour glisser un petit PB des que je le peux au milieu des gros VB :wink:

Je voulais juste dire que, la seule fois que je les ai vraiment utilisées c'etait en VB, et encore forcé car pour ecrire dans des fichiers en random, il fallait faire une declaration de type et l'utiliser 8O
Pendant des années, j'ai utilisé l'equivalent sans jamais rien y comprendre :oops:

L'avantage de PB, c'est qu'il me fait comprendre noir de chose sur VB 8O
Je sais que c'est pas le but recherché....mais bon, je fais ce que je peux avec ce que j'ai :D :oops:

@DJES
Moi je vois qu'il y a déjà plein de tutos sur le sujet
Pour le sujet des tutos, j'en ai lu quelques uns, quand j'en avais besoin, et aussi au debut, et c'est super cool le boulot que les copains ont fait 8)
Mais c'est comme a l'ecole, je les lis, trouve ça genial, et 6 mois apres....je me rapelle pas une ligne :oops:
Oui je pourrais retourner les relire, pour chercher ma reponse.
Mais c'est comme les aides de PB, elles donnent parfois des exemples, mais comme c'est pas exactement ta situation, bah parfois, j'arrive pas a faire la comparaison avec mon code et les reponses ne me viennent pas.
Tu as raison.....j'utilise pas la bonne methode, j'essaye celle ou j'arrive a avancer un peu :oops:

Mais une fois que j'ai fait un truc, j'arrive a me rappeller normalement que je l'ai deja fait...et je refouine dans mes anciens codes.
Car en fait...quand j'ai trouvé une methode pour faire quelque chose.. je la grave dans le marbre, et n'en change plus jamais.
C'est comme ça que 6 mois apres je relis ce que j'ai fait...et que j'ai l'impression que c'est pas moi qui l'ai ecrit.

Quand je fais quelque chose...j'essaye de le faire le mieux que je peux et je prie les dieux que je n'aurais plus jamais a y remettre le nez...comme ça j'avance un peu
C'est pour cette raison que j'essaye de tout faire avec les DLL
Car une fois que c'est fait, ça marche tant bien que mal...mais ça marchera toujours pareil et ceci avec n'importe quel exe de n'importe quel language :D
Et je peux passer a autre chose :wink:
tu t'attaques à des trucs que tu ne maîtrises pas du tout, alors je te dis qu'il faut que tu t'entraines.
J'ai l'impression que tu ne me connais pas depuis toutes ces années 8O
Donne moi une seule chose que je maitrise :lol:

En fait, j'ai un projet depuis 4 ans, et j'essaye de le mener a bien en me debatant au milieu des languages et des codes.
Je fais de l'apprentissage par la pratique, car je sais que je n'arrive a apprendre que comme ça...
J'ai donc mon immense projet, et j'apprend chaque rubrique en essayant de la realiser...
C'est ma maniere de m'entrainer, car si je fais du code sans but.....j'y arriverais surement...mais je l'oublierais aussi vite.

Le mieux pour moi, c'est encore un exemple concret, un besoin... qui me permet de me dire: "KCC dans tel programme tu as deja eu ce probleme" et comme j'ai horreur de rechercher deux fois, comme nous tous, je pense, et bien je readapte mon ancien code qui tourne a mon nouveau besoin.

Je sais c'est pas facile de "forumer" quelques heures avec moi...alors imagine... moi qui vie 24/24 avec moi meme :?

Re: Variable et structure [Résolu]

Publié : mer. 07/oct./2009 3:14
par Ar-S
Kwai chang caine a écrit : J'ai l'impression que tu ne me connais pas depuis toutes ces années
Donne moi une seule chose que je maitrise :lol:
:P Les longs discours ! :P Image

Re: Variable et structure [Résolu]

Publié : mer. 07/oct./2009 9:24
par Kwai chang caine
Aaaahhh ....c'est vrai .........un peu mieux que les longs codes :roll: