Page 1 sur 2

PureBasic 5.40 LTS

Publié : ven. 16/oct./2015 15:12
par GG
PureBasic 5.40 LTS est sorti, cf forum anglais >> ICI <<.

La liste des nouveautés :
- Ajouté: Nouvelle bibliothèque Vectorielle 2D
- Ajouté: Nouvelle bibliothèque CGI supportant le CGI standard et le FastCGI
- Ajouté: Echappement de chaînes de caractères en utilisant l'opérateur '~' (ex: a$ = ~"Salut\n le Monde\n")
- Ajouté: Fonctions EscapeString()/UnescapeString() permettant l'échappement sur n'importe quelle chaîne (variables etc.)
- Ajouté: EnumerationBinary pour créer une énumération binaire automatique
- Ajouté: La liaison des paramètres de base de données pour faciliter la construction de requêtes
- Ajouté: SetDatabaseBlob(), SetDatabaseFloat(), SetDatabaseDouble(), SetDatabaseLong()
- Ajouté: SetDatabaseQuad(), SetDatabaseString(), SetDatabaseNull()
- Ajouté: Support de SHA2 et SHA3 (224/256/384/512-bit) pour la bibliothèque Cipher
- Ajouté: StringFingerprint()
- Ajouté: Support de CRC32 support par StartFingerprint()
- Ajouté: ReceiveHTTPMemory(), IsJoint()
- Ajouté: RefreshDialog() recalcule les dimensions après un changement
- Ajouté: Attribut XML "group" dans 'option' de dialog gadget, pour spécifier explicitement un groupe
- Ajouté: HTTPS et simple auth pour ReceiveHTTPFile() et GetHTTPHeaders()
- Ajouté: Auto redirection pour ReceiveHTTPFile() et ReceiveHTTPMemory()
- Ajouté: Mode asynchrone pour ReceiveHTTPFile() et ReceiveHTTPMemory()
- Ajouté: HTTPProgress(), AbortHTTP() et FinishHTTP() pour contrôler le mode async
- Ajouté: HTTPS/TLS pour SendMail()
- Ajouté: FlushPreferenceBuffers()
- Ajouté: CopyDebugOutput() pour copier la sortie de debug vers le presse-papiers
- Ajouté: Création d'archive 7z
- Ajouté: Support des archive tar (gz et bzip2) pour leur création et leur décompression
- Ajouté: Chemin complet dans le menu fichiers récents de l'IDE
- Ajouté: #PB_ProgressBar_Unknown pour SetGadgetState() pour inndiquer une progression inconnue
- Ajouté: Support de #PB_UTF8/Ascii/Unicode pour ReadCharacter() et WriteCharacter()
- Ajouté: Support de #PB_UTF8 pour URLEncoder() et URLDecoder (mode par défaut maintenant)
- Ajouté: Windows 8.1/10 et OS X 10.9/10/11 pour OSVersion()
- Ajouté: Constantes #PB_Editor_xxx lors de l'utilisation de 'Version' sous Windows
- Ajouté: Support de #PB_Program_Ascii/Unicode/UTF8 pour RunProgram()
- Ajouté: Style linux/osx des options de la ligne de commande du compilateur sous Windows pour faciliter le portage multiplateforme
- Ajouté: Support de #PB_File_SharedWrite pour ReadFile() et CreateFile()
- Ajouté: 'IMPORTLIST' dans l'interface du compilateur pour renvoyer toutes les fonctions prédéfinies de l'API
- Ajouté: Constante #Null$, chaîne de caractères spécialepour affecterune vraie valeur Null à une chaîne (pour la libérer complètement). Peut être utilisée aussi pour les fonction de l'API qui acceptent parfois NULL à la place d'une adresse de chaîne.
- Ajouté: Constante #Empty$
- Ajouté: #PB_ByteLength avec MemoryStringLength()
- Ajouté: #PB_Ascii, #PB_UTF8 et #PB_Unicode avec Create/Open/ReadFile() pour mettre un mode write/read par défaut
- Ajouté: #PB_ByteLength avec PeekS() et #PB_UTF8 (seulement)
- Ajouté: CreateCone(), CameraCustomParameter(), ResizeCamera()
- Ajouté: #PB_Entity_DisableContactResponse et #PB_Entity_EnableContactResponse pour SetEntityAttribute()
- Ajouté: #PB_Entity_ConeBody, #PB_Entity_PlaneBody
- Ajouté: FreeEntityBody(), FreeTerrainBody()
- Ajouté: ApplyEntityTorque(), ApplyEntityTorqueImpulse()
- Ajouté: Paramètres 'CollisionGroup' et 'CollisionMask' pour RayCollide()
- Ajouté: Page d'aide intitulée 'Migration xxxx', pour connaître les différences entre deux versions de PureBasic et aider à la migration entre ces deux versions.
- Ajouté: User guide en allemand (merci à Andre et Vera)

