J'ai un problème avec PureBassic sur mon Mac que je n'arrive pas à résoudre. J'ai créé un petitt programme tout simple pour un ami celui-ci affiche un texte sur un échiquier en utilisant le saut du cavalier. Le programme fonctionne très bien chez moi. Le problème que je rencontre c'est lorsque je génère un éxécutable de celui-ci pour lui envoyer car, il ne possède pas PureBasic.
Bon je vous passe la galère de l'envoie qui est constamment refusé car, celui-ci est considéré comme un virus et donc Mail refuse de l'envoyé. Je passe donc par DropBox et là pas de problème d'envoie ou de réception.
Mais il se heurte à autre problème à l'exécution de celui-ci:
"Impossible d'ouvrir "Echiquier", car cette app provient d'un développeur non identifié. Vos préférences de sécurité ne permettent que l'installation d'apps du Mac App Store et développeurs identifiés"
Bon normalement en cliquant sur l'icône du programme en maintenant la touche control enfoncée, on passe outre à cette notion de sécurité. Malheureusement, même dans ce cas, impossible de lancer le programme par le menu contextuel qui apparaît. Si je fais cette manip chez moi, ça marche sans problème, mais même sans elle je peux exécuter mon programme sans problème donc dur de vérifier.
Je peux vous donner le lien sur DroBox pour télé&charger l'exécutable, mais je pense que personne ne prendra ce risque en ayant peur qu'il s'agisse d'un virus.
Je vous donne donc le listing de celui-ci, au plus courageux d'entre vous de vérifier si celui-ci une fois compilé fonctionne sur un autre Mac.
Pour information, j'utilise la version : PureBasic 5.70 LTS (MacOS X - x64)
Je me pose la question de savoir si cela provient d'un mauvais réglage de mon compilateur ? ? ?
Voici le listing du programme:
Code : Tout sélectionner
; Good07 le 02/02/2019
; PureBasic 5.70 LTS 64 bits
Enumeration
#WindowsEchiquier
EndEnumeration
Enumeration
#Echiquier_1
#Echiquier_2
#Echiquier_3
#Echiquier_4
#Echiquier_5
#Echiquier_6
#Echiquier_7
#Echiquier_8
#Cadre_Echiquier_ref
#Echiquier_ref
#Echiquier_ref2
#CanvasResultat
#EditeurResultat
#Beffacer
#Benregistrer
EndEnumeration
Global Texte.s, Lettre.S
Texte.s="XNLSPANNASITTIATEXRRPBTEUCAEENIRXTGEENDELORSIAAOELEFSDQRPEDCUPGX"
Procedure EcritureEchiquier(Emplacement)
Pasx=8
Pasy=5
For n=1 To 64
Read.i a
StartDrawing(CanvasOutput(Emplacement))
DrawingMode(#PB_2DDrawing_Transparent)
Lettre=Mid(Texte,a,1)
DrawText(Pasx,Pasy,Lettre,RGB(255,0,0))
Pasx+25
Select n
Case 8
Pasy=30
Pasx=8
Case 16
Pasy=55
Pasx=8
Case 24
Pasy=80
Pasx=8
Case 32
Pasy=105
Pasx=8
Case 40
Pasy=130
Pasx=8
Case 48
Pasy=155
Pasx=8
Case 56
Pasy=180
Pasx=8
EndSelect
StopDrawing()
Next n
EndProcedure
Procedure OpenWindowEchiquier(x = 100, y = 100, width = 1024, height = 920)
OpenWindow(#WindowsEchiquier, x, y, width, height, "Traitement Echiquier", #PB_Window_SystemMenu)
SetWindowColor(Window_0, RGB(169,238,255))
FrameGadget(#Cadre_Echiquier_ref,10,13,470,250,"Grille de traitement")
CanvasGadget(#Echiquier_ref, 30, 43, 200, 200, #PB_Canvas_Border)
CanvasGadget(#Echiquier_ref2, 258, 43, 200, 200,#PB_Canvas_Border)
CanvasGadget(#Echiquier_1, 30, 283, 200, 200, #PB_Canvas_Border)
CanvasGadget(#Echiquier_2, 258, 283, 200, 200, #PB_Canvas_Border)
CanvasGadget(#Echiquier_3, 486, 283, 200, 200, #PB_Canvas_Border)
CanvasGadget(#Echiquier_4, 714, 283, 200, 200, #PB_Canvas_Border)
CanvasGadget(#Echiquier_5, 30, 503, 200, 200, #PB_Canvas_Border)
CanvasGadget(#Echiquier_6, 258, 503, 200, 200, #PB_Canvas_Border)
CanvasGadget(#Echiquier_7, 486, 503, 200, 200, #PB_Canvas_Border)
CanvasGadget(#Echiquier_8, 714, 503, 200, 200, #PB_Canvas_Border)
CanvasGadget(#CanvasResultat, 10, 750, 1000, 150, #PB_Canvas_Container)
EditorGadget(#EditeurResultat,250,50,600,50,#PB_Editor_ReadOnly)
ButtonGadget(#Benregistrer,250,110,130,25,"Enregistrer",#PB_Button_Default)
ButtonGadget(#Beffacer,380,110,130,25,"Effacer")
StartDrawing (CanvasOutput(#Echiquier_ref))
Box(0,0,200,200,RGB(245,243,175))
StopDrawing()
StartDrawing(CanvasOutput(#CanvasResultat))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(10,50,"Pour mettre un texte",RGB(0,0,0))
DrawText(10,70,"dans la fenêtre résultat",RGB(0,0,0))
DrawText(10,90,"cliquez sur l'échiquier de votre choix.",RGB(0,0,0))
DrawText(250,30,"Résultat",RGB(0,0,0))
StopDrawing()
EndProcedure
OpenWindowEchiquier()
Restore Cavalier1
EcritureEchiquier(#Echiquier_1)
Restore Cavalier2
EcritureEchiquier(#Echiquier_2)
Restore Cavalier3
EcritureEchiquier(#Echiquier_3)
Restore Cavalier4
EcritureEchiquier(#Echiquier_4)
Restore CavalierInverse1
EcritureEchiquier(#Echiquier_5)
Restore CavalierInverse2
EcritureEchiquier(#Echiquier_6)
Restore CavalierInverse3
EcritureEchiquier(#Echiquier_7)
Restore CavalierInverse4
EcritureEchiquier(#Echiquier_8)
Restore CryptoReference
EcritureEchiquier(#Echiquier_ref)
DataSection
Cavalier1:
Data.i 19,36,21,38,28,22,37,20,30,45,62,56,39,24,7,13,3,9,26,41,35,50,60,54,64,47,32,15,5,11,1,18,33,27,44,29,46,52,58,43,49,34,17,2,12,6,16,31,48,63,53,59,42,57,51,61,55,40,23,8,14,4,10,25
Cavalier2:
Data.i 22,37,20,35,29,19,36,21,27,44,59,49,34,17,2,12,6,16,31,48,38,55,61,51,57,42,25,10,4,14,8,23,40,30,45,28,43,53,63,46,56,39,24,7,13,3,9,26,41,58,52,62,47,64,54,60,50,33,18,1,11,5,15,32
Cavalier3:
Data.i 46,29,44,27,37,43,28,45,35,20,3,9,26,41,58,52,62,56,39,24,30,15,5,11,1,18,33,50,60,54,64,47,32,38,21,36,19,13,7,22,16,31,48,63,53,59,49,34,17,2,12,6,23,8,14,4,10,25,42,57,51,61,55,40
Cavalier4:
Data.i 43,28,45,30,36,46,29,44,38,21,6,16,31,48,63,53,59,49,34,17,27,10,4,14,8,23,40,55,61,51,57,42,25,35,20,37,22,12,2,19,9,26,41,58,52,62,56,39,24,7,13,3,18,1,11,5,15,32,47,64,54,60,50,33
CavalierInverse3:
Data.i 54,39,52,23,56,11,50,25,41,22,55,38,51,24,57,12,20,53,40,35,10,37,26,49,33,42,21,2,7,4,13,58,64,19,34,5,36,9,48,27,43,32,1,8,3,6,59,14,18,63,30,45,16,61,28,47,31,44,17,62,29,46,15,60
CavalierInverse2:
Data.i 60,15,46,29,62,17,44,31,47,28,61,16,45,30,63,18,14,59,6,3,8,1,32,43,27,48,9,36,5,34,19,64,58,13,4,7,2,21,42,33,49,26,37,10,35,40,53,20,12,57,24,51,38,55,22,41,25,50,11,56,23,52,39,54
CavalierInverse1:
Data.i 31,44,17,62,29,46,15,60,18,63,30,45,16,61,28,47,43,32,1,8,3,6,59,14,64,19,34,5,36,9,48,27,33,42,21,2,7,4,13,58,20,53,40,35,10,37,26,49,41,22,55,38,51,24,57,12,54,39,52,23,56,11,50,25
CavalierInverse4:
Data.i 25,50,11,56,23,52,39,54,12,57,24,51,38,55,22,41,49,26,37,10,35,40,53,20,58,13,4,7,2,21,42,33,27,48,9,36,5,34,19,64,14,59,6,3,8,1,32,43,47,28,61,16,45,30,63,18,60,15,46,29,62,17,44,31
CryptoReference:
Data.i 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64
EndDataSection
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Select EventWindow()
;/ Fermeture des fenêtres
Case #WindowsEchiquier
CloseWindow(#WindowsEchiquier)
Quit = #True
EndSelect
EndSelect
Until Quit
End
Pour les plus courageux, voici le lien de l'exécutable que j'obtiens sur DropBox.
https://www.dropbox.com/s/db1gmpcri6vbn ... quier?dl=0