the colorer

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message 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:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

:drinking: #pendu
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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 ! :)
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message 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:
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message 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
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message 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:
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message 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 ?
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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 ! :?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
Dernière modification par Backup le mar. 27/déc./2005 14:22, modifié 2 fois.
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Il ne te reste plus qu'à laisser le choix des couleurs à l'utilisateur du programme, comme dans jaPBe. :lol:
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Ya qd mm pas mal de bugau niveau de la colorisation des fonctions.
Beaucoup ne sont pas colorées ... :?
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message 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
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message 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.
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Répondre