- Mise à jour: Linux, la lib d'impréssion utiilise GtkPrint au lieu de GnomePrint
- Mise à jour: Windows, compilateur VC++ 2013 pour une meilleure génération du code
- Mise à jour: SQLite version 3.8.10.2

- Corrigé: Support des archives Zip
- Corrigé: Envoi de mail et requête http
- Corrigé: 'CONSTANTLIST' dans l'interface du compilateur , les constantes string renvoyées sont échappées.

- Modifié: La version par défaut de GTK est maintenant GTK3 sur Linux. Un sous système gtk2 a été ajouté pour une rétro compatibilité.
- Modifié: Le format de strings par défaut pour RunProgram(), read/writestring est Unicode
- Modifié: La lib Cipher est rendue modulaire (maintenant UseMD5Fingerprint() et autres)
- Modifié: ExamineFingerprint() en StartFingerprint()
- Modifié: NextFingerprint() en AddFingerprintBuffer()
- Modifié: EntityPhysicBody() en CreateEntityBody()
- Modifié: TerrainPhysicBody() en CreateTerrainBody()
- Modifié: Le paramètre 'Asynchronous' de SendMail()remplacé par #PB_Mail_Asynchronous.
- Modifié: Le DLLImporter supprimé et les fichiers .pbl aussi. Nouveaux fichiers 'import library' créés en utilisant l'option '/IMPORT' de pbcompiler.

- Supprimé: RemovePackFile()
- Supprimé: #PB_Packer_CompressedSize pour les archives ZIP et 7z dans PackerEntrySize()
- Supprimé: AvailableScreenMemory()

Re: PureBasic 5.40 LTS

Publié : ven. 16/oct./2015 15:24
par falsam
Merci GG pour l'information.

Cette version de PureBasic est une version LTS (Long Term Support), qui sera pris en charge pour des corrections de bugs durant 2 ans, jusqu'en octobre 2017.

:idea: Notez que la précédente version LTS (5.24) est désormais obsolète et ne recevra pas les nouveaux correctifs.

Re: PureBasic 5.40 LTS

Publié : ven. 16/oct./2015 15:47
par Micheao
Merci de cette info

Re: PureBasic 5.40 LTS

Publié : ven. 16/oct./2015 15:58
par Micoute
Et en plus, Tailbite est compatible avec cette version.

Re: PureBasic 5.40 LTS

Publié : ven. 16/oct./2015 16:27
par Anonyme2
Micoute a écrit :Et en plus, Tailbite est compatible avec cette version.
Il serait temps que PB gère la création de libs comme tailbite avec une bonne doc (autre chose que des fichiers texte en anglais expliquant les desc etc.).
Avec en plus la recompilation automatique à chaque nouvelle version de PB pour les librairies qui seraient déclarées au moins en asm.

Après 15 ans de gestation, j'espère que l'enfant se présentera autrement que par le siège. :roll:

A moins que la gestation ne perdure...

Re: PureBasic 5.40 LTS

Publié : ven. 16/oct./2015 16:32
par falsam
Liste des nouveautés et changements en français par Comtois.

:arrow: http://purebasic.developpez.com/actu/91 ... attendent/

Re: PureBasic 5.40 LTS

Publié : ven. 16/oct./2015 16:37
par majikeyric
J'ai remonté le bug sur le forum UK.

