Seite 1 von 12

PureBasic 4.50 Beta 4 released!

Verfasst: 01.04.2010 01:09
von freak
Tag zusammen,

Es ist soweit, die erste Beta für das 4.50 Release ist drausen.

Die wichtigsten Änderungen:
  • Unterstützung von Arrays, Lists und Maps als Elemente in Strukturen
  • Die Image Library unterstützt nur noch 24 und 32bit (andere Farbtiefen können weiterhin geladen/gespeichert werden)
  • Mehrere Compiler können von der gleichen IDE aus angesprochen werden
  • 'Purifier' Tool für den Debugger, Data Breakpoints und debuggen über das Netzwerk. Mehr zum Purifier: http://www.purebasic.fr/blog/?p=237
  • Die englische Dokumentation ist bereits jetzt auf dem neuesten Stand
Genaue Liste:

Code: Alles auswählen

PureBasic 4.50 Beta 2

- Added support for Array, List, Map inside structures
- Added CopyList(), CopyMap(), CopyArray() commands
- Added FreeList(), FreeMap(), FreeArray() commands
- Added CopyStructure() and InitializeStructure() commands
- Added volume support to PlaySournd()
- Changed: The Image library now keeps images only in 24bit or 32bit (loading and saving works with other bit depths)
- Added Depth parameter to SaveImages()  (default is the original depth when the image was loaded)
- Added ImageDepth() flag to get the original or current image depth
- Added #PB_Image_Transparent flag for CreateImage()
- Added 32bit support to TGA image decoder
- Added 32bit support to BMP image encoder
- Added RoundRect() command to the 2DDrawing library
- Added #PB_2DDrawing_AllChannels mode for DrawingMode() (modifies all channels without blending)
- Added image support for the ComboBoxGadget command (not supported for editable ComboBox on Mac OSX)
- Added AbortFTPFile()
- Added graphical console functions to linux
- Added large file support to File lib on Linux/OSX
- Added RandomData() command 
- Added CryptRandom(), CryptRandomData(), OpenCryptRandom(), CloseCryptRandom() commands
- Added many more Math functions: Exp(), ATan2(), Radian(), Degree(), [A]CosH(), [A]SinH(), [A]TanH(), IsNaN(), IsInfinity(), NaN(), Infinity()
- Added 'Debugger' Library to control some debugger actions from code

IDE/Debugger:
- Added Keyword underline for Break, Continue, ProcedureReturn
- Added StatusBar help for prototypes and interfaces
- Added Keyword sensitive indentation (block mode is still available)
- Added "Format indentation" option in the edit menu
- Added indentation guides and whitespace options
- Added the ability to select multiple compilers in the compiler options
- Added Purifier tool for the debugger
- Added full debugger compatibility between all OS and processors
- Added network debugging for the standalone debugger
- Added data breakpoints for the debugger
- Added maximize button to Variable-, Memory-, Library Viewer and Callstack
- Added support for structured items in the 'View Array/List/Map' tab of the Variable Viewer

- Changed: The Array, List or Map name in the Variable viewer should be entered with a "()" now to display their elements. 
           (It is automatically corrected if the () is missing)
Mehr Informationen gibt es im englischen Thread dazu:
http://www.purebasic.fr/english/viewtop ... 14&t=41639

Der Download ist wie immer hier:
http://www.purebasic.com/securedownload ... anguage=DE

Viel Spaß mit dem neuen Release.

Das PureBasic Team

05.05.2010 18:00 - NicTheQuick: Titel erneuert

Re: PureBasic 4.50 Beta 1 released!

Verfasst: 01.04.2010 01:18
von ts-soft
:allright:
Hört sich Toll an, ich liebe diese Überraschungen am 1. April :wink:

PS: Happy Birthday to Fred

Re: PureBasic 4.50 Beta 1 released!

Verfasst: 01.04.2010 01:27
von STARGÅTE
hmm funktioniert irgendwie nich ganz so ...

doch n Aprillscherz ?

Code: Alles auswählen

Structure Irgendwas
  String.s
  List IList.l()
EndStructure

InnereListe.Irgendwas

For n = 1 To 10
 AddElement(InnereListe\IList())
 InnereListe\IList() = n
Next

ForEach InnereListe\IList()
 Debug InnereListe\IList()
Next
IMA beim Next !

Re: PureBasic 4.50 Beta 1 released!

