Un petit log que j'ai fait rapidement

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Xpetera
Messages : 52
Inscription : sam. 02/févr./2008 22:25

Un petit log que j'ai fait rapidement

Message par Xpetera »

Salut

J'ai fait un petit truc rapide mais utile pour mesurer des pixels sur une fenêtre (plus besoin de recommencer 58x avant de trouver la bonne distance ou hauteur comme ça)

Il marche avec PB 4.10

Enumeration
#but
#butt
EndEnumeration


mesurage_commence = 0
OpenWindow(0,1,1,300,350,"[PB]Mesures de px sur fenêtre",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
CreateGadgetList(WindowID(0))
TextGadget(55,1,1,60,20,"Largeur:")
TextGadget(1,1,30,90,20,"Hauteur:")
StringGadget(2,70,1,100,20,"300")
StringGadget(3,70,30,100,20,"350")
TextGadget(6,200,310,50,20,"X:")
TextGadget(7,200,330,50,20,"Y:")
TextGadget(#but,2,290,230,20,"Maintenez le clic droit pour mesurer une ligne")







Repeat
event = WaitWindowEvent()

SetGadgetText(6,"X:"+Str(WindowMouseX(0)))
SetGadgetText(7,"Y:"+Str(WindowMouseY(0)))
If mesurage_commence = 1
StartDrawing(WindowOutput(0))
x_ = WindowMouseX(0)
y_ = WindowMouseY(0)

Plot(x_,y_)
StopDrawing()


EndIf


largeur = Val(GetGadgetText(2))
hauteur = Val(GetGadgetText(3))
ResizeWindow(0,#PB_Ignore,#PB_Ignore,largeur,hauteur)


If event = #WM_RBUTTONDOWN
x = WindowMouseX(0)
y = WindowMouseY(0)
mesurage_commence = 1
EndIf

If event = #WM_RBUTTONUP
mesurage_commence = 0
MessageRequester("",ReplaceString(Str(x-x_+y-y_),"-",""))
x = WindowX(0)
y = WindowY(0)

ResizeWindow(0,9999,-9999,#PB_Ignore,#PB_Ignore)
ResizeWindow(0,x,y,#PB_Ignore,#PB_Ignore)

EndIf




If event = #PB_Event_Gadget
Select event = #PB_Event_Gadget
Case #but
MessageRequester("","Tracer une ligne (en maintenant le clic) pour avoir sa longueur en px")


EndSelect
EndIf
Until event = #WM_CLOSE
Edit : tout marche maintenant
Dernière modification par Xpetera le lun. 28/avr./2008 16:52, modifié 2 fois.
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Franchement, ton truc rime à rien...
Tu aurais dû le poster dans la section débutant en demandant le pourquoi du comment. Et tu t'étonnes que ça ne fonctionne pas?
Revois tes bases et essaie quelques tutos.
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Jacobus a écrit :Franchement, ton truc rime à rien...
Tu aurais dû le poster dans la section débutant
Déplacé :)
Xpetera
Messages : 52
Inscription : sam. 02/févr./2008 22:25

Message par Xpetera »

Désolé , je savais pas vraiment ou le mettre alors je l'ai mis là :oops:

Sinon oui je suis un débutant et je code comme un porc , mais ce genre d'erreur ne m'étais jamais arrivée auparavant. :?
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Bon et bien c'est sympa comme prog :)
T'as plus qu'à le développer un peu pour en faire quelque chose d'utile.

Un détail, mais pense à redimensionner aussi tes gadgets quand tu redimensionne ta fenêtre sinon on les voit plus. Par exemple si tu diminue la valeur Y de 350 à 150 on ne voit plus les gadgets du bas.
Sers toi de Largeur = WindowWidth(#Fenetre) et Hauteur = WindowHeight(#Fenetre) pour ajuster la taille de tes gadgets.
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Xpetera
Messages : 52
Inscription : sam. 02/févr./2008 22:25

Message par Xpetera »

D'accord , merci du conseil. ;)
Répondre