[AIDE PUREBASIC] Mises à jour.

Informations pour bien débuter en PureBasic
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: [AIDE PUREBASIC] Mises à jour.

Message par Marc56 »

Voila ce que j'ai avec ma carte Nvidia GeForce GT 620 et écran Asus VS247
Windows 10 x64, pilote Nvidia (installé par Windows)
Résolution 1920x1080 @ 96 dpi

Avec le code de la doc
Image

Avec le code de Spock
Image


Code de l'exemple dans Windows XP dans une VM VirtualBox configurée en 1024x768 @ 96dpi (pareil avec autre résolution)
Image

(si ça peut être utile)
:wink:
Dernière modification par Marc56 le mer. 23/mars/2016 14:16, modifié 2 fois.
Avatar de l’utilisateur
MLD
Messages : 1103
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: [AIDE PUREBASIC] Mises à jour.

Message par MLD »

Salut a tous

J'ai idem que Spock avec W 10 .64bits
Mesa
Messages : 1097
Inscription : mer. 14/sept./2011 16:59

Re: [AIDE PUREBASIC] Mises à jour.

Message par Mesa »

Mise à jour Doc 5.50Beta1:

Téléchargement
http://frazier.wood.free.fr/chm/PureBasic550.rar

Version spécial World3D:
http://frazier.wood.free.fr/chm/W3D/PureBasic.rar

J'ai essayé de résoudre le problème des accents de 2 manières différentes, une pour chaque fichier ci-dessus.
Si vous pouviez télécharger les 2 rar et me dire si le problème est résolu dans les 2 cas svp, merci.

Mesa.
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [AIDE PUREBASIC] Mises à jour.

Message par falsam »

Merci Mesa. Testé et pas de souci.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: [AIDE PUREBASIC] Mises à jour.

Message par Micoute »

C'est quand même plus agréable à lire.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
microdevweb
Messages : 1800
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: [AIDE PUREBASIC] Mises à jour.

Message par microdevweb »

Merci messa ça à l'air Ok
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: [AIDE PUREBASIC] Mises à jour.

Message par Ollivier »

Bonjour Mesa,

(petite erreur trouvée. Si tu as le temps de vérif)

Doc : FR
Chap : Maths
Fonction : ATan2()
Section : 3 (Valeur de retour)
Phrase : la dernière
<<
Si 'x' et 'y' sont égaux à zéro, alors la commande renvoie zéro.
>>

Bonne bourre à toi !
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: [AIDE PUREBASIC] Mises à jour.

Message par Ollivier »

Une autre