Verfasst: 01.04.2010 01:37
von ts-soft
STARGÅTE hat geschrieben:doch n Aprillscherz ?
Eher ein Bug, dasselbe Problem mit dem Beispiel in der engl. Hilfe, wobei dort
noch ein Typo (AddAlement) ist.

Ist eben eine Beta, dafür ist die ja da :wink:

Re: PureBasic 4.50 Beta 1 released!

Verfasst: 01.04.2010 01:50
von CSHW89
STARGÅTE hat geschrieben:hmm funktioniert irgendwie nich ganz so ...

doch n Aprillscherz ?
Code:
Structure Irgendwas
String.s
List IList.l()
EndStructure

InnereListe.Irgendwas

For n = 1 To 10
AddElement(InnereListe\IList())
InnereListe\IList() = n
Next

ForEach InnereListe\IList()
Debug InnereListe\IList()
Next


IMA beim Next !
oh, mit ResetList() und NextElement() funktionierts:

Code: Alles auswählen

Structure Irgendwas
  String.s
  List IList.l()
EndStructure

InnereListe.Irgendwas

For n = 1 To 10
AddElement(InnereListe\IList())
InnereListe\IList() = n
Next

ResetList(InnereListe\IList())
While NextElement(InnereListe\IList())
  Debug InnereListe\IList()
Wend
liegt also am ForEach.

hey mal was anderes. war nicht ein 'Boolean' befehl angekündigt. naja egal, ansonsten echt geile neuerungen, danke schon mal
lg kevin

Re: PureBasic 4.50 Beta 1 released!

Verfasst: 01.04.2010 02:06
von STARGÅTE
jo eben gesehen,

oke, aber es ist kein scherz ^^ *freu*

Allerdings werden druch diesen Update wieder sehr viele Includes von mir sinnlose:
- LinkedList für Structuren
- RoundBox()
- teile meiner Mathe- Include

also schönen danke :evil: :lol:

und dem "Happy Birthday to Fred" schließ ich mich mal an

EDIT2:

So erstes Update bei meinen Includes war erfolgreich.
Meine Particle2D-Incldue (welche vorher zwei Listen hatte Emitter und Partikel) läuft nun perfekt mir der neuen List in Structure!
Danke PB-Team :praise: :praise: :praise:

Re: PureBasic 4.50 Beta 1 released!

Verfasst: 01.04.2010 06:15
von ts-soft
Eine Info zu InitializeStructure() wäre ganz nett. Fehlt in der engl. Hilfe ja auch.
Ich hab jetzt alles mögliche probiert ohne Ergebnis. Ich nehme mal an, das ich
bestimmte Member der Strukture vorbelegen kann, aber wie?

Gruß
Thomas

Re: PureBasic 4.50 Beta 1 released!

Verfasst: 01.04.2010 12:00
von gnasen
Vielen Dank für dieses Update. Mein sehnlichst erwünschtes Feature, seit dem ich mit PB programmiere, wurde hinzugefügt:
Listen in Strukturen. Danke Danke Danke :allright:

PS: Gestern noch nach Atan2() gesucht und gedacht: Hm, das wäre doch noch was!

Re: PureBasic 4.50 Beta 1 released!

Verfasst: 01.04.2010 14:35
von freak
ts-soft hat geschrieben:Eine Info zu InitializeStructure() wäre ganz nett. Fehlt in der engl. Hilfe ja auch.
Ich hab jetzt alles mögliche probiert ohne Ergebnis. Ich nehme mal an, das ich
bestimmte Member der Strukture vorbelegen kann, aber wie?

Gruß
Thomas
InitializeStructure() ist das Gegenstück zu ClearStructure(). Damit kann man die neuen dynamischen Array, List, Map auch zusamen mit Pointern verwenden:

Code: Alles auswählen

Structure Something
  a.i
  Map MyMap.s()
EndStructure

*Buffer.Something = AllocateMemory(SizeOf(Something))
If *Buffer
  InitializeStructure(*Buffer, Something)

  *Buffer\MyMap("Hello") = "World"
  Debug *Buffer\MyMap("Hello")

  ClearStructure(*Buffer, Something)
  FreeMemory(*Buffer)
EndIf
Ohne das InitializeStructure() kann man die Map nicht verwenden, weil sie nicht existiert.

Re: PureBasic 4.50 Beta 1 released!

Verfasst: 01.04.2010 14:46
von ts-soft
Ah, danke, dann war ich ja mal wieder auf dem Holzweg :lol: