PureBasic 5.40 LTS

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
GG
Messages : 239
Inscription : jeu. 09/déc./2004 12:23

PureBasic 5.40 LTS

Message 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()
PureBasic 6.03 - Windows 11 22H2 (64 bits)
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PureBasic 5.40 LTS

Message 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.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Micheao
Messages : 533
Inscription : dim. 07/déc./2014 10:12
Localisation : Sud-Est

Re: PureBasic 5.40 LTS

Message par Micheao »

Merci de cette info
Avatar de l’utilisateur
Micoute
Messages : 2583
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: PureBasic 5.40 LTS

Message par Micoute »

Et en plus, Tailbite est compatible avec cette version.
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 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Re: PureBasic 5.40 LTS

Message 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...
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PureBasic 5.40 LTS

Message par falsam »

Liste des nouveautés et changements en français par Comtois.

:arrow: http://purebasic.developpez.com/actu/91 ... attendent/
Configuration : Windows 11 Famille 64-bit - PB 6.20 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
majikeyric
Messages : 602
Inscription : dim. 08/déc./2013 23:19
Contact :

Re: PureBasic 5.40 LTS

Message 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
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: PureBasic 5.40 LTS

Message 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:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: PureBasic 5.40 LTS

Message par Ar-S »

J'aime déjà ReceiveHTTPMemory() sans l'avoir tester :)
~~~~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
Avatar de l’utilisateur
majikeyric
Messages : 602
Inscription : dim. 08/déc./2013 23:19
Contact :

Re: PureBasic 5.40 LTS

Message par majikeyric »

Une nouvelle version x64 est dispo en téléchargement pour ceux qui l'aurait déjà téléchargée.
Fred
Site Admin
Messages : 2805
Inscription : mer. 21/janv./2004 11:03

Re: PureBasic 5.40 LTS

Message 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.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: PureBasic 5.40 LTS

Message 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:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Re: PureBasic 5.40 LTS

Message 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:
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: PureBasic 5.40 LTS

Message 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
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: PureBasic 5.40 LTS

Message 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 ^^.
Répondre