je nage , aide moi je coule

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

je nage , aide moi je coule

Message par jbernard13 »

bonsoir

et OUI je nage , je compred rien de rien a purebasic ....


snif snif ......... :oops: :oops:
aide moi



jbernard
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Ben pour apprendre, le plus simple, c'est de faire!

Donc, à partir de là, essaye de créer des petits trucs simples, même si ils ne servent à rien. Ca te permettra déjà de te familiariser avec les bases. Surtout qu'il me semble que dans un de tes messages, tu disais que tu connaissait bien le basic. Commence déjà par essayer de transposer ce que tu connais en PureBasic.

C'est pas la peine d'essayer de faire un traitement de texte si tu ne sais pas ouvrir une fenêtre! Il faut commencer par le début.

Va faire un tour dans les exemples, et essaye de comprendre comment ils fonctionnent. Tu en fais une copie, et tu modifie les valeurs à l'intérieur pour voir ce que ça change

Par exemple, essaye d'ouvrir une fenêtre avec deux StringGadget et un bouton.
Tu écris quelque chose dans le premier, et ça se copie dans l'autre quand tu appuies sur le bouton.

Je sais pas, moi, teste des trucs faciles pour commencer, et augmente la difficulté au fur et à mesure que tu progresses.

Et pose des questions précises sur le forum quand il y a quelque chose que tu ne comprends pas, il y aura toujours quelqu'un pour t'aider.

C'est tout ce que je peux dire pour le moment :roll:

Chris :)
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Message par jbernard13 »

merci Chris

j'ai essayer de cree une simple fenetre
mais le probleme quand j'excute mon programme
la fenetre disparait

dis moi comment on affiche une simple fenetre ...


merci
jbernard
julien
Messages : 846
Inscription : ven. 30/janv./2004 15:06
Contact :

Message par julien »

Il faut que tu génère la boucle des évènement, l'éditeur visuel peut te le faire... pour l'activer il faut cocher la checkBox (case) des préférences du projet depuis le visual
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Voilà une fenêtre toute simple, avec rien dedans.

Code : Tout sélectionner

;/Constantes Window
Enumeration
  #Window_0
EndEnumeration


If OpenWindow(#Window_0, 300, 300, 300, 200, #PB_Window_SystemMenu, "Fenêtre 1",0)
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_EventCloseWindow : quit = 1
    EndSelect
  Until quit = 1
  
  End
EndIf
Dans Enumeration, tu as le nom de la fenêtre qui est une constante. Cette constante représente une valeur qui correspond à sa position dans Enumeration/EndEnumeration.

Ici, #Window_0 a comme valeur 0, puisque la constante est seule, donc en premiere position.

OpenWindow() ouvre la fenêtre, selon la position et la taille que tu lui donnes.

Dans la boucle Repeat/Until, tu gères les évenements de la fenêtre, y compris sa fermeture. Le code se répète en boucle, tant qu'une action n'a pas été effectuée

Select WaitWindowEvent() permet de détecter un evenement survenu sur la fenêtre, par exemple si tu cliques sur la case de fermeture.

Case #PB_EventCloseWindow : quit = 1 : Quand tu cliques sur la croix de fermeture, WaitWindowEvent() reçoit la valeur correspondant à #PB_EventCloseWindow, et mets la variable Quit a 1

Lorsque la commande Until Quit = 1 est lue, elle voit que la variable Quit est à 1, et on sort de la boucle, et on rencontre l'instruction End qui termine le programme.

Chris :)
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Message par jbernard13 »

merci chris
dis moi on est obliger de creer des constantes ?

Enumeration
#Window_0
EndEnumeration

explique les constantes en details


merci

Jbernard
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

julien a écrit :Il faut que tu génère la boucle des évènement, l'éditeur visuel peut te le faire... pour l'activer il faut cocher la checkBox (case) des préférences du projet depuis le visual
L'éditeur, c'est bien, mais c'est certainement pas le meilleur moyen d'apprendre comment une fenêtre fonctionne. Sinon, autant lire les codes qui sont dans les exemples :wink:

Avant d'utiliser un traitement de texte, il faut commencer par apprendre à écrire, ben là, c'est un peu le même principe!
Avant d'utiliser l'éditeur, il faut apprendre à créer les fenêtres et placer les gadgets "à la main"

