PureBasic 5.40 LTS beta 10

Ankündigungen PureBasic oder die Community betreffend.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

PureBasic 5.40 LTS beta 10

Beitrag von ts-soft »

Code: Alles auswählen

- Added new Vector 2D library
- Added new CGI library with standard and FastCGI support
- Added Literal string escape support with the '~' operator (ex: a$ = ~"Hello\nWorld\n")
- Added EscapeString()/UnescapeString() function to allow escaping operation on any strings (variables etc.)
- Added EnumerationBinary to create bitmask enumeration automatically
- Added database parameter binding to ease request construction
- Added SetDatabaseBlob(), SetDatabaseFloat(), SetDatabaseDouble(), SetDatabaseLong()
- Added SetDatabaseQuad(), SetDatabaseString(), SetDatabaseNull()
- Added SHA2 and SHA3 (224/256/384/512-bit) support to Cipher library
- Added StringFingerprint()
- Added CRC32 support for StartFingerprint()
- Added ReceiveHTTPMemory(), IsJoint()
- Added RefreshDialog() to recalc dimension after a text change or similar
- Added "group" XML attribute for 'option' dialog gadget, to specify explicitly a group
- Added HTTPS and simple auth support for ReceiveHTTPFile() and GetHTTPHeaders()
- Added Auto redirect support for ReceiveHTTPFile() and ReceiveHTTPMemory()
- Added ASynchronous mode for ReceiveHTTPFile() and ReceiveHTTPMemory()
- Added HTTPProgress(), AbortHTTP() and FinishHTTP() to control async mode
- Added HTTPS/TLS support for SendMail()
- Added FlushPreferenceBuffers()
- Added CopyDebugOutput() to copy the debug output to the clipboard from code
- Added 7z archive creation
- Added tar (gz and bzip2) archive support for creation and decompression
- Added Full path in IDE recent files menu
- Added #PB_ProgressBar_Unknown for SetGadgetState() to indicate unknown progress
- Added #PB_UTF8/Ascii/Unicode support to ReadCharacter() and WriteCharacter()
- Added #PB_UTF8 support to URLEncoder() and URLDecoder (now the default mode)
- Added Windows 8.1/10 and OS X 10.9/10/11 support to OSVersion()
- Added #PB_Editor_xxx constants when using the 'Version' info on Windows
- Added #PB_Program_Ascii/Unicode/UTF8 support to RunProgram()
- Added linux/osx style flags for the commandline compiler on Windows to ease cross-platform scripts
- Added: #PB_File_SharedWrite support to ReadFile() and CreateFile()
- Added: 'IMPORTLIST' compiler interface to get all the predefined API functions
- Added: #Null$ special string constant to affect a real null value to a string (to free it completely). It can be
used as well for API function which sometimes accept NULL instead of a string address.
- Updated the Linux printer lib to use native GtkPrint instead of GnomePrint
- Updated the Windows compiler to VC++ 2013 for better code generation
- Updated SQLite to 3.8.10.2

- Fixed Zip archive support
- Fixed send mail and http request issues
- The default GTK version is now GTK3 on Linux. A gtk2 subsystem has been added for backward compatibility.
- The default string format for RunProgram() read/writestring is not UTF8 instead of Unicode
- Changed the Cipher lib to be modular (now UseMD5Fingerprint() and such commands needs to be used)
- Renamed ExamineFingerprint() to StartFingerprint()
- Renamed NextFingerprint() to AddFingerprintBuffer()
- Removed RemovePackFile()
- Changed: the SendMail() 'Asynchronous' parameter has been replaced by the #PB_Mail_Asynchronous flag.
- Removed: #PB_Packer_CompressedSize support for ZIP and 7z archives with PackerEntrySize()
- Removed: AvailableScreenMemory()
- Fixed: 'CONSTANTLIST' compiler interface, now string constants are returned as escaped strings.
- Changed: DLLImporter has been removed and .pbl files are no more supported. New 'import library' files can be
created using the '/IMPORT' switch of the pbcompiler. 
weitere Infos unter: http://www.purebasic.fr/english/viewtop ... 14&t=62963
Zuletzt geändert von ts-soft am 09.10.2015 17:57, insgesamt 5-mal geändert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PureBasic 5.40 LTS beta 1

Beitrag von RSBasic »

Strings escapen ohne manueller Chr()-Aufruf, HTTPS für SendMail(), echte NULL, ...
Coole neue Funktionen, nicht schlecht. :allright:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: PureBasic 5.40 LTS beta 1

Beitrag von Kiffi »

RSBasic hat geschrieben:Strings escapen ohne manueller Chr()-Aufruf

Code: Alles auswählen

myString.s = ~"hallo \"hallo\" hallo"
Debug myString
nicht übel...
Hygge
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: PureBasic 5.40 LTS beta 1

Beitrag von NicTheQuick »

Endlich weniger Leute, die so viel bemängeln, was heutzutage nicht fehlen darf. :allright:

Hier meine Favoriten:

Code: Alles auswählen

