Les versions démo sont disponibles à cette adresse :
http://www.purebasic.com/french/download.php
14 Février 2013 : Version 5.10
- Ajouté: Le Concepteur de fenêtre est désormais intégré à l'IDE !
- Ajouté: Bibliothèque compression/décompression entièrement retravaillée avec ZIP, BriefLZ, 7z (décompression seulement), LZMA et JCALG1 (Windows x86 et UncompressMemory()seulement). JCALG1 support abandonné. Formats archives pour BriefLZ ont été modifiés.
- Ajouté: Support IPv6 de la bibliothèque réseau. Mise à jour IPString(), MakeIPAddress(), GetClientIP(), IPAddressField(), ExamineIPAddress() et NextIPAddress().Ajout option #PB_Network_IPv6 pour OpenConnection et CreateServer(). Added FreeIP() pour v6 IP
- Ajouté: Bibliothèque System: ComputerName(), UserName(), MemoryStatus(), CountCPUs()
- Ajouté: Retour à la ligne dans l'IDE en utilisant les opérandes: ',' '|' '+' And Or Xor
- Ajouté: les comparaisons de chaînes constantes sont désormais traitées lors de la compilation, ce qui permet une utilisation dans CompilerIf par exemple.
- Ajouté: CocoaMessage() pour OS X
- Ajouté: ' Vérification de la syntaxe ' et compilation du code sans créer ni lancer l' exécutable (/CHECK)
- Ajouté: Paramètre Array/List/Map dans les méthodes des Interfaces
- Ajouté: Support des array/list/map dynamique pour structure/interface dans les residents.
- Ajouté: Option #PB_Character, #PB_Unicode, #PB_Ascii et #PB_Integer avec FillMemory()
- Ajouté: Support de #PB_RegularExpression_NoCase avec CreateRegularExpression()
- Ajouté: EncodeImage() avec PNG, JPEG et JPEG2000
- Ajouté: Support de #PB_Memory_NoClear avec Re/AllocateMemory()
- Ajouté: ImageFormat()
- Ajouté: #PB_Editor_WordWrap avec EditorGadget()
- Ajouté: Comparaison multicaractères dans StringField()
- Ajouté: Paramètre NbOccurences pour ReplaceString()
- Ajouté: PostEvent(), EventData()
- Ajouté: Valeur de retour à SetCurrentDirectory()
- Ajouté: Paramètre #PB_String_NoCase pour FindString()
- Ajouté: Options #PB_Preference_NoSpace et #PB_Preference_GroupSeparator pour OpenPreferences() et CreatePreferences()
- Ajouté: DatabaseColumnIndex()
- Ajouté: #PB_Cipher_URL et #PB_Cipher_NoPadding pour Base64Encoder(), ajouté la compatibilité URL pour Base64Decoder()
- Ajouté: SetGadgetItemImage() pour tous les gadgets qui supportent les images dans les éléments (items)
- Ajouté: Option #PB_Gadget_ScreenCoordinate et #PB_Gadget_WindowCoordinate pour GadgetX/Y()
- Ajouté: #PB_File_SharedRead (pas d'effet sur Linux/OSX), #PB_File_SharedWrite (pas d'effet sur Linux/OSX), #PB_File_Append et #PB_File_NoBuffering pour OpenFile(), ReadFile() et CreateFile()
- Ajouté: Événements #PB_Event_RightClick, #PB_Event_LeftClick et #PB_Event_LeftDoubleClick
- Ajouté: Paramètre titre facultatif dans OpenConsole()
- Ajouté: #PB_ScrollArea_ScrollStep pour ScrollAreaGadget()
- Ajouté: #PB_Ignore pour ResizeImage()
- Ajouté: Lier une adresse IP spécifique à CreateNetworkServer()
- Ajouté: Paramètre Timeout, LocalIP$ et LocalPort à OpenNetworkConnection()
- Ajouté: #PB_NetworkEvent_Disconnect pour NetworkClientEvent()
- Ajouté: #PB_Unicode, #PB_Ascii et #PB_UTF8 pour SendNetworkString()
- Ajouté: #PB_String_MaximumLength attribute pour StringGadget()
- Ajouté: #PB_Event_DeactivateWindow
- Ajouté: #PB_EventType_Change pour EditorGadget()
- Ajouté: Option #PB_Relative/#PB_Absolute pour FileSeek()
- Ajouté: Paramètres 'Offset' et 'Length' pour SHA1/MD5/CRC32FileFingerprint()
- Ajouté: GetSoundPosition(), SetSoundPosition(), SoundLength(), PauseSound(), ResumeSound(), SoundStatus(), GetSoundFrequency()
- Ajouté: #PB_All pour SoundVolume()
- Ajouté: SetGadgetItemState() pour ExplorerListGadget()
- Ajouté: InputRequester ajout fermeture
- Ajouté: InputRequester() ajout option #PB_InputRequester_Password
- Ajouté: Random() ajout la valeur mininmum optionnel
- Ajouté: SetGadgetItemText() pour ListIconGadget(): prise en compte de chr(10) comme dans AddGadgetItem()
- Ajouté: OpenWindowedScreen() les paramètres de redimensionnements sont optionnel maintenant
- Ajouté: ScreenWidth(), ScreenHeight(), ScreenDepth()
- Ajouté: SMTP AUTH dans la bibliothèque mail
- Ajouté: Paramètres optionnels à RemoveMailRecipient(),la capacité de supprimer tous les destinataires
- Ajouté: ReadString(#Fichier [, Options [, Longueur]]) : support longueur et #PB_File_IgnoreEOL
- Ajouté: #PB_Window_InnerCoordinate avec WindowX/Y()
- Ajouté: #PB_Window_FrameCoordinate avec WindowWidth()/Height()
- Ajouté: #PB_Image_Raised avec ImageGadget()
- Ajouté: FreeXXX(#PB_All) pour toutes les fonctions de libération de la mémoire
- Ajouté: Constantes du Compilateur: #PB_Compiler_LineNumbering, #PB_Compiler_InlineAssembly, #PB_Compilre_EnableExplicit
- Ajouté: Constantes du Compilateur: #PB_Compiler_ExecutableFormat (avec #PB_Compiler_DLL, #PB_Compiler_Console, #PB_Compiler_Executable)
- Ajouté: Constantes du Compilateur: #PB_Compiler_IsIncludeFile, #PB_Compiler_IsMainFile, #PB_Compiler_Filename (nom de fichier sans chemin)
- Ajouté: Opérateur du compilateur Bool (). Les opérations booléennes sont maintenant interdites sans Bool ().
- Ajouté: MacroExpandedCount mot-clé
- Ajouté: UndefineMacro mot-clé
- Ajouté: Maintenant XIncludeFile prend également en compte le fichier principal, afin d'éviter la double inclusion si le fichier principal est inclus dans un autre fichier
- Ajouté: TypeOf() pour variable, structure et les champs
- Ajouté: Defined(Label, #PB_Label)
- Ajouté: CompilerElseIf
- Ajouté: Labels locaux
- Ajouté: Define se comporte comme Global et accepte Dim (), NewMap () et NewList () sur la même ligne
- Ajouté: Mot-clé 'Align' pour structure, avec #PB_Structure_AlignC qui imite les structures C
- Ajouté: Autocast les valeurs numériques lorsque des chaînes sont de impliquées, ce qui permet de concaténer des chaînes et des nombres dans les constantes
- Ajouté: 'CONSTANTLIST' pour le compilateur d'interface
- Ajouté: Edition et enregistrement de l'historique de l'EDI pour récupérer les codes précédents et permettre la récupération après incident (voir Fichier > Session History)
- Ajouté: AffectedDatabaseRows(), CheckDatabaseNull() dans la bibliothèque database
- Ajouté: Nouvelle bibliothèque Text3D
- Ajouté: 'Mode ' optionnel pour toutes les fonctions Yaw/Roll/Pitch()
- Ajouté: 'Type' et 'Mode' optionnelà CreateMesh()
- Ajouté: RayCast(), MouseRayCast(), NormalX(), NormalY(), NormalZ()
- Ajouté: UpdateMesh(), EnableManualEntityBoneControl(), MoveEntityBone(), RotateEntityBone(), MeshIndex()
- Ajouté: 'Type' optionnel à AddSubMesh()
- Ajouté: Paramètre 'Type' à FinishMesh()
- Ajouté: ScaleNode(), GetMaterialColor(), GetMaterialAttribute(), ConvertLocalToWorldPosition(), ConvertWorldToLocalPosition()
- Ajouté: MaterialCullingMode(), FetchOrientation(), SetOrientation(), GetX(), GetY(), GetZ(), GetW(), GetLightColor()
- Ajouté: AttachEntityObject(): nom de l'os peut être vide, si l'objet est ajouté directement à l'entité
- Modifié: Renommé SoundFrequency() à SetSoundFrequency()
- Modifié: Renommé AddMeshVertex() à MeshVertexPosition()
- Modifié: Renommé LightColor() to SetLightColor()
- Modifié: Supprimé tous les MaterialXXXXColor() remplacé par SetMaterialColor()
- Modifié: Supprimé tous les XXXXLocate() remplacé par l'option #PB_Absolute pour les commandes MoveXXXX()
- Modifié: Supprimé ResizeEntity(), remplacé par l'option #PB_Absolute pour la commande ScaleEntity(), fait également pour ScaleNode() et ScaleText3D()
- Modifié: Remplacé #PB_Sort_<Type> par #PB_<Type> afin d'éviter d'éventuelles erreurs
- Modifié: Interdire type natif pour les pointeurs
- Modifié: StrF/D(),les zéros de fin sont automatiquement supprimés si pas de décimales spécifiés
- Mise à jour: OGRE a été mis à jour 1.8.2
- Mise à jour: SQLite a été mis à jour 3.7.15.2
- Supprimé: SendNetworkFile(), RecieveNetworkFile(), #PB_NetworkEvent_File pour éviter des trous de sécurité
- Supprimé: DirectX7 et NT4 subsystem sur Windows
- Supprimé: SDL subsystem sur Linux
- Supprimé: Version PowerPC pour OS X
- Optimisé: FindString() est jusqu'à deux fois plus rapide
- Corrigé: Beaucoup de bugs
- Ajouté: Le Concepteur de fenêtre est désormais intégré à l'IDE !
- Ajouté: Bibliothèque compression/décompression entièrement retravaillée avec ZIP, BriefLZ, 7z (décompression seulement), LZMA et JCALG1 (Windows x86 et UncompressMemory()seulement). JCALG1 support abandonné. Formats archives pour BriefLZ ont été modifiés.
- Ajouté: Support IPv6 de la bibliothèque réseau. Mise à jour IPString(), MakeIPAddress(), GetClientIP(), IPAddressField(), ExamineIPAddress() et NextIPAddress().Ajout option #PB_Network_IPv6 pour OpenConnection et CreateServer(). Added FreeIP() pour v6 IP
- Ajouté: Bibliothèque System: ComputerName(), UserName(), MemoryStatus(), CountCPUs()
- Ajouté: Retour à la ligne dans l'IDE en utilisant les opérandes: ',' '|' '+' And Or Xor
- Ajouté: les comparaisons de chaînes constantes sont désormais traitées lors de la compilation, ce qui permet une utilisation dans CompilerIf par exemple.
- Ajouté: CocoaMessage() pour OS X
- Ajouté: ' Vérification de la syntaxe ' et compilation du code sans créer ni lancer l' exécutable (/CHECK)
- Ajouté: Paramètre Array/List/Map dans les méthodes des Interfaces
- Ajouté: Support des array/list/map dynamique pour structure/interface dans les residents.
- Ajouté: Option #PB_Character, #PB_Unicode, #PB_Ascii et #PB_Integer avec FillMemory()
- Ajouté: Support de #PB_RegularExpression_NoCase avec CreateRegularExpression()
- Ajouté: EncodeImage() avec PNG, JPEG et JPEG2000
- Ajouté: Support de #PB_Memory_NoClear avec Re/AllocateMemory()
- Ajouté: ImageFormat()
- Ajouté: #PB_Editor_WordWrap avec EditorGadget()
- Ajouté: Comparaison multicaractères dans StringField()
- Ajouté: Paramètre NbOccurences pour ReplaceString()
- Ajouté: PostEvent(), EventData()
- Ajouté: Valeur de retour à SetCurrentDirectory()
- Ajouté: Paramètre #PB_String_NoCase pour FindString()
- Ajouté: Options #PB_Preference_NoSpace et #PB_Preference_GroupSeparator pour OpenPreferences() et CreatePreferences()
- Ajouté: DatabaseColumnIndex()
- Ajouté: #PB_Cipher_URL et #PB_Cipher_NoPadding pour Base64Encoder(), ajouté la compatibilité URL pour Base64Decoder()
- Ajouté: SetGadgetItemImage() pour tous les gadgets qui supportent les images dans les éléments (items)
- Ajouté: Option #PB_Gadget_ScreenCoordinate et #PB_Gadget_WindowCoordinate pour GadgetX/Y()
- Ajouté: #PB_File_SharedRead (pas d'effet sur Linux/OSX), #PB_File_SharedWrite (pas d'effet sur Linux/OSX), #PB_File_Append et #PB_File_NoBuffering pour OpenFile(), ReadFile() et CreateFile()
- Ajouté: Événements #PB_Event_RightClick, #PB_Event_LeftClick et #PB_Event_LeftDoubleClick
- Ajouté: Paramètre titre facultatif dans OpenConsole()
- Ajouté: #PB_ScrollArea_ScrollStep pour ScrollAreaGadget()
- Ajouté: #PB_Ignore pour ResizeImage()
- Ajouté: Lier une adresse IP spécifique à CreateNetworkServer()
- Ajouté: Paramètre Timeout, LocalIP$ et LocalPort à OpenNetworkConnection()
- Ajouté: #PB_NetworkEvent_Disconnect pour NetworkClientEvent()
- Ajouté: #PB_Unicode, #PB_Ascii et #PB_UTF8 pour SendNetworkString()
- Ajouté: #PB_String_MaximumLength attribute pour StringGadget()
- Ajouté: #PB_Event_DeactivateWindow
- Ajouté: #PB_EventType_Change pour EditorGadget()
- Ajouté: Option #PB_Relative/#PB_Absolute pour FileSeek()
- Ajouté: Paramètres 'Offset' et 'Length' pour SHA1/MD5/CRC32FileFingerprint()
- Ajouté: GetSoundPosition(), SetSoundPosition(), SoundLength(), PauseSound(), ResumeSound(), SoundStatus(), GetSoundFrequency()
- Ajouté: #PB_All pour SoundVolume()
- Ajouté: SetGadgetItemState() pour ExplorerListGadget()
- Ajouté: InputRequester ajout fermeture
- Ajouté: InputRequester() ajout option #PB_InputRequester_Password
- Ajouté: Random() ajout la valeur mininmum optionnel
- Ajouté: SetGadgetItemText() pour ListIconGadget(): prise en compte de chr(10) comme dans AddGadgetItem()
- Ajouté: OpenWindowedScreen() les paramètres de redimensionnements sont optionnel maintenant
- Ajouté: ScreenWidth(), ScreenHeight(), ScreenDepth()
- Ajouté: SMTP AUTH dans la bibliothèque mail
- Ajouté: Paramètres optionnels à RemoveMailRecipient(),la capacité de supprimer tous les destinataires
- Ajouté: ReadString(#Fichier [, Options [, Longueur]]) : support longueur et #PB_File_IgnoreEOL
- Ajouté: #PB_Window_InnerCoordinate avec WindowX/Y()
- Ajouté: #PB_Window_FrameCoordinate avec WindowWidth()/Height()
- Ajouté: #PB_Image_Raised avec ImageGadget()
- Ajouté: FreeXXX(#PB_All) pour toutes les fonctions de libération de la mémoire
- Ajouté: Constantes du Compilateur: #PB_Compiler_LineNumbering, #PB_Compiler_InlineAssembly, #PB_Compilre_EnableExplicit
- Ajouté: Constantes du Compilateur: #PB_Compiler_ExecutableFormat (avec #PB_Compiler_DLL, #PB_Compiler_Console, #PB_Compiler_Executable)
- Ajouté: Constantes du Compilateur: #PB_Compiler_IsIncludeFile, #PB_Compiler_IsMainFile, #PB_Compiler_Filename (nom de fichier sans chemin)
- Ajouté: Opérateur du compilateur Bool (). Les opérations booléennes sont maintenant interdites sans Bool ().
- Ajouté: MacroExpandedCount mot-clé
- Ajouté: UndefineMacro mot-clé
- Ajouté: Maintenant XIncludeFile prend également en compte le fichier principal, afin d'éviter la double inclusion si le fichier principal est inclus dans un autre fichier
- Ajouté: TypeOf() pour variable, structure et les champs
- Ajouté: Defined(Label, #PB_Label)
- Ajouté: CompilerElseIf
- Ajouté: Labels locaux
- Ajouté: Define se comporte comme Global et accepte Dim (), NewMap () et NewList () sur la même ligne
- Ajouté: Mot-clé 'Align' pour structure, avec #PB_Structure_AlignC qui imite les structures C
- Ajouté: Autocast les valeurs numériques lorsque des chaînes sont de impliquées, ce qui permet de concaténer des chaînes et des nombres dans les constantes
- Ajouté: 'CONSTANTLIST' pour le compilateur d'interface
- Ajouté: Edition et enregistrement de l'historique de l'EDI pour récupérer les codes précédents et permettre la récupération après incident (voir Fichier > Session History)
- Ajouté: AffectedDatabaseRows(), CheckDatabaseNull() dans la bibliothèque database
- Ajouté: Nouvelle bibliothèque Text3D
- Ajouté: 'Mode ' optionnel pour toutes les fonctions Yaw/Roll/Pitch()
- Ajouté: 'Type' et 'Mode' optionnelà CreateMesh()
- Ajouté: RayCast(), MouseRayCast(), NormalX(), NormalY(), NormalZ()
- Ajouté: UpdateMesh(), EnableManualEntityBoneControl(), MoveEntityBone(), RotateEntityBone(), MeshIndex()
- Ajouté: 'Type' optionnel à AddSubMesh()
- Ajouté: Paramètre 'Type' à FinishMesh()
- Ajouté: ScaleNode(), GetMaterialColor(), GetMaterialAttribute(), ConvertLocalToWorldPosition(), ConvertWorldToLocalPosition()
- Ajouté: MaterialCullingMode(), FetchOrientation(), SetOrientation(), GetX(), GetY(), GetZ(), GetW(), GetLightColor()
- Ajouté: AttachEntityObject(): nom de l'os peut être vide, si l'objet est ajouté directement à l'entité
- Modifié: Renommé SoundFrequency() à SetSoundFrequency()
- Modifié: Renommé AddMeshVertex() à MeshVertexPosition()
- Modifié: Renommé LightColor() to SetLightColor()
- Modifié: Supprimé tous les MaterialXXXXColor() remplacé par SetMaterialColor()
- Modifié: Supprimé tous les XXXXLocate() remplacé par l'option #PB_Absolute pour les commandes MoveXXXX()
- Modifié: Supprimé ResizeEntity(), remplacé par l'option #PB_Absolute pour la commande ScaleEntity(), fait également pour ScaleNode() et ScaleText3D()
- Modifié: Remplacé #PB_Sort_<Type> par #PB_<Type> afin d'éviter d'éventuelles erreurs
- Modifié: Interdire type natif pour les pointeurs
- Modifié: StrF/D(),les zéros de fin sont automatiquement supprimés si pas de décimales spécifiés
- Mise à jour: OGRE a été mis à jour 1.8.2
- Mise à jour: SQLite a été mis à jour 3.7.15.2
- Supprimé: SendNetworkFile(), RecieveNetworkFile(), #PB_NetworkEvent_File pour éviter des trous de sécurité
- Supprimé: DirectX7 et NT4 subsystem sur Windows
- Supprimé: SDL subsystem sur Linux
- Supprimé: Version PowerPC pour OS X
- Optimisé: FindString() est jusqu'à deux fois plus rapide
- Corrigé: Beaucoup de bugs