Enfin, c'est mon avis, et je le partage :lol:

Chris :)
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

jbernard13 a écrit :merci chris
dis moi on est obliger de creer des constantes ?

Enumeration
#Window_0
EndEnumeration

explique les constantes en details


merci

Jbernard
Non, tu peux aussi bien mettre des valeurs, par exemple 0, dans ce cas précis. Par contre, quand tu as plusieurs constantes, c'est plus simple de se souvenir du nom que du numero.

Une constante, c'est ni plus ni moins qu'un nom qui appartient à un objet, que ce soit une fenêtre, un StringGadget, ou n'importe quoi d'autre.

La constante doit être unique, et attribuée à un seul objet. Deux constantes différentes ne peuvent pas avoir la même valeur. (Enfin, si, mais on va dire comme ça pour le moment :lol: )

Pour le nom de la constante, tu peux mettre n'importe quoi, #Tartempion ferait l'affaire, à condition que tu te souvienne que cette constante appartient à un objet.

Tu n'est pas non plus obligé d'utiliser Enumeration, tu peux mettre #Tartempion = 0, mais Enumeration permet d'inserer ou de retirer des constantes sans avoir à modifier toutes les valeur.

Chris :)
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Tu peux toujours faire un tour ici ,c'est en anglais , alors c'est peut-être pas la meilleure solution ? à toi de voir , en attendant qu' Oliv le traduise , enfin je crois qu'il s'était proposé pour le faire ?

http://www.xs4all.nl/~bluez/datatalk/purebasic.htm#top
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

tu peux t'amuser à faire un petit logiciel de dessin tout simple pour t'exercer . en utilisant le requesterColor , etc ...

Code : Tout sélectionner

InitSprite()
InitMouse()
InitKeyboard()
OpenScreen(800,600,32,"Dessin")
#Fond=0
#Souris=1
CreateSprite(#Fond,800,600)
CreateSprite(#Souris,16,16)
StartDrawing(SpriteOutput(#Souris))
Circle(1,1,2,RGB(255,255,255))
StopDrawing()
Repeat
  DisplaySprite(#Fond,0,0)
  DisplayTransparentSprite(#Souris,MouseX(),MouseY())
  ExamineMouse()
  If MouseButton(1)
    StartDrawing(SpriteOutput(#Fond))
    If oldx>-1 And oldy>-1
      LineXY(oldx,oldy,MouseX(),MouseY(),RGB(255,255,255))
      oldx=MouseX() : oldy=MouseY()
    Else  
      oldx=MouseX() : oldy=MouseY()
    EndIf  
    StopDrawing()
  Else
     oldx=-1 : oldy=-1
  EndIf  
  ExamineKeyboard()
  FlipBuffers()  
Until KeyboardPushed(#PB_Key_Escape) 
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

si tu veux va faire un tour sur mon site, il y a deux trois trucs. Moi j'avais pris quelques exemples de pb et les ai modifié pour voir ce que cela donnait et c'est comme ça que j'ai appris
julien
Messages : 846
Inscription : ven. 30/janv./2004 15:06
Contact :

Message par julien »

@Chris, Je trouve que c'est peut être plus simple pour un débutant de voir comment est généré SON propre exemple !

Mais bon il ne faut pas s'arrêter la et voir les fonctions ensuite dans l'aide.
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Ouais, évidemment, c'est une autre façon de voir les choses :wink:

Encore faut-il avoir envie de comprendre, parce que quand le code est fait automatiquement, on a pas trop souvent envie de savoir comment il fonctionne.
Ca fonctionne!, c'est bien, on passe à autre chose...!

Tandis que quand tu as ramé pour créer ta première boîte à la main, mettre les gadgets à la bonne taille, et à la bonne place, et que tu vois que ça fonctionne comme tu le voulais, c'est quand même vachement plus motivant que de glisser des représentations de gadgets sur une fenêtre, de cliquer simplement sur un bouton, et d'attendre que ça se passe.

Mais enfin, bon!!, chacun son point de vue, et toutes les méthodes sont bonnes, à partir du moment ou le résultat obtenu est celui que tu recherches.

Chris :)
Répondre