Page 1 sur 1

Du nouveau Sur les tutos de Purebasic

Publié : jeu. 27/août/2009 13:33
par Kayne
Ca faisait longtemps que j'était plus venu sur ce Forum ça fait plaisir de le retrouver. Je viens juste informer les programmeurs que j'ai refait entièrement le design de la partie tuto de mon site et que il est maintenant navigable.

http://tripamort.free.fr/?q=node/1

Les anciens liens sont toujours valides mais ils ne le seront probablement plus très longtemps.

Publié : jeu. 27/août/2009 13:38
par Kwai chang caine
Il est joli....sobre et clair comme je les aimes 8)
Tu te l'ai paluché, ou bien tu as utilisé un giciel :roll:

Publié : jeu. 27/août/2009 13:45
par Le psychopathe
Pas mal du tout ;)

Publié : jeu. 27/août/2009 14:30
par Progi1984
Bon usage de Drupal.

Tiens un module pour l'affichage de codes sources :
http://drupal.org/project/geshifilter

Publié : jeu. 27/août/2009 14:43
par Kayne
Mince je suis démasqué (pour drupal xD) c un copain qui m'a montré ca et je dois reconnaitre que leurs design sont très très pros même si on a moins la fierté d'avoir fait entièrement son site web de ses propres mains le resultat est saisissant.

Par contre pour geSHI quand je le telecharge il manque le fichier geshi.php indispensable pour que le tout marche.

Publié : jeu. 27/août/2009 15:54
par Kwai chang caine
Progi1984 a écrit :Bon usage de Drupal.
Tiens un module pour l'affichage de codes sources :
http://drupal.org/project/geshifilter
Merci pour la réponse :lol:
Trop fort ce PRODI..... 8)

Publié : jeu. 27/août/2009 16:41
par Geo Trouvpatou
Salut.

Bon allez maintenant je peux te le dire Kayne.
Tes anciens Designs n'étaient pas très jojo :lol:.
En plus avec tout tes liens soulignés et surlignés mis à la suite les uns des autres, on s'y perdait un peu.

Par contre les tutos sont de bonnes qualités même si j'imagine que tu n'as pas encore tout migré, pour l'instant vers la nouvelle version.

J'ai relevé 1 erreur (qui n'en est pas tout à fait une) : http://tripamort.free.fr/?q=node/15
*Buffer = AllocateMemory(1000);
Ce processus permet de réserver de la memoire pour lire les données.
C'est un peu complexe mais c'est la seule façon de pouvoir utiliser la
fonction qui suit retenez que *buffer est l'emplacement ou seront
alloués milles octet c'est à dire 1mo plus la phrase envoyées sera
longue plus le nombre d'octet devra être grand
ReceiveNetworkData(ClientID, *Buffer, 1000);
Cette fonction permet de mettre les données envoyées par le client dans
l'emplacement *buffer le chiffre ( ici 1000 ) doit être le même que le
nombre d'octet alloué à *buffer.
buffer$ = PeekS(*Buffer); buffer$ sera la chaine de caractère envoyée par le client.
Si tu utilises *Buffer, c'est à dire Buffer avec un B majuscule, utilise STRICTEMENT le même nom de variable dans tes explications.
Parce que les débutants comme moi sont tatillons et surtout se posent des questions dont ils pourraient se passer, à savoir : Tiens je peux utiliser *Buffer dans mon code et ensuite *buffer, cela ne tient pas compte de la casse et c'est exactement la même variable...Cool ce langage ;)