- Added Literal string escape support with the '~' operator (ex: a$ = ~"Hello\nWorld\n")
- Added EscapeString()/UnescapeString() function to allow escaping operation on any strings (variables etc.)
- Added EnumerationBinary to create bitmask enumeration automatically
- Added SHA2 and SHA3 (224/256/384/512-bit) support to Cipher library
- Added ReceiveHTTPMemory(), IsJoint()
- Added HTTPS and simple auth support for ReceiveHTTPFile() and GetHTTPHeaders()
- Added ASynchronous mode for ReceiveHTTPFile() and ReceiveHTTPMemory()
- Added HTTPProgress(), AbortHTTP() and FinishHTTP() to control async mode
- Added HTTPS/TLS support for SendMail()
- Added 7z archive creation
- Added tar (gz and bzip2) archive support for creation and decompression
- Added #PB_UTF8/Ascii/Unicode support to ReadCharacter() and WriteCharacter()
- Added linux/osx style flags for the commandline compiler on Windows to ease cross-platform scripts
- Added: #Null$ special string constant to affect a real null value to a string (to free it completely). It can be used as well for API function which sometimes accept NULL instead of a string address.
- Updated the Linux printer lib to use native GtkPrint instead of GnomePrint
- The default GTK version is now GTK3 on Linux. A gtk2 subsystem has been added for backward compatibility.
- Changed the Cipher lib to be modular (now UseMD5Fingerprint() and such commands needs to be used)
Das sind so viele wie schon lange nicht mehr. :allright: :allright:
Bild
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: PureBasic 5.40 LTS beta 1

Beitrag von Bisonte »

Sind viele langersehnte Dinge bei... besonders Network HTTPS usw.
Allerdings find ich diese Beta (auch wenn es die erste ist) ziemlich wackelig (IDE schmiert öfters weg unter Win10x64/PBx64)
und die Dokumentation zu den neuen Funktionen (Help) ist noch recht dürftig (bzw. für mich unverständlich)... aber das ist am Anfang ja immer so ;)

Und nun beginnt die fröhliche Wanz... äh Bugjagd :mrgreen:
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Andreas21
Beiträge: 390
Registriert: 30.08.2004 09:05
Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64
Wohnort: Heidelberg

Re: PureBasic 5.40 LTS beta 1

Beitrag von Andreas21 »

Bei CGI->CGIVariable() sind die ganzen constanten noch nicht bei.

Code: Alles auswählen

[01:41:04] [COMPILER] Line 13: Constant not found: #PB_CGI_AuthType$.
[01:41:32] [COMPILER] Line 14: Constant not found: #PB_CGI_ContentLength$.
[01:41:36] [COMPILER] Line 15: Constant not found: #PB_CGI_HeaderContentType$.
[01:41:41] [COMPILER] Line 16: Constant not found: #PB_CGI_DocumentRoot$.
[01:41:46] [COMPILER] Line 17: Constant not found: #PB_CGI_GatewayInterface$.
[01:41:50] [COMPILER] Line 18: Constant not found: #PB_CGI_PathInfo$.
[01:41:54] [COMPILER] Line 19: Constant not found: #PB_CGI_PathTranslated$.
....
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: PureBasic 5.40 LTS beta 1

Beitrag von Bisonte »

Nicht nur das... ich kriegs es ums verbiegen nicht hin, irgendeines dieser Beispiele zum laufen zu kriegen.
Die einzige Anzeige die ich bekomme lautet : Error 500 - Premature end of script headers...
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Andreas21
Beiträge: 390
Registriert: 30.08.2004 09:05
Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64
Wohnort: Heidelberg

Re: PureBasic 5.40 LTS beta 1

Beitrag von Andreas21 »

Jup, habe ich auch. Ich will es auch mal unter Linux testen.
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: PureBasic 5.40 LTS beta 1

Beitrag von STARGÅTE »

Unter "- Added new Vector 2D library" hatte ich ja erst irgend was mathematisches erwartet, aber das es eine VectorDrawing Library ist, ist natürlich um so besser.
Mal sehen was ich Zeit finde, diese neue große Lib ausgiebig zu testen.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: PureBasic 5.40 LTS beta 1

Beitrag von Kiffi »

Andreas21 hat geschrieben:Bei CGI->CGIVariable() sind die ganzen constanten noch nicht bei.

Code: Alles auswählen

[01:41:04] [COMPILER] Line 13: Constant not found: #PB_CGI_AuthType$
...
Da ist ein '$' zu viel:

Code: Alles auswählen

#PB_CGI_AuthType$ -> #PB_CGI_AuthType
ansonsten bekomme ich auch den von Dir und Bisonte geposteten "Error 500 - Premature end of script headers..." (mit XAMPP).

Grüße ... Peter

Edit:

Habe rausgefunden, wie man den 'Premature end of script headers' - Fehler umgeht.

Die letzte Header-Angabe soll mit dem Flag #PB_CGI_LastHeader versehen werden, damit ein zusätzlicher Zeilenumbruch eingefügt wird.
Allerdings scheint das momentan noch keinen Effekt zu haben. Wenn man den Zeilenumbruch manuell hinzufügt, klappt es:

Code: Alles auswählen

If Not InitCGI() Or Not ReadCGI()
	End
EndIf

WriteCGIHeader(#PB_CGI_HeaderContentType, "text/html", #PB_CGI_LastHeader)

WriteCGIString(#CRLF$) ; <--- hier

WriteCGIString("<html><title>PureBasic - test</title><body>" +
               "Hello from PureBasic CGI<br>" +
               "Actual time: <b>"+FormatDate("%hh:%ii", Date()) + "</b>" +
               "</body></html>")
Hygge
Antworten