Page 3 sur 17

Publié : dim. 30/oct./2005 20:02
par Chris
Ah ben mon vieux, si tu veux qu'on poste avec ton truc, il a interêt à être nickel :lol:

Si il faut passer plus de temps à chasser les bug que tu introduis dans le code qu'à faire le code nous même, tu risques de ne pas avoir beaucoup de succès :wink:

Publié : dim. 30/oct./2005 20:19
par Backup
:drinking: #pendu

Publié : dim. 30/oct./2005 20:42
par Backup
par contre la mise en page refuse toujour avec Mozilla ! :?


je pense que ce navigateur doit filtrer les codes ascii
il refuse d'envoyer des codes ascii qui sorte de ses criteres
genre tous ce qui depasse 128 est tronqué ! ?? :? 8O
bizard quand meme ! , je telecharge une nouvelle version , on verra bien ! :)

Publié : lun. 31/oct./2005 10:18
par lionel_om
J'ai fais ca si ça vous intéresse : CodePBToPhpBB

Par contre ca ne prend pas en compte les doubles espaces (les tabulations sont ignorées).
Donc je vais chercher à y remédier :wink:

Publié : lun. 31/oct./2005 10:24
par lionel_om
Ca donne ca :
Procedure WinCallBack(WinID.l, message.l, wParam.l, lParam.l)
Resultat.l = #PB_ProcessPureBasicEvents
Select message

Case #WM_LBUTTONDBLCLK
SetWindowText_(WinID, "Double clic Gauche")

Case #WM_RBUTTONDBLCLK
SetWindowText_(WinID, "Double clic Droit")

Case #WM_MBUTTONDBLCLK
SetWindowText_(WinID, "Double clic Milieu")
End Select
Procedure Return Resultat
End Procedure