Avec la version x64, si on veut sélectionner un autre compilateur (Préférences->Compilateur)
quand on clique sur le bouton "browse" (...), l'IDE plante.

Win7 x64

Re: PureBasic 5.40 LTS

Publié : ven. 16/oct./2015 17:52
par Kwai chang caine
Il serait temps que PB gère la création de libs comme tailbite
C'est vrai c'est surprenant cette histoire
Que FRED ai donné la possibilité de faire des librairies dynamiques super simplement et pas des statiques 8O
Perso je ne m'en servirais surement jamais, mais cela aurait été une fonction qui m'aurait parue logique...
Comme quoi cela confirme le fait que FRED est un dieu pour moi...car ses voies sont tres souvent inpénétrables :mrgreen:

Re: PureBasic 5.40 LTS

Publié : ven. 16/oct./2015 19:05
par Ar-S
J'aime déjà ReceiveHTTPMemory() sans l'avoir tester :)

Re: PureBasic 5.40 LTS

Publié : ven. 16/oct./2015 20:07
par majikeyric
Une nouvelle version x64 est dispo en téléchargement pour ceux qui l'aurait déjà téléchargée.

Re: PureBasic 5.40 LTS

Publié : ven. 16/oct./2015 20:09
par Fred
Les userlibs binaires semblaient etre une bonne idées à la base, mais elle doivent etre recompilées à chaque version, car les fonctions internes à PB evoluent souvent. Donc ca perd de son interet, et on voit le probleme avec les libs de tailbite: des qu'un mainteneur de libs disparait, pas mal de personnes se retrouvent le bec dans l'eau. A mon avis, la seule alternative est des libs en PureBasic, sous forme de module (avec le source). J'ai laissé le libmaker dans le SDK car ca peut toujours servir pour des cas tres specifiques.

Re: PureBasic 5.40 LTS

Publié : ven. 16/oct./2015 22:25
par Kwai chang caine
Merci de ton explication. 8)
C'est vrai, de connaître le pourquoi d'une de tes décisions permet de mieux accepter cette dernière. :wink:

Re: PureBasic 5.40 LTS

Publié : sam. 17/oct./2015 6:08
par Anonyme2
Fred,

c'est pour cela que j'ai arrêté les libs (mais je compte écrire quelques fonctions en asm mais non basées sur les commandes PB).
Difficile de maintenir Taibite à jour.

Mais le problème des mises à jour est secondaire. Souvent après une mise à jour de PB, on doit reprendre ses codes. Alors ...
En plus, on peut se faire ses propres commandes sans les distribuer.

Dans mon esprit tordu je pensais à un répertoire dédié ou l'on stockerait ses procedures ou 'module' (le mot est mal choisi) et avoir un outil qui permet de recompiler tout celà d'un coup, je parle d'un répertoire hors de celui de PB pour éviter la redondance des codes.

Le chemin pourrait être donné à PB et être stocké dans la base de registres une fois pour toute.

Je vois que c'est assez compromis. :roll:

Re: PureBasic 5.40 LTS

Publié : sam. 17/oct./2015 7:22
par microdevweb
Fred a écrit :sous forme de module (avec le source).
C'est la solution que j'emploie et si jamais pour quel que raison que soi vous ne voulez pas partagé votre code, il reste la solution des dll avec un include et qui reprend tous les import

exemple:

Code : Tout sélectionner

Import "Button.lib"
      CreateButton(WindowId,Id,X,Y,W,H,imageFile$,Bg,*Callback)
      DisableButton(Id,State.b)
      GetButtonState(Id)
EndImport

Re: PureBasic 5.40 LTS

Publié : sam. 17/oct./2015 9:45
par blendman
De toutes façons, les libs en pbi (avec module ou de simples commandes), ça reste le mieux et le plus simple. Au moins, le code étant fourni, on peut se servir uniquement des fonctions dont on a besoin, voire les réadapter pour ses propres besoins ^^.

En tout cas, merci pour cette nouvelle version :). La nouvelle lib vector drawing est vraiment top, une fois optimisée et avec les ajouts des drawingmode() (comme la lib 2D drawing normale), elle va être vraiment puissante ^^.