Page 3 sur 4
Publié : ven. 07/juil./2006 1:57
par Backup
pour desactiver le rapport d'erreur a microsoft tu fait (avec XP)
menu demarer
parametre
panneau de configuration
system
onglé "Avancé"
bouton en bas a droite [Rapport d'erreur]
cliquer sur "Désactiver le rapport d'erreur"
tu ferme tout , c'est bon

Publié : ven. 07/juil./2006 1:58
par Backup
Joubarbe a écrit :Oui mais pourquoi ce retour est-il égal à 1 ? Il devrait être égal à 0 et donc provoqué une erreur.
il est egale a 1 parceque la fonction a reussi a ouvrir l'ecran
et initialisé la gestion des sprites !!, bref tout baigne ! !!

Publié : ven. 07/juil./2006 2:00
par Joubarbe
Ahh, alors (attention !) :
If OpenScreen() = 0
se traduirait plus par "Si je n'arrive pas à ouvrir la fenêtre (alors que je veux le faire !!)" que par "Si la fenêtre n'est pas ouverte" non

?
(Après je vais me coucher promis

)
Edit : ce qui me paraissait logique au début c'était ça :
If OpenScreen(800,600,32) = 0
MessageRequester("Error","Initialisation impossible")
Else OpenScreen(800,600,32)
Endif
(C'est l'esprit

)
Mais je me rends compte que c'est crétin, on ne fait pas une vérification inutile.
Publié : ven. 07/juil./2006 2:04
par Backup
Joubarbe a écrit :Ahh, alors (attention !) :
If OpenScreen() = 0
se traduirait plus par "Si je n'arrive pas à ouvrir la fenêtre (alors que je veux le faire !!)" que par "Si la fenêtre n'est pas ouverte" non

?
(Après je vais me coucher promis

)
oui tout a fait
If OpenScreen() = 0 = si il y a un problem pour ouvrir l'ecran
tu peut tester le contraire avec :
If OpenScreen()<> 0 = si il n'y a pas eu de problem pour ouvrir l'ecran

Publié : ven. 07/juil./2006 2:08
par Backup
Joubarbe a écrit :
If OpenScreen(800,600,32) = 0
MessageRequester("Error","Initialisation impossible")
Else OpenScreen(800,600,32)
Endif
Mais je me rends compte que c'est crétin, on ne fait pas une vérification inutile.
pour reprendre ton exemple
faut faire :
Code : Tout sélectionner
If OpenScreen(800,600,32) = 0
MessageRequester("Error","Initialisation impossible")
Endif
c'est tout !!
car vu que c'est le retour de la fonction qui est testé
cela reviens a dire
si le retour de fonction est egale a 0 alors
execute le contenu de la condition
et affiche le message
SINON (le retour est different de 0)
execute la fonction !!!
et ouvre l'ecran !

Publié : ven. 07/juil./2006 2:11
par Joubarbe
Merci beaucoup. C'est cette déclaration implicite que je n'avais pas saisie

Bonne nuit !
Publié : ven. 07/juil./2006 2:11
par Backup
Joubarbe a écrit :Merci beaucoup. C'est cette déclaration implicite que je n'avais pas saisie

Bonne nuit !
bye !

Publié : ven. 07/juil./2006 14:29
par Joubarbe
Voilà, je reviens vous ennuyer avec les structures cette fois. J'ai dû mal à tout comprendre. Surtout la commande AddElement puisqu'en écrivant ceci :
Code : Tout sélectionner
InitSprite()
OpenScreen(800,600,32, "Tst")
Structure PersonalInfo
Name.s
Age.b
EndStructure
NewList Gerard.PersonalInfo()
StartDrawing(ScreenOutput())
DrawText(0,100,"Nom : " + Gerard()\Name)
DrawText(0,200,"Age : " + Str(Gerard()\Age))
StopDrawing()
FlipBuffers()
Repeat
ExamineKeyboard()
Until KeyboardReleased(#PB_Key_All)
End
J'eus espéré que cela fonctionnerait. Mais ça aurait été trop simple

Donc je ne comprends pas vraiment où dois-je mettre le AddElement() et son utilité...
Publié : ven. 07/juil./2006 14:42
par Anonyme
Voilà pour l'utilisation d'une structure & d'une liste chainée.
N'oublie pas d'initialiser le clavier, affiches tes infos dans la boucle principale.
Code : Tout sélectionner
InitSprite() : InitKeyboard()
OpenScreen(800,600,32, "Tst")
Structure PersonalInfo
Nom.s
Age.l
EndStructure
NewList List.PersonalInfo()
AddElement(List()) ; Tu ajoutes un élément dans la liste list.PersonalInfo()
List()\Nom = "Gerard"
List()\Age = 56
AddElement(List()) ; un deuxieme élément
List()\Nom = "Cpl.Bator"
List()\Age = 23
AddElement(List()) ; un deuxieme élément
List()\Nom = "bob"
List()\Age = 98
Repeat
ExamineKeyboard()
StartDrawing(ScreenOutput())
DrawingMode(#PB_2DDrawing_Transparent)
FrontColor(RGB(255,255,255))
FirstElement(List())
For i = 0 To CountList(List())-1
DrawText(0,20+(i*60),"Nom : " + List()\Nom)
DrawText(0,40+(i*60),"Age : " + Str(List()\Age))
DrawText(0,60+(i*60),"---------------------------")
NextElement(List())
Next i
StopDrawing()
FlipBuffers()
Until KeyboardReleased(#PB_Key_All)
End
Publié : ven. 07/juil./2006 14:47
par poshu
Tu crées une liste chaînée. À sa création, elle est vide (bien sûr) or, en ce moment, tu essayes de draw un texte qui n'existe pas. Tu dois addelement() pour créer un élément dans cette liste, puis renseigner cet élément et enfin l'afficher.
Exemple:
Code : Tout sélectionner
InitSprite()
OpenScreen(800,600,32, "Tst")
InitKeyboard()
Structure PersonalInfo
Name.s
Age.b
EndStructure
NewList Gerard.PersonalInfo()
AddElement(Gerard())
Gerard()\Name = "gerard"
Gerard()\Age = 42
StartDrawing(ScreenOutput())
DrawText(0,100,"Nom : " + Gerard()\Name)
DrawText(0,200,"Age : " + Str(Gerard()\Age))
StopDrawing()
FlipBuffers()
Repeat
ExamineKeyboard()
Until KeyboardReleased(#PB_Key_All)
End
Au fait, t'avais oublié le initkeyboard()
Edit: doublé.
Publié : ven. 07/juil./2006 15:19
par Joubarbe
Fiou, je suis idiot parfois, c'est en fait très simple

Merci !
Publié : ven. 07/juil./2006 21:12
par Joubarbe
Bon alors, j'attaque maintenant les *pointeurs et je ne comprends strictement rien

Du moins, je ne saisis pas trop leur utilité, et c'est souvent difficile de comprendre une fonction sans un exemple précis. Pour le moment, je l'assigne à un label tout en sachant que ce n'est pas du tout le cas... Si une âme généreuse pouvait m'éclairer (une nouvelle fois), merci.
Publié : ven. 07/juil./2006 21:21
par Anonyme
Publié : ven. 07/juil./2006 21:29
par Joubarbe
Hmm oui pardon, j'ai tendance à ne pas assez rechercher

Surtout avec une bonne équipe comme la vôtre ; je vais lire tout ça merci !
Publié : sam. 08/juil./2006 13:34
par Joubarbe
Histoire que je comprenne bien tout... Dans le code :
J'utilise un pointeur plutôt qu'une variable car seul le pointeur est apte à manipuler la mémoire ? Admettons que je dise vrai

, J'utilise un PokeW pour écrire sur un Word mais comment fais-je pour écrire à nouveau sur *MemoryID alors qu'il vaut maintenant 1200 ?
Et enfin, le pointeur est en fait surtout (seulement ?) utile pour manipuler la mémoire.. ?
Désolé si j'en choque certains, je suis vraiment débutant