hwnd = OpenWindow(0, 100, 100, 250, 100, #PB_Window_SystemMenu | #PB_Window_ScreenCentered , "Double-cliquez sur la fenêtre")
SetClassLong_(hwnd, #GCL_STYLE , GetClassLong_(hwnd, #GCL_STYLE )| #CS_DBLCLKS )

SetWindowCallback(@WinCallBack())

Repeat
Select WindowEvent()
Case #PB_Event_CloseWindow : Quit = 1
End Select
Until Quit = 1
End

Publié : lun. 31/oct./2005 10:48
par Backup
CodePBToPhpBB
c'est un allemand qui l'a fait ! :D

mais il est moins poussé que le mien ! il ne gere pas la mise en page !
ni ne differencie les constantes, les remarques et les fonctions, ainsi
que les ordre purebasic (if endif,ect ....)

le miens si ! :D

Publié : lun. 31/oct./2005 10:50
par Chris
Dobro a écrit :
CodePBToPhpBB
mais il est moins poussé que le mien ! il ne gere pas la mise en page !
ni ne differencie les constantes, les remarques et les fonctions, ainsi
que les ordre purebasic (if endif,ect ....)

le miens si ! :D
Oh lui!!!
Comment y s'la pète !!!!!! :lol:

Publié : lun. 31/oct./2005 10:51
par lionel_om
Lol non c'est pas un allement qui l'a fait, c moi :wink: (j'ai peut etre prit un nom déjà existant alors :? )
C'est le même colorateur modifier que j'utilise pour mon site pour afficher des codes PB : voir
ici

Pour la mise en page tu fais ça à partir du caractère ASCII 160 ? c bien ca ?

Publié : lun. 31/oct./2005 10:57
par Backup
ya un gars qui m'a ecrit sur le forum anglais !
Hroudtwolf a écrit :Cool.

I made a programm with the same function some months ago.
http://hroudtwolf.cybton.com/projekte/pb2bbcode.exe
http://www.purebasic-lounge.de/viewtopic.php?t=1054


But, good work colleague :-)
c'est pas toi ça ? hein ? 8O

sinon pardon je pensai pas que t'en avais fait un aussi ! :D

mais le miens est en couleur , si vous voulez qu'on change les couleur donnez moi une idée ! :D

sinon bravo pour ton travail ! ... :oops:
non je me la pete pas :twisted: :lol:

Pour la mise en page tu fais ça à partir du caractère ASCII 160 ? c bien ca ?
oui ! :D Merci a Heis !

[REEDIT] par contre la mise en page ne fonctionne pas si l'on envoie le code a partir de Mozilla et consort ! ils refusent d'envoyer le code 160 ! :?

Publié : lun. 31/oct./2005 12:45
par Backup
pour ceux que ça interresse Colorer gere maintenant les chaines !!

voici un exemple :

j'en ai profiter pour changer les couleurs , je trouve que comme ça c'est bien !! (avec le theme d'origine !) :D

Publié : lun. 31/oct./2005 12:55
par Chris
Il ne te reste plus qu'à laisser le choix des couleurs à l'utilisateur du programme, comme dans jaPBe. :lol:

Publié : lun. 31/oct./2005 14:27
par lionel_om
Ya qd mm pas mal de bugau niveau de la colorisation des fonctions.
Beaucoup ne sont pas colorées ... :?

Publié : lun. 31/oct./2005 14:29
par lionel_om
Moi ca donne ça :
; prg realisé par Dobro

#dobro = 1
#Police = 1
#Sprite = 1
Declare.s super_collision(sprite_numero1, x_sprite1, y_sprite1, sprite_numero2, x_sprite2, y_sprite2)
; cette procedure renvoie du quelle coté le sprite a été touché !

; sprite_numero1 = le numero du sprite 1 a tester
; largeur_spr1 = largeur en pixel du sprite numero 1
; hauteur_spr1 = hauteur en pixel du sprite numero 1
; x_sprite1 = coordonée X du sprite numero 1
; y_sprite1 = coordonée Y du sprite numero 1
; --------------------------------------------------------------------------
; sprite_numero2 = le numero du sprite 2 a tester
; largeur_spr2 = largeur en pixel du sprite numero 2
; hauteur_spr12 = hauteur en pixel du sprite numero 2
; x_sprite2 = coordonée X du sprite numero 2
; y_sprite2 coordonée Y du sprite numero 2

Enumeration
#sprite_cible
#sprite_souris
#sprite_text
EndEnumeration

Structure sprite
x.w
y.w
EndStructure
Dim sprite.sprite(1)
Dim ecran(640, 400)
For x = 0 To 640 ; oires
For y = 0 To 400
r = Random(255)
g = Random(255)
b = Random(255)
c = RGB(r, g, b)
ecran(x, y)= c
Next y
Next x
; ***********************************
Resultat = InitSprite()
FontID = LoadFont( #Police , " arial ", 18, #PB_Font_Bold )
EcranX = GetSystemMetrics_( #SM_CXSCREEN ): ; EcranY = GetSystemMetrics_( #SM_CYSCREEN ): ; WindowID = OpenWindow (1, 0, 0, 800, 600, #PB_Window_SystemMenu | #PB_Window_BorderLess | #PB_Window_ScreenCentered , " hello ")

WindowID = WindowID(1)
Result = OpenWindowedScreen(WindowID, 0, 0, 800, 600, 1, 0, 0)
CreateSprite( #sprite_cible , 128, 64) ; StartDrawing ( SpriteOutput ( #sprite_cible ) ) ; Box (0, 0, 128, 64, RGB ($FF,$0,$80))
StopDrawing()
CreateSprite( #sprite_souris , 32, 32) ; StartDrawing ( SpriteOutput ( #sprite_souris ) ) ; ; Box (0, 0, 64, 64, RGB ($13,$F8,$7))
Circle(16, 16, 16, RGB($13, $F8, $7))
StopDrawing()
bord$ =" aucun bord "
CreateSprite( #sprite_text , 150, 14) ; StartDrawing ( SpriteOutput ( #sprite_text ) ) ; DrawText (bord$)
StopDrawing()
Resultat = InitMouse()
Repeat
ExamineMouse()
Event = WindowEvent()
DisplaySprite( #sprite_cible , WindowWidth() /2, WindowHeight()/2)
sprite(1)\x = WindowWidth()/2
sprite(1)\y = WindowHeight()/2
DisplaySprite( #sprite_souris , MouseX(), MouseY())
DisplaySprite( #sprite_text , 10, 10)
bord$ = super_collision( #sprite_cible , sprite(1)\x, sprite(1)\y, #sprite_souris , MouseX(), MouseY())
StartDrawing( SpriteOutput( #sprite_text ) ) ; DrawingMode (0)
DrawText(bord$)
DrawText(" ")
StopDrawing()
If MouseButton(2)
End
Endif
FlipBuffers(): ; ClearScreen (0, 0, 0) : ; Until Event = #PB_Event_CloseWindow

Procedure super_collision(sprite_numero1, x_sprite1, y_sprite1, sprite_numero2, x_sprite2, y_sprite2)
spr1_milieu_x = x_sprite1 + SpriteWidth(sprite_numero1) /2
spr1_milieu_y = y_sprite1 + SpriteHeight(sprite_numero1)/2
spr2_milieu_x = x_sprite2 + SpriteWidth(sprite_numero2)/2
spr2_milieu_y = y_sprite2 + SpriteHeight(sprite_numero2)/2
spr1_hauteur = SpriteHeight(sprite_numero1)
spr1_largeur = SpriteWidth(sprite_numero1)
spr2_hauteur = SpriteHeight(sprite_numero2)
spr2_largeur = SpriteWidth(sprite_numero2)
bord$ =""
If SpriteCollision(sprite_numero1, x_sprite1, y_sprite1, sprite_numero2, x_sprite2, y_sprite2)
If bord$<>""
Goto dobrosuite
Endif
If(spr2_milieu_x)>x_sprite1 And(spr2_milieu_x)<(x_sprite1 + spr1_largeur) And(spr2_milieu_y)>(y_sprite1 + spr1_hauteur )
bord$ =" bas "
Goto dobrosuite
Endif
If(spr2_milieu_x)>x_sprite1 And(spr2_milieu_x)<(x_sprite1 + spr1_largeur) And(spr2_milieu_y)<y_sprite1
bord$ =" haut "
Goto dobrosuite
Endif
If(spr2_milieu_y)>y_sprite1 And(spr2_milieu_y)<(y_sprite1 + spr1_hauteur) And(spr2_milieu_x)>(x_sprite1 + spr1_largeur)
bord$ =" droit "
Goto dobrosuite
Endif
If(spr2_milieu_y)>y_sprite1 And(spr2_milieu_y)<(y_sprite1 + spr1_hauteur) And(spr2_milieu_x)<x_sprite1
bord$ =" gauche "
Goto dobrosuite
Endif
If(spr2_milieu_x)<x_sprite1 And(spr2_milieu_y)<y_sprite1
bord$ =" haut-gauche "
Endif
If(spr2_milieu_x)>x_sprite1 + spr1_largeur And(spr2_milieu_y)<y_sprite1
bord$ =" haut-droit "
Endif
If(spr2_milieu_y)>y_sprite1 + spr1_hauteur And(spr2_milieu_x)<x_sprite1
bord$ =" bas-gauche "
Endif
If(spr2_milieu_y)>y_sprite1 + spr1_hauteur And(spr2_milieu_x)>x_sprite1 + spr1_largeur
bord$ =" bas-droit "
Endif
Endif
dobrosuite:
ProcedureReturn bord$
EndProcedure

Publié : lun. 31/oct./2005 15:15
par Backup
lionel_om a écrit :Ya qd mm pas mal de bugau niveau de la colorisation des fonctions.
Beaucoup ne sont pas colorées ... :?
pas tant que ça !

j'ai referencé toute celle qui sont accessible par la doc !!

et encore j'ai ajouté, newlist , qui n'apparait pas !

pour le reste c'est en data , donc je peux ajouter celle qui manquerai ....

je viens de me rendre compte pour structure, et endstructure ! :D


quant au bugs lequel ? 8O


Il ne te reste plus qu'à laisser le choix des couleurs à l'utilisateur du programme, comme dans jaPBe
c'est pas trop difficile a faire ! :D

Publié : lun. 31/oct./2005 22:14
par lionel_om
Dobro a écrit :j'ai referencé toute celle qui sont accessible par la doc !!
Arf :? C'est pas la bonne méthode je crois. Car toutes les fcts des lib externes ou des "IncludeFile" ne seront pas prises en compte... :?
De mm, les listes chainées sont colorées comme les fonctions (dans l'éditeur standart de PB) et pas dans ton système... (la liste chainée sprite() ds ton exemple)

Moi dans mon algo je recherche les fonctions, par contre moi aussi j'ai des bugs car les 'if' et les 'and' (entre autre) sont reconnus comme des fonctions.