Et ici : http://tripamort.free.fr/?q=node/13
Pourquoi utiliser
EcranX = GetSystemMetrics_(#SM_CXSCREEN );=largeur de l'ecran
EcranY = GetSystemMetrics_(#SM_CYSCREEN );=hauteur de l'ecran

Alors qu'il existe la lib Desktop et des fonctions natives à PB pour faire ça.
Honte sur toi :D

Content que tu reprennes tes tutos, parce que j'ai appris des trucs sur ton ancien site môche, alors jespère en apprendre d'autres sur ton nouveau site beau :wink:.

Bye.

Publié : jeu. 27/août/2009 20:47
par Kayne
Voila les 2 erreurs corrigées merci de me l'avoir fait remarqué :D . La totalitée des tutos existant a été transféré. Il faut juste que je finisse la partie sur les réseaux après on arrive à la limite de mes connaissances encore pas très étendues.

Publié : ven. 28/août/2009 18:11
par Kwai chang caine
Tes anciens Designs n'étaient pas très jojo
Bon maintenant qu'il a osé....je m'inscrit en vrai sur ce que viens de dire notre ami, mais bon .....on est une famille et il a bien fait, tout comme moi de ne pas te le dire et que tu t'en rende compte toi meme.
Et puis moi, a part les sites statiques avec 2 balises, ......alors donner des conseils aux autres, je serais mal placé :oops:
Ton nouveau site, vraiment il a la classe, et cette fois.......je le pense vraiment :wink:

Publié : ven. 28/août/2009 18:15
par jbernard13
super travail Kayne , j'adore ... :o :o

Publié : lun. 31/août/2009 11:06
par Kayne
Merci beaucoup à tous ;)

Publié : lun. 31/août/2009 13:16
par Backup
peux tu m'expliquer ça :
WindowEvent()

Cette fonction ne va pas bloquer l'exécution du programme pendant
l'attente de l'évenement. Elle va donc utiliser plein de memoire sur
l'ordi.
???? 8O

je note aussi un truc qui me gene un peu ....

tu donne comme exemple :
;on va faire l'exemple avec des EditorGadget et des ButtonGadget et des TextGadget
;on ouvre une fenetre 800*600 au centre de l'écran avec les boutons agrandir, réduire, fermer.
#fenetre = 1 ;dans cet exemple, j'utilise une constante pour ouvrir la fenetre. Ca aurait pu tout aussi bien être #test ou autre.
#fenetre_largeur = 800 ;j'utilise une constante pour la largeur
#fenetre_hauteur = 600 ;j'utilise une constante pour la hauteur

OpenWindow(#fenetre ,0,0,#fenetre_largeur ,#fenetre_hauteur ,"Kayne - Tuto Gadget Exemple",#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_MinimizeGadget| #PB_Window_MaximizeGadget)
FenetreID = WindowID(#fenetre )
CreateGadgetList(FenetreID)
couleur = RGB(0,0,100) ;on met la fenetre en bleu foncé
SetWindowColor(1,couleur)
;on met en place les gadgets
;on place le bouton a 10 px du bord de la fenetre
pour la largeur et au 2/3 (en partant du haut vers le bas) pour la
hauteur. 1/3 de la fenetre en largeur et 40pixels en hauteur
ButtonGadget(1, 10, #fenetre_hauteur *2/3, #fenetre_largeur /3, 40, "Afficher Bonjour" )
;on place le bouton au 2/3 - 10px de la fenetre
(de gauche à droite) pour la largeur et au 2/3 (en partant du haut vers
le bas) pour la hauteur. 1/3 de la fenetre en largeur et 40pixels en
hauteur
ButtonGadget(2, #fenetre_largeur *2/3-10, #fenetre_hauteur *2/3, #fenetre_largeur /3, 40, "Afficher Au revoir" )
;on place le texte au bord de la fenetre (de
gauche à droite) pour la largeur et en bas de la fenetre ce qui
équivaut à la hauteur de la fenetre - la hauteur du gadget (40 pixel) .
toute la fenetre en largeur et 40pixels en hauteur
;on autorise pas l'utilisateur à écrire dans la fenetre.
EditorGadget(3, 0, #fenetre_hauteur -40, #fenetre_largeur , 40, #PB_Editor_ReadOnly )
;on affiche une grande zone d'édition en haut ou on affichera du texte
;on autorise pas l'utilisateur à écrire dans la fenetre.
EditorGadget(4, 0, 0, #fenetre_largeur , #fenetre_hauteur *2/3 -10, #PB_Editor_ReadOnly )
;on affiche pour l'info un TextGadget dans la place qu'il reste et on centre le texte
;chr(10) est utilisé pour le retour à la ligne
TextGadget(5, 10, #fenetre_hauteur *2/3 +50 , #fenetre_largeur-20, 80, Chr(10)+"Ce petit programme Purebasic va servir à afficher des messages de bienvenue ou de départ."+Chr(10)+"Pas très exitant je sais mais c'est juste pour l'exemple"+Chr(10)+"Pour afficher le message, cliquez sur le gadget correspondant.", #PB_Text_Center )
Repeat
event = WaitWindowEvent() ;on met à jour les évenements

If event = #PB_Event_Gadget ;un gadget est il utilisé ?
clicgadget = EventGadget() ;OUI, on identifie le gadget
Else
clicgadget = 0 ;NON, on renvoie 0
EndIf

If clicgadget = 1 ;appui sur le bouton Bonjour

au debut tu commence tres bien , a expliquer ce que sont les constantes

mais ensuite pour les gadgets , tu ne les utilise pas ....

ce qui fait que ton If clicgadget = 1
est bien moin parlant que If clicgadget = #gadget_bonjour

par exemple ....

d'autant que pour la fenetre tu le fait bien , l'utilisation d'une constante !!


c'est plus propre et plus comprhensible d'utiliser des constantes, plutot qu'un vulgaire nombre ....

pour commencer , et pour un débutant c'est mieux de prendre les bon reflexes .. ;)

tu devrai meme faire tout un chapitre la dessus , (Les constantes)

et ensuite que tout tes exemples soient calqué la dessus :)


sinon pas mal ; et bon travail :D



ps :

et oui meme le tp
tu donne en exemple l'utilisation des constantes pour la fenetre , pour la video , mais pas pour les gadgets !!

peut etre ignorait tu qu'on pouvais le faire ??
ButtonGadget(1,20,WindowHeight(1)-30,100,25,"Lecture")
ButtonGadget(2,130,WindowHeight(1)-30,100,25,"Pause")
ButtonGadget(3,240,WindowHeight(1)-30,100,25,"Arrêt")
TrackBarGadget(4,10, WindowHeight(1)-70 , WindowWidth(1)-20, 20, 0, nb_image)
;on fait la boucle
ici tu aurai pu faire
ButtonGadget(#Lecture,20,WindowHeight(1)-30,100,25,"Lecture")
ButtonGadget(#Pause,130,WindowHeight(1)-30,100,25,"Pause")
ButtonGadget(#Arret,240,WindowHeight(1)-30,100,25,"Arrêt")
TrackBarGadget(#trackbarr,10, WindowHeight(1)-70 , WindowWidth(1)-20, 20, 0, nb_image)
;on fait la boucle

Publié : dim. 06/sept./2009 19:13
par Kayne
C vrai que j'avais jamais eu l'idée d'utiliser les constantes pour les gadgets. Elle est particulièrement bien je modifirais les tutos dès que j'aurais un peu de temps. Quand à windowEvent la phrase signifie que le programme va utiliser toutes les ressources exploitables de l'ordi pour attendre l'evenement alors que sinon une partie des ressources est libérée pour les autres programmes.

Publié : lun. 07/sept./2009 11:25
par Ar-S
Salut Kayne, c'est vrai que cette nouvelle version est incomparablement plus sympa que ton 1er site. Le truc qui "fatigue" énormément les yeux à mon goût est le manque d'indentation dans les codes. Ce qui les rend bien moins compréhensible pour les néophytes.
en tout cas c'est du bon travail.