Doc : FR
Chap : Maths
Fonction : ATanH()
Section : 3 (Exemple)
<<
(the golden ratio) >>> (le nombre d'or)
>>
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: [AIDE PUREBASIC] Mises à jour.

Message par Marc56 »

Hello,

Étant en train de faire une fonction de changement de fond pour mon programme, je me suis intéressé pour le première fois à la gestion des images transparentes. J'ai donc pas mal lu la doc et suis arrivé à faire ce que je voulais, mais suis tombé sur ce qui semble un oubli dans la doc ?

Dans l'aide (y compris 5.50) l'exemple fourni pour la fonction DrawAlphaImage() n'utilise pas cette fonction :o

C'est voulu ou c'est un oubli ?

J'ai finalement remplacé mes DrawImage pas des DrawAlphaImage et obtenu l'effet désiré :P

:wink:
Mesa
Messages : 1097
Inscription : mer. 14/sept./2011 16:59

Re: [AIDE PUREBASIC] Mises à jour.

Message par Mesa »

MAJ 01/08/2016 V5.50
=======================================
Téléchargement Version spécial World3D:
http://frazier.wood.free.fr/chm/PureBasic550.rar

Maj + quelque coquille et bug syntax corrigé en syntaxe

M.
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: [AIDE PUREBASIC] Mises à jour.

Message par Marc56 »

Une petite coquille trouvée par hasard dans l'exemple donné pour SetGadgetItemColor()
(présent dans l'aide livrée avec la 5.50 et dans l'aide en ligne)

SetGadgetItemColor(0, @#PB_All, #PB_Gadget_FrontColor, $0000FF, 1)

le @ en trop
Donne le message:

Code : Tout sélectionner

Ligne 8: Constante introuvable: #.
:wink:
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: [AIDE PUREBASIC] Mises à jour.

Message par Marc56 »

Sur l'aide FrameGadget() il y a un paragraphe en trop.

[...]
Le numéro d'identification du nouveau gadget.

Créé un gadget qui affiche une liste des dossiers.
Il permet à l'utilisateur de choisir un fichier ou un dossier situé à n'importe quel endroit des disques.

[...]

Le deuxième paragraphe correspond à l'aide de ExplorerTreeGadget()

:wink:
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: [AIDE PUREBASIC] Mises à jour.

Message par Marc56 »

Sur UseSQLiteDatabase()

Code : Tout sélectionner

  UseSQLiteDatabase()

  Filename$ = OpenFileRequester("Choisissez le nom d'un fichier", "PureBasic.sqlite", "*.sqlite|*.sqlite", 0)

  If CreateFile(0, Filename$)
    Debug "Fichier de base de donnees cree"
    CloseFile(0)
  EndIf
  
  If OpenDatabase(0, Filename$, "", "")
    Debug "Connecté à PureBasic.sqlite"
    If DatabaseUpdate(0, "CREATE TABLE info (test VARCHAR(255));")
      Debug "Table cree" ; ---> "table créée" (s'accorde avec 'Table')
    EndIf
  EndIf
  ; À ajouter (Puisque les exemples sont des programmes autonomes, autant bien fermer la connexion)
  FinishDatabaseQuery(0) 
PS.
Si le webmaster de http://www.purebasic.com passe par là, ce serait bien de corriger aussi dans l'espace personnel, le bouton

Connection (us) :arrow: Connexion (fr)
(fr: se connecter, mais connexion et déconnexion)
:wink:
Avatar de l’utilisateur
Ar-S
Messages : 9476
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: [AIDE PUREBASIC] Mises à jour.

Message par Ar-S »

Il faudrait indiquer pour la fonction ResizeImage() qu'il n'accepta pas de redimensionner les images au format .ico

Il faudrait mettre un exemple de glisser/déposer pour la fonction de drag & drop pour la fenêtre.
Il faudrait aussi préciser que DragImage() ne fonctionne qu'en interne et qu'il faut donc utiliser DragFile() à la place si on veut balancer une image d'une fenêtre externe sur la fenêtre de l'application.
Voilou.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Mesa
Messages : 1097
Inscription : mer. 14/sept./2011 16:59

Re: [AIDE PUREBASIC] Mises à jour.

Message par Mesa »

@Tous: Merci pour vos remarques. Je modifie la doc dans la mesure du possible.

@ARS:
Il faudrait indiquer pour la fonction ResizeImage() qu'il n'accepta pas de redimensionner les images au format .ico
C'est bizarre car c'est indiqué dans les remarques en deuxième position.
Il faudrait mettre un exemple de glisser/déposer pour la fonction de drag & drop pour la fenêtre.
Ok, je vais voir
Il faudrait aussi préciser que DragImage() ne fonctionne qu'en interne et qu'il faut donc utiliser DragFile() à la place si on veut balancer une image d'une fenêtre externe sur la fenêtre de l'application.
Chez moi ça fonctionne bien avec MSWord et dans les deux sens. Il semble que vous (collectivement) n'ayez pas vu que EventDropImage() peut utiliser #PB_Any.
Voir ici:
Windows XP32b

Code : Tout sélectionner

;
; ------------------------------------------------------------
;
;   PureBasic - Drag & Drop
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;

#Window = 0

Enumeration    ; Images
  #ImageSource
  #ImageTarget
EndEnumeration

Enumeration    ; Gadgets
  #SourceText
  #SourceImage
  #SourceFiles
  #SourcePrivate
  #TargetText
  #TargetImage
  #TargetFiles
  #TargetPrivate1
  #TargetPrivate2
EndEnumeration



If OpenWindow(#Window, 0, 0, 760, 510, "Drag & Drop", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  
  ; Create some images for the image demonstration
  ; 
  CreateImage(#ImageSource, 136, 136)
  If StartDrawing(ImageOutput(#ImageSource))
    Box(0, 0, 136, 136, $FFFFFF)
    DrawText(5, 5, "Drag this image", $000000, $FFFFFF)        
    For i = 45 To 1 Step -1
      Circle(70, 80, i, Random($FFFFFF))
    Next i        
    
    StopDrawing()
  EndIf  
  
  CreateImage(#ImageTarget, 136, 136)
  If StartDrawing(ImageOutput(#ImageTarget))
    Box(0, 0, 136, 136, $FFFFFF)
    DrawText(5, 5, "Drop images here", $000000, $FFFFFF)
    StopDrawing()
  EndIf  
  
  
  ; Create and fill the source gadgets
  ;
  ListIconGadget(#SourceText,       10, 10, 140, 140, "Drag Text here", 130)   
  ImageGadget(#SourceImage,        160, 10, 140, 140, ImageID(#ImageSource), #PB_Image_Border) 
  ExplorerListGadget(#SourceFiles, 310, 10, 290, 140, GetHomeDirectory(), #PB_Explorer_MultiSelect)
  ListIconGadget(#SourcePrivate,   610, 10, 140, 140, "Drag private stuff here", 260)
  
  AddGadgetItem(#SourceText, -1, "hello world")
  AddGadgetItem(#SourceText, -1, "The quick brown fox jumped over the lazy dog")
  AddGadgetItem(#SourceText, -1, "abcdefg")
  AddGadgetItem(#SourceText, -1, "123456789")
  
  AddGadgetItem(#SourcePrivate, -1, "Private type 1")
  AddGadgetItem(#SourcePrivate, -1, "Private type 2")
  
  
  ; Create the target gadgets
  ;
  ListIconGadget(#TargetText,  10, 160, 140, 140, "Drop Text here", 130)
  ImageGadget(#TargetImage,    160, 160, 140, 140, ImageID(#ImageTarget), #PB_Image_Border) 
  ListIconGadget(#TargetFiles, 310, 160, 140, 140, "Drop Files here", 130)
  ListIconGadget(#TargetPrivate1, 460, 160, 140, 140, "Drop Private Type 1 here", 130)
  ListIconGadget(#TargetPrivate2, 610, 160, 140, 140, "Drop Private Type 2 here", 130)
  
  
  ; Now enable the dropping on the target gadgets
  ;
  EnableGadgetDrop(#TargetText,     #PB_Drop_Text,    #PB_Drag_Copy)
  EnableGadgetDrop(#TargetImage,    #PB_Drop_Image,   #PB_Drag_Copy)
  EnableGadgetDrop(#TargetFiles,    #PB_Drop_Files,   #PB_Drag_Copy)
  EnableGadgetDrop(#TargetPrivate1, #PB_Drop_Private, #PB_Drag_Copy, 1)
  EnableGadgetDrop(#TargetPrivate2, #PB_Drop_Private, #PB_Drag_Copy, 2)
  
  EnableWindowDrop(#Window,#PB_Drop_Image  ,#PB_Drag_Copy)
  ;   #PB_Drop_Text   : Accepte du texte sur cette fenêtre
  ;   #PB_Drop_Image  : Accepte des images sur cette fenêtre
  ;   #PB_Drop_Files  : Accepte des noms de fichiers sur cette fenêtre
  ;   #PB_Drop_Private: Accepte un 'Drag & Drop' interne
  
  Repeat
    Event = WaitWindowEvent()
    
    ; DragStart event on the source gadgets, initiate a drag & drop
    ;
    If Event = #PB_Event_Gadget And EventType() = #PB_EventType_DragStart
      Select EventGadget()
          
        Case #SourceText
          Text$ = GetGadgetItemText(#SourceText, GetGadgetState(#SourceText))
          DragText(Text$)
          
        Case #SourceImage
          DragImage(ImageID(#ImageSource))
          
        Case #SourceFiles
          Files$ = ""       
          For i = 0 To CountGadgetItems(#SourceFiles)-1
            If GetGadgetItemState(#SourceFiles, i) & #PB_Explorer_Selected
              Files$ + GetGadgetText(#SourceFiles) + GetGadgetItemText(#SourceFiles, i) + Chr(10)
            EndIf
          Next i 
          If Files$ <> ""
            DragFiles(Files$)
          EndIf
          
          ; "Private" Drags only work within the program, everything else
          ; also works with other applications (Explorer, Word, etc)
          ;
        Case #SourcePrivate
          If GetGadgetState(#SourcePrivate) = 0
            DragPrivate(1)
          Else
            DragPrivate(2)
          EndIf
          
      EndSelect
      
      ; Drop event on the target gadgets, receive the dropped data
      ;
    ElseIf Event = #PB_Event_GadgetDrop
      Select EventGadget()
          
        Case #TargetText
          AddGadgetItem(#TargetText, -1, EventDropText())
          
        Case #TargetImage
          If EventDropImage(#ImageTarget)
            SetGadgetState(#TargetImage, ImageID(#ImageTarget))
          EndIf
          
        Case #TargetFiles
          Files$ = EventDropFiles()
          Count  = CountString(Files$, Chr(10)) + 1
          For i = 1 To Count
            AddGadgetItem(#TargetFiles, -1, StringField(Files$, i, Chr(10)))
          Next i
          
        Case #TargetPrivate1
          AddGadgetItem(#TargetPrivate1, -1, "Private type 1 dropped")
          
        Case #TargetPrivate2
          AddGadgetItem(#TargetPrivate2, -1, "Private type 2 dropped")
          
      EndSelect
    ElseIf Event = #PB_Event_WindowDrop
      Debug "ok"
      im=EventDropImage(#PB_Any )
      x=WindowMouseX(#Window)
      y=WindowMouseY(#Window)
      StartDrawing(WindowOutput(#Window))
      ;DrawText(x,y,"ok")
      DrawImage(ImageID(im), X, Y ) 
      
      StopDrawing()
      
      
    EndIf
    
  Until Event = #PB_Event_CloseWindow
EndIf

End

M.
